MADNESS  0.10.1
Namespaces | Functions
aligned.h File Reference

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>
Include dependency graph for aligned.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 madness
 File holds all helper structures necessary for the CC_Operator and CC2 class.
 

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)
 

Detailed Description

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.