|
PSCF v1.4.0
|
Complex arithmetic functions using the complex type fftw_complex defined by the FFTW fast Fourier transform library. More...
Functions | |
| double | Pscf::real (fftw_complex const &a) |
| Return the real part of an fftw_complex number. | |
| double | Pscf::imag (fftw_complex const &a) |
| Return the imaginary part of an fftw_complex number. | |
| double | Pscf::abs (fftw_complex const &a) |
| Return absolute magnitude of an fftw_complex number. | |
| double | Pscf::absSq (fftw_complex const &a) |
| Return square of absolute magnitude of an fftw_complex number. | |
| void | Pscf::conj (fftw_complex &z, fftw_complex const &a) |
| Complex conjugate of an fftw_complex, z = a^*. | |
| void | Pscf::conj (fftw_complex &a) |
| In-place complex conjugation of an fftw_complex number, a = a^* . | |
| void | Pscf::assign (fftw_complex &z, double const &a, double const &b) |
| Create an fftw_complex from real and imaginary parts, z = a + ib. | |
| void | Pscf::assign (fftw_complex &z, double const &a) |
| Assign a real input to an fftw_complex variable. | |
| void | Pscf::assign (fftw_complex &z, fftw_complex const &a) |
| Assign an fftw_complex input to an fftw_complex variable. | |
| void | Pscf::assign (fftw_complex &z, std::complex< double > const &a) |
| Assign a std::complex input to an fftw_complex variable. | |
| void | Pscf::assign (std::complex< double > &z, fftw_complex const &a) |
| Assign an fftw_complex input to a std::complex variable. | |
| void | Pscf::add (fftw_complex &z, fftw_complex const &a, fftw_complex const &b) |
| Addition of fftw_complex numbers, z = a + b. | |
| void | Pscf::add (fftw_complex &z, fftw_complex const &a, double const &b) |
| Addition of a complex and real number, z = a + b. | |
| void | Pscf::addEq (fftw_complex &a, fftw_complex const &b) |
| In-place addition of fftw_complex numbers, a += b. | |
| void | Pscf::addEq (fftw_complex &a, double const &b) |
| In-place addition of a complex and real number, a += b. | |
| void | Pscf::sub (fftw_complex &z, fftw_complex const &a, fftw_complex const &b) |
| Subtraction of fftw_complex numbers, z = a - b. | |
| void | Pscf::sub (fftw_complex &z, fftw_complex const &a, double const &b) |
| Subtraction of a real number from an fftw_complex number, z = a - b. | |
| void | Pscf::subEq (fftw_complex &a, fftw_complex const &b) |
| In-place subtraction of fftw_complex numbers, a -= b. | |
| void | Pscf::subEq (fftw_complex &a, double const &b) |
| In-place subtraction of real from an fftw_complex number, a -= b. | |
| double | Pscf::absSqDiff (fftw_complex const &a, fftw_complex const &b) |
| Return square of the absolute magnitude of a complex difference. | |
| void | Pscf::mul (fftw_complex &z, fftw_complex const &a, fftw_complex const &b) |
| Multiplication of fftw_complex numbers, z = a * b. | |
| void | Pscf::mul (fftw_complex &z, fftw_complex const &a, double const &b) |
| Multiplication of an fftw_complex and real number, z = a * b. | |
| void | Pscf::mulEq (fftw_complex &a, fftw_complex const &b) |
| In-place multiplication of two complex number, a *= b. | |
| void | Pscf::mulEq (fftw_complex &a, double const &b) |
| In-place multiplication of a complex and real number, a *= b. | |
| void | Pscf::square (fftw_complex &z, fftw_complex const &a) |
| Complex square of an fftw_complex number, z = a * a. | |
| void | Pscf::div (fftw_complex &z, fftw_complex const &a, fftw_complex const &b) |
| Division of fftw_complex numbers, z = a / b . | |
| void | Pscf::div (fftw_complex &z, fftw_complex const &a, double const &b) |
| Division of an fftw_complex number by a real number, z = a / b . | |
| void | Pscf::divEq (fftw_complex &a, fftw_complex const &b) |
| In-place division of fftw_complex numbers, a /= b. | |
| void | Pscf::divEq (fftw_complex &a, double const &b) |
| In-place division of an fftw_complex number by a real number, a /= b. | |
| void | Pscf::inverse (fftw_complex &z, fftw_complex const &a) |
| Inversion of an fftw_complex number, z = 1 / a . | |
| void | Pscf::assignExp (fftw_complex &z, fftw_complex const &a) |
| Exponentation of a ffts_complex variable, z = exp(a). | |
| void | Pscf::assignLog (fftw_complex &z, fftw_complex const &a) |
| Logarithm of an fftw_complex variable, z = log(a). | |
| std::istream & | Pscf::operator>> (std::istream &is, fftw_complex &z) |
| Stream extraction operator for fftw_complex. | |
| std::ostream & | Pscf::operator<< (std::ostream &os, fftw_complex const &z) |
| Stream insertion operator for fftw_complex. | |
Complex arithmetic functions using the complex type fftw_complex defined by the FFTW fast Fourier transform library.
|
inline |
Return the real part of an fftw_complex number.
| a | complex argument (in) |
Definition at line 38 of file cpu/complex.h.
Referenced by Pscf::Prdc::readBasisData(), Pscf::Prdc::writeCFieldData(), and Pscf::Prdc::writeCFieldsData().
|
inline |
Return the imaginary part of an fftw_complex number.
| a | complex argument (in) |
Definition at line 49 of file cpu/complex.h.
Referenced by Pscf::Prdc::readBasisData(), Pscf::Prdc::writeCFieldData(), and Pscf::Prdc::writeCFieldsData().
|
inline |
Return absolute magnitude of an fftw_complex number.
| a | complex argument (in) |
Definition at line 62 of file cpu/complex.h.
|
inline |
Return square of absolute magnitude of an fftw_complex number.
| a | complex argument (in) |
Definition at line 73 of file cpu/complex.h.
Referenced by absSqDiff(), absSqDiff(), and Pscf::Rp::BinaryStructureFactor< D, T >::computeS().
|
inline |
Complex conjugate of an fftw_complex, z = a^*.
| z | complex conjugate of argument (out) |
| a | complex argument (in) |
Definition at line 87 of file cpu/complex.h.
|
inline |
In-place complex conjugation of an fftw_complex number, a = a^* .
| a | argument and output (in/out) |
Definition at line 101 of file cpu/complex.h.
|
inline |
Create an fftw_complex from real and imaginary parts, z = a + ib.
| z | complex (out) |
| a | real part (in) |
| b | imaginary part (in) |
Definition at line 119 of file cpu/complex.h.
Referenced by Pscf::Cpc::Polymer< D >::compute(), Pscf::Cpc::Solvent< D >::compute(), Pscf::Cpc::Simulator< D >::computeCc(), Pscf::Cpc::Block< D >::computeConcentrationBead(), Pscf::Cpc::Block< D >::computeConcentrationThread(), Pscf::Cpc::Simulator< D >::computeHamiltonian(), Pscf::Cpc::Propagator< D >::computeQ(), Pscf::Cpc::Simulator< D >::computeWc(), Pscf::Prdc::readCFieldData(), Pscf::Prdc::readCFieldsData(), Pscf::Species< WT >::readParameters(), Pscf::Prdc::readRGridData(), Pscf::Prdc::readRGridData(), Pscf::Species< WT >::setMu(), Pscf::Species< WT >::setPhi(), Pscf::Species< WT >::setQ(), Pscf::Cpc::Propagator< D >::solve(), and Pscf::Species< WT >::Species().
|
inline |
Assign a real input to an fftw_complex variable.
| z | complex (out) |
| a | real (in) |
Definition at line 134 of file cpu/complex.h.
|
inline |
Assign an fftw_complex input to an fftw_complex variable.
| z | complex (out) |
| a | complex (in) |
Definition at line 149 of file cpu/complex.h.
|
inline |
Assign a std::complex input to an fftw_complex variable.
| z | complex (out) |
| a | std::complex (in) |
Definition at line 164 of file cpu/complex.h.
|
inline |
Assign an fftw_complex input to a std::complex variable.
| z | std::complex (out) |
| a | complex (in) |
Definition at line 179 of file cpu/complex.h.
|
inline |
Addition of fftw_complex numbers, z = a + b.
| z | complex sum (out) |
| a | complex summand (in) |
| b | complex summand (in) |
Definition at line 194 of file cpu/complex.h.
Referenced by Pscf::Prdc::SymmetryGroup< Symmetry >::makeCompleteGroup().
|
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 210 of file cpu/complex.h.
|
inline |
In-place addition of fftw_complex numbers, a += b.
| a | complex summand (in) and sum (out) |
| b | complex summand (in) |
Definition at line 225 of file cpu/complex.h.
Referenced by Pscf::Cpc::Solvent< D >::compute(), Pscf::Cpc::Simulator< D >::computeCc(), Pscf::Cpc::Block< D >::computeConcentrationBead(), Pscf::Cpc::Block< D >::computeConcentrationThread(), Pscf::Cpc::Simulator< D >::computeDc(), Pscf::Cpc::Propagator< D >::computeQ(), and Pscf::Cpc::Simulator< D >::computeWc().
|
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 240 of file cpu/complex.h.
|
inline |
Subtraction of fftw_complex numbers, z = a - b.
| z | complex difference (out) |
| a | complex 1st argument (in) |
| b | complex 2nd argument (in) |
Definition at line 257 of file cpu/complex.h.
Referenced by absSqDiff(), and absSqDiff().
|
inline |
Subtraction of a real number from an fftw_complex number, z = a - b.
| z | complex difference (out) |
| a | complex 1st argument (in) |
| b | real 2nd argument (in) |
Definition at line 273 of file cpu/complex.h.
|
inline |
In-place subtraction of fftw_complex numbers, a -= b.
| a | complex argument (in) and difference (out) |
| b | complex argument (in) |
Definition at line 288 of file cpu/complex.h.
|
inline |
In-place subtraction of real from an fftw_complex number, a -= b.
| a | complex argument (in) and difference (out) |
| b | real argument (in) |
Definition at line 303 of file cpu/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 319 of file cpu/complex.h.
|
inline |
Multiplication of fftw_complex numbers, z = a * b.
| z | complex product (out) |
| a | complex factor (in) |
| b | complex factor (in) |
Definition at line 338 of file cpu/complex.h.
Referenced by Pscf::Cpc::Solvent< D >::compute(), Pscf::Cpc::Simulator< D >::computeCc(), Pscf::Cpc::Block< D >::computeConcentrationBead(), Pscf::Cpc::Block< D >::computeConcentrationThread(), Pscf::Cpc::Simulator< D >::computeDc(), Pscf::Cpc::Propagator< D >::computeQ(), Pscf::Cpc::Simulator< D >::computeWc(), Pscf::Species< WT >::setQ(), Pscf::Cpc::Block< D >::setupSolver(), and Pscf::Cpc::Block< D >::stepThread().
|
inline |
Multiplication of an fftw_complex and real number, z = a * b.
| z | complex product (out) |
| a | complex factor (in) |
| b | real factor (in) |
Definition at line 354 of file cpu/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 369 of file cpu/complex.h.
Referenced by Pscf::Cpc::Solvent< D >::compute(), Pscf::Cpc::Block< D >::computeConcentrationBead(), Pscf::Cpc::Block< D >::computeConcentrationThread(), Pscf::Cpc::Block< D >::stepFieldBead(), and Pscf::Cpc::Block< D >::stepThread().
|
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 386 of file cpu/complex.h.
|
inline |
Complex square of an fftw_complex number, z = a * a.
| z | complex product (out) |
| a | complex factor (in) |
Definition at line 401 of file cpu/complex.h.
|
inline |
Division of fftw_complex numbers, z = a / b .
| z | complex ratio (out) |
| a | complex numerator (in) |
| b | complex denominator (in) |
Definition at line 419 of file cpu/complex.h.
Referenced by Pscf::Cpc::Solvent< D >::compute(), and Pscf::Species< WT >::setQ().
|
inline |
Division of an fftw_complex number by a real number, z = a / b .
| z | complex ratio (out) |
| a | complex numerator (in) |
| b | real denominator (in) |
Definition at line 436 of file cpu/complex.h.
|
inline |
In-place division of fftw_complex numbers, a /= b.
| a | complex numerator (in) and ratio (out) |
| b | complex denominator (in) |
Definition at line 451 of file cpu/complex.h.
Referenced by Pscf::Cpc::Solvent< D >::compute(), and Pscf::Cpc::Propagator< D >::computeQ().
|
inline |
In-place division of an fftw_complex number by a real number, a /= b.
| a | complex numerator (in) and ratio (out) |
| b | real denominator (in) |
Definition at line 468 of file cpu/complex.h.
|
inline |
Inversion of an fftw_complex number, z = 1 / a .
| z | inverse (out) |
| a | argument (in) |
Definition at line 485 of file cpu/complex.h.
Referenced by Pscf::Cpc::Block< D >::setupSolver().
|
inline |
Exponentation of a ffts_complex variable, z = exp(a).
| z | exponent (out) |
| a | argument (in) |
Definition at line 503 of file cpu/complex.h.
Referenced by Pscf::Cpc::Solvent< D >::compute(), Pscf::Species< WT >::setQ(), and Pscf::Cpc::Block< D >::setupSolver().
|
inline |
Logarithm of an fftw_complex variable, z = log(a).
| z | logarithm (out) |
| a | argument (in) |
Definition at line 520 of file cpu/complex.h.
Referenced by Pscf::Species< WT >::setQ().
| std::istream & Pscf::operator>> | ( | std::istream & | is, |
| fftw_complex & | z ) |
Stream extraction operator for fftw_complex.
| is | input stream |
| z | complex number |
| std::ostream & Pscf::operator<< | ( | std::ostream & | os, |
| fftw_complex const & | z ) |
Stream insertion operator for fftw_complex.
| os | output stream |
| z | complex number |