33 #ifndef MADNESS_TENSOR_ALIGNED_H__INCLUDED
34 #define MADNESS_TENSOR_ALIGNED_H__INCLUDED
58 std::memset((
void *)
a, 0, n*
sizeof(
T));
62 for (
long i=0; i<n4; i+=4,
a+=4) {
68 for (
long i=0; i<rem; ++i) *
a++ = 0;
72 template <
typename T,
typename Q>
78 for (
long i=0; i<n4; i+=4,
a+=4,
b+=4) {
84 for (
long i=0; i<rem; ++i) *
a++ += s * *
b++;
96 void aligned_axpy(
long n,
double * MADNESS_RESTRICT
a,
const double * MADNESS_RESTRICT
b,
double s) {
117 template <
typename T,
typename Q>
123 for (
long i=0; i<n4; i+=4,
a+=4,
b+=4) {
129 for (
long i=0; i<rem; ++i) *
a++ += *
b++;
132 template <
typename T,
typename Q>
138 for (
long i=0; i<n4; i+=4,
a+=4,
b+=4) {
144 for (
long i=0; i<rem; ++i) *
a++ -= *
b++;
Define BLAS like functions.
std::complex< double > double_complex
Definition: cfft.h:14
int integer
Definition: crayio.c:25
std::complex< double > complex_real8
Fortran double complex.
Definition: fortran_ctypes.h:83
auto T(World &world, response_space &f) -> response_space
Definition: global_functions.cc:34
Macros and tools pertaining to the configuration of MADNESS.
void axpy(const integer n, const float alpha, float *x, const integer incx, float *y, const integer incy)
Scale and add a vector to another.
Definition: cblas.h:687
File holds all helper structures necessary for the CC_Operator and CC2 class.
Definition: DFParameters.h:10
void aligned_add(long n, double *MADNESS_RESTRICT a, const double *MADNESS_RESTRICT b)
static void aligned_zero(long n, T *a)
Definition: aligned.h:55
void aligned_sub(long n, double *MADNESS_RESTRICT a, const double *MADNESS_RESTRICT b)
static void aligned_axpy(long n, T *MADNESS_RESTRICT a, const T *MADNESS_RESTRICT b, Q s)
Definition: aligned.h:75
static const double b
Definition: nonlinschro.cc:119
static const double a
Definition: nonlinschro.cc:118
double Q(double a)
Definition: relops.cc:20
Defines and implements most of Tensor.