Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
ctf_ext.cxx File Reference
#include "ctf_ext.h"
#include "../include/ctf.hpp"
Include dependency graph for ctf_ext.cxx:

Go to the source code of this file.

Namespaces

 CTF_int
 

Macros

#define CONV_FCOMPLEX_INST(ctype, otype)
 
#define SWITCH_TYPE(T1, type_idx2, A, B)
 

Typedefs

typedef bool CTF_int::TYPE1
 
typedef int CTF_int::TYPE2
 
typedef int64_t CTF_int::TYPE3
 
typedef float CTF_int::TYPE4
 
typedef double CTF_int::TYPE5
 
typedef std::complex< float > CTF_int::TYPE6
 
typedef std::complex< double > CTF_int::TYPE7
 
typedef int16_t CTF_int::TYPE8
 
typedef int8_t CTF_int::TYPE9
 

Functions

template<typename dtype >
void CTF_int::abs_helper (tensor *A, tensor *B)
 
template<typename dtype >
void CTF_int::pow_helper (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template<typename dtype >
void CTF_int::all_helper (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template<typename dtype >
void CTF_int::conj_helper (tensor *A, tensor *B)
 
template<typename dtype >
void CTF_int::get_real (tensor *A, tensor *B)
 
template<typename dtype >
void CTF_int::get_imag (tensor *A, tensor *B)
 
template<typename dtype >
void CTF_int::set_real (tensor *A, tensor *B)
 
template<typename dtype >
void CTF_int::set_imag (tensor *A, tensor *B)
 
template<typename dtype >
void CTF_int::any_helper (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
int64_t CTF_int::sum_bool_tsr (tensor *A)
 sum all 1 values in boolean tensor More...
 
void CTF_int::subsample (tensor *A, double probability)
 extract a sample of the entries (if sparse of the current nonzeros) More...
 
void CTF_int::matrix_qr (tensor *A, tensor *Q, tensor *R)
 
void CTF_int::matrix_qr_cmplx (tensor *A, tensor *Q, tensor *R)
 
void CTF_int::matrix_svd (tensor *A, tensor *U, tensor *S, tensor *VT, int rank)
 
void CTF_int::matrix_svd_cmplx (tensor *A, tensor *U, tensor *S, tensor *VT, int rank)
 
void CTF_int::conv_type (int type_idx1, int type_idx2, tensor *A, tensor *B)
 convert tensor from one type to another More...
 
template void CTF_int::conj_helper< float > (tensor *A, tensor *B)
 
template void CTF_int::conj_helper< double > (tensor *A, tensor *B)
 
template void CTF_int::set_real< float > (tensor *A, tensor *B)
 
template void CTF_int::set_imag< float > (tensor *A, tensor *B)
 
template void CTF_int::set_real< double > (tensor *A, tensor *B)
 
template void CTF_int::set_imag< double > (tensor *A, tensor *B)
 
template void CTF_int::get_real< float > (tensor *A, tensor *B)
 
template void CTF_int::get_imag< float > (tensor *A, tensor *B)
 
template void CTF_int::get_real< double > (tensor *A, tensor *B)
 
template void CTF_int::get_imag< double > (tensor *A, tensor *B)
 
template void CTF_int::tensor::compare_elementwise< std::complex< double > > (tensor *A, tensor *B)
 
template void CTF_int::tensor::compare_elementwise< std::complex< float > > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< std::complex< double > > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< std::complex< float > > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< double > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< float > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< int64_t > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< bool > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< int32_t > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< int16_t > (tensor *A, tensor *B)
 
template void CTF_int::abs_helper< int8_t > (tensor *A, tensor *B)
 
template void CTF_int::pow_helper< std::complex< double > > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::pow_helper< std::complex< float > > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::pow_helper< double > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::pow_helper< float > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::pow_helper< int64_t > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::pow_helper< bool > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::pow_helper< int32_t > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::pow_helper< int16_t > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::pow_helper< int8_t > (tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
 
template void CTF_int::all_helper< std::complex< double > > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::all_helper< std::complex< float > > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::all_helper< int64_t > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::all_helper< double > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::all_helper< float > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::all_helper< bool > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::all_helper< int32_t > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::all_helper< int16_t > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::all_helper< int8_t > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< std::complex< double > > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< std::complex< float > > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< double > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< float > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< int64_t > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< bool > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< int32_t > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< int16_t > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 
template void CTF_int::any_helper< int8_t > (tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
 

Macro Definition Documentation

#define CONV_FCOMPLEX_INST (   ctype,
  otype 
)
Value:
template <> \
void tensor::conv_type<std::complex<ctype>,otype>(tensor * B){ \
char str[this->order]; \
for (int i=0; i<this->order; i++){ \
str[i] = 'a'+i; \
} \
assert(this->order == B->order); \
B->operator[](str) = CTF::Function<otype,std::complex<ctype>>([](otype a){ return std::complex<ctype>(a,0.); })(this->operator[](str)); \
}

Definition at line 263 of file ctf_ext.cxx.

#define SWITCH_TYPE (   T1,
  type_idx2,
  A,
 
)

Definition at line 290 of file ctf_ext.cxx.

Referenced by CTF_int::conv_type().