Hypercomplex
Abstract & fast header-only C++ template library for lattice-based cryptosystems in high-dimensional algebras
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Polynomial< MaxDeg > Class Template Reference

#include <Polynomial.hpp>

Public Member Functions

 Polynomial (const int64_t *arr)
 This is the main constructor. More...
 
 Polynomial (const Polynomial &P)
 This is the copy constructor. More...
 
 Polynomial ()
 This is the default constructor. More...
 
Polynomialoperator= (const Polynomial &P)
 Assignment operator. More...
 
Polynomial operator- () const
 Create an additive inverse of a given polynomial. More...
 
int64_t const & operator[] (const uint64_t i) const
 Access operator (const) More...
 
int64_t & operator[] (const uint64_t i)
 Access operator (non-const) More...
 

Detailed Description

template<const uint64_t MaxDeg>
class Polynomial< MaxDeg >

Helper class for polynomials

Constructor & Destructor Documentation

◆ Polynomial() [1/3]

template<const uint64_t MaxDeg>
Polynomial< MaxDeg >::Polynomial ( const int64_t *  arr)
inlineexplicit

This is the main constructor.

Parameters
[in]arrarray of integers

Template parameters are:

  • maximum degree of the polynomial

◆ Polynomial() [2/3]

template<const uint64_t MaxDeg>
Polynomial< MaxDeg >::Polynomial ( const Polynomial< MaxDeg > &  P)
inline

This is the copy constructor.

Parameters
[in]Pexisting class instance

Template parameters are:

  • maximum degree of the polynomial

◆ Polynomial() [3/3]

template<const uint64_t MaxDeg>
Polynomial< MaxDeg >::Polynomial ( )
inline

This is the default constructor.

Template parameters are:

  • maximum degree of the polynomial

Member Function Documentation

◆ operator-()

template<const uint64_t MaxDeg>
Polynomial Polynomial< MaxDeg >::operator- ( ) const
inline

Create an additive inverse of a given polynomial.

Returns
new class instance

◆ operator=()

template<const uint64_t MaxDeg>
Polynomial & Polynomial< MaxDeg >::operator= ( const Polynomial< MaxDeg > &  P)
inline

Assignment operator.

Parameters
[in]Pexisting class instance
Returns
Reference to the caller (for chained assignments)

◆ operator[]() [1/2]

template<const uint64_t MaxDeg>
int64_t & Polynomial< MaxDeg >::operator[] ( const uint64_t  i)
inline

Access operator (non-const)

Parameters
[in]iindex for the element to access
Returns
i-th element of the number

◆ operator[]() [2/2]

template<const uint64_t MaxDeg>
int64_t const & Polynomial< MaxDeg >::operator[] ( const uint64_t  i) const
inline

Access operator (const)

Parameters
[in]iindex for the element to access
Returns
i-th element of the number