|
| Bool | isNaN (const Complex &val) |
| | Complex NaN and Infinity.
|
| |
| void | setNaN (Complex &val) |
| |
| Bool | isInf (const Complex &val) |
| |
| void | setInf (Complex &val) |
| |
| Bool | isFinite (const Complex &val) |
| |
| Bool | operator>= (const Complex &left, const Complex &right) |
| | Complex comparisons.
|
| |
| Bool | operator> (const Complex &left, const Complex &right) |
| |
| Bool | operator<= (const Complex &left, const Complex &right) |
| |
| Bool | operator< (const Complex &left, const Complex &right) |
| |
| Bool | isNaN (const DComplex &val) |
| | DComplex NaN and Infinity.
|
| |
| void | setNaN (DComplex &val) |
| |
| Bool | isInf (const DComplex &val) |
| |
| void | setInf (DComplex &val) |
| |
| Bool | isFinite (const DComplex &val) |
| |
| Bool | operator>= (const DComplex &left, const DComplex &right) |
| | DComplex comparisons.
|
| |
| Bool | operator> (const DComplex &left, const DComplex &right) |
| |
| Bool | operator<= (const DComplex &left, const DComplex &right) |
| |
| Bool | operator< (const DComplex &left, const DComplex &right) |
| |
| Double | fabs (const DComplex &val) |
| | Additional complex mathematical functions.
|
| |
| Float | fabs (const Complex &val) |
| |
| DComplex | square (const DComplex &val) |
| |
| Complex | square (const Complex &val) |
| |
| DComplex | cube (const DComplex &val) |
| |
| Complex | cube (const Complex &val) |
| |
| DComplex | operator+ (const DComplex &d, const Complex &c) |
| | ArrayMath::pow needs this pow function.
|
| |
| DComplex | operator+ (const Complex &c, const DComplex &d) |
| |
| DComplex | operator- (const DComplex &d, const Complex &c) |
| |
| DComplex | operator- (const Complex &c, const DComplex &d) |
| |
| Complex | operator* (const Complex &val, Double f) |
| | QMath and scimath need these operators * and /.
|
| |
| Complex | operator* (Double f, const Complex &val) |
| |
| Complex | operator/ (const Complex &val, Double f) |
| |
| Complex | operator/ (Double f, const Complex &val) |
| |
| Complex | operator* (const Complex &val, Int f) |
| | These operators are useful, otherwise both Float and Double are applicable for Ints.
|
| |
| Complex | operator* (Int f, const Complex &val) |
| |
| Complex | operator/ (const Complex &val, Int f) |
| |
| Complex | operator/ (Int f, const Complex &val) |
| |
| Bool | near (const Complex &val1, const Complex &val2, Double tol=1.0e-5) |
| | The near functions.
|
| |
| Bool | near (const DComplex &val1, const DComplex &val2, Double tol=1.0e-13) |
| |
| Bool | nearAbs (const Complex &val1, const Complex &val2, Double tol=1.0e-5) |
| |
| Bool | nearAbs (const DComplex &val1, const DComplex &val2, Double tol=1.0e-13) |
| |
| Bool | allNear (const Complex &val1, const Complex &val2, Double tol=1.0e-5) |
| |
| Bool | allNear (const DComplex &val1, const DComplex &val2, Double tol=1.0e-13) |
| |
| Bool | allNearAbs (const Complex &val1, const Complex &val2, Double tol=1.0e-5) |
| |
| Bool | allNearAbs (const DComplex &val1, const DComplex &val2, Double tol=1.0e-13) |
| |
| Complex | max (const Complex &x, const Complex &y) |
| | Max and min, floor and ceil functions.
|
| |
| DComplex | max (const DComplex &x, const DComplex &y) |
| |
| Complex | min (const Complex &x, const Complex &y) |
| |
| DComplex | min (const DComplex &x, const DComplex &y) |
| |
| Complex | floor (const Complex &x) |
| |
| DComplex | floor (const DComplex &x) |
| |
| Complex | ceil (const Complex &x) |
| |
| DComplex | ceil (const DComplex &x) |
| |
| DComplex | fmod (const DComplex &in, const DComplex &f) |
| | fmod
|
| |
| Complex | fmod (const Complex &in, const Complex &f) |
| |
| DComplex | atan (const DComplex &in) |
| | Inverse trigonometry.
|
| |
| Complex | atan (const Complex &in) |
| |
| DComplex | asin (const DComplex &in) |
| |
| Complex | asin (const Complex &in) |
| |
| DComplex | acos (const DComplex &in) |
| |
| Complex | acos (const Complex &in) |
| |
| DComplex | atan2 (const DComplex &in, const DComplex &t2) |
| |
| Complex | atan2 (const Complex &in, const Complex &t2) |
| |
| DComplex | erf (const DComplex &in) |
| | Error function.
|
| |
| Complex | erf (const Complex &in) |
| |
| DComplex | erfc (const DComplex &in) |
| |
| Complex | erfc (const Complex &in) |
| |
Single and double precision complex numbers
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Synopsis
The class Complex is a straight typedef as the standard library complex<float>.
In a similar way DComplex is typedef-ed as complex<double>.
IComplex is defined as a specific class. It is only used by the FITS classes.
lDComplex has not been defined: long double is not part of the standard Casacore data suite (yet)
A set of global functions are added for historic reasons (they were present in the original Casacore/gcc complex implementation).
See the standard library documentation for the expected behaviour of the Complex and DComplex classes.
Tip: In the following all references to Complex can be replaced with DComplex; with simultaneous replacement of Float with Double;
Complex numbers may be constructed and used in the following ways:
- Complex x;
Declares an uninitialized Complex.
- Complex x = 2; Complex y(2.0);
Set x and y to the Complex value (2.0, 0.0);
- Complex x(2, 3);
Sets x to the Complex value (2, 3);
- Complex u(x); Complex v = x;
Set u and v to the same value as x.
- Float real(Complex& x);
returns the real part of x.
- Float imag(Complex& x);
returns the imaginary part of x.
- Float abs(Complex& x);
returns the magnitude of x.
- Float norm(Complex& x);
returns the square of the magnitude of x.
- Float arg(Complex& x);
returns the argument (amplitude) of x.
- Complex polar(Float r, Float t = 0.0);
returns a Complex with abs of r and arg of t.
- Complex conj(Complex& x);
returns the complex conjugate of x
- Complex cos(Complex& x);
returns the complex cosine of x.
- Complex sin(Complex& x);
returns the complex sine of x.
- Complex cosh(Complex& x);
returns the complex hyperbolic cosine of x.
- Complex sinh(Complex& x);
returns the complex hyperbolic sine of x.
- Complex exp(Complex& x);
returns the exponential of x.
- Complex log(Complex& x);
returns the natural log of x.
- Complex pow(Complex& x, long p);
returns x raised to the p power.
- Complex pow(Complex& x, Complex& p);
returns x raised to the p power.
- Complex sqrt(Complex& x);
returns the square root of x.
- Complex min(Complex x,Complex y);
Returns the minumum of x,y (using operator<=, i.e. the norm).
- Complex max(Complex x,Complex y);
Returns the maximum of x,y (using operator>=, i.e. the norm).
- Bool near(Complex val1, Complex val2, Double tol = 1.0e-5);
returns whether val1 is relatively near val2 (see Math.h). (Note the Double tolerance)
- Bool nearAbs(Complex val1, Complex val2, Double tol = 1.0e-5);
returns whether val1 is absolutely near val2 (see Math.h). (Note the Double tolerance)
- ostream << x;
prints x in the form (re, im).
- istream >> x;
- reads x in the form (re, im), or just (re) or re in which case the imaginary part is set to zero.
Definition at line 156 of file Complex.h.