Crypto++ 8.7
Free C++ class library of cryptographic schemes
Classes | Functions
polynomi.h File Reference

Classes for polynomial basis and operations. More...

Go to the source code of this file.

Classes

class  PolynomialOver< T >
 represents single-variable polynomials over arbitrary rings More...
 
class  PolynomialOver< T >::DivideByZero
 division by zero exception More...
 
class  PolynomialOver< T >::RandomizationParameter
 specify the distribution for randomization functions More...
 
class  PolynomialOverFixedRing< T, instance >
 Polynomials over a fixed ring. More...
 
class  RingOfPolynomialsOver< T >
 Ring of polynomials over another ring. More...
 
class  RingOfPolynomialsOver< T >::InterpolationFailed
 

Functions

template<class Ring , class Element >
void PrepareBulkPolynomialInterpolation (const Ring &ring, Element *w, const Element x[], unsigned int n)
 
template<class Ring , class Element >
void PrepareBulkPolynomialInterpolationAt (const Ring &ring, Element *v, const Element &position, const Element x[], const Element w[], unsigned int n)
 
template<class Ring , class Element >
Element BulkPolynomialInterpolateAt (const Ring &ring, const Element y[], const Element v[], unsigned int n)
 
template<class T , int instance>
bool operator== (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator!= (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator> (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator>= (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator< (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator<= (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator+ (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator- (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator* (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator/ (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator% (const ::PolynomialOverFixedRing< T, instance > &a, const ::PolynomialOverFixedRing< T, instance > &b)
 
template<class T >
void swap (::PolynomialOver< T > &a, ::PolynomialOver< T > &b)
 
template<class T , int i>
void swap (::PolynomialOverFixedRing< T, i > &a, ::PolynomialOverFixedRing< T, i > &b)
 

Detailed Description

Classes for polynomial basis and operations.

Definition in file polynomi.h.

Function Documentation

◆ PrepareBulkPolynomialInterpolation()

template<class Ring , class Element >
void PrepareBulkPolynomialInterpolation ( const Ring &  ring,
Element *  w,
const Element  x[],
unsigned int  n 
)

Definition at line 515 of file polynomi.cpp.

◆ PrepareBulkPolynomialInterpolationAt()

template<class Ring , class Element >
void PrepareBulkPolynomialInterpolationAt ( const Ring &  ring,
Element *  v,
const Element &  position,
const Element  x[],
const Element  w[],
unsigned int  n 
)

Definition at line 528 of file polynomi.cpp.

◆ BulkPolynomialInterpolateAt()

template<class Ring , class Element >
Element BulkPolynomialInterpolateAt ( const Ring &  ring,
const Element  y[],
const Element  v[],
unsigned int  n 
)

Definition at line 555 of file polynomi.cpp.

◆ operator==()

template<class T , int instance>
bool operator== ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)
inline

Definition at line 405 of file polynomi.h.

◆ operator!=()

template<class T , int instance>
bool operator!= ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)
inline

Definition at line 409 of file polynomi.h.

◆ operator>()

template<class T , int instance>
bool operator> ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)
inline

Definition at line 414 of file polynomi.h.

◆ operator>=()

template<class T , int instance>
bool operator>= ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)
inline

Definition at line 418 of file polynomi.h.

◆ operator<()

template<class T , int instance>
bool operator< ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)
inline

Definition at line 422 of file polynomi.h.

◆ operator<=()

template<class T , int instance>
bool operator<= ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)
inline

Definition at line 426 of file polynomi.h.

◆ operator+()

template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator+ ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)

Definition at line 431 of file polynomi.h.

◆ operator-()

template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator- ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)

Definition at line 435 of file polynomi.h.

◆ operator*()

template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator* ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)

Definition at line 439 of file polynomi.h.

◆ operator/()

template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator/ ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)

Definition at line 443 of file polynomi.h.

◆ operator%()

template<class T , int instance>
inline ::PolynomialOverFixedRing< T, instance > operator% ( const ::PolynomialOverFixedRing< T, instance > &  a,
const ::PolynomialOverFixedRing< T, instance > &  b 
)

Definition at line 447 of file polynomi.h.

◆ swap() [1/2]

template<class T >
void swap ( ::PolynomialOver< T > &  a,
::PolynomialOver< T > &  b 
)
inline

Definition at line 453 of file polynomi.h.

◆ swap() [2/2]

template<class T , int i>
void swap ( ::PolynomialOverFixedRing< T, i > &  a,
::PolynomialOverFixedRing< T, i > &  b 
)
inline

Definition at line 457 of file polynomi.h.