2 #include "../include/ctf.hpp"    12   template <
typename dtype>
    20   template <
typename dtype>
    21   void pow_helper(tensor * A, tensor * B, tensor * C, 
char const * idx_A, 
char const * idx_B, 
char const * idx_C);
    28   template <
typename dtype>
    29   void all_helper(tensor * A, tensor * B_bool, 
char const * idx_A, 
char const * idx_B);
    31   template <
typename dtype>
    39   template <
typename dtype>
    40   void get_real(tensor * A, tensor * B);
    47   template <
typename dtype>
    48   void get_imag(tensor * A, tensor * B);
    55   template <
typename dtype>
    56   void set_real(tensor * A, tensor * B);
    63   template <
typename dtype>
    64   void set_imag(tensor * A, tensor * B);
    71   template <
typename dtype>
    72   void any_helper(tensor * A, tensor * B_bool, 
char const * idx_A, 
char const * idx_B);
    85   void subsample(tensor * A, 
double probability);
    87   void matrix_svd(tensor * A, tensor * U, tensor * S, tensor * VT, 
int rank);
    90   void matrix_qr(tensor * A, tensor * Q, tensor * R);
   100   void conv_type(
int type_idx1, 
int type_idx2, tensor * A, tensor * B);
 
int64_t sum_bool_tsr(tensor *A)
sum all 1 values in boolean tensor 
void matrix_svd(tensor *A, tensor *U, tensor *S, tensor *VT, int rank)
void conv_type(int type_idx1, int type_idx2, tensor *A, tensor *B)
convert tensor from one type to another 
void get_real(tensor *A, tensor *B)
void abs_helper(tensor *A, tensor *B)
void all_helper(tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
void matrix_qr_cmplx(tensor *A, tensor *Q, tensor *R)
void subsample(tensor *A, double probability)
extract a sample of the entries (if sparse of the current nonzeros) 
void get_imag(tensor *A, tensor *B)
void set_real(tensor *A, tensor *B)
void conj_helper(tensor *A, tensor *B)
void any_helper(tensor *A, tensor *B_bool, char const *idx_A, char const *idx_B)
void pow_helper(tensor *A, tensor *B, tensor *C, char const *idx_A, char const *idx_B, char const *idx_C)
void matrix_qr(tensor *A, tensor *Q, tensor *R)
void set_imag(tensor *A, tensor *B)
void matrix_svd_cmplx(tensor *A, tensor *U, tensor *S, tensor *VT, int rank)