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

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)
 

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.