Tenncor
stats.hpp
Go to the documentation of this file.
1 
10 #include "teq/teq.hpp"
11 
12 #include "tag/prop.hpp"
13 
14 #ifndef OPT_STATS_HPP
15 #define OPT_STATS_HPP
16 
17 namespace opt
18 {
19 
21 bool is_scalar (teq::iLeaf* leaf);
22 
23 // ==== CoordptrT stringification + comparators
24 
26 std::string to_string (teq::CoordptrT c);
27 
29 bool lt (teq::CoordptrT a, teq::CoordptrT b);
30 
33 
34 // ==== Leaf comparators
35 
39 bool lt (teq::TensSetT priorities,
40  teq::iLeaf* a, teq::iLeaf* b);
41 
44 bool is_equal (teq::iLeaf* a, teq::iLeaf* b);
45 
46 // ==== Functor comparators
47 
52 bool lt (teq::TensSetT priorities,
54 
59 
60 }
61 
62 #endif // OPT_STATS_HPP
bool is_equal(teq::CoordptrT a, teq::CoordptrT b)
Return true if a is equal to b.
std::unordered_set< teq::iTensor * > TensSetT
Hash set of raw tensor pointers.
Definition: itensor.hpp:63
bool lt(teq::CoordptrT a, teq::CoordptrT b)
Return true if a < b according to some internal ordinal rule.
Interface of iOperation-defined operation node.
Definition: ifunctor.hpp:28
std::shared_ptr< iCoordMap > CoordptrT
Type of iCoordMap smartpointer.
Definition: coord.hpp:106
Definition: candidate.hpp:19
std::string to_string(teq::CoordptrT c)
Return brief hashable string representation of coordinate mapper.
bool is_scalar(teq::iLeaf *leaf)
Return true if leaf contains a scalar.
Leaf of the graph commonly representing the variable in an equation.
Definition: ileaf.hpp:19