stator
A math, geometry, and utility library
Classes | Enumerations | Functions
sym::detail Namespace Reference

Namespace containing the details of the implmentation for general stator components.

Classes

struct  Absolute
 
struct  Add
 
struct  Arbsign
 
struct  C_wrap
 Conversion operator from std::ratio to C. More...
 
class  CompareConstantsVisitor
 
struct  Cosine
 
struct  DerivativeRT
 
struct  Divide
 
struct  DoubleDispatch1
 
struct  DoubleDispatch2
 
struct  Exp
 
class  ExprTokenizer
 Implementation of expression tokenization and parsing into Expr types. More...
 
struct  FastSubRT
 
struct  IsConstant
 Type trait to determine if a certain type is a constant. More...
 
struct  IsConstant< std::complex< T > >
 
struct  IsConstantVisitor
 
struct  Log
 
struct  Multiply
 
struct  NoIdentity
 
struct  PolySubWorker
 Worker class for symbolically evaluating a substitution on a Polynomial. More...
 
struct  PolySubWorker< 0 >
 Worker class for symbolically evaluating a substitution on a Polynomial. More...
 
struct  Power
 
struct  SimplifyRT
 
struct  Sine
 
struct  SturmChain
 A collection of Polynomials which form a Sturm chain. More...
 
struct  SturmChain< 0, Coeff_t, PolyVar >
 Specialisation for a container holding the last Sturm chain Polynomial. More...
 
struct  SubstituteRT
 
struct  Subtract
 
struct  TaylorSeriesWorker
 
struct  TaylorSeriesWorker< max_Order, max_Order, Var >
 
struct  VisitorHelper
 A CRTP helper base class which transforms the visitor interface into a call to the derived classes apply function. More...
 
struct  VisitorInterface
 Abstract interface class for the visitor programming pattern for Expr types. More...
 

Enumerations

enum  Associativity { Associativity::LEFT, Associativity::RIGHT, Associativity::NONE }
 

Functions

constexpr size_t max_order (size_t N, size_t M)
 
template<size_t Order, class Coeff_t , class PolyVar >
Polynomial< Order-2, Coeff_t, PolyVar > mrem (const Polynomial< Order, Coeff_t, PolyVar > &f, const Polynomial< Order-1, Coeff_t, PolyVar > &g)
 Calculates the negative of the remainder of the division of $f(x)$ by $g(x)$. More...
 
template<class Op >
constexpr int NBP ()
 
template<size_t Order, class Coeff_t , class PolyVar >
std::ostream & operator<< (std::ostream &os, const SturmChain< Order, Coeff_t, PolyVar > &c)
 
template<class Op >
constexpr int RBP ()
 
template<class Config , class T >
auto try_simplify_imp (const T &a, detail::choice< 0 >) -> STATOR_AUTORETURN(simplify< Config >(a))
 
template<class Config , class T >
try_simplify_imp (const T &a, detail::choice< 1 >)
 

Enumeration Type Documentation

◆ Associativity

Enumerator
LEFT 
RIGHT 
NONE 

Definition at line 97 of file binary_ops.hpp.

Function Documentation

◆ max_order()

constexpr size_t sym::detail::max_order ( size_t  N,
size_t  M 
)

Definition at line 340 of file simplify.hpp.

◆ mrem()

template<size_t Order, class Coeff_t , class PolyVar >
Polynomial<Order-2, Coeff_t, PolyVar> sym::detail::mrem ( const Polynomial< Order, Coeff_t, PolyVar > &  f,
const Polynomial< Order-1, Coeff_t, PolyVar > &  g 
)

Definition at line 959 of file polynomial.hpp.

◆ NBP()

template<class Op >
constexpr int sym::detail::NBP ( )

Definition at line 105 of file binary_ops.hpp.

◆ operator<<()

template<size_t Order, class Coeff_t , class PolyVar >
std::ostream& sym::detail::operator<< ( std::ostream &  os,
const SturmChain< Order, Coeff_t, PolyVar > &  c 
)

Definition at line 1838 of file polynomial.hpp.

◆ RBP()

template<class Op >
constexpr int sym::detail::RBP ( )

Definition at line 100 of file binary_ops.hpp.

◆ try_simplify_imp() [1/2]

template<class Config , class T >
auto sym::detail::try_simplify_imp ( const T &  a,
detail::choice< 0 >   
) -> STATOR_AUTORETURN(simplify< Config >(a))

◆ try_simplify_imp() [2/2]

template<class Config , class T >
T sym::detail::try_simplify_imp ( const T &  a,
detail::choice< 1 >   
)

Definition at line 75 of file simplify.hpp.