Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
arithmetic.hpp File Reference

Provides the artithmetic Node types, such as Sum and Power. More...

Include dependency graph for arithmetic.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  bertini::node::SumOperator
 Represents summation and difference Operator. More...
class  bertini::node::NegateOperator
 The negation Operator. More...
class  bertini::node::MultOperator
 Multiplication and division Operator. More...
class  bertini::node::PowerOperator
 Operator for power functions with arbitrary expressions in the exponent and base. More...
class  bertini::node::IntegerPowerOperator
 This class represents the exponentiation Operator. More...
class  bertini::node::SqrtOperator
 Represents the square root Operator. More...
class  bertini::node::ExpOperator
 represents the exponential function More...
class  bertini::node::LogOperator
 represents the natural logarithm function More...

Namespaces

namespace  bertini
namespace  bertini::node

Functions

std::shared_ptr< Node > bertini::node::operator- (const std::shared_ptr< Node > &rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::sqrt (const std::shared_ptr< Node > &N)
 Build a square-root expression-tree node.
std::shared_ptr< Node > bertini::node::exp (const std::shared_ptr< Node > &N)
 Build an exponential (e raised to the node) expression-tree node.
std::shared_ptr< Node > bertini::node::log (const std::shared_ptr< Node > &N)
 Build a natural-logarithm expression-tree node.
std::shared_ptr< Node > bertini::node::pow (const std::shared_ptr< Node > &N, const std::shared_ptr< Node > &p)
 Build a power expression-tree node.
std::shared_ptr< Node > bertini::node::pow (std::shared_ptr< Node > const &base, int power)
 Build a power expression-tree node.
std::shared_ptr< Node > bertini::node::pow (const std::shared_ptr< Node > &N, double p)=delete
 Build a power expression-tree node.
std::shared_ptr< Node > bertini::node::pow (const std::shared_ptr< Node > &N, complex_dbl p)=delete
 Build a power expression-tree node.
std::shared_ptr< Node > bertini::node::pow (const std::shared_ptr< Node > &N, real_mp p)
 Build a power expression-tree node.
std::shared_ptr< Node > bertini::node::pow (const std::shared_ptr< Node > &N, complex_mp p)
 Build a power expression-tree node.
std::shared_ptr< Node > bertini::node::pow (const std::shared_ptr< Node > &N, mpq_rational const &p)
 Build a power expression-tree node.
std::shared_ptr< Node > bertini::node::SimplifiedNegate (std::shared_ptr< Node > const &n)
 Negation that never builds junk: -0 stays 0.
std::shared_ptr< Node > bertini::node::SimplifiedSum (std::vector< std::pair< std::shared_ptr< Node >, bool > > const &terms)
 Build a sum from (term, add_or_sub) pairs, omitting literal zeros.
std::shared_ptr< Node > bertini::node::SimplifiedMult (std::vector< std::pair< std::shared_ptr< Node >, bool > > const &factors)
 Build a product from (factor, mult_or_div) pairs, simplified.
std::shared_ptr< Node > & bertini::node::operator+= (std::shared_ptr< Node > &lhs, const std::shared_ptr< Node > &rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (std::shared_ptr< Node > lhs, const std::shared_ptr< Node > &rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (std::shared_ptr< Node > lhs, real_mp const &rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (std::shared_ptr< Node > lhs, complex_mp const &rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (real_mp const &lhs, std::shared_ptr< Node > rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (complex_mp const &lhs, std::shared_ptr< Node > rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (std::shared_ptr< Node > lhs, int rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (int lhs, std::shared_ptr< Node > rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (std::shared_ptr< Node > lhs, mpz_int const &rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (mpz_int const &lhs, std::shared_ptr< Node > rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (std::shared_ptr< Node > lhs, mpq_rational const &rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator+ (mpq_rational const &lhs, std::shared_ptr< Node > rhs)
 Build a sum expression-tree node from its operands.
std::shared_ptr< Node > & bertini::node::operator-= (std::shared_ptr< Node > &lhs, const std::shared_ptr< Node > &rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (std::shared_ptr< Node > lhs, const std::shared_ptr< Node > &rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (std::shared_ptr< Node > lhs, real_mp const &rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (real_mp const &lhs, std::shared_ptr< Node > rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (std::shared_ptr< Node > lhs, complex_mp const &rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (complex_mp const &lhs, std::shared_ptr< Node > rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (std::shared_ptr< Node > lhs, int rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (int lhs, std::shared_ptr< Node > rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (std::shared_ptr< Node > lhs, mpz_int const &rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (mpz_int const &lhs, std::shared_ptr< Node > rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (std::shared_ptr< Node > lhs, mpq_rational const &rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator- (mpq_rational const &lhs, std::shared_ptr< Node > rhs)
 Build a difference expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator*= (std::shared_ptr< MultOperator > &lhs, const std::shared_ptr< Node > &rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (std::shared_ptr< Node > lhs, real_mp const &rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (std::shared_ptr< Node > lhs, complex_mp const &rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (real_mp const &lhs, std::shared_ptr< Node > rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (complex_mp const &lhs, std::shared_ptr< Node > rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (std::shared_ptr< Node > lhs, int rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (int lhs, std::shared_ptr< Node > rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (std::shared_ptr< Node > lhs, mpz_int const &rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (mpz_int const &lhs, std::shared_ptr< Node > rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (std::shared_ptr< Node > lhs, mpq_rational const &rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (mpq_rational const &lhs, std::shared_ptr< Node > rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > & bertini::node::operator*= (std::shared_ptr< Node > &lhs, const std::shared_ptr< Node > &rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator* (std::shared_ptr< Node > lhs, const std::shared_ptr< Node > &rhs)
 Build a product expression-tree node from its operands.
std::shared_ptr< Node > & bertini::node::operator/= (std::shared_ptr< Node > &lhs, const std::shared_ptr< Node > &rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/= (std::shared_ptr< MultOperator > &lhs, const std::shared_ptr< Node > &rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (std::shared_ptr< Node > lhs, const std::shared_ptr< Node > &rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (std::shared_ptr< Node > lhs, real_mp rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (std::shared_ptr< Node > lhs, complex_mp rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (real_mp lhs, std::shared_ptr< Node > rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (complex_mp lhs, std::shared_ptr< Node > rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (std::shared_ptr< Node > lhs, int rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (int lhs, std::shared_ptr< Node > rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (std::shared_ptr< Node > lhs, mpz_int const &rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (mpz_int const &lhs, std::shared_ptr< Node > rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (std::shared_ptr< Node > lhs, mpq_rational const &rhs)
 Build a quotient expression-tree node from its operands.
std::shared_ptr< Node > bertini::node::operator/ (mpq_rational const &lhs, std::shared_ptr< Node > rhs)
 Build a quotient expression-tree node from its operands.

Detailed Description

Provides the artithmetic Node types, such as Sum and Power.