Cadabra
Computer algebra system for field theory problems
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
cadabra::Multiplier Class Reference

#include <Multiplier.hh>

Public Member Functions

 Multiplier ()
 
 Multiplier (mpz_class numerator, mpz_class denominator=1)
 
 Multiplier (const mpq_class &v)
 
 Multiplier (int v)
 
 Multiplier (unsigned int v)
 
 Multiplier (long v)
 
 Multiplier (unsigned long v)
 
 Multiplier (double v)
 
 Multiplier (const Multiplier &other)=default
 
Multiplieroperator= (const Multiplier &other)=default
 
Multiplieroperator= (const mpq_class &v)
 
Multiplieroperator= (const double &v)
 
bool is_rational () const
 
bool is_double () const
 
const mpq_classget_rational () const
 
double get_double () const
 
void canonicalize ()
 
Multiplier operator+ (const Multiplier &other) const
 
Multiplier operator- (const Multiplier &other) const
 
Multiplier operator* (const Multiplier &other) const
 
Multiplier operator/ (const Multiplier &other) const
 
Multiplieroperator+= (const Multiplier &other)
 
Multiplieroperator-= (const Multiplier &other)
 
Multiplieroperator*= (const Multiplier &other)
 
Multiplieroperator/= (const Multiplier &other)
 
bool operator== (const Multiplier &other) const
 
bool operator!= (const Multiplier &other) const
 
bool operator< (const Multiplier &other) const
 
bool operator<= (const Multiplier &other) const
 
bool operator> (const Multiplier &other) const
 
bool operator>= (const Multiplier &other) const
 

Static Public Member Functions

static bool result_is_double (const Multiplier &a, const Multiplier &b)
 

Private Attributes

std::variant< mpq_class, doublevalue
 

Friends

std::ostream & operator<< (std::ostream &os, const Multiplier &m)
 

Constructor & Destructor Documentation

◆ Multiplier() [1/9]

cadabra::Multiplier::Multiplier ( )

◆ Multiplier() [2/9]

cadabra::Multiplier::Multiplier ( mpz_class  numerator,
mpz_class  denominator = 1 
)

◆ Multiplier() [3/9]

cadabra::Multiplier::Multiplier ( const mpq_class v)

◆ Multiplier() [4/9]

cadabra::Multiplier::Multiplier ( int  v)

◆ Multiplier() [5/9]

cadabra::Multiplier::Multiplier ( unsigned int  v)

◆ Multiplier() [6/9]

cadabra::Multiplier::Multiplier ( long  v)

◆ Multiplier() [7/9]

cadabra::Multiplier::Multiplier ( unsigned long  v)

◆ Multiplier() [8/9]

cadabra::Multiplier::Multiplier ( double  v)

◆ Multiplier() [9/9]

cadabra::Multiplier::Multiplier ( const Multiplier other)
default

Member Function Documentation

◆ canonicalize()

void cadabra::Multiplier::canonicalize ( )

◆ get_double()

double cadabra::Multiplier::get_double ( ) const

◆ get_rational()

const mpq_class & cadabra::Multiplier::get_rational ( ) const

◆ is_double()

bool cadabra::Multiplier::is_double ( ) const

◆ is_rational()

bool cadabra::Multiplier::is_rational ( ) const

◆ operator!=()

bool cadabra::Multiplier::operator!= ( const Multiplier other) const

◆ operator*()

Multiplier cadabra::Multiplier::operator* ( const Multiplier other) const

◆ operator*=()

Multiplier & cadabra::Multiplier::operator*= ( const Multiplier other)

◆ operator+()

Multiplier cadabra::Multiplier::operator+ ( const Multiplier other) const

◆ operator+=()

Multiplier & cadabra::Multiplier::operator+= ( const Multiplier other)

◆ operator-()

Multiplier cadabra::Multiplier::operator- ( const Multiplier other) const

◆ operator-=()

Multiplier & cadabra::Multiplier::operator-= ( const Multiplier other)

◆ operator/()

Multiplier cadabra::Multiplier::operator/ ( const Multiplier other) const

◆ operator/=()

Multiplier & cadabra::Multiplier::operator/= ( const Multiplier other)

◆ operator<()

bool cadabra::Multiplier::operator< ( const Multiplier other) const

◆ operator<=()

bool cadabra::Multiplier::operator<= ( const Multiplier other) const

◆ operator=() [1/3]

Multiplier & cadabra::Multiplier::operator= ( const double v)

◆ operator=() [2/3]

Multiplier & cadabra::Multiplier::operator= ( const mpq_class v)

◆ operator=() [3/3]

Multiplier & cadabra::Multiplier::operator= ( const Multiplier other)
default

◆ operator==()

bool cadabra::Multiplier::operator== ( const Multiplier other) const

◆ operator>()

bool cadabra::Multiplier::operator> ( const Multiplier other) const

◆ operator>=()

bool cadabra::Multiplier::operator>= ( const Multiplier other) const

◆ result_is_double()

bool cadabra::Multiplier::result_is_double ( const Multiplier a,
const Multiplier b 
)
static

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const Multiplier m 
)
friend

Member Data Documentation

◆ value

std::variant<mpq_class, double> cadabra::Multiplier::value
private

The documentation for this class was generated from the following files: