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.