C-XSC - A C++ Class Library for Extended Scientific Computing
2.5.4
|
26 #ifndef _CXSC_COMPLEX_HPP_INCLUDED
27 #define _CXSC_COMPLEX_HPP_INCLUDED
69 explicit inline complex(
const real &r)
throw() : re(r),im(0.0) { }
78 explicit INLINE
complex(
const cvector &)
throw (ERROR_CVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_CVECTOR_USE_OF_UNINITIALIZED_OBJ);
81 explicit INLINE
complex(
const cvector_slice &)
throw (ERROR_CVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_CVECTOR_USE_OF_UNINITIALIZED_OBJ);
83 explicit INLINE
complex(
const cmatrix &)
throw (ERROR_CMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_CMATRIX_USE_OF_UNINITIALIZED_OBJ);
85 explicit INLINE
complex(
const cmatrix_slice &)
throw (ERROR_CMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_CMATRIX_USE_OF_UNINITIALIZED_OBJ);
92 friend INLINE
complex _complex(
const cvector &)
throw (ERROR_CVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_CVECTOR_USE_OF_UNINITIALIZED_OBJ);
99 friend INLINE
complex _complex(
const cvector_slice &)
throw (ERROR_CVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_CVECTOR_USE_OF_UNINITIALIZED_OBJ);
106 friend INLINE
complex _complex(
const cmatrix &)
throw (ERROR_CMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_CMATRIX_USE_OF_UNINITIALIZED_OBJ);
113 friend INLINE
complex _complex(
const cmatrix_slice &)
throw (ERROR_CMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_CMATRIX_USE_OF_UNINITIALIZED_OBJ);
348 complex divn (
const complex &,
const complex &);
349 complex divd (
const complex &,
const complex &);
350 complex divu (
const complex &,
const complex &);
351 complex muld (
const complex &,
const complex &)
throw();
352 complex mulu (
const complex &,
const complex &)
throw();
390 inline complex
sqr (
const complex&)
throw();
392 complex
sqrt(
const complex&)
throw();
394 complex
sqrtp1m1(
const complex&)
throw();
396 complex
sqrt1px2(
const complex&)
throw();
398 complex
sqrtx2m1(
const complex&)
throw();
400 complex
sqrt1mx2(
const complex&)
throw();
403 complex
exp(
const complex&)
throw();
405 complex
expm1(
const complex&)
throw();
407 complex
exp2(
const complex&)
throw();
409 complex
exp10(
const complex&)
throw();
411 complex
sin(
const complex&)
throw();
413 complex
cos(
const complex&)
throw();
415 complex
tan(
const complex&)
throw();
417 complex
cot(
const complex&)
throw();
419 complex
asin(
const complex&)
throw();
421 complex
acos(
const complex&)
throw();
423 complex
atan(
const complex&)
throw();
425 complex
acot(
const complex&)
throw();
427 complex
sinh(
const complex&)
throw();
429 complex
cosh(
const complex&)
throw();
431 complex
tanh(
const complex&)
throw();
433 complex
coth(
const complex&)
throw();
435 complex
asinh(
const complex&)
throw();
437 complex
acosh(
const complex&)
throw();
439 complex
atanh(
const complex&)
throw();
441 complex
acoth(
const complex&)
throw();
443 std::list<complex>
sqrt_all(
const complex&);
445 complex
sqrt(
const complex&,
int)
throw();
447 real
arg(
const complex&)
throw();
449 real
Arg(
const complex&)
throw();
451 std::list<complex>
sqrt_all(
const complex&,
int);
453 complex
ln(
const complex&)
throw();
455 complex
lnp1(
const complex&)
throw();
457 complex
log2(
const complex&)
throw();
459 complex
log10(
const complex&)
throw();
461 complex
power(
const complex&,
int)
throw();
463 complex
power_fast(
const complex&,
int)
throw();
465 complex
pow(
const complex&,
const real&)
throw();
467 complex
pow(
const complex&,
const complex&)
throw();
472 #include "complex.inl"
cinterval ln(const cinterval &z)
Calculates .
complex(const real &a, const real &b)
Constructor of class complex.
cinterval power_fast(const cinterval &z, int n)
Calculates .
friend complex & SetIm(complex &a, const real &b)
Sets the imaginary part of a complex value.
cinterval lnp1(const cinterval &z)
Calculates .
friend std::ostream & operator<<(std::ostream &, const complex &)
Implementation of standard output method.
cinterval atan(const cinterval &z)
Calculates .
friend std::istream & operator>>(std::istream &, complex &)
Implementation of standard input method.
cinterval exp10(const cinterval &z)
Calculates .
std::list< cinterval > sqrt_all(const cinterval &z)
Calculates and returns all possible solutions.
friend complex conj(const complex &)
Returns the conjugated complex value.
cinterval exp2(const cinterval &z)
Calculates .
cinterval tanh(const cinterval &z)
Calculates .
cinterval asin(const cinterval &z)
Calculates .
cinterval sqrtx2m1(const cinterval &z)
Calculates .
friend complex & operator-=(complex &, const complex &)
Implementation of standard algebraic subtraction and allocation operation.
cinterval cosh(const cinterval &z)
Calculates .
friend complex _complex(const cmatrix &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend bool operator!(const complex &a)
Implementation of standard negation operation.
cinterval sqrt1px2(const cinterval &z)
Calculates .
complex _complex(const real &a)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend complex operator+(const complex &)
Implementation of standard algebraic positive sign operation.
friend complex & operator/=(complex &, const complex &)
Implementation of standard algebraic division and allocation operation.
complex(void)
Constructor of class complex.
cinterval tan(const cinterval &z)
Calculates .
cinterval acoth(const cinterval &z)
Calculates .
cinterval sinh(const cinterval &z)
Calculates .
cinterval coth(const cinterval &z)
Calculates .
cinterval sqrtp1m1(const cinterval &z)
Calculates .
friend real abs2(const complex &)
Returns the absolute value of a complex value.
cinterval log2(const cinterval &z)
Calculates .
friend complex _complex(const cvector_slice &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend complex & operator+=(complex &, const complex &)
Implementation of standard algebraic addition and allocation operation.
cinterval sqrt(const cinterval &z)
Calculates .
The Data Type cmatrix_slice.
cinterval sqrt1mx2(const cinterval &z)
Calculates .
cinterval pow(const cinterval &z, const interval &p)
Calculates .
friend bool operator!=(const complex &a, const complex &b)
Implementation of standard negated equality operation.
The Multiple-Precision Data Type l_complex.
The Data Type dotprecision.
complex(const cmatrix_slice &)
Constructor of class complex.
cinterval acosh(const cinterval &z)
Calculates .
friend complex operator*(const complex &, const complex &)
Implementation of standard algebraic multiplication operation.
interval Arg(const cinterval &z)
Calculates .
friend complex & SetRe(complex &a, const real &b)
Sets the real part of a complex value.
cinterval power(const cinterval &z, int n)
Calculates .
cinterval cos(const cinterval &z)
Calculates .
cinterval acot(const cinterval &z)
Calculates .
The namespace cxsc, providing all functionality of the class library C-XSC.
friend real abs(complex)
Returns the absolute value of a complex value.
complex(const real &r)
Constructor of class complex.
cinterval sqr(const cinterval &z)
Calculates .
friend complex _complex(const cvector &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend complex divn(const complex &, const complex &)
Returns the nearest rounded result of the division operation.
cinterval sin(const cinterval &z)
Calculates .
friend complex & operator*=(complex &, const complex &)
Implementation of standard algebraic multiplication and allocation operation.
friend complex _complex(const cdotprecision &a)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cinterval cot(const cinterval &z)
Calculates .
interval arg(const cinterval &z)
Calculates .
friend complex _complex(const cmatrix_slice &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend real & Im(complex &a)
Returns the imaginary part of the complex value.
cinterval expm1(const cinterval &z)
Calculates .
The Data Type cdotprecision.
friend bool operator==(const complex &a, const complex &b)
Implementation of standard equality operation.
friend complex operator/(const complex &, const complex &)
Implementation of standard algebraic division operation.
friend complex operator-(const complex &)
Implementation of standard algebraic negative sign operation.
cinterval acos(const cinterval &z)
Calculates .
cinterval exp(const cinterval &z)
Calculates .
cinterval atanh(const cinterval &z)
Calculates .
The Data Type cvector_slice.
friend real & Re(complex &a)
Returns the real part of the complex value.
cinterval log10(const cinterval &z)
Calculates .
complex & operator=(const real &r)
Implementation of standard assigning operator.
cinterval asinh(const cinterval &z)
Calculates .