|
PSCF v1.4.0
|
Vector operations on GPU or CPU. More...
Functions | |
| void | eqV (Array< double > &a, Array< double > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector assignment, a[i] = b[i] (real, slice). | |
| void | eqV (Array< double > &a, Array< double > const &b) |
| Vector assignment, a[i] = b[i] (real). | |
| void | eqS (Array< double > &a, double b) |
| Vector assignment, a[i] = b (real). | |
| void | addVV (Array< double > &a, Array< double > const &b, Array< double > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i] (real) | |
| void | addVS (Array< double > &a, Array< double > const &b, double c) |
| Vector-scalar addition, a[i] = b[i] + c (real). | |
| void | subVV (Array< double > &a, Array< double > const &b, Array< double > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (real) | |
| void | subVS (Array< double > &a, Array< double > const &b, double c) |
| Vector-scalar subtraction, a[i] = b[i] - c (real). | |
| void | mulVV (Array< double > &a, Array< double > const &b, Array< double > const &c) |
| Vector-vector multiplication, a[i] = b[i] * c[i] (real). | |
| void | mulVS (Array< double > &a, Array< double > const &b, double c) |
| Vector-scalar multiplication, a[i] = b[i] * c (real). | |
| void | divVV (Array< double > &a, Array< double > const &b, Array< double > const &c) |
| Vector-vector division, a[i] = b[i] / c[i] (real). | |
| void | divVS (Array< double > &a, Array< double > const &b, double c) |
| Vector-scalar division, a[i] = b[i] / c (real). | |
| void | divSV (Array< double > &a, double b, Array< double > const &c) |
| Vector division, a[i] = b / c[i]. | |
| void | addEqV (Array< double > &a, Array< double > const &b) |
| Vector-vector in-place addition, a[i] += b[i] (real). | |
| void | addEqS (Array< double > &a, double b) |
| Vector-scalar in-place addition, a[i] += b (real). | |
| void | subEqV (Array< double > &a, Array< double > const &b) |
| Vector-vector in-place subtraction, a[i] -= b[i] (real). | |
| void | subEqS (Array< double > &a, double b) |
| Vector-scalar subtraction in-place, a[i] -= b (real). | |
| void | mulEqV (Array< double > &a, Array< double > const &b) |
| Vector-vector in-place multiplication, a[i] *= b[i] (real). | |
| void | mulEqS (Array< double > &a, double b) |
| Vector-scalar in-place multiplication, a[i] *= b (real). | |
| void | divEqV (Array< double > &a, Array< double > const &b) |
| Vector-vector in-place division, a[i] /= b[i]. | |
| void | divEqS (Array< double > &a, double b) |
| Vector-scalar in-place division, a[i] /= b. | |
| void | expV (Array< double > &a, Array< double > const &b) |
| Vector exponentiation, a[i] = exp(b[i]) (real). | |
| void | expVc (Array< double > &a, Array< double > const &b, const double c) |
| Exponentiation a scaled vector, a[i] = exp(b[i]*c) (real). | |
| void | sqV (Array< double > &a, Array< double > const &b) |
| Vector element-wise square, a[i] = b[i]*b[i] (real). | |
| void | absV (Array< double > &a, Array< double > const &b) |
| Element-wise absolute magnitude, a[i] = abs(b[i]) (real). | |
| void | addVcVc (Array< double > &a, Array< double > const &b1, const double c1, Array< double > const &b2, const double c2) |
| Add two scaled vectors, a[i] = b1[i]*c1 + b2[2]*c2 (real). | |
| void | addVcS (Array< double > &a, Array< double > const &b, const double c, const double s) |
| Add a scaled vector and a scalar, a[i] = b[i]*c + s (real). | |
| void | addEqVc (Array< double > &a, Array< double > const &b, double const c) |
| Add scaled vector in-place, a[i] += b[i]*c (real). | |
| void | addVcVcS (Array< double > &a, Array< double > const &b1, const double c1, Array< double > const &b2, const double c2, const double s) |
| Add scaled vectors + scalar, a[i] = b1[i]*c1 + b2[2]*c2 + s (real). | |
| void | addVcVcVc (Array< double > &a, Array< double > const &b1, const double c1, Array< double > const &b2, const double c2, Array< double > const &b3, const double c3) |
| Add scaled vectors, a[i] = b1[i]*c1 + b2[i]*c2 + b3[i]*c3 (real). | |
| void | eqVPair (Array< double > &a1, Array< double > &a2, Array< double > const &b) |
| Vector assignment in pairs, ax[i] = b[i], x = 1, 2. | |
| void | mulVVPair (Array< double > &a1, Array< double > &a2, Array< double > const &b1, Array< double > const &b2, Array< double > const &c) |
| Vector multiplication in pairs, ax[i] = bx[i] * s[i], x=1,2. | |
| void | mulEqVPair (Array< double > &a1, Array< double > &a2, Array< double > const &b) |
| In-place vector multiplication in pairs, ax[i] *= b[i], x=1,2. | |
| void | real (Array< double > &a, Array< fftw_complex > const &b) |
| Copy real part of a complex array to a real array. | |
| void | imag (Array< double > &a, Array< fftw_complex > const &b) |
| Copy imaginary part of a complex array to a real array. | |
| void | eqV (Array< fftw_complex > &a, Array< fftw_complex > const &b) |
| Vector assignment, a[i] = b[i] (complex). | |
| void | eqV (Array< fftw_complex > &a, Array< double > const &b, Array< double > const &c) |
| Vector assignment, a[i] = (b[i], c[i]) (complex, real & imaginary). | |
| void | eqV (Array< fftw_complex > &a, Array< double > const &b) |
| Vector assignment, a[i] = b[i] (mixed, real b). | |
| void | eqS (Array< fftw_complex > &a, fftw_complex b) |
| Vector-scalar assignment, a[i] = b (complex). | |
| void | eqS (Array< fftw_complex > &a, double b) |
| Vector-scalar assignment, a[i] = b (mixed, real scalar b). | |
| void | addVV (Array< fftw_complex > &a, Array< fftw_complex > const &b, Array< fftw_complex > const &c) |
| Vector addition, a[i] = b[i] + c[i] (complex). | |
| void | addVV (Array< fftw_complex > &a, Array< fftw_complex > const &b, Array< double > const &c) |
| Vector addition, a[i] = b[i] + c[i] (mixed, real array c). | |
| void | addVS (Array< fftw_complex > &a, Array< fftw_complex > const &b, fftw_complex c) |
| Vector-scalar addition, a[i] = b[i] + c (complex). | |
| void | addVS (Array< fftw_complex > &a, Array< fftw_complex > const &b, double c) |
| Vector-scalar addition, a[i] = b[i] + c (mixed). | |
| void | subVV (Array< fftw_complex > &a, Array< fftw_complex > const &b, Array< fftw_complex > const &c) |
| Vector subtraction, a[i] = b[i] - c[i] (complex). | |
| void | subVV (Array< fftw_complex > &a, Array< fftw_complex > const &b, Array< double > const &c) |
| Vector subtraction, a[i] = b[i] - c[i] (mixed, real array c). | |
| void | subVS (Array< fftw_complex > &a, Array< fftw_complex > const &b, fftw_complex c) |
| Vector-scalar subtraction, a[i] = b[i] - c (complex). | |
| void | subVS (Array< fftw_complex > &a, Array< fftw_complex > const &b, double c) |
| Vector-scalar subtraction, a[i] = b[i] - c (mixed, real scalar c). | |
| void | mulVV (Array< fftw_complex > &a, Array< fftw_complex > const &b, Array< fftw_complex > const &c) |
| Vector multiplication, a[i] = b[i] * c[i] (complex). | |
| void | mulVV (Array< fftw_complex > &a, Array< fftw_complex > const &b, Array< double > const &c) |
| Vector multiplication, a[i] = b[i] * c[i] (mixed, real array c). | |
| void | mulVS (Array< fftw_complex > &a, Array< fftw_complex > const &b, fftw_complex c) |
| Vector-scalar multiplication, a[i] = b[i] * c (complex). | |
| void | mulVS (Array< fftw_complex > &a, Array< fftw_complex > const &b, double c) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed, real c). | |
| void | divVV (Array< fftw_complex > &a, Array< fftw_complex > const &b, Array< fftw_complex > const &c) |
| Vector division, a[i] = b[i] / c[i] (complex). | |
| void | divVV (Array< fftw_complex > &a, Array< fftw_complex > const &b, Array< double > const &c) |
| Vector division, a[i] = b[i] / c[i] (mixed, real array c). | |
| void | divVS (Array< fftw_complex > &a, Array< fftw_complex > const &b, fftw_complex c) |
| Vector-scalar division, a[i] = b[i] / c (complex). | |
| void | divVS (Array< fftw_complex > &a, Array< fftw_complex > const &b, double c) |
| Vector-scalar division, a[i] = b[i] / c (mixed, real scalar c). | |
| void | addEqS (Array< fftw_complex > &a, double b) |
| Vector-scalar in-place addition, a[i] += b (mixed, real scalar b). | |
| void | subEqV (Array< fftw_complex > &a, Array< fftw_complex > const &b) |
| Vector in-place subtraction, a[i] -= b[i] (complex). | |
| void | subEqV (Array< fftw_complex > &a, Array< double > const &b) |
| Vector in-place subtraction, a[i] -= b[i] (mixed, real array b). | |
| void | subEqS (Array< fftw_complex > &a, fftw_complex b) |
| Vector-scalar in-place subtraction, a[i] -= b (complex). | |
| void | subEqS (Array< fftw_complex > &a, double b) |
| Vector-scalar in-place subtraction, a[i] -= b (mixed, real b). | |
| void | mulEqV (Array< fftw_complex > &a, Array< fftw_complex > const &b) |
| Vector in-place multiplication, a[i] *= b[i] (complex). | |
| void | mulEqV (Array< fftw_complex > &a, Array< double > const &b) |
| Vector in-place multiplication, a[i] *= b[i] (mixed, real array b). | |
| void | mulEqS (Array< fftw_complex > &a, fftw_complex const &b) |
| Vector-scalar in-place multiplication, a[i] *= b[i] (complex). | |
| void | mulEqS (Array< fftw_complex > &a, double b) |
| Vector-scalar in-place multiplication, a[i] *= b (mixed real b). | |
| void | divEqV (Array< fftw_complex > &a, Array< fftw_complex > const &b) |
| Vector in-place division, a[i] /= b[i] (complex). | |
| void | divEqV (Array< fftw_complex > &a, Array< double > const &b) |
| Vector in-place division, a[i] /= b[i] (mixed, real array b). | |
| void | divEqS (Array< fftw_complex > &a, fftw_complex b) |
| Vector-scalar in-place division, a[i] /= b (complex). | |
| void | divEqS (Array< fftw_complex > &a, double b) |
| Vector-scalar in-place division, a[i] /= b (mixed, real scalar b). | |
| void | expV (Array< fftw_complex > &a, Array< fftw_complex > const &b) |
| Vector exponentiation, a[i] = exp(b[i]) (complex). | |
| void | sqV (Array< fftw_complex > &a, Array< fftw_complex > const &b) |
| Elementwise complex square, a[i] = b[i] * b[i] (complex). | |
| void | sqAbsV (Array< double > &a, Array< fftw_complex > const &b) |
| Square of absolute magnitude, a[i] = |b[i]|^2 (complex). | |
| void | sqSqAbsV (Array< double > &a, Array< fftw_complex > const &b) |
| Fourth power of absolute magnitude, a[i] = |b[i]|^4 (complex). | |
| void | divEqVc (Array< fftw_complex > &a, Array< double > const &b, double const c) |
| Vector division in-place w/ coeff., a[i] /= (b[i] * c). | |
| void | eqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector assignment, a[i] = b[i], (real). | |
| void | eqV (Array< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector assignment, a[i] = b[i], (real, device to host). | |
| void | eqV (DeviceArray< cudaReal > &a, Array< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector assignment, a[i] = b[i], (real, host to device). | |
| void | eqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector assignment, a[i] = b[i], (complex). | |
| void | eqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar assignment, a[i] = b, (real). | |
| void | eqS (DeviceArray< cudaComplex > &a, const cudaComplex b, const int beginIdA, const int n) |
| Vector-scalar assignment, a[i] = b, (complex). | |
| void | addVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector addition, a[i] = b[i] + c[i], (real). | |
| void | addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector addition, a[i] = b[i] + c[i], (complex). | |
| void | addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector addition, a[i] = b[i] + c[i] (mixed). | |
| void | addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector addition, a[i] = b[i] + c[i] (mixed). | |
| void | addVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar addition, a[i] = b[i] + c (real). | |
| void | addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar addition, a[i] = b[i] + c, (complex). | |
| void | addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector addition, a[i] = b[i] + c (mixed). | |
| void | addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar addition, a[i] = b[i] + c (mixed). | |
| void | subVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector subtraction, a[i] = b[i] - c[i], (real). | |
| void | subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector subtraction, a[i] = b[i] - c[i], (complex). | |
| void | subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (mixed). | |
| void | subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (mixed, c = real). | |
| void | subVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar subtraction, a[i] = b[i] - c, (real). | |
| void | subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar subtraction, a[i] = b[i] - c, (complex). | |
| void | subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector subtraction, a[i] = b[i] - c (mixed). | |
| void | subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector subtraction, a[i] = b[i] - c (mixed, c = real). | |
| void | mulVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector multiplication, a[i] = b[i] * c[i], (real). | |
| void | mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector multiplication, a[i] = b[i] * c[i], (complex). | |
| void | mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector multiplication, a[i] = b[i] * c[i] (mixed). | |
| void | mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector multiplication, a[i]=b[i]*c[i] (mixed, c = real). | |
| void | mulVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar multiplication, a[i] = b[i] * c, (real). | |
| void | mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar multiplication, a[i] = b[i] * c, (complex). | |
| void | mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed). | |
| void | mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed). | |
| void | divVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector division, a[i] = b[i] / c[i], (real). | |
| void | divVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdB, const int beginIdC, const int n) |
| Vector-vector division, a[i] = b[i] / c[i] (mixed). | |
| void | divVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar division, a[i] = b[i] / c, (real). | |
| void | divVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c, const int beginIdA, const int beginIdB, const int n) |
| Vector-scalar division, a[i] = b[i] / c (mixed, c real). | |
| void | divSV (DeviceArray< cudaReal > &a, const cudaReal b, DeviceArray< cudaReal > const &c, const int beginIdA, const int beginIdC, const int n) |
| Scalar-vector division, a[i] = b / c[i], (real). | |
| void | addEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector in-place addition, a[i] += b[i], (real). | |
| void | addEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place addition, a[i] += b[i] (complex). | |
| void | addEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place addition, a[i] += b[i] (mixed). | |
| void | addEqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place addition, a[i] += b, (real). | |
| void | addEqS (DeviceArray< cudaComplex > &a, const cudaComplex b, const int beginIdA, const int n) |
| Vector-scalar in-place addition, a[i] += b, (complex). | |
| void | addEqS (DeviceArray< cudaComplex > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place addition, a[i] += b (mixed). | |
| void | subEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector in-place subtraction, a[i] -= b[i], (real). | |
| void | subEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place subtraction, a[i] -= b[i], (complex). | |
| void | subEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector in-place subtraction, a[i]-=b[i] (mixed). | |
| void | subEqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector in-place subtraction, a[i] -= b, (real). | |
| void | subEqS (DeviceArray< cudaComplex > &a, const cudaComplex b, const int beginIdA, const int n) |
| Vector in-place subtraction, a[i] -= b, (complex). | |
| void | subEqS (DeviceArray< cudaComplex > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place subtraction, a[i] -= b (mixed). | |
| void | mulEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place multiplication, a[i] *= b[i], (real). | |
| void | mulEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place multiplication, a[i] *= b[i], (complex). | |
| void | mulEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place multiplication, a[i]*=b[i] (mixed). | |
| void | mulEqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place multiplication, a[i] *= b, (real). | |
| void | mulEqS (DeviceArray< cudaComplex > &a, const cudaComplex b, const int beginIdA, const int n) |
| Vector-scalar in-place multiplication, a[i] *= b, (complex). | |
| void | mulEqS (DeviceArray< cudaComplex > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place multiplication, a[i]*=b (mixed). | |
| void | divEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place division, a[i] /= b[i], (real). | |
| void | divEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector-vector in-place division, a[i] /= b[i] (mixed). | |
| void | divEqS (DeviceArray< cudaReal > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place division, a[i] /= b, (real). | |
| void | divEqS (DeviceArray< cudaComplex > &a, const cudaReal b, const int beginIdA, const int n) |
| Vector-scalar in-place division, a[i] /= b (mixed). | |
| void | expV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector exponentiation, a[i] = exp(b[i]), (real). | |
| void | expV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector exponentiation, a[i] = exp(b[i]), (complex). | |
| void | sqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector square, a[i] = b[i]*b[i], (real). | |
| void | sqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector square, a[i] = b[i]*b[i], (complex). | |
| void | absV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector absolute magnitude, a[i] = abs(b[i]) (real). | |
| void | sqAbsV (DeviceArray< cudaReal > &a, DeviceArray< cudaComplex > const &b, const int beginIdA, const int beginIdB, const int n) |
| Vector squared absolute magnitude, a[i] = |b[i]|^2 (complex). | |
| void | eqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector assignment, a[i] = b[i], (real). | |
| void | eqV (Array< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector assignment, a[i] = b[i], (real, device to host). | |
| void | eqV (DeviceArray< cudaReal > &a, Array< cudaReal > const &b) |
| Vector-vector assignment, a[i] = b[i], (real, host to device). | |
| void | eqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector-vector assignment, a[i] = b[i], (complex). | |
| void | eqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector-scalar assignment, a[i] = b, (real). | |
| void | eqS (DeviceArray< cudaComplex > &a, const cudaComplex b) |
| Vector-scalar assignment, a[i] = b, (complex). | |
| void | addVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i], (real). | |
| void | addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i], (complex). | |
| void | addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i] (mixed). | |
| void | addVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector addition, a[i] = b[i] + c[i] (mixed). | |
| void | addVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c) |
| Vector-scalar addition, a[i] = b[i] + c, (real). | |
| void | addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c) |
| Vector addition, a[i] = b[i] + c, (complex). | |
| void | addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c) |
| Vector addition, a[i] = b[i] + c (mixed). | |
| void | addVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c) |
| Vector-scalar addition, a[i] = b[i] + c (mixed). | |
| void | subVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i], (real). | |
| void | subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i], (complex). | |
| void | subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (mixed). | |
| void | subVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector subtraction, a[i] = b[i] - c[i] (mixed, c = real). | |
| void | subVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c) |
| Vector-scalar subtraction, a[i] = b[i] - c, (real). | |
| void | subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c) |
| Vector-scalar subtraction, a[i] = b[i] - c, (complex). | |
| void | subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c) |
| Vector subtraction, a[i] = b[i] - c (mixed). | |
| void | subVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c) |
| Vector subtraction, a[i] = b[i] - c (mixed, c = real). | |
| void | mulVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector multiplication, a[i] = b[i] * c[i], (real). | |
| void | mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector multiplication, a[i] = b[i] * c[i], (complex). | |
| void | mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaComplex > const &c) |
| Vector-vector multiplication, a[i]=b[i]*c[i] (mixed). | |
| void | mulVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector multiplication, a[i]=b[i]*c[i] (mixed). | |
| void | mulVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c) |
| Vector-scalar multiplication, a[i] = b[i] * c, (real). | |
| void | mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaComplex c) |
| Vector-scalar multiplication, a[i] = b[i] * c, (complex). | |
| void | mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, const cudaComplex c) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed). | |
| void | mulVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c) |
| Vector-scalar multiplication, a[i] = b[i] * c (mixed). | |
| void | divVV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector division, a[i] = b[i] / c[i], (real). | |
| void | divVV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, DeviceArray< cudaReal > const &c) |
| Vector-vector division, a[i] = b[i] / c[i] (mixed). | |
| void | divVS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, const cudaReal c) |
| Vector-scalar division, a[i] = b[i] / c, (real). | |
| void | divVS (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b, const cudaReal c) |
| Vector-scalar division, a[i] = b[i] / c (mixed, c = real). | |
| void | divSV (DeviceArray< cudaReal > &a, const cudaReal b, DeviceArray< cudaReal > const &c) |
| Scalar-vector division, a[i] = b / c[i], (real). | |
| void | addEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place addition, a[i] += b[i] (real). | |
| void | addEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector-vector in-place addition, a[i] += b[i] (complex). | |
| void | addEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place addition, a[i] += b[i] (mixed). | |
| void | addEqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector-scalar in-place addition, a[i] += b, (real). | |
| void | addEqS (DeviceArray< cudaComplex > &a, const cudaComplex b) |
| Vector-scalar in-place addition, a[i] += b, (complex). | |
| void | addEqS (DeviceArray< cudaComplex > &a, const cudaReal b) |
| Vector-scalar in-place addition, a[i] += b (mixed). | |
| void | subEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector in-place subtraction, a[i] -= b[i], (real). | |
| void | subEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector in-place subtraction, a[i] -= b[i], (complex). | |
| void | subEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b) |
| Vector in-place subtraction, a[i]-=b[i] (mixed). | |
| void | subEqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector in-place subtraction, a[i] -= b, (real). | |
| void | subEqS (DeviceArray< cudaComplex > &a, const cudaComplex b) |
| Vector in-place subtraction, a[i] -= b, (complex). | |
| void | subEqS (DeviceArray< cudaComplex > &a, const cudaReal b) |
| Vector-scalar in-place subtraction, a[i] -= b (mixed). | |
| void | mulEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place multiplication, a[i] *= b[i], (real). | |
| void | mulEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector-vector in-place multiplication, a[i] *= b[i], (complex). | |
| void | mulEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place multiplication, a[i] *= b[i] (mixed). | |
| void | mulEqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector-scalar in-place multiplication, a[i] *= b, (real). | |
| void | mulEqS (DeviceArray< cudaComplex > &a, const cudaComplex b) |
| Vector-scalar in-place multiplication, a[i] *= b, (complex). | |
| void | mulEqS (DeviceArray< cudaComplex > &a, const cudaReal b) |
| Vector-scalar in-place multiplication, a[i]*=b (mixed). | |
| void | divEqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place division, a[i] /= b[i], (real). | |
| void | divEqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b) |
| Vector-vector in-place division, a[i] /= b[i] (mixed). | |
| void | divEqS (DeviceArray< cudaReal > &a, const cudaReal b) |
| Vector-scalar in-place division, a[i] /= b, (real). | |
| void | divEqS (DeviceArray< cudaComplex > &a, const cudaReal b) |
| Vector-scalar in-place division, a[i] /= b (mixed). | |
| void | expV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector exponentiation, a[i] = exp(b[i]), (real). | |
| void | expV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector exponentiation, a[i] = exp(b[i]), (complex). | |
| void | sqV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector square, a[i] = b[i]*b[i], (real). | |
| void | sqV (DeviceArray< cudaComplex > &a, DeviceArray< cudaComplex > const &b) |
| Vector square, a[i] = b[i]*b[i], (complex). | |
| void | absV (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b) |
| Vector absolute magnitude, a[i] = abs(b[i]) (real). | |
| void | sqAbsV (DeviceArray< cudaReal > &a, DeviceArray< cudaComplex > const &b) |
| Vector absolute magnitude squared, a[i] = |b[i]|^2 (complex). | |
| void | addVcVc (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b1, cudaReal const c1, DeviceArray< cudaReal > const &b2, cudaReal const c2) |
| Add two scaled vectors, a[i] = b1[i]*c1 + b2[i]*c2 (real). | |
| void | addVcS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, cudaReal const c, cudaReal const s) |
| Add a scaled vector and a scalar, a[i] = b[i]*c + s (real). | |
| void | addVcVcVc (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b1, cudaReal const c1, DeviceArray< cudaReal > const &b2, cudaReal const c2, DeviceArray< cudaReal > const &b3, cudaReal const c3) |
| Add 3 scaled vectors, a[i] = b1[i]*c1 + b2[i]*c2 + b3[i]*c3 (real). | |
| void | addVcVcS (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b1, cudaReal const c1, DeviceArray< cudaReal > const &b2, cudaReal const c2, cudaReal const s) |
| Add 2 scaled vectors + scalar, a[i] = b1[i]*c1 + b2[i]*c2 + s (real). | |
| void | addEqVc (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, cudaReal const c) |
| Add a scaled vector in-place, a[i] += b[i] * c (real). | |
| void | divEqVc (DeviceArray< cudaComplex > &a, DeviceArray< cudaReal > const &b, cudaReal const c) |
| Vector division in-place w/ coeff., a[i] /= (b[i] * c). | |
| void | expVc (DeviceArray< cudaReal > &a, DeviceArray< cudaReal > const &b, cudaReal const c) |
| Vector exponentiation w/ coefficient, a[i] = exp(b[i]*c). | |
| void | eqVPair (DeviceArray< cudaReal > &a1, DeviceArray< cudaReal > &a2, DeviceArray< cudaReal > const &s) |
| Vector assignment in pairs, ax[i] = b[i], x = 1, 2 (real). | |
| void | mulVVPair (DeviceArray< cudaReal > &a1, DeviceArray< cudaReal > &a2, DeviceArray< cudaReal > const &b1, DeviceArray< cudaReal > const &b2, DeviceArray< cudaReal > const &s) |
| Vector multiplication in pairs, ax[i] = bx[i] * s[i], x=1,2 (real). | |
| void | mulEqVPair (DeviceArray< cudaReal > &a1, DeviceArray< cudaReal > &a2, DeviceArray< cudaReal > const &s) |
| In-place vector multiplication in pairs, ax[i] *= s[i], x=1,2 (real). | |
| void | addVMany (DeviceArray< cudaReal > &a, DArray< DeviceArray< cudaReal > > const &vecs) |
| Add an arbitrary number of vectors pointwise (real). | |
| void | addVMany (DeviceArray< cudaReal > &a, DArray< DeviceArray< cudaReal > const * > const &vecs) |
| Add an arbitrary number of vectors pointwise (real). | |
| void | mulVMany (DeviceArray< cudaReal > &a, DArray< DeviceArray< cudaReal > > const &vecs) |
| Multiply an undefined number of vectors pointwise (real). | |
| void | mulVMany (DeviceArray< cudaReal > &a, DArray< DeviceArray< cudaReal > const * > const &vecs) |
| Multiply an undefined number of vectors pointwise. | |
| void | sqSqAbsV (DeviceArray< cudaReal > &a, DeviceArray< cudaComplex > const &b) |
| Fourth power of magnitude, a[i] = |b[i]|^4 (complex). | |
Vector operations on GPU or CPU.
| void Pscf::VecOp::addVcVc | ( | Array< double > & | a, |
| Array< double > const & | b1, | ||
| const double | c1, | ||
| Array< double > const & | b2, | ||
| const double | c2 ) |
Add two scaled vectors, a[i] = b1[i]*c1 + b2[2]*c2 (real).
| a | real output array (LHS) |
| b1 | 1st real input array (RHS) |
| c1 | real coefficient of b1 (RHS) |
| b2 | 2nd real input array (RHS) |
| c2 | real coefficient of b2 (RHS) |
Definition at line 364 of file VecOp.cpp.
References Util::Array< Data >::capacity(), and UTIL_CHECK.
Referenced by Pscf::Rp::ExplicitBdStep< D, T >::step(), and Pscf::Rp::PredCorrBdStep< D, T >::step().
| void Pscf::VecOp::addVcS | ( | Array< double > & | a, |
| Array< double > const & | b, | ||
| const double | c, | ||
| const double | s ) |
Add a scaled vector and a scalar, a[i] = b[i]*c + s (real).
| a | real output array (LHS) |
| b | real input array (RHS) |
| c | real coefficient of b (RHS) |
| s | real scalar summand (RHS) |
Definition at line 380 of file VecOp.cpp.
References Util::Array< Data >::capacity(), and UTIL_CHECK.
| void Pscf::VecOp::addVcVcS | ( | Array< double > & | a, |
| Array< double > const & | b1, | ||
| const double | c1, | ||
| Array< double > const & | b2, | ||
| const double | c2, | ||
| const double | s ) |
Add scaled vectors + scalar, a[i] = b1[i]*c1 + b2[2]*c2 + s (real).
| a | real array (LHS) |
| b1 | 1st real input array (RHS) |
| c1 | real coefficient of b1 (RHS) |
| b2 | 2nd real input array (RHS) |
| c2 | real coefficient of b2 (RHS) |
| s | real scalar summand (RHS) |
Definition at line 409 of file VecOp.cpp.
References Util::Array< Data >::capacity(), and UTIL_CHECK.
| void Pscf::VecOp::addVcVcVc | ( | Array< double > & | a, |
| Array< double > const & | b1, | ||
| const double | c1, | ||
| Array< double > const & | b2, | ||
| const double | c2, | ||
| Array< double > const & | b3, | ||
| const double | c3 ) |
Add scaled vectors, a[i] = b1[i]*c1 + b2[i]*c2 + b3[i]*c3 (real).
| a | real array (LHS) |
| b1 | 1st real input array (RHS) |
| c1 | real coefficient of b1 (RHS) |
| b2 | 2nd real input array (RHS) |
| c2 | real coefficient of b2 (RHS) |
| b3 | 3rd real input array (RHS) |
| c3 | real coefficient of b3 (RHS) |
Definition at line 426 of file VecOp.cpp.
References Util::Array< Data >::capacity(), and UTIL_CHECK.
Referenced by Pscf::Rp::PredCorrBdStep< D, T >::step().