Cadabra
Computer algebra system for field theory problems
Classes | Namespaces | Functions
Compare.hh File Reference
#include "Storage.hh"
#include "Props.hh"
#include "properties/Indices.hh"

Go to the source code of this file.

Classes

class  cadabra::tree_less_obj
 Compare two trees by pattern logic, i.e. modulo index names. More...
 
class  cadabra::tree_less_modprel_obj
 
class  cadabra::tree_equal_obj
 
class  cadabra::tree_exact_less_obj
 Compare two trees exactly, i.e. including exact index names. More...
 
class  cadabra::tree_exact_less_mod_prel_obj
 
class  cadabra::tree_exact_equal_obj
 
class  cadabra::tree_exact_equal_mod_prel_obj
 
class  cadabra::tree_exact_less_for_indexmap_obj
 Compare for indexmap_t. More...
 
class  cadabra::tree_exact_less_no_wildcards_obj
 Compare two trees exactly, treat wildcard names as ordinary names. More...
 
class  cadabra::tree_exact_less_no_wildcards_mod_prel_obj
 
class  cadabra::Ex_comparator
 A generic tree comparison class which will take into account index contractions and will also keep track of a replacement list for all types of cadabra wildcards. More...
 
class  cadabra::Ex_is_equivalent
 Basic comparison operator for tree iterators, so we can use them as keys in maps. More...
 
class  cadabra::Ex_is_less
 

Namespaces

 cadabra
 Functions to handle the exchange properties of two or more symbols in a product.
 

Functions

int cadabra::subtree_compare (const Properties *, Ex::iterator one, Ex::iterator two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2, bool literal_wildcards=false)
 Basic building block subtree comparison function for tensors without dummy indices, which determines whether two tensor subtrees are equal up to the names of indices. More...
 
bool cadabra::tree_less (const Properties *, const Ex &one, const Ex &two, int mod_prel=-2, bool checksets=true, int compare_multiplier=-2)
 Various comparison functions, some exact, some with pattern logic. More...
 
bool cadabra::tree_equal (const Properties *properties, const Ex &one, const Ex &two, int mod_prel, bool checksets, int compare_multiplier)
 
bool cadabra::tree_exact_less (const Properties *properties, const Ex &one, const Ex &two, int mod_prel, bool checksets, int compare_multiplier, bool literal_wildcards)
 
bool cadabra::tree_exact_equal (const Properties *properties, const Ex &one, const Ex &two, int mod_prel, bool checksets, int compare_multiplier, bool literal_wildcards)
 
bool cadabra::subtree_less (const Properties *properties, Ex::iterator one, Ex::iterator two, int mod_prel, bool checksets, int compare_multiplier)
 
bool cadabra::subtree_equal (const Properties *properties, Ex::iterator one, Ex::iterator two, int mod_prel, bool checksets, int compare_multiplier)
 
bool cadabra::subtree_exact_less (const Properties *properties, Ex::iterator one, Ex::iterator two, int mod_prel, bool checksets, int compare_multiplier, bool literal_wildcards)
 
bool cadabra::subtree_exact_equal (const Properties *properties, Ex::iterator one, Ex::iterator two, int mod_prel, bool checksets, int compare_multiplier, bool literal_wildcards)
 
bool operator< (const cadabra::Ex::iterator &, const cadabra::Ex::iterator &)
 
bool operator< (const cadabra::Ex &, const cadabra::Ex &)
 
std::ostream & operator<< (std::ostream &, cadabra::Ex_comparator::useprops_t up)
 

Function Documentation

◆ operator<() [1/2]

bool operator< ( const cadabra::Ex e1,
const cadabra::Ex e2 
)

◆ operator<() [2/2]

bool operator< ( const cadabra::Ex::iterator &  i1,
const cadabra::Ex::iterator &  i2 
)

◆ operator<<()

std::ostream& operator<< ( std::ostream &  s,
cadabra::Ex_comparator::useprops_t  up 
)