1#ifndef PSCF_MATH_ARITHMETIC_H
2#define PSCF_MATH_ARITHMETIC_H
48 void assign(
double & z,
double const & a)
60 void assign(
float & z,
float const & a)
71 template <
typename RT>
inline
72 void assign(std::complex<RT> & z, std::complex<RT>
const & a)
84 template <
typename RT>
inline
85 void assign(std::complex<RT> & z, RT
const & a, RT
const & b)
86 { z = std::complex<RT>(a, b); }
96 template <
typename RT>
inline
97 void assign(std::complex<RT> & z, RT
const & a)
112 void add(
double & z,
double const & a,
double const & b)
125 void add(
float & z,
float const & a,
float const & b)
137 template <
typename RT>
inline
138 void add(std::complex<RT> & z,
139 std::complex<RT>
const & a, std::complex<RT>
const & b)
151 template <
typename RT>
inline
152 void add(std::complex<RT> & z,
153 std::complex<RT>
const & a, RT
const & b)
165 void addEq(
double & a,
double const & b)
177 void addEq(
float & a,
float const & b)
188 template <
typename RT>
inline
189 void addEq(std::complex<RT> & a, std::complex<RT>
const & b)
200 template <
typename RT>
inline
201 void addEq(std::complex<RT> & a, RT
const & b)
216 void sub(
double & z,
double const & a,
double const & b)
229 void sub(
float & z,
float const & a,
float const & b)
241 template <
typename RT>
inline
242 void sub(std::complex<RT> & z,
243 std::complex<RT>
const & a, std::complex<RT>
const & b)
255 template <
typename RT>
inline
256 void sub(std::complex<RT> & z,
257 std::complex<RT>
const & a, RT
const & b)
269 void subEq(
double & a,
double const & b)
281 void subEq(
float & a,
float const & b)
292 template <
typename RT>
inline
293 void subEq(std::complex<RT> & a, std::complex<RT>
const & b)
304 template <
typename RT>
inline
305 void subEq(std::complex<RT> & a, RT
const & b)
320 void mul(
double & z,
double const & a,
double const & b)
333 void mul(
float & z,
float const & a,
float const & b)
345 template <
typename RT>
inline
346 void mul(std::complex<RT> & z,
347 std::complex<RT>
const & a, std::complex<RT>
const & b)
359 template <
typename RT>
inline
360 void mul(std::complex<RT> & z,
361 std::complex<RT>
const & a,
374 void mulEq(
double & a,
double const & b)
386 void mulEq(
float & a,
float const & b)
397 template <
typename RT>
inline
398 void square(std::complex<RT> & z, std::complex<RT>
const & a)
413 void div(
double & z,
double const & a,
double const & b)
426 void div(
float & z,
float const & a,
float const & b)
438 template <
typename RT>
inline
439 void div(std::complex<RT> & z,
440 std::complex<RT>
const & a, std::complex<RT>
const & b)
452 template <
typename RT>
inline
453 void div(std::complex<RT> & z,
454 std::complex<RT>
const & a, RT
const & b)
466 void divEq(
double & a,
double const & b)
478 void divEq(
float & a,
float const & b)
489 template <
typename RT>
inline
490 void divEq(std::complex<RT> & a, std::complex<RT>
const & b)
501 template <
typename RT>
inline
502 void divEq(std::complex<RT> & a, RT
const & b)
void mulEq(fftw_complex &a, fftw_complex const &b)
In-place multiplication of two complex number, a *= b.
void addEq(fftw_complex &a, fftw_complex const &b)
In-place addition of fftw_complex numbers, a += b.
void square(fftw_complex &z, fftw_complex const &a)
Complex square of an fftw_complex number, z = a * a.
void div(fftw_complex &z, fftw_complex const &a, fftw_complex const &b)
Division of fftw_complex numbers, z = a / b .
void inverse(fftw_complex &z, fftw_complex const &a)
Inversion of an fftw_complex number, z = 1 / a .
void assignExp(fftw_complex &z, fftw_complex const &a)
Exponentation of a ffts_complex variable, z = exp(a).
void add(fftw_complex &z, fftw_complex const &a, fftw_complex const &b)
Addition of fftw_complex numbers, z = a + b.
void sub(fftw_complex &z, fftw_complex const &a, fftw_complex const &b)
Subtraction of fftw_complex numbers, z = a - b.
void subEq(fftw_complex &a, fftw_complex const &b)
In-place subtraction of fftw_complex numbers, a -= b.
void assign(fftw_complex &z, double const &a, double const &b)
Create an fftw_complex from real and imaginary parts, z = a + ib.
void mul(fftw_complex &z, fftw_complex const &a, fftw_complex const &b)
Multiplication of fftw_complex numbers, z = a * b.
void divEq(fftw_complex &a, fftw_complex const &b)
In-place division of fftw_complex numbers, a /= b.
void assignLog(fftw_complex &z, fftw_complex const &a)
Logarithm of an fftw_complex variable, z = log(a).
PSCF package top-level namespace.