Botan 3.9.0
Crypto and TLS for C&
Botan::CRYSTALS::PolynomialMatrix< Trait > Class Template Reference

#include <pqcrystals.h>

Public Member Functions

void _const_time_poison () const
void _const_time_unpoison () const
decltype(auto) begin ()
decltype(auto) begin () const
decltype(auto) end ()
decltype(auto) end () const
ThisPolynomialMatrixoperator= (const ThisPolynomialMatrix &other)=delete
ThisPolynomialMatrixoperator= (ThisPolynomialMatrix &&other) noexcept=default
PolynomialVector< Trait, Domain::NTT > & operator[] (size_t i)
const PolynomialVector< Trait, Domain::NTT > & operator[] (size_t i) const
 PolynomialMatrix (const ThisPolynomialMatrix &other)=delete
 PolynomialMatrix (size_t rows, size_t cols)
 PolynomialMatrix (std::vector< PolynomialVector< Trait > > mat)
 PolynomialMatrix (ThisPolynomialMatrix &&other) noexcept=default
size_t size () const
 ~PolynomialMatrix ()=default

Detailed Description

template<crystals_trait Trait>
class Botan::CRYSTALS::PolynomialMatrix< Trait >

Definition at line 495 of file pqcrystals.h.

Constructor & Destructor Documentation

◆ PolynomialMatrix() [1/4]

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::PolynomialMatrix ( std::vector< PolynomialVector< Trait > > mat)
inlineexplicit

Definition at line 503 of file pqcrystals.h.

◆ PolynomialMatrix() [2/4]

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::PolynomialMatrix ( const ThisPolynomialMatrix< Trait > & other)
delete

◆ PolynomialMatrix() [3/4]

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::PolynomialMatrix ( ThisPolynomialMatrix< Trait > && other)
defaultnoexcept

◆ ~PolynomialMatrix()

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::~PolynomialMatrix ( )
default

◆ PolynomialMatrix() [4/4]

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::PolynomialMatrix ( size_t rows,
size_t cols )
inline

Definition at line 513 of file pqcrystals.h.

513 {
514 m_mat.reserve(rows);
515 for(size_t i = 0; i < rows; ++i) {
516 m_mat.emplace_back(cols);
517 }
518 }

Member Function Documentation

◆ _const_time_poison()

template<crystals_trait Trait>
void Botan::CRYSTALS::PolynomialMatrix< Trait >::_const_time_poison ( ) const
inline

Definition at line 532 of file pqcrystals.h.

532{ CT::poison_range(m_mat); }
constexpr void poison_range(const R &r)
Definition ct_utils.h:179

◆ _const_time_unpoison()

template<crystals_trait Trait>
void Botan::CRYSTALS::PolynomialMatrix< Trait >::_const_time_unpoison ( ) const
inline

Definition at line 534 of file pqcrystals.h.

534{ CT::unpoison_range(m_mat); }
constexpr void unpoison_range(const R &r)
Definition ct_utils.h:187

◆ begin() [1/2]

template<crystals_trait Trait>
decltype(auto) Botan::CRYSTALS::PolynomialMatrix< Trait >::begin ( )
inline

Definition at line 524 of file pqcrystals.h.

524{ return m_mat.begin(); }

◆ begin() [2/2]

template<crystals_trait Trait>
decltype(auto) Botan::CRYSTALS::PolynomialMatrix< Trait >::begin ( ) const
inline

Definition at line 526 of file pqcrystals.h.

526{ return m_mat.begin(); }

◆ end() [1/2]

template<crystals_trait Trait>
decltype(auto) Botan::CRYSTALS::PolynomialMatrix< Trait >::end ( )
inline

Definition at line 528 of file pqcrystals.h.

528{ return m_mat.end(); }

◆ end() [2/2]

template<crystals_trait Trait>
decltype(auto) Botan::CRYSTALS::PolynomialMatrix< Trait >::end ( ) const
inline

Definition at line 530 of file pqcrystals.h.

530{ return m_mat.end(); }

◆ operator=() [1/2]

template<crystals_trait Trait>
ThisPolynomialMatrix & Botan::CRYSTALS::PolynomialMatrix< Trait >::operator= ( const ThisPolynomialMatrix< Trait > & other)
delete

◆ operator=() [2/2]

template<crystals_trait Trait>
ThisPolynomialMatrix & Botan::CRYSTALS::PolynomialMatrix< Trait >::operator= ( ThisPolynomialMatrix< Trait > && other)
defaultnoexcept

◆ operator[]() [1/2]

template<crystals_trait Trait>
PolynomialVector< Trait, Domain::NTT > & Botan::CRYSTALS::PolynomialMatrix< Trait >::operator[] ( size_t i)
inline

Definition at line 520 of file pqcrystals.h.

520{ return m_mat[i]; }

◆ operator[]() [2/2]

template<crystals_trait Trait>
const PolynomialVector< Trait, Domain::NTT > & Botan::CRYSTALS::PolynomialMatrix< Trait >::operator[] ( size_t i) const
inline

Definition at line 522 of file pqcrystals.h.

522{ return m_mat[i]; }

◆ size()

template<crystals_trait Trait>
size_t Botan::CRYSTALS::PolynomialMatrix< Trait >::size ( ) const
inline

Definition at line 511 of file pqcrystals.h.

511{ return m_mat.size(); }

Referenced by Botan::CRYSTALS::operator*().


The documentation for this class was generated from the following file: