Botan 3.6.0
Crypto and TLS for C&
Botan::CRYSTALS::crystals_trait Concept Reference

#include <pqcrystals.h>

Concept definition

template<typename T>
std::signed_integral<typename T::T> && sizeof(typename T::T) <= 4 && std::integral<decltype(T::N)> &&
T::N % 2 == 0 &&
requires(std::span<typename T::T, T::N> polyspan, std::span<typename T::T> polyvecspan, typename T::T coeff) {
{ T::to_montgomery(coeff) };
{ T::barrett_reduce(polyspan) };
{ T::poly_cadd_q(polyspan) };
{ T::ntt(polyspan) };
{ T::inverse_ntt(polyspan) };
{ T::poly_pointwise_montgomery(polyspan, polyspan, polyspan) };
{ T::polyvec_pointwise_acc_montgomery(polyspan, polyvecspan, polyvecspan) };
}

Detailed Description

Definition at line 141 of file pqcrystals.h.