// test_complexf.cpp test fuller set of complex functions #include "complexf.h" // bring in additional functions #include using namespace std; int main(){ complex z; double x,y; double mag,ang; cout << "Test fuller complex" << endl; z = complex(1.5,-3.5); cout << "z = " << z << endl << endl; cout << "real(z) = " << real(z) << endl; cout << "imag(z) = " << imag(z) << endl; cout << "conj(z) = " << conj(z) << endl; cout << "norm(z) = " << norm(z) << endl; cout << "abs(z) = " << abs(z) << endl; cout << "arg(z) = " << arg(z) << endl; cout << "sqrt(norm(z)) = " << sqrt(norm(z)) << endl; x = real(z); y = imag(z); cout << "complex(x,y) = " << complex(x,y) << endl; mag = abs(z); ang = arg(z); cout << "mag=abs(z) = " << abs(z) << endl; cout << "ang=arg(z) = " << arg(z) << endl; cout << "polar(mag,ang) = " << polar(mag,ang) << endl << endl; cout << "z+z = " << (z+z) << endl; cout << "z-z/2.0 = " << (z-z/2.0) << endl; cout << "z*z = " << z*z << endl; cout << "(1,2)/z = " << complex(1.0,2.0)/z << endl << endl; cout << "sqrt(z) = " << sqrt(z) << endl; cout << "exp(z) = " << exp(z) << endl; cout << "log(z) = " << log(z) << endl; cout << "pow(z,2) = " << pow(z,2) << endl; cout << "pow(z,2.)= " << pow(z,2.0) << endl; cout << "pow(2.,z)= " << pow(2.0,z) << endl; cout << "pow(z,z) = " << pow(z,z) << endl << endl; cout << "sin(z) = " << sin(z) << endl; cout << "cos(z) = " << cos(z) << endl; cout << "tan(z) = " << tan(z) << endl; cout << "cot(z) = " << cot(z) << endl << endl; cout << "asin(z) = " << asin(z) << endl; cout << "acos(z) = " << acos(z) << endl; cout << "atan(z) = " << atan(z) << endl; cout << "acot(z) = " << acot(z) << endl << endl; cout << "sinh(z) = " << sinh(z) << endl; cout << "cosh(z) = " << cosh(z) << endl; cout << "tanh(z) = " << tanh(z) << endl; cout << "coth(z) = " << coth(z) << endl << endl; cout << "asinh(z) = " << asinh(z) << endl; cout << "acosh(z) = " << acosh(z) << endl; cout << "atanh(z) = " << atanh(z) << endl; cout << "acoth(z) = " << acoth(z) << endl << endl; return 0; } // output of execution: // Test fuller complex // z = (1.5,-3.5) // // real(z) = 1.5 // imag(z) = -3.5 // conj(z) = (1.5,3.5) // norm(z) = 14.5 // abs(z) = 3.80789 // arg(z) = -1.1659 // sqrt(norm(z)) = 3.80789 // complex(x,y) = (1.5,-3.5) // mag=abs(z) = 3.80789 // ang=arg(z) = -1.1659 // polar(mag,ang) = (1.5,-3.5) // // z+z = (3,-7) // z-z/2.0 = (0.75,-1.75) // z*z = (-10,-10.5) // (1,2)/z = (-0.37931,0.448276) // // sqrt(z) = (1.62909,-1.07422) // exp(z) = (-4.19691,1.5721) // log(z) = (1.33707,-1.1659) // pow(z,2) = (-10,-10.5) // pow(z,2.)= (-10,-10.5) // pow(2.,z)= (-2.13465,-1.8556) // pow(z,z) = (0.124224,-0.0181946) // // sin(z) = (16.5313,-1.17018) // cos(z) = (1.17232,16.5012) // tan(z) = (0.000257835,-1.00181) // cot(z) = (0.000256906,0.998196) // // asin(z) = (0.392841,-2.04212) // acos(z) = (1.17796,2.04212) // atan(z) = (1.46146,-0.243362) // acot(z) = (0.109334,0.243362) // // sinh(z) = (-1.99398,0.825186) // cosh(z) = (-2.20293,0.746916) // tanh(z) = (0.925733,-0.0607109) // coth(z) = (1.0756,0.0705394) // // asinh(z) = (2.01837,-1.15296) // acosh(z) = (2.04212,-1.17796) // atanh(z) = (0.0980105,-1.33162) // acoth(z) = (0.0980105,0.239176) //