cheshirekow  v0.1.0
mpblocks::polynomial Namespace Reference

polynomial arithmetic and algorithms with no dynamic memory access More...

Classes

class  Difference
 expression template for sum of two matrix expressions More...
 
class  LValue
 expression template for rvalues More...
 
struct  Max
 
struct  MaxSelect
 
struct  MaxSelect< Val1, Val2, false >
 
struct  Min
 
struct  MinSelect
 
struct  MinSelect< Val1, Val2, false >
 
class  Negative
 expression template for sum of two matrix expressions More...
 
class  Normalized
 expression template for sum of two matrix expressions More...
 
class  Polynomial
 A dense, statically sized polynomial. More...
 
class  Polynomial< Scalar, Dynamic >
 A dense, dynamically sized polynomial. More...
 
class  Product
 expression template for sum of two matrix expressions More...
 
class  Quotient
 expression template for sum of two matrix expressions More...
 
class  RValue
 expression template for rvalues More...
 
class  SparsePolynomial
 
class  StreamAssignment
 assignment More...
 
class  SturmSequence
 
class  Sum
 expression template for sum of two matrix expressions More...
 

Functions

template<typename Scalar , class Exp1 , class Exp2 >
void differentiate (const RValue< Scalar, Exp1 > &in, LValue< Scalar, Exp2 > &out, int n)
 evaluate a polynomial More...
 
template<typename Scalar , class Exp >
LValue< Scalar, Exp > & lvalue (LValue< Scalar, Exp > &exp)
 
template<typename Scalar , class Exp >
Normalized< Scalar, Exp > normalized (RValue< Scalar, Exp > const &exp)
 
template<typename Scalar , class Exp1 , class Exp2 >
Product< Scalar, Exp1, Exp2 > operator* (RValue< Scalar, Exp1 > const &A, RValue< Scalar, Exp2 > const &B)
 
template<typename Scalar , class Exp1 , class Exp2 >
Sum< Scalar, Exp1, Exp2 > operator+ (RValue< Scalar, Exp1 > const &A, RValue< Scalar, Exp2 > const &B)
 
template<typename Scalar , class Exp >
Negative< Scalar, Exp > operator- (RValue< Scalar, Exp > const &exp)
 
template<typename Scalar , class Exp1 , class Exp2 >
Difference< Scalar, Exp1, Exp2 > operator- (RValue< Scalar, Exp1 > const &A, RValue< Scalar, Exp2 > const &B)
 
template<typename Scalar , class Exp1 , class Exp2 >
Quotient< Scalar, Exp1, Exp2 > operator/ (RValue< Scalar, Exp1 > const &A, RValue< Scalar, Exp2 > const &B)
 
template<typename Scalar , class Exp >
std::ostream & operator<< (std::ostream &out, RValue< Scalar, Exp > const &p)
 
template<typename Scalar >
std::ostream & operator<< (std::ostream &out, SturmSequence< Scalar > const &seq)
 
template<typename Scalar , class Exp >
Scalar polyval (const RValue< Scalar, Exp > &poly, Scalar x)
 evaluate a polynomial More...
 
template<typename Scalar , class Exp >
void preprint (std::vector< int > &spec, RValue< Scalar, Exp > const &p, const std::string &var="x")
 
template<typename Scalar , class Exp >
std::ostream & print (std::ostream &out, RValue< Scalar, Exp > const &p, const std::string &var="x")
 
template<typename Scalar , class Exp >
std::ostream & print (std::ostream &out, RValue< Scalar, Exp > const &p, const std::vector< int > &spec, const std::string &var="x")
 
template<typename Scalar >
std::ostream & print (std::ostream &out, SturmSequence< Scalar > const &seq, const std::string &var="x")
 
template<typename T >
int sgn (T val)
 signum More...
 

Detailed Description

polynomial arithmetic and algorithms with no dynamic memory access

polynomial arithmetic and algorithms

Function Documentation

template<typename Scalar , class Exp1 , class Exp2 >
void mpblocks::polynomial::differentiate ( const RValue< Scalar, Exp1 > &  in,
LValue< Scalar, Exp2 > &  out,
int  n 
)

evaluate a polynomial

Definition at line 36 of file differentiate.h.

template<typename Scalar , class Exp >
LValue<Scalar,Exp>& mpblocks::polynomial::lvalue ( LValue< Scalar, Exp > &  exp)

Definition at line 97 of file LValue.h.

template<typename Scalar , class Exp >
Normalized<Scalar,Exp> mpblocks::polynomial::normalized ( RValue< Scalar, Exp > const &  exp)

Definition at line 70 of file Normalized.h.

template<typename Scalar , class Exp1 , class Exp2 >
Product<Scalar,Exp1,Exp2> mpblocks::polynomial::operator* ( RValue< Scalar, Exp1 > const &  A,
RValue< Scalar, Exp2 > const &  B 
)

Definition at line 82 of file Product.h.

template<typename Scalar , class Exp1 , class Exp2 >
Sum<Scalar,Exp1,Exp2> mpblocks::polynomial::operator+ ( RValue< Scalar, Exp1 > const &  A,
RValue< Scalar, Exp2 > const &  B 
)

Definition at line 82 of file Sum.h.

template<typename Scalar , class Exp >
Negative<Scalar,Exp> mpblocks::polynomial::operator- ( RValue< Scalar, Exp > const &  exp)

Definition at line 70 of file Negative.h.

template<typename Scalar , class Exp1 , class Exp2 >
Difference<Scalar,Exp1,Exp2> mpblocks::polynomial::operator- ( RValue< Scalar, Exp1 > const &  A,
RValue< Scalar, Exp2 > const &  B 
)

Definition at line 81 of file Difference.h.

template<typename Scalar , class Exp1 , class Exp2 >
Quotient<Scalar,Exp1,Exp2> mpblocks::polynomial::operator/ ( RValue< Scalar, Exp1 > const &  A,
RValue< Scalar, Exp2 > const &  B 
)

Definition at line 90 of file Quotient.h.

template<typename Scalar , class Exp >
std::ostream& mpblocks::polynomial::operator<< ( std::ostream &  out,
RValue< Scalar, Exp > const &  p 
)

Definition at line 103 of file ostream.h.

template<typename Scalar >
std::ostream& mpblocks::polynomial::operator<< ( std::ostream &  out,
SturmSequence< Scalar > const &  seq 
)

Definition at line 124 of file ostream.h.

template<typename Scalar , class Exp >
Scalar mpblocks::polynomial::polyval ( const RValue< Scalar, Exp > &  poly,
Scalar  x 
)

evaluate a polynomial

Definition at line 35 of file polyval.h.

template<typename Scalar , class Exp >
void mpblocks::polynomial::preprint ( std::vector< int > &  spec,
RValue< Scalar, Exp > const &  p,
const std::string &  var = "x" 
)

Definition at line 82 of file ostream.h.

template<typename Scalar , class Exp >
std::ostream& mpblocks::polynomial::print ( std::ostream &  out,
RValue< Scalar, Exp > const &  p,
const std::string &  var = "x" 
)

Definition at line 42 of file ostream.h.

template<typename Scalar , class Exp >
std::ostream& mpblocks::polynomial::print ( std::ostream &  out,
RValue< Scalar, Exp > const &  p,
const std::vector< int > &  spec,
const std::string &  var = "x" 
)

Definition at line 59 of file ostream.h.

template<typename Scalar >
std::ostream& mpblocks::polynomial::print ( std::ostream &  out,
SturmSequence< Scalar > const &  seq,
const std::string &  var = "x" 
)

Definition at line 110 of file ostream.h.

template<typename T >
int mpblocks::polynomial::sgn ( val)

signum

Definition at line 40 of file polynomial.h.