MADNESS 0.10.1
|
Provides routines for internal use optimized for aligned data. More...
#include <madness/madness_config.h>
#include <madness/tensor/tensor.h>
#include <madness/tensor/cblas.h>
#include <cstring>
#include <climits>
Go to the source code of this file.
Namespaces | |
namespace | madness |
Namespace for all elements and tools of MADNESS. | |
Functions | |
template<typename T , typename Q > | |
static void | madness::aligned_add (long n, T *MADNESS_RESTRICT a, const Q *MADNESS_RESTRICT b) |
template<> | |
void | madness::aligned_axpy (long n, double *MADNESS_RESTRICT a, const double *MADNESS_RESTRICT b, double s) |
template<> | |
void | madness::aligned_axpy (long n, double_complex *MADNESS_RESTRICT a, const double_complex *MADNESS_RESTRICT b, double s) |
template<> | |
void | madness::aligned_axpy (long n, double_complex *MADNESS_RESTRICT a, const double_complex *MADNESS_RESTRICT b, double_complex s) |
template<typename T , typename Q > | |
static void | madness::aligned_axpy (long n, T *MADNESS_RESTRICT a, const T *MADNESS_RESTRICT b, Q s) |
template<typename T , typename Q > | |
static void | madness::aligned_sub (long n, T *MADNESS_RESTRICT a, const Q *MADNESS_RESTRICT b) |
template<typename T > | |
static void | madness::aligned_zero (long n, T *a) |
Provides routines for internal use optimized for aligned data.
This stuff used to be implemented in assembly but it is too much effort keeping that working especially for multiple compilers.