Security Scol plugin
Classes | Functions
polynomi.h File Reference

Classes for polynomial basis and operations. More...

#include "cryptlib.h"
#include "secblock.h"
#include "algebra.h"
#include "misc.h"
#include <iosfwd>
#include <vector>

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 CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator!= (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator> (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator>= (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator< (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
bool operator<= (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
CryptoPP::PolynomialOverFixedRing< T, instance > operator+ (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
CryptoPP::PolynomialOverFixedRing< T, instance > operator- (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
CryptoPP::PolynomialOverFixedRing< T, instance > operator* (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
CryptoPP::PolynomialOverFixedRing< T, instance > operator/ (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T , int instance>
CryptoPP::PolynomialOverFixedRing< T, instance > operator% (const CryptoPP::PolynomialOverFixedRing< T, instance > &a, const CryptoPP::PolynomialOverFixedRing< T, instance > &b)
 
template<class T >
NAMESPACE_END void swap (CryptoPP::PolynomialOver< T > &a, CryptoPP::PolynomialOver< T > &b)
 
template<class T , int i>
void swap (CryptoPP::PolynomialOverFixedRing< T, i > &a, CryptoPP::PolynomialOverFixedRing< T, i > &b)
 

Detailed Description

Classes for polynomial basis and operations.

Definition in file polynomi.h.

Function Documentation

◆ 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 CryptoPP::PolynomialOverFixedRing< T, instance > &  a,
const CryptoPP::PolynomialOverFixedRing< T, instance > &  b 
)
inline

Definition at line 409 of file polynomi.h.

◆ operator%()

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

Definition at line 447 of file polynomi.h.

◆ operator*()

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

Definition at line 439 of file polynomi.h.

◆ operator+()

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

Definition at line 431 of file polynomi.h.

◆ operator-()

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

Definition at line 435 of file polynomi.h.

◆ operator/()

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

Definition at line 443 of file polynomi.h.

◆ operator<()

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

Definition at line 422 of file polynomi.h.

◆ operator<=()

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

Definition at line 426 of file polynomi.h.

◆ operator==()

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

Definition at line 405 of file polynomi.h.

◆ operator>()

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

Definition at line 414 of file polynomi.h.

◆ operator>=()

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

Definition at line 418 of file polynomi.h.

◆ 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.

◆ swap() [1/2]

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

Definition at line 453 of file polynomi.h.

◆ swap() [2/2]

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

Definition at line 457 of file polynomi.h.