#include <j2k/Fred/Math/Complex.hpp>Go to the source code of this file.
|
||||||||||||
|
Definition at line 160 of file COMPLEX.CPP. |
|
|
Definition at line 103 of file COMPLEX.CPP. 00103 {
00104 return (Imag);
00105 }
|
|
|
Definition at line 95 of file COMPLEX.CPP. 00095 {
00096 return (Imag = y);
00097 }
|
|
|
Definition at line 99 of file COMPLEX.CPP. 00099 {
00100 return (Real);
00101 }
|
|
|
Utilities /////////////////////////////////////////////////////////////////////////////.
Definition at line 91 of file COMPLEX.CPP. 00091 {
00092 return (Real = x);
00093 }
|
|
|
Definition at line 207 of file COMPLEX.CPP. 00207 {
00208 return ( _Inf._D );
00209 }
|
|
|
Definition at line 211 of file COMPLEX.CPP. 00211 {
00212 double temp = (double)x;
00213 return (_Dtest(&temp) == _INFCODE);
00214 }
|
|
|
Definition at line 216 of file COMPLEX.CPP. 00216 {
00217 double temp = (double)x;
00218 return (_Dtest(&temp) == _NANCODE);
00219 }
|
|
|
Definition at line 221 of file COMPLEX.CPP. 00221 {
00222 return (_Nan._D);
00223 }
|
|
||||||||||||
|
Definition at line 61 of file COMPLEX.CPP. |
|
|
Definition at line 142 of file COMPLEX.CPP. 00142 {
00143 Real = Real * x;
00144 Imag = Imag * x;
00145 return (*this);
00146 }
|
|
||||||||||||
|
Multiplication and Division operations /////////////////////////////////////////////////////////////////////////////.
Definition at line 22 of file COMPLEX.CPP. 00022 {
00023 // Reminder: (a+bj)(c+dj) = (ac + bcj + adj + bdjj)
00024 // Result: (ac - bd) + ( bc + ad )j
00025 // jj = -1, by definition.
00026
00027 CplxNumber Temp_Re = (x.Real * y.Real) - (x.Imag * y.Imag);
00028 CplxNumber Temp_Im = (x.Imag * y.Real) + (x.Real * y.Imag);
00029
00030 x.Real = Temp_Re;
00031 x.Imag = Temp_Im;
00032
00033 return (x);
00034 }
|
|
||||||||||||
|
Definition at line 168 of file COMPLEX.CPP. |
|
||||||||||||
|
Definition at line 125 of file COMPLEX.CPP. |
|
|
Definition at line 120 of file COMPLEX.CPP. 00120 {
00121 Real = Real + x;
00122 return (*this);
00123 }
|
|
||||||||||||
|
Definition at line 136 of file COMPLEX.CPP. |
|
|
Definition at line 131 of file COMPLEX.CPP. 00131 {
00132 Real = Real - x;
00133 return (*this);
00134 }
|
|
||||||||||||
|
Definition at line 78 of file COMPLEX.CPP. 00078 {
00079 const CplxDouble Tmp1 = right.Real / right.Imag;
00080 const CplxDouble Tmp2 = right.Imag + (Tmp1 * right.Real);
00081
00082 return JComplex(
00083 ( (left.Real * Tmp1 + left.Imag) / Tmp2 ),
00084 ( (left.Imag * Tmp1 - left.Real) / Tmp2 )
00085 );
00086 }
|
|
|
Definition at line 148 of file COMPLEX.CPP. 00148 {
00149 Real = Real / x;
00150 Imag = Imag / x;
00151 return (*this);
00152 }
|
|
||||||||||||
|
Definition at line 36 of file COMPLEX.CPP. 00036 {
00037 // Reminder: (a+bj)/(c+dj) = (a+bj)(c-dj) / [ (c+dj)(c-dj) ]
00038 // = (ac + bcj - adj - bdjj) / (cc - ddjj)
00039 // = [ (ac + bd) + ( bc - ad )j ] / [ cc + dd ]
00040 // jj = -1, by definition.
00041
00042 // Doesn't handle Divide by Zero, but STL does it.
00043
00044 CplxNumber Temp_delta = (y.Real * y.Real) + (y.Imag * y.Imag);
00045 CplxNumber Temp_Re = (x.Real * y.Real) + (x.Imag * y.Imag);
00046 CplxNumber Temp_Im = (x.Imag * y.Real) - (x.Real * y.Imag);
00047
00048 x.Real = Temp_Re / Temp_delta;
00049 x.Imag = Temp_Im / Temp_delta;
00050
00051 return (x);
00052 }
|
|
|
Definition at line 114 of file COMPLEX.CPP. |
|
|
Definition at line 108 of file COMPLEX.CPP. 00108 {
00109 Real = x;
00110 Imag = 0;
00111 return (*this);
00112 }
|
|
||||||||||||
|
Definition at line 164 of file COMPLEX.CPP. |
|
|
Definition at line 156 of file COMPLEX.CPP. |
|
|
Definition at line 155 of file COMPLEX.CPP. |
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001