6 #include "../tensor/algstrct.h"     7 #include "../interface/fun_term.h"    16       void (*
f)(
char const *, 
char *);
    25       virtual void apply_f(
char const * 
a, 
char * 
b)
const { 
f(a,b); }
    43       univar_function(
void (*f_)(
char const *, 
char *), 
bool is_dist) { 
f=f_; is_distributive=is_dist; }
    77       virtual void run() {};
    84       virtual int64_t 
mem_fp() { 
return 0; };
   142                      int const *       phys_mapped,
   204 #endif // __SUM_TSR_H__ a term is an abstract object representing some expression of tensors 
virtual bool is_transform() const 
Unifun_Term operator()(Term const &A) const 
evaluate B=f(A) 
void inv_idx(int order_A, int const *idx_A, int order_B, int const *idx_B, int order_C, int const *idx_C, int *order_tot, int **idx_arr)
invert index map 
univar_function(univar_function const &other)
untyped internal class for doubly-typed univariate function 
univar_function(void(*f_)(char const *, char *), bool is_dist)
virtual int64_t mem_fp()
returns the number of bytes of buffer space needed 
performs replication along a dimension, generates 2.5D algs 
virtual void acc_f(char const *a, char *b, CTF_int::algstrct const *sr_B) const 
compute b = b+f(a) 
virtual bool is_accumulator() const 
univar_function const * func
univar_function(void(*f_)(char const *, char *))
void(* f)(char const *, char *)
virtual void add(char const *a, char const *b, char *c) const 
c = a+b 
int el_size
size of each element of algstrct in bytes 
int cdealloc(void *ptr)
free abstraction 
algstrct (algebraic structure) defines the elementwise operations computed in each tensor contraction...
virtual ~univar_function()
class for execution distributed summation of tensors 
virtual void apply_f(char const *a, char *b) const 
apply function f to value stored at a