Main Page | Modules | Alphabetical List | Class List | File List | Class Members | File Members

xcomplex< T > Class Template Reference
[Complex number support]

#include <xcomplex.h>

List of all members.

Public Member Functions

 xcomplex ()
 xcomplex (const T &re_, const T &im_)
 xcomplex (const T &re_)
template<typename U>
 xcomplex (const xcomplex< U > &orig)
T & real ()
const T & real () const
T & imag ()
const T & imag () const
void Set (const T &re_, const T &im_)
template<typename U>
xcomplexoperator= (const xcomplex< U > &orig)
xcomplexoperator= (const T &orig)
xcomplexoperator+= (const xcomplex &orig)
xcomplexoperator-= (const xcomplex &orig)
xcomplexoperator *= (const xcomplex &orig)
xcomplexoperator *= (const T &fact)
xcomplex operator * (const T &fact) const
xcomplex operator * (const xcomplex &b) const
xcomplex operator+ (const xcomplex &b) const
xcomplex operator- (const xcomplex &b) const
xcomplex operator- () const
void Negate ()
void Conjugate ()
xcomplex conj () const
norm () const

Public Attributes

re
im

Related Functions

(Note that these are not member functions.)

xcomplex< T > conj (const xcomplex< T > &num)
norm (const xcomplex< T > &num)
xcomplex< T > operator * (const T &f1, const xcomplex< T > &f2)
std::ostream & operator<< (std::ostream &os, const xcomplex< T > &val)


Detailed Description

template<typename T>
class xcomplex< T >

A class for representing complex numbers.

This template is intended as an (under-encapsulated) replacement for the (over-encapsulated) std::complex<>. The goal is to include the whole functionality of std::complex<>, with some additional methods that allow higher performance.

The (known and intentional) differences between xcomplex<> and std::complex<> are:

Definition at line 57 of file xcomplex.h.


Constructor & Destructor Documentation

template<typename T>
xcomplex< T >::xcomplex  )  [inline]
 

Default constructor. re and im are not initialised.

Definition at line 64 of file xcomplex.h.

template<typename T>
xcomplex< T >::xcomplex const T &  re_,
const T &  im_
[inline]
 

Creates the complex number (re_, im_).

Definition at line 66 of file xcomplex.h.

template<typename T>
xcomplex< T >::xcomplex const T &  re_  )  [inline]
 

Creates the complex number (re_, 0).

Definition at line 69 of file xcomplex.h.

template<typename T>
template<typename U>
xcomplex< T >::xcomplex const xcomplex< U > &  orig  )  [inline]
 

Creates a complex number as a copy of orig.

Definition at line 72 of file xcomplex.h.


Member Function Documentation

template<typename T>
T& xcomplex< T >::real  )  [inline]
 

Returns the real part as lvalue.

Definition at line 76 of file xcomplex.h.

template<typename T>
const T& xcomplex< T >::real  )  const [inline]
 

Returns the real part.

Definition at line 78 of file xcomplex.h.

template<typename T>
T& xcomplex< T >::imag  )  [inline]
 

Returns the imaginary part as lvalue.

Definition at line 80 of file xcomplex.h.

template<typename T>
const T& xcomplex< T >::imag  )  const [inline]
 

Returns the imaginary part.

Definition at line 82 of file xcomplex.h.

template<typename T>
void xcomplex< T >::Set const T &  re_,
const T &  im_
[inline]
 

Sets the number to (re_, im_).

Definition at line 85 of file xcomplex.h.

template<typename T>
template<typename U>
xcomplex& xcomplex< T >::operator= const xcomplex< U > &  orig  )  [inline]
 

Sets the number to orig.

Definition at line 89 of file xcomplex.h.

template<typename T>
xcomplex& xcomplex< T >::operator= const T &  orig  )  [inline]
 

Sets the number to (orig, 0).

Definition at line 92 of file xcomplex.h.

template<typename T>
xcomplex& xcomplex< T >::operator+= const xcomplex< T > &  orig  )  [inline]
 

Adds orig to *this.

Definition at line 95 of file xcomplex.h.

template<typename T>
xcomplex& xcomplex< T >::operator-= const xcomplex< T > &  orig  )  [inline]
 

Subtracts orig from *this.

Definition at line 98 of file xcomplex.h.

template<typename T>
xcomplex& xcomplex< T >::operator *= const xcomplex< T > &  orig  )  [inline]
 

Multiplies *this by orig.

Definition at line 101 of file xcomplex.h.

template<typename T>
xcomplex& xcomplex< T >::operator *= const T &  fact  )  [inline]
 

Multiplies *this by fact.

Definition at line 108 of file xcomplex.h.

template<typename T>
xcomplex xcomplex< T >::operator * const T &  fact  )  const [inline]
 

Returns *this * fact.

Definition at line 111 of file xcomplex.h.

template<typename T>
xcomplex xcomplex< T >::operator * const xcomplex< T > &  b  )  const [inline]
 

Returns *this * b.

Definition at line 114 of file xcomplex.h.

template<typename T>
xcomplex xcomplex< T >::operator+ const xcomplex< T > &  b  )  const [inline]
 

Returns *this + b.

Definition at line 117 of file xcomplex.h.

template<typename T>
xcomplex xcomplex< T >::operator- const xcomplex< T > &  b  )  const [inline]
 

Returns *this - b.

Definition at line 120 of file xcomplex.h.

template<typename T>
xcomplex xcomplex< T >::operator-  )  const [inline]
 

Returns -(*this)

Definition at line 123 of file xcomplex.h.

template<typename T>
void xcomplex< T >::Negate  )  [inline]
 

Flips the signs of both components.

Definition at line 127 of file xcomplex.h.

template<typename T>
void xcomplex< T >::Conjugate  )  [inline]
 

Flips the signs of the imaginary component.

Definition at line 130 of file xcomplex.h.

template<typename T>
xcomplex xcomplex< T >::conj  )  const [inline]
 

Returns the complex conjugate of *this.

Definition at line 133 of file xcomplex.h.

template<typename T>
T xcomplex< T >::norm  )  const [inline]
 

Returns the norm of *this.

Definition at line 137 of file xcomplex.h.


Member Data Documentation

template<typename T>
T xcomplex< T >::re
 

real part

Definition at line 60 of file xcomplex.h.

template<typename T>
T xcomplex< T >::im
 

imaginary part

Definition at line 60 of file xcomplex.h.


The documentation for this class was generated from the following file:
Generated on Fri Jul 8 09:37:14 2005 for LevelS C++ support library