|
PSCF v1.4.0
|
Complex arithmetic functions using the complex type cudaComplex used in GPU code that interfaces with cufft. More...
Functions | |
| cudaReal | Pscf::real (cudaComplex const &a) |
| Return the real part of a complex number. | |
| cudaReal | Pscf::imag (cudaComplex const &a) |
| Return the imaginary part of a complex number. | |
| cudaReal | Pscf::abs (cudaComplex const &a) |
| Return absolute magnitude of a complex number. | |
| cudaReal | Pscf::absSq (cudaComplex const &a) |
| Return square of absolute magnitude of a complex number. | |
| void | Pscf::conj (cudaComplex &z, cudaComplex const &a) |
| Compute complex conjugate, z = a^*. | |
| void | Pscf::conj (cudaComplex &a) |
| In-place complex conjugation of a complex number, a = a^* . | |
| void | Pscf::assign (cudaComplex &z, cudaReal const &a, cudaReal const &b) |
| Create a complex number from real and imaginary parts, z = a + ib. | |
| void | Pscf::assign (cudaComplex &z, cudaReal const &a) |
| Assign a real input to a complex variable. | |
| void | Pscf::assign (cudaComplex &z, cudaComplex const &a) |
| Assign a complex input to a complex variable. | |
| void | Pscf::assign (cudaComplex &z, std::complex< cudaReal > const &a) |
| Assign a std::complex input to a complex variable. | |
| void | Pscf::assign (std::complex< cudaReal > &z, cudaComplex const &a) |
| Assign a complex input to a std::complex variable. | |
| void | Pscf::add (cudaComplex &z, cudaComplex const &a, cudaComplex const &b) |
| Addition of two complex numbers, z = a + b. | |
| void | Pscf::add (cudaComplex &z, cudaComplex const &a, cudaReal const &b) |
| Addition of a complex and real number, z = a + b. | |
| void | Pscf::addEq (cudaComplex &a, cudaComplex const &b) |
| In place addition of complex numbers, a += b. | |
| void | Pscf::addEq (cudaComplex &a, cudaReal const &b) |
| In place addition of a complex and real number, a += b. | |
| void | Pscf::sub (cudaComplex &z, cudaComplex const &a, cudaComplex const &b) |
| Subtraction of two complex numbers, z = a - b. | |
| void | Pscf::sub (cudaComplex &z, cudaComplex const &a, cudaReal const &b) |
| Subtraction of a real number from a complex number, z = a - b. | |
| void | Pscf::subEq (cudaComplex &a, cudaComplex const &b) |
| In place subtraction of two complex numbers, a -= b. | |
| void | Pscf::subEq (cudaComplex &a, cudaReal const &b) |
| In place subtraction of real number from a complex number, a -= b. | |
| cudaReal | Pscf::absSqDiff (cudaComplex const &a, cudaComplex const &b) |
| Return square of the absolute magnitude of a complex difference. | |
| void | Pscf::mul (cudaComplex &z, cudaComplex const &a, cudaComplex const &b) |
| Multiplication of two complex numbers, z = a * b. | |
| void | Pscf::mul (cudaComplex &z, cudaComplex const &a, cudaReal const &b) |
| Multiplication of complex and real numbers, z = a * b. | |
| void | Pscf::mulEq (cudaComplex &a, cudaComplex const &b) |
| In place multiplication of two complex number, a *= b. | |
| void | Pscf::mulEq (cudaComplex &a, cudaReal const &b) |
| In place multiplication of a complex and real number, a *= b. | |
| void | Pscf::square (cudaComplex &z, cudaComplex const &a) |
| Compute complex square of a complex number, z = a * a. | |
| void | Pscf::div (cudaComplex &z, cudaComplex const &a, cudaComplex const &b) |
| Division of two complex numbers, z = a / b . | |
| void | Pscf::div (cudaComplex &z, cudaComplex const &a, cudaReal const &b) |
| Division of a complex number by a real number, z = a / b . | |
| void | Pscf::divEq (cudaComplex &a, cudaComplex const &b) |
| In place division of two complex number, a /= b. | |
| void | Pscf::divEq (cudaComplex &a, cudaReal const &b) |
| In place division of a complex number by a real number, a /= b. | |
| void | Pscf::inverse (cudaComplex &z, cudaComplex const &a) |
| Inversion of a complex number, z = 1 / a . | |
| void | Pscf::assignExp (cudaComplex &z, cudaComplex const &a) |
| Exponentation of a ffts_complex variable, z = exp(a). | |
| void | Pscf::assignLog (cudaComplex &z, cudaComplex const &a) |
| Logarithm of a cudaComplex variable, z = log(a). | |
Complex arithmetic functions using the complex type cudaComplex used in GPU code that interfaces with cufft.
|
inline |
Return the real part of a complex number.
| a | complex argument (input) |
Definition at line 42 of file cuda/complex.h.
|
inline |
Return the imaginary part of a complex number.
| a | complex argument (input) |
Definition at line 53 of file cuda/complex.h.
|
inline |
Return absolute magnitude of a complex number.
| a | complex argument (in) |
Definition at line 66 of file cuda/complex.h.
|
inline |
Return square of absolute magnitude of a complex number.
| a | complex argument (in) |
Definition at line 77 of file cuda/complex.h.
|
inline |
Compute complex conjugate, z = a^*.
| z | complex conjugate of argument (out) |
| a | complex argument (in) |
Definition at line 91 of file cuda/complex.h.
|
inline |
In-place complex conjugation of a complex number, a = a^* .
| a | argument (in) and complex conjugate (out) |
Definition at line 105 of file cuda/complex.h.
|
inline |
Create a complex number from real and imaginary parts, z = a + ib.
| z | complex (out) |
| a | real part (in) |
| b | imaginary part (in) |
Definition at line 123 of file cuda/complex.h.
|
inline |
Assign a real input to a complex variable.
| z | complex (out) |
| a | real (in) |
Definition at line 138 of file cuda/complex.h.
|
inline |
Assign a complex input to a complex variable.
| z | complex (out) |
| a | complex (in) |
Definition at line 153 of file cuda/complex.h.
|
inline |
Assign a std::complex input to a complex variable.
| z | complex (out) |
| a | std::complex (in) |
Definition at line 168 of file cuda/complex.h.
|
inline |
Assign a complex input to a std::complex variable.
| z | std::complex (out) |
| a | complex (in) |
Definition at line 184 of file cuda/complex.h.
|
inline |
Addition of two complex numbers, z = a + b.
| z | complex sum (out) |
| a | complex summand (in) |
| b | complex summand (in) |
Definition at line 200 of file cuda/complex.h.
|
inline |
Addition of a complex and real number, z = a + b.
| z | complex sum (out) |
| a | complex summand (in) |
| b | real summand (in) |
Definition at line 217 of file cuda/complex.h.
|
inline |
In place addition of complex numbers, a += b.
| a | complex summand (in) and sum (out) |
| b | complex summand (in) |
Definition at line 233 of file cuda/complex.h.
|
inline |
In place addition of a complex and real number, a += b.
| a | complex summand (in) and sum (out) |
| b | real summand (in) |
Definition at line 248 of file cuda/complex.h.
|
inline |
Subtraction of two complex numbers, z = a - b.
| z | complex difference (out) |
| a | complex 1st argument (in) |
| b | complex 2nd argument (in) |
Definition at line 265 of file cuda/complex.h.
|
inline |
Subtraction of a real number from a complex number, z = a - b.
| z | complex difference (out) |
| a | complex 1st argument (in) |
| b | real 2nd argument (in) |
Definition at line 282 of file cuda/complex.h.
|
inline |
In place subtraction of two complex numbers, a -= b.
| a | complex argument (in) and difference (out) |
| b | complex argument (in) |
Definition at line 298 of file cuda/complex.h.
|
inline |
In place subtraction of real number from a complex number, a -= b.
| a | complex argument (in) and difference (out) |
| b | real argument (in) |
Definition at line 313 of file cuda/complex.h.
|
inline |
Return square of the absolute magnitude of a complex difference.
This function returns |a-b|^2 for complex a and b.
| a | complex 1st argument (in) |
| b | complex 2nd argument (in) |
Definition at line 329 of file cuda/complex.h.
|
inline |
Multiplication of two complex numbers, z = a * b.
| z | complex product (out) |
| a | complex factor (in) |
| b | complex factor (in) |
Definition at line 349 of file cuda/complex.h.
|
inline |
Multiplication of complex and real numbers, z = a * b.
| z | complex product (out) |
| a | complex factor (in) |
| b | real factor (in) |
Definition at line 366 of file cuda/complex.h.
|
inline |
In place multiplication of two complex number, a *= b.
| a | complex factor (in) and product (out) |
| b | complex factor (in) |
Definition at line 382 of file cuda/complex.h.
|
inline |
In place multiplication of a complex and real number, a *= b.
| a | complex factor (in) and product (out) |
| b | real factor (in) |
Definition at line 399 of file cuda/complex.h.
|
inline |
Compute complex square of a complex number, z = a * a.
| z | complex product (out) |
| a | complex factor (in) |
Definition at line 414 of file cuda/complex.h.
|
inline |
Division of two complex numbers, z = a / b .
| z | complex ratio (out) |
| a | complex numerator (in) |
| b | complex denominator (in) |
Definition at line 432 of file cuda/complex.h.
|
inline |
Division of a complex number by a real number, z = a / b .
| z | complex ratio (out) |
| a | complex numerator (in) |
| b | real denominator (in) |
Definition at line 450 of file cuda/complex.h.
|
inline |
In place division of two complex number, a /= b.
| a | complex numerator (in) and ratio (out) |
| b | complex denominator (in) |
Definition at line 466 of file cuda/complex.h.
|
inline |
In place division of a complex number by a real number, a /= b.
| a | complex numerator (in) and ratio (out) |
| b | real denominator (in) |
Definition at line 483 of file cuda/complex.h.
|
inline |
Inversion of a complex number, z = 1 / a .
| z | inverse (out) |
| a | argument (in) |
Definition at line 500 of file cuda/complex.h.
|
inline |
Exponentation of a ffts_complex variable, z = exp(a).
| z | exponent (out) |
| a | argument (in) |
Definition at line 519 of file cuda/complex.h.
|
inline |
Logarithm of a cudaComplex variable, z = log(a).
| z | logarithm (out) |
| a | argument (in) |
Definition at line 538 of file cuda/complex.h.