#include <polynomial.hpp>
Public Types | |
typedef container_type::allocator_type | allocator_type |
typedef container_type::const_iterator | const_iterator |
typedef container_type::const_pointer | const_pointer |
typedef container_type::const_reference | const_reference |
typedef container_type::const_reverse_iterator | const_reverse_iterator |
typedef container_type::difference_type | difference_type |
typedef container_type::iterator | iterator |
typedef container_type::pointer | pointer |
typedef container_type::reference | reference |
typedef container_type::reverse_iterator | reverse_iterator |
typedef container_type::size_type | size_type |
typedef container_type::value_type | value_type |
Public Member Functions | |
template<typename InputIterator > | |
std::iterator_traits< InputIterator >::reference | assign (InputIterator first, InputIterator last) |
void | assign (size_type n, const_reference u) |
void | assign (std::initializer_list< value_type > il) |
reference | at (size_type _n) |
const_reference | at (size_type _n) const |
reference | back () BOOST_NOEXCEPT |
const_reference | back () const BOOST_NOEXCEPT |
iterator | begin () BOOST_NOEXCEPT |
const_iterator | begin () const BOOST_NOEXCEPT |
size_type | capacity () const BOOST_NOEXCEPT |
const_iterator | cbegin () const BOOST_NOEXCEPT |
const_iterator | cend () const BOOST_NOEXCEPT |
void | clear () BOOST_NOEXCEPT |
void | condense () |
const_reverse_iterator | crbegin () const BOOST_NOEXCEPT |
const_reverse_iterator | crend () const BOOST_NOEXCEPT |
value_type * | data () BOOST_NOEXCEPT |
const value_type * | data () const BOOST_NOEXCEPT |
size_type | degree () const BOOST_NOEXCEPT |
template<class... Args> | |
iterator | emplace (const_iterator _position, Args &&... _args) |
template<class... Args> | |
reference | emplace_back (Args &&... _args) |
bool | empty () const BOOST_NOEXCEPT |
iterator | end () BOOST_NOEXCEPT |
const_iterator | end () const BOOST_NOEXCEPT |
iterator | erase (const_iterator _first, const_iterator _last) |
iterator | erase (const_iterator _position) |
FieldValueType | evaluate (const FieldValueType &value) const |
template<typename Range > | |
FieldValueType | evaluate (const Range &values) const |
reference | front () BOOST_NOEXCEPT |
const_reference | front () const BOOST_NOEXCEPT |
allocator_type | get_allocator () const BOOST_NOEXCEPT |
iterator | insert (const_iterator _position, const_reference _x) |
template<class InputIterator > | |
iterator | insert (const_iterator _position, InputIterator _first, InputIterator _last) |
iterator | insert (const_iterator _position, size_type _n, const_reference _x) |
iterator | insert (const_iterator _position, std::initializer_list< value_type > _il) |
iterator | insert (const_iterator _position, value_type &&_x) |
bool | is_zero () const |
size_type | max_size () const BOOST_NOEXCEPT |
bool | operator!= (const polynomial &rhs) const |
polynomial | operator% (const polynomial &other) const |
polynomial | operator* (const polynomial &other) const |
polynomial | operator+ (const polynomial &other) const |
polynomial | operator- () const |
polynomial | operator- (const polynomial &other) const |
polynomial | operator/ (const polynomial &other) const |
polynomial & | operator= (const container_type &x) |
polynomial & | operator= (const polynomial &x) |
polynomial & | operator= (container_type &&x) |
polynomial & | operator= (polynomial &&x) |
polynomial & | operator= (std::initializer_list< value_type > il) |
bool | operator== (const polynomial &rhs) const |
reference | operator[] (size_type _n) BOOST_NOEXCEPT |
const_reference | operator[] (size_type _n) const BOOST_NOEXCEPT |
polynomial () | |
polynomial (const container_type &c) | |
polynomial (const FieldValueType &value, std::size_t power=0) | |
polynomial (const polynomial &x) | |
polynomial (const polynomial &x, const allocator_type &a) | |
polynomial (container_type &&c) | |
template<typename InputIterator > | |
polynomial (InputIterator first, InputIterator last) | |
template<typename InputIterator > | |
polynomial (InputIterator first, InputIterator last, const allocator_type &a) | |
polynomial (polynomial &&x) BOOST_NOEXCEPT(std | |
polynomial (polynomial &&x, const allocator_type &a) | |
polynomial (size_type n) | |
polynomial (size_type n, const allocator_type &a) | |
polynomial (size_type n, const value_type &x) | |
polynomial (size_type n, const value_type &x, const allocator_type &a) | |
polynomial (std::initializer_list< value_type > il) | |
polynomial (std::initializer_list< value_type > il, const allocator_type &a) | |
void | pop_back () |
void | push_back (const_reference _x) |
void | push_back (value_type &&_x) |
reverse_iterator | rbegin () BOOST_NOEXCEPT |
const_reverse_iterator | rbegin () const BOOST_NOEXCEPT |
reverse_iterator | rend () BOOST_NOEXCEPT |
const_reverse_iterator | rend () const BOOST_NOEXCEPT |
void | reserve (size_type _n) |
void | resize (size_type _sz) |
void | resize (size_type _sz, const_reference _x) |
void | reverse (std::size_t n) |
void | shrink_to_fit () BOOST_NOEXCEPT |
size_type | size () const BOOST_NOEXCEPT |
void | swap (polynomial &other) |
~polynomial ()=default | |
Member Typedef Documentation
◆ allocator_type
typedef container_type::allocator_type nil::crypto3::math::polynomial< FieldValueType, Allocator >::allocator_type |
◆ const_iterator
typedef container_type::const_iterator nil::crypto3::math::polynomial< FieldValueType, Allocator >::const_iterator |
◆ const_pointer
typedef container_type::const_pointer nil::crypto3::math::polynomial< FieldValueType, Allocator >::const_pointer |
◆ const_reference
typedef container_type::const_reference nil::crypto3::math::polynomial< FieldValueType, Allocator >::const_reference |
◆ const_reverse_iterator
typedef container_type::const_reverse_iterator nil::crypto3::math::polynomial< FieldValueType, Allocator >::const_reverse_iterator |
◆ difference_type
typedef container_type::difference_type nil::crypto3::math::polynomial< FieldValueType, Allocator >::difference_type |
◆ iterator
typedef container_type::iterator nil::crypto3::math::polynomial< FieldValueType, Allocator >::iterator |
◆ pointer
typedef container_type::pointer nil::crypto3::math::polynomial< FieldValueType, Allocator >::pointer |
◆ reference
typedef container_type::reference nil::crypto3::math::polynomial< FieldValueType, Allocator >::reference |
◆ reverse_iterator
typedef container_type::reverse_iterator nil::crypto3::math::polynomial< FieldValueType, Allocator >::reverse_iterator |
◆ size_type
typedef container_type::size_type nil::crypto3::math::polynomial< FieldValueType, Allocator >::size_type |
◆ value_type
typedef container_type::value_type nil::crypto3::math::polynomial< FieldValueType, Allocator >::value_type |
Constructor & Destructor Documentation
◆ polynomial() [1/16]
|
inline |
◆ polynomial() [2/16]
|
inlineexplicit |
◆ polynomial() [3/16]
|
inlineexplicit |
◆ polynomial() [4/16]
|
inline |
◆ polynomial() [5/16]
|
inline |
◆ polynomial() [6/16]
|
inline |
◆ polynomial() [7/16]
|
inline |
◆ ~polynomial()
|
default |
◆ polynomial() [8/16]
|
inline |
◆ polynomial() [9/16]
|
inline |
◆ polynomial() [10/16]
|
inline |
◆ polynomial() [11/16]
|
inline |
◆ polynomial() [12/16]
|
inline |
◆ polynomial() [13/16]
|
inline |
◆ polynomial() [14/16]
|
inline |
◆ polynomial() [15/16]
|
inline |
◆ polynomial() [16/16]
|
inline |
Member Function Documentation
◆ assign() [1/3]
|
inline |
◆ assign() [2/3]
|
inline |
◆ assign() [3/3]
|
inline |
◆ at() [1/2]
|
inline |
◆ at() [2/2]
|
inline |
◆ back() [1/2]
|
inline |
◆ back() [2/2]
|
inline |
◆ begin() [1/2]
|
inline |
◆ begin() [2/2]
|
inline |
◆ capacity()
|
inline |
◆ cbegin()
|
inline |
◆ cend()
|
inline |
◆ clear()
|
inline |
◆ condense()
|
inline |
Removes extraneous zero entries from in vector representation of polynomial. Example - Degree-4 Polynomial: [0, 1, 2, 3, 4, 0, 0, 0, 0] -> [0, 1, 2, 3, 4] Note: Simplest condensed form is a zero polynomial of vector form: [0]
◆ crbegin()
|
inline |
◆ crend()
|
inline |
◆ data() [1/2]
|
inline |
◆ data() [2/2]
|
inline |
◆ degree()
|
inline |
◆ emplace()
|
inline |
◆ emplace_back()
|
inline |
◆ empty()
|
inline |
◆ end() [1/2]
|
inline |
◆ end() [2/2]
|
inline |
◆ erase() [1/2]
|
inline |
◆ erase() [2/2]
|
inline |
◆ evaluate() [1/2]
|
inline |
◆ evaluate() [2/2]
|
inline |
◆ front() [1/2]
|
inline |
◆ front() [2/2]
|
inline |
◆ get_allocator()
|
inline |
◆ insert() [1/5]
|
inline |
◆ insert() [2/5]
|
inline |
◆ insert() [3/5]
|
inline |
◆ insert() [4/5]
|
inline |
◆ insert() [5/5]
|
inline |
◆ is_zero()
|
inline |
Returns true if polynomial is a zero polynomial.
◆ max_size()
|
inline |
◆ operator!=()
|
inline |
◆ operator%()
|
inline |
Perform the standard Euclidean Division algorithm. Input: Polynomial A, Polynomial B, where A / B Output: Polynomial R, such that A = (Q * B) + R.
◆ operator*()
|
inline |
Perform the multiplication of two polynomials, polynomial A * polynomial B, and stores result in polynomial C.
◆ operator+()
|
inline |
Computes the standard polynomial addition, polynomial A + polynomial B, and stores result in polynomial C.
◆ operator-() [1/2]
|
inline |
◆ operator-() [2/2]
|
inline |
Computes the standard polynomial subtraction, polynomial A - polynomial B, and stores result in polynomial C.
◆ operator/()
|
inline |
Perform the standard Euclidean Division algorithm. Input: Polynomial A, Polynomial B, where A / B Output: Polynomial Q, such that A = (Q * B) + R.
◆ operator=() [1/5]
|
inline |
◆ operator=() [2/5]
|
inline |
◆ operator=() [3/5]
|
inline |
◆ operator=() [4/5]
|
inline |
◆ operator=() [5/5]
|
inline |
◆ operator==()
|
inline |
◆ operator[]() [1/2]
|
inline |
◆ operator[]() [2/2]
|
inline |
◆ pop_back()
|
inline |
◆ push_back() [1/2]
|
inline |
◆ push_back() [2/2]
|
inline |
◆ rbegin() [1/2]
|
inline |
◆ rbegin() [2/2]
|
inline |
◆ rend() [1/2]
|
inline |
◆ rend() [2/2]
|
inline |
◆ reserve()
|
inline |
◆ resize() [1/2]
|
inline |
◆ resize() [2/2]
|
inline |
◆ reverse()
|
inline |
Compute the reverse polynomial up to vector size n (degree n-1). Below we make use of the reversal endomorphism definition from [Bostan, Lecerf, & Schost, 2003. Tellegen's Principle in Practice, on page 38].
◆ shrink_to_fit()
|
inline |
◆ size()
|
inline |
◆ swap()
|
inline |
The documentation for this class was generated from the following file: