MADNESS 0.10.1
Classes | Namespaces | Macros | Functions | Variables
mTxmq.h File Reference
#include <madness/madness_config.h>
#include <madness/world/madness_exception.h>
#include <madness/world/thread_specific.h>
#include <cstddef>
#include <type_traits>
#include <complex>
#include <vector>
Include dependency graph for mTxmq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  madness::mTxmq_detail::Scratch< T >
 

Namespaces

namespace  madness
 Namespace for all elements and tools of MADNESS.
 
namespace  madness::mTxmq_detail
 

Macros

#define MADNESS_RESTRICT
 

Functions

template<typename aT , typename bT , typename cT >
void madness::mTxmq (long dimi, long dimj, long dimk, cT *MADNESS_RESTRICT c, const aT *a, const bT *b, long ldb=-1)
 
template<>
void madness::mTxmq (long dimi, long dimj, long dimk, double *MADNESS_RESTRICT c, const double *a, const double *b, long ldb)
 Explicit template specializations for homogeneous types (implemented in mTxmq.cc)
 
template<>
void madness::mTxmq (long dimi, long dimj, long dimk, float *MADNESS_RESTRICT c, const float *a, const float *b, long ldb)
 
template<>
void madness::mTxmq (long dimi, long dimj, long dimk, std::complex< double > *MADNESS_RESTRICT c, const std::complex< double > *a, const std::complex< double > *b, long ldb)
 
template<>
void madness::mTxmq (long dimi, long dimj, long dimk, std::complex< float > *MADNESS_RESTRICT c, const std::complex< float > *a, const std::complex< float > *b, long ldb)
 
template<typename T >
void madness::mTxmq (long dimi, long dimj, long dimk, std::complex< T > *MADNESS_RESTRICT c, const std::complex< T > *a, const T *b, long ldb=-1)
 
template<typename T >
void madness::mTxmq (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const T *a, const T *b, long ldb)
 Generic template definitions for any other unspecialized types.
 
void madness::mTxmq_init ()
 
template<typename aT , typename bT , typename cT >
void madness::mTxmq_reference (long dimi, long dimj, long dimk, cT *MADNESS_RESTRICT c, const aT *a, const bT *b, long ldb=-1)
 Reference implementation for verification / fallback.
 
template<typename T >
void madness::mTxmq_scratch_clear ()
 Free every thread's mTxmq scratch buffers. Call only at a quiescent point.
 
void madness::print_mtxmq_profile ()
 Print call profile and shape statistics for mTxmq (automatically called at exit)
 
void madness::reset_mtxmq_profile ()
 Reset profiling statistics counters.
 
template<typename T >
T * madness::mTxmq_detail::scratch (std::size_t need)
 
template<typename T >
::madness::detail::thread_specific< Scratch< T > > & madness::mTxmq_detail::scratch_pool ()
 

Variables

constexpr long madness::mTxmq_detail::MAX_DIMI = 400
 
constexpr long madness::mTxmq_detail::MAX_DIMJ = 24
 
constexpr long madness::mTxmq_detail::MAX_DIMK = 24
 

Macro Definition Documentation

◆ MADNESS_RESTRICT

#define MADNESS_RESTRICT