Public Types | Public Member Functions | Static Public Attributes | Private Attributes | Friends
complex Class Reference

Extension to the c++ complex library type. More...

Collaboration diagram for complex:
Collaboration graph
[legend]

Public Types

typedef complex cmptType
 Component type. More...
 

Public Member Functions

 complex ()
 Construct null. More...
 
 complex (const scalar Re, const scalar Im)
 Construct given real and imaginary parts. More...
 
 complex (Istream &)
 Construct from Istream. More...
 
scalar Re () const
 
scalar Im () const
 
scalar & Re ()
 
scalar & Im ()
 
complex conjugate () const
 
const complexoperator= (const complex &)
 
void operator+= (const complex &)
 
void operator-= (const complex &)
 
void operator*= (const complex &)
 
void operator/= (const complex &)
 
const complexoperator= (const scalar)
 
void operator+= (const scalar)
 
void operator-= (const scalar)
 
void operator*= (const scalar)
 
void operator/= (const scalar)
 
complex operator! () const
 
bool operator== (const complex &) const
 
bool operator!= (const complex &) const
 

Static Public Attributes

static const char *const typeName = "complex"
 
static const complex zero
 
static const complex one
 

Private Attributes

scalar re
 Real and imaginary parts of the complex number. More...
 
scalar im
 

Friends

scalar magSqr (const complex &c)
 
complex sqr (const complex &c)
 
scalar mag (const complex &c)
 
const friend complexmax (const complex &, const complex &)
 
const friend complexmin (const complex &, const complex &)
 
complex limit (const complex &, const complex &)
 
const friend complexsum (const complex &)
 
complex operator+ (const complex &, const complex &)
 
complex operator- (const complex &)
 
complex operator- (const complex &, const complex &)
 
complex operator* (const complex &, const complex &)
 
complex operator/ (const complex &, const complex &)
 
complex operator* (const scalar, const complex &)
 
complex operator* (const complex &, const scalar)
 
complex operator/ (const complex &, const scalar)
 
complex operator/ (const scalar, const complex &)
 
Istreamoperator>> (Istream &, complex &)
 
Ostreamoperator<< (Ostream &, const complex &)
 

Detailed Description

Extension to the c++ complex library type.

Source files

Definition at line 76 of file complex.H.

Member Typedef Documentation

◆ cmptType

typedef complex cmptType

Component type.

Definition at line 86 of file complex.H.

Constructor & Destructor Documentation

◆ complex() [1/3]

complex ( )
inline

Construct null.

Definition at line 33 of file complexI.H.

Referenced by complex::conjugate().

Here is the caller graph for this function:

◆ complex() [2/3]

complex ( const scalar  Re,
const scalar  Im 
)
inline

Construct given real and imaginary parts.

Definition at line 37 of file complexI.H.

◆ complex() [3/3]

complex ( Istream is)

Construct from Istream.

Definition at line 39 of file complex.C.

Member Function Documentation

◆ Re() [1/2]

scalar & Re ( ) const
inline

Definition at line 46 of file complexI.H.

References complex::re.

◆ Im() [1/2]

scalar & Im ( ) const
inline

Definition at line 52 of file complexI.H.

References complex::im.

◆ Re() [2/2]

scalar& Re ( )
inline

◆ Im() [2/2]

scalar& Im ( )
inline

◆ conjugate()

complex conjugate ( ) const
inline

Definition at line 70 of file complexI.H.

References complex::complex(), complex::im, and complex::re.

Referenced by complex::operator!().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

const complex & operator= ( const complex c)
inline

Definition at line 78 of file complexI.H.

References Foam::constant::universal::c, complex::im, and complex::re.

◆ operator+=() [1/2]

void operator+= ( const complex c)
inline

Definition at line 86 of file complexI.H.

References Foam::constant::universal::c, complex::im, and complex::re.

◆ operator-=() [1/2]

void operator-= ( const complex c)
inline

Definition at line 93 of file complexI.H.

References Foam::constant::universal::c, complex::im, and complex::re.

◆ operator*=() [1/2]

void operator*= ( const complex c)
inline

Definition at line 100 of file complexI.H.

References Foam::constant::universal::c.

◆ operator/=() [1/2]

void operator/= ( const complex c)
inline

Definition at line 106 of file complexI.H.

References Foam::constant::universal::c.

◆ operator=() [2/2]

const complex & operator= ( const scalar  s)
inline

Definition at line 112 of file complexI.H.

References complex::im, complex::re, and s().

Here is the call graph for this function:

◆ operator+=() [2/2]

void operator+= ( const scalar  s)
inline

Definition at line 120 of file complexI.H.

References complex::re, and s().

Here is the call graph for this function:

◆ operator-=() [2/2]

void operator-= ( const scalar  s)
inline

Definition at line 126 of file complexI.H.

References complex::re, and s().

Here is the call graph for this function:

◆ operator*=() [2/2]

void operator*= ( const scalar  s)
inline

Definition at line 132 of file complexI.H.

References complex::im, complex::re, and s().

Here is the call graph for this function:

◆ operator/=() [2/2]

void operator/= ( const scalar  s)
inline

Definition at line 139 of file complexI.H.

References complex::im, complex::re, and s().

Here is the call graph for this function:

◆ operator!()

complex operator! ( ) const
inline

Definition at line 146 of file complexI.H.

References complex::conjugate().

Here is the call graph for this function:

◆ operator==()

bool operator== ( const complex c) const
inline

Definition at line 152 of file complexI.H.

References Foam::constant::universal::c, Foam::equal(), complex::im, and complex::re.

Referenced by complex::operator!=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator!=()

bool operator!= ( const complex c) const
inline

Definition at line 158 of file complexI.H.

References Foam::constant::universal::c, and complex::operator==().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ magSqr

scalar magSqr ( const complex c)
friend

Definition at line 167 of file complexI.H.

◆ sqr

complex sqr ( const complex c)
friend

Definition at line 173 of file complexI.H.

◆ mag

scalar mag ( const complex c)
friend

Definition at line 179 of file complexI.H.

◆ max

const friend complex& max ( const complex c1,
const complex c2 
)
friend

Definition at line 185 of file complexI.H.

◆ min

const friend complex& min ( const complex c1,
const complex c2 
)
friend

Definition at line 198 of file complexI.H.

◆ limit

complex limit ( const complex c1,
const complex c2 
)
friend

Definition at line 211 of file complexI.H.

◆ sum

const friend complex& sum ( const complex c)
friend

Definition at line 217 of file complexI.H.

◆ operator+

complex operator+ ( const complex c1,
const complex c2 
)
friend

Definition at line 234 of file complexI.H.

◆ operator- [1/2]

complex operator- ( const complex c)
friend

Definition at line 244 of file complexI.H.

◆ operator- [2/2]

complex operator- ( const complex c1,
const complex c2 
)
friend

Definition at line 254 of file complexI.H.

◆ operator* [1/3]

complex operator* ( const complex c1,
const complex c2 
)
friend

Definition at line 264 of file complexI.H.

◆ operator/ [1/3]

complex operator/ ( const complex c1,
const complex c2 
)
friend

Definition at line 274 of file complexI.H.

◆ operator* [2/3]

complex operator* ( const scalar  s,
const complex c 
)
friend

Definition at line 286 of file complexI.H.

◆ operator* [3/3]

complex operator* ( const complex c,
const scalar  s 
)
friend

Definition at line 292 of file complexI.H.

◆ operator/ [2/3]

complex operator/ ( const complex c,
const scalar  s 
)
friend

Definition at line 298 of file complexI.H.

◆ operator/ [3/3]

complex operator/ ( const scalar  s,
const complex c 
)
friend

Definition at line 304 of file complexI.H.

◆ operator>>

Istream& operator>> ( Istream ,
complex  
)
friend

◆ operator<<

Ostream& operator<< ( Ostream ,
const complex  
)
friend

Field Documentation

◆ re

scalar re
private

Real and imaginary parts of the complex number.

Definition at line 81 of file complex.H.

Referenced by complex::conjugate(), complex::operator*=(), complex::operator+=(), complex::operator-=(), complex::operator/=(), complex::operator=(), complex::operator==(), and complex::Re().

◆ im

scalar im
private

◆ typeName

const char *const typeName = "complex"
static

Definition at line 91 of file complex.H.

◆ zero

const Foam::complex zero
static

Definition at line 93 of file complex.H.

◆ one

const Foam::complex one
static

Definition at line 94 of file complex.H.


The documentation for this class was generated from the following files: