Cadabra
Computer algebra system for field theory problems
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Namespaces | Typedefs | Functions
Storage.hh File Reference
#include <cstddef>
#include <iostream>
#include <gmpxx.h>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <stdint.h>
#include <assert.h>
#include <initializer_list>
#include "tree.hh"

Go to the source code of this file.

Classes

class  cadabra::str_node
 Elementary building block for a mathematical expression. More...
 
struct  cadabra::str_node::flag_t
 
class  cadabra::Ex
 Basic storage class for symbolic mathemematical expressions. More...
 
class  cadabra::nset_it_less
 Compare two nset iterators by comparing the strings to which they point. More...
 

Namespaces

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

Typedefs

typedef mpq_class cadabra::multiplier_t
 
typedef std::set< std::string > cadabra::nset_t
 
typedef std::set< multiplier_t > cadabra::rset_t
 
typedef uintptr_t cadabra::hashval_t
 

Functions

long cadabra::to_long (multiplier_t mul)
 
std::string cadabra::to_string (long num)
 
void cadabra::multiply (rset_t::iterator &, multiplier_t)
 Helper functions for manipulation of multipliers. More...
 
void cadabra::add (rset_t::iterator &num, multiplier_t fac)
 
void cadabra::zero (rset_t::iterator &num)
 
void cadabra::one (rset_t::iterator &num)
 
void cadabra::flip_sign (rset_t::iterator &num)
 
void cadabra::half (rset_t::iterator &num)
 
template<typename T >
bool cadabra::is_in (const T &val, const std::initializer_list< T > &list)
 
std::ostream & operator<< (std::ostream &, const cadabra::Ex &)
 Bare output operator for Ex objects, mainly to provide a simple way to generate debugging output. More...