complex-test.cpp | complex-test.cpp | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
"this platform)" << endl; | "this platform)" << endl; | |||
return 0; | return 0; | |||
} | } | |||
#else | #else | |||
typedef Array<complex<float>, 1> CArray; | typedef Array<complex<float>, 1> CArray; | |||
static const double eps = 0.0001; | static const double eps = 0.0001; | |||
int main() | int main() | |||
{ | { | |||
CArray A(2); | const int sz=7; | |||
CArray A(sz); | ||||
A(0) = complex<float>(1,2); | A(0) = complex<float>(1,2); | |||
A(1) = complex<float>(3,4); | A(1) = complex<float>(3,4); | |||
Array<float,1> Ar = real(A); | Array<float,1> Ar = real(A); | |||
BZTEST(int(Ar(0)) == 1 && int(Ar(1)) == 3); | BZTEST(int(Ar(0)) == 1 && int(Ar(1)) == 3); | |||
Array<float,1> Ai = imag(A); | Array<float,1> Ai = imag(A); | |||
BZTEST(int(Ai(0)) == 2 && int(Ai(1)) == 4); | BZTEST(int(Ai(0)) == 2 && int(Ai(1)) == 4); | |||
CArray Ac(2); | CArray Ac(sz); | |||
Ac = conj(A); | Ac = conj(A); | |||
BZTEST(Ac(0) == complex<float>(1,-2)); | BZTEST(Ac(0) == complex<float>(1,-2)); | |||
BZTEST(Ac(1) == complex<float>(3,-4)); | BZTEST(Ac(1) == complex<float>(3,-4)); | |||
Array<float,1> Ab(2); | Array<float,1> Ab(sz); | |||
Ab = abs(A); | Ab = abs(A); | |||
BZTEST(fabs(Ab(0) - 2.236068) < eps); | BZTEST(fabs(Ab(0) - 2.236068) < eps); | |||
BZTEST(fabs(Ab(1) - 5.0) < eps); | BZTEST(fabs(Ab(1) - 5.0) < eps); | |||
Ab = arg(A); | Ab = arg(A); | |||
BZTEST(fabs(Ab(0) - atan(2.0)) < eps); | BZTEST(fabs(Ab(0) - atan(2.0)) < eps); | |||
BZTEST(fabs(Ab(1) - atan(4.0/3.0)) < eps); | BZTEST(fabs(Ab(1) - atan(4.0/3.0)) < eps); | |||
Array<float,1> r(2), theta(2); | Array<float,1> r(sz), theta(sz); | |||
r(0) = 4.0f; | r(0) = 4.0f; | |||
r(1) = 15.0f; | r(1) = 15.0f; | |||
theta(0) = float(3.141592/3.0); | theta(0) = float(3.141592/3.0); | |||
theta(1) = float(3.0*3.141592/2.0); | theta(1) = float(3.0*3.141592/2.0); | |||
Ac = blitz::polar(r,theta); | Ac = blitz::polar(r,theta); | |||
BZTEST(fabs(real(Ac(0)) - 2) < eps); | BZTEST(fabs(real(Ac(0)) - 2) < eps); | |||
BZTEST(fabs(imag(Ac(0)) - 3.4641012) < eps); | BZTEST(fabs(imag(Ac(0)) - 3.4641012) < eps); | |||
BZTEST(fabs(real(Ac(1)) - 0.0) < eps); | BZTEST(fabs(real(Ac(1)) - 0.0) < eps); | |||
BZTEST(fabs(imag(Ac(1)) + 15.0) < eps); | BZTEST(fabs(imag(Ac(1)) + 15.0) < eps); | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 5 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |