| Cyclops Tensor Framework
    parallel arithmetic on multidimensional arrays | 
untyped internal class for doubly-typed univariate function More...
#include <sum_tsr.h>

| Public Member Functions | |
| virtual void | apply_f (char const *a, char *b) const | 
| apply function f to value stored at a  More... | |
| virtual void | acc_f (char const *a, char *b, CTF_int::algstrct const *sr_B) const | 
| compute b = b+f(a)  More... | |
| virtual bool | is_transform () const | 
| univar_function (void(*f_)(char const *, char *)) | |
| univar_function (void(*f_)(char const *, char *), bool is_dist) | |
| univar_function () | |
| univar_function (univar_function const &other) | |
| Unifun_Term | operator() (Term const &A) const | 
| evaluate B=f(A)  More... | |
| void | operator() (Term const &A, Term const &B) const | 
| evaluate B+=f(A) or f(A,B) if transform  More... | |
| virtual | ~univar_function () | 
| virtual bool | is_accumulator () const | 
| Data Fields | |
| void(* | f )(char const *, char *) | 
| bool | is_distributive = false | 
untyped internal class for doubly-typed univariate function
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Definition at line 45 of file sum_tsr.h.
References f, is_distributive, and operator()().
| 
 | inlinevirtual | 
| 
 | inlinevirtual | 
compute b = b+f(a)
| [in] | a | pointer to operand that will be cast to dtype | 
| [in,out] | b | result &f(*a) of applying f on value of (different type) on a | 
| [in] | sr_B | algebraic structure for b, needed to do add | 
Reimplemented in CTF::Univar_Transform< dtype_A, dtype_B >, and CTF::Univar_Function< dtype_A, dtype_B >.
Definition at line 33 of file sum_tsr.h.
References CTF_int::algstrct::add(), CTF_int::accumulatable::el_size, and f.
Referenced by CTF_int::spA_dnB_seq_sum(), CTF_int::spspsum(), and CTF_int::sym_seq_sum_cust().
| 
 | inlinevirtual | 
apply function f to value stored at a
| [in] | a | pointer to operand that will be cast to type by extending class | 
| [in,out] | b | result &f(*a) of applying f on value of (different type) on a | 
Reimplemented in CTF::Univar_Transform< dtype_A, dtype_B >, and CTF::Univar_Function< dtype_A, dtype_B >.
Definition at line 25 of file sum_tsr.h.
References f.
Referenced by CTF_int::spspsum().
| 
 | inlinevirtual | 
Reimplemented in CTF::Univar_Transform< dtype_A, dtype_B >.
Definition at line 63 of file sum_tsr.h.
Referenced by CTF_int::spspsum().
| 
 | inlinevirtual | 
| Unifun_Term CTF_int::univar_function::operator() | ( | Term const & | A | ) | const | 
evaluate B=f(A)
| [in] | A | operand tensor with pre-defined indices | 
Definition at line 10 of file sum_tsr.cxx.
References CTF_int::Term::clone().
Referenced by univar_function().
evaluate B+=f(A) or f(A,B) if transform
| [in] | A | operand tensor with pre-defined indices | 
| [in] | B | output tensor with pre-defined indices | 
Definition at line 14 of file sum_tsr.cxx.
References CTF_int::Term::clone(), CTF_int::Unifun_Term::execute(), CTF_int::Term::execute(), and CTF_int::Term::get_uniq_inds().
| void(* CTF_int::univar_function::f) (char const *, char *) | 
Definition at line 16 of file sum_tsr.h.
Referenced by acc_f(), apply_f(), and univar_function().
| bool CTF_int::univar_function::is_distributive = false | 
Definition at line 18 of file sum_tsr.h.
Referenced by univar_function().