casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
casacore::Complex_global_functions_Complex_desc Struct Reference

Single and double precision complex numbers. More...

#include <Complex.h>

Public Member Functions

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)
 

Detailed Description

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.


The documentation for this struct was generated from the following file: