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/