|
Bool | isNaN (const Complex &val) |
| Complex NaN and Infinity. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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 /. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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 More...
|
|
Complex | fmod (const Complex &in, const Complex &f) |
|
DComplex | atan (const DComplex &in) |
| Inverse trigonometry. More...
|
|
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. More...
|
|
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 158 of file Complex.h.