FflasFfpack
Data Structures | Public Types | Static Public Member Functions | Static Public Attributes
Simd256_impl< true, true, true, 4 > Struct Reference
+ Inheritance diagram for Simd256_impl< true, true, true, 4 >:

Data Structures

union  Converter
 

Public Types

using vect_t = __m256i
 
using half_t = __m128i
 
using scalar_t = int32_t
 
using simdHalf = Simd128< scalar_t >
 
using aligned_allocator = AlignedAllocator< scalar_t, Alignment(alignment)>
 
using aligned_vector = std::vector< scalar_t, aligned_allocator >
 
template<class Field >
using is_same_element = std::is_same< typename Field::Element, scalar_t >
 
using vect_t = __m512i
 
using half_t = __m256i
 
using scalar_t = int32_t
 
using simdHalf = Simd256< scalar_t >
 
using aligned_allocator = AlignedAllocator< scalar_t, Alignment(alignment)>
 
using aligned_vector = std::vector< scalar_t, aligned_allocator >
 
template<class Field >
using is_same_element = std::is_same< typename Field::Element, scalar_t >
 

Static Public Member Functions

static const std::string type_string ()
 
template<class T >
static constexpr bool valid (T *p)
 
template<class T >
static constexpr bool compliant (T n)
 
static INLINE CONST vect_t set1 (const scalar_t x)
 
static INLINE CONST vect_t set (const scalar_t x0, const scalar_t x1, const scalar_t x2, const scalar_t x3, const scalar_t x4, const scalar_t x5, const scalar_t x6, const scalar_t x7)
 
template<class T >
static INLINE PURE vect_t gather (const scalar_t *const p, const T *const idx)
 
static INLINE PURE vect_t load (const scalar_t *const p)
 
static INLINE PURE vect_t loadu (const scalar_t *const p)
 
static INLINE void store (scalar_t *p, vect_t v)
 
static INLINE void storeu (scalar_t *p, vect_t v)
 
static INLINE void stream (scalar_t *p, const vect_t v)
 
template<int s>
static INLINE CONST vect_t sll (const vect_t a)
 
template<int s>
static INLINE CONST vect_t srl (const vect_t a)
 
template<int s>
static INLINE CONST vect_t sra (const vect_t a)
 
template<uint8_t s>
static INLINE CONST vect_t shuffle_twice (const vect_t a)
 
template<uint32_t s>
static INLINE CONST vect_t shuffle (const vect_t a)
 
static INLINE CONST vect_t unpacklo_intrinsic (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t unpackhi_intrinsic (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t unpacklo (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t unpackhi (const vect_t a, const vect_t b)
 
static INLINE void unpacklohi (vect_t &lo, vect_t &hi, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t pack_even (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t pack_odd (const vect_t a, const vect_t b)
 
static INLINE void pack (vect_t &even, vect_t &odd, const vect_t a, const vect_t b)
 
static INLINE void transpose (vect_t &r0, vect_t &r1, vect_t &r2, vect_t &r3, vect_t &r4, vect_t &r5, vect_t &r6, vect_t &r7)
 
template<uint8_t s>
static INLINE CONST vect_t blend (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t add (const vect_t a, const vect_t b)
 
static INLINE vect_t addin (vect_t &a, const vect_t b)
 
static INLINE CONST vect_t sub (const vect_t a, const vect_t b)
 
static INLINE vect_t subin (vect_t &a, const vect_t b)
 
static INLINE CONST vect_t mullo (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t mul (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t mulhi (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t mulx (vect_t a, vect_t b)
 
static INLINE CONST vect_t fmadd (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fmaddin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fmaddx (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fmaddxin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fnmadd (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fnmaddin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fnmaddx (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fnmaddxin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fmsub (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fmsubin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fmsubx (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fmsubxin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t eq (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t greater (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t lesser (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t greater_eq (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t lesser_eq (const vect_t a, const vect_t b)
 
static INLINE CONST scalar_t hadd_to_scal (const vect_t a)
 
static INLINE CONST vect_t round (const vect_t a)
 
static INLINE vect_t mod (vect_t &C, const vect_t &P, const vect_t &INVP, const vect_t &NEGP, const vect_t &MIN, const vect_t &MAX, vect_t &Q, vect_t &T)
 
static const std::string type_string ()
 
template<class T >
static constexpr bool valid (T *p)
 
template<class T >
static constexpr bool compliant (T n)
 
static INLINE CONST vect_t set1 (const scalar_t x)
 
static INLINE CONST vect_t set (const scalar_t x0, const scalar_t x1, const scalar_t x2, const scalar_t x3, const scalar_t x4, const scalar_t x5, const scalar_t x6, const scalar_t x7, const scalar_t x8, const scalar_t x9, const scalar_t x10, const scalar_t x11, const scalar_t x12, const scalar_t x13, const scalar_t x14, const scalar_t x15)
 
template<class T >
static INLINE PURE vect_t gather (const scalar_t *const p, const T *const idx)
 
static INLINE PURE vect_t load (const scalar_t *const p)
 
static INLINE PURE vect_t loadu (const scalar_t *const p)
 
static INLINE void store (scalar_t *p, vect_t v)
 
static INLINE void storeu (scalar_t *p, vect_t v)
 
static INLINE void stream (scalar_t *p, const vect_t v)
 
template<int s>
static INLINE CONST vect_t sll (const vect_t a)
 
template<int s>
static INLINE CONST vect_t srl (const vect_t a)
 
template<int s>
static INLINE CONST vect_t sra (const vect_t a)
 
template<uint8_t s>
static INLINE CONST vect_t shuffle_twice (const vect_t a)
 
template<uint64_t s>
static INLINE CONST vect_t shuffle (const vect_t a)
 
static INLINE CONST vect_t unpacklo_intrinsic (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t unpackhi_intrinsic (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t unpacklo (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t unpackhi (const vect_t a, const vect_t b)
 
static INLINE void unpacklohi (vect_t &lo, vect_t &hi, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t pack_even (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t pack_odd (const vect_t a, const vect_t b)
 
static INLINE void pack (vect_t &even, vect_t &odd, const vect_t a, const vect_t b)
 
static INLINE void transpose (vect_t &r0, vect_t &r1, vect_t &r2, vect_t &r3, vect_t &r4, vect_t &r5, vect_t &r6, vect_t &r7, vect_t &r8, vect_t &r9, vect_t &r10, vect_t &r11, vect_t &r12, vect_t &r13, vect_t &r14, vect_t &r15)
 
template<uint16_t s>
static INLINE CONST vect_t blend (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t add (const vect_t a, const vect_t b)
 
static INLINE vect_t addin (vect_t &a, const vect_t b)
 
static INLINE CONST vect_t sub (const vect_t a, const vect_t b)
 
static INLINE vect_t subin (vect_t &a, const vect_t b)
 
static INLINE CONST vect_t mullo (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t mul (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t mulhi (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t mulx (vect_t a, vect_t b)
 
static INLINE CONST vect_t fmadd (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fmaddin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fmaddx (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fmaddxin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fnmadd (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fnmaddin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fnmaddx (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fnmaddxin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fmsub (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fmsubin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t fmsubx (const vect_t c, const vect_t a, const vect_t b)
 
static INLINE vect_t fmsubxin (vect_t &c, const vect_t a, const vect_t b)
 
static INLINE CONST vect_t eq (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t greater (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t lesser (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t greater_eq (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t lesser_eq (const vect_t a, const vect_t b)
 
static INLINE CONST scalar_t hadd_to_scal (const vect_t a)
 
static INLINE CONST vect_t round (const vect_t a)
 
static INLINE vect_t mod (vect_t &C, const vect_t &P, const vect_t &INVP, const vect_t &NEGP, const vect_t &MIN, const vect_t &MAX, vect_t &Q, vect_t &T)
 
static INLINE CONST vect_t zero ()
 
static INLINE CONST vect_t zero ()
 
static INLINE CONST vect_t vor (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t vxor (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t vand (const vect_t a, const vect_t b)
 
static INLINE CONST vect_t vandnot (const vect_t a, const vect_t b)
 

Static Public Attributes

static const constexpr size_t vect_size = 8
 
static const constexpr size_t alignment = 32
 

Member Typedef Documentation

◆ vect_t [1/2]

using vect_t = __m256i

◆ half_t [1/2]

using half_t = __m128i

◆ scalar_t [1/2]

using scalar_t = int32_t

◆ simdHalf [1/2]

◆ aligned_allocator [1/2]

using aligned_allocator = AlignedAllocator<scalar_t, Alignment(alignment)>

◆ aligned_vector [1/2]

using aligned_vector = std::vector<scalar_t, aligned_allocator>

◆ is_same_element [1/2]

using is_same_element = std::is_same<typename Field::Element, scalar_t>

◆ vect_t [2/2]

using vect_t = __m512i

◆ half_t [2/2]

using half_t = __m256i

◆ scalar_t [2/2]

using scalar_t = int32_t

◆ simdHalf [2/2]

◆ aligned_allocator [2/2]

using aligned_allocator = AlignedAllocator<scalar_t, Alignment(alignment)>

◆ aligned_vector [2/2]

using aligned_vector = std::vector<scalar_t, aligned_allocator>

◆ is_same_element [2/2]

using is_same_element = std::is_same<typename Field::Element, scalar_t>

Member Function Documentation

◆ type_string() [1/2]

static const std::string type_string ( )
inlinestatic

◆ valid() [1/2]

static constexpr bool valid ( T *  p)
inlinestaticconstexpr

◆ compliant() [1/2]

static constexpr bool compliant ( n)
inlinestaticconstexpr

◆ set1() [1/2]

static INLINE CONST vect_t set1 ( const scalar_t  x)
inlinestatic

◆ set() [1/2]

static INLINE CONST vect_t set ( const scalar_t  x0,
const scalar_t  x1,
const scalar_t  x2,
const scalar_t  x3,
const scalar_t  x4,
const scalar_t  x5,
const scalar_t  x6,
const scalar_t  x7 
)
inlinestatic

◆ gather() [1/2]

static INLINE PURE vect_t gather ( const scalar_t *const  p,
const T *const  idx 
)
inlinestatic

◆ load() [1/2]

static INLINE PURE vect_t load ( const scalar_t *const  p)
inlinestatic

◆ loadu() [1/2]

static INLINE PURE vect_t loadu ( const scalar_t *const  p)
inlinestatic

◆ store() [1/2]

static INLINE void store ( scalar_t p,
vect_t  v 
)
inlinestatic

◆ storeu() [1/2]

static INLINE void storeu ( scalar_t p,
vect_t  v 
)
inlinestatic

◆ stream() [1/2]

static INLINE void stream ( scalar_t p,
const vect_t  v 
)
inlinestatic

◆ sll() [1/2]

static INLINE CONST vect_t sll ( const vect_t  a)
inlinestatic

◆ srl() [1/2]

static INLINE CONST vect_t srl ( const vect_t  a)
inlinestatic

◆ sra() [1/2]

static INLINE CONST vect_t sra ( const vect_t  a)
inlinestatic

◆ shuffle_twice() [1/2]

static INLINE CONST vect_t shuffle_twice ( const vect_t  a)
inlinestatic

◆ shuffle() [1/2]

static INLINE CONST vect_t shuffle ( const vect_t  a)
inlinestatic

◆ unpacklo_intrinsic() [1/2]

static INLINE CONST vect_t unpacklo_intrinsic ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ unpackhi_intrinsic() [1/2]

static INLINE CONST vect_t unpackhi_intrinsic ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ unpacklo() [1/2]

static INLINE CONST vect_t unpacklo ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ unpackhi() [1/2]

static INLINE CONST vect_t unpackhi ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ unpacklohi() [1/2]

static INLINE void unpacklohi ( vect_t lo,
vect_t hi,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ pack_even() [1/2]

static INLINE CONST vect_t pack_even ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ pack_odd() [1/2]

static INLINE CONST vect_t pack_odd ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ pack() [1/2]

static INLINE void pack ( vect_t even,
vect_t odd,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ transpose() [1/2]

static INLINE void transpose ( vect_t r0,
vect_t r1,
vect_t r2,
vect_t r3,
vect_t r4,
vect_t r5,
vect_t r6,
vect_t r7 
)
inlinestatic

◆ blend() [1/2]

static INLINE CONST vect_t blend ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ add() [1/2]

static INLINE CONST vect_t add ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ addin() [1/2]

static INLINE vect_t addin ( vect_t a,
const vect_t  b 
)
inlinestatic

◆ sub() [1/2]

static INLINE CONST vect_t sub ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ subin() [1/2]

static INLINE vect_t subin ( vect_t a,
const vect_t  b 
)
inlinestatic

◆ mullo() [1/2]

static INLINE CONST vect_t mullo ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ mul() [1/2]

static INLINE CONST vect_t mul ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ mulhi() [1/2]

static INLINE CONST vect_t mulhi ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ mulx() [1/2]

static INLINE CONST vect_t mulx ( vect_t  a,
vect_t  b 
)
inlinestatic

◆ fmadd() [1/2]

static INLINE CONST vect_t fmadd ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmaddin() [1/2]

static INLINE vect_t fmaddin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmaddx() [1/2]

static INLINE CONST vect_t fmaddx ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmaddxin() [1/2]

static INLINE vect_t fmaddxin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fnmadd() [1/2]

static INLINE CONST vect_t fnmadd ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fnmaddin() [1/2]

static INLINE vect_t fnmaddin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fnmaddx() [1/2]

static INLINE CONST vect_t fnmaddx ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fnmaddxin() [1/2]

static INLINE vect_t fnmaddxin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmsub() [1/2]

static INLINE CONST vect_t fmsub ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmsubin() [1/2]

static INLINE vect_t fmsubin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmsubx() [1/2]

static INLINE CONST vect_t fmsubx ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmsubxin() [1/2]

static INLINE vect_t fmsubxin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ eq() [1/2]

static INLINE CONST vect_t eq ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ greater() [1/2]

static INLINE CONST vect_t greater ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ lesser() [1/2]

static INLINE CONST vect_t lesser ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ greater_eq() [1/2]

static INLINE CONST vect_t greater_eq ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ lesser_eq() [1/2]

static INLINE CONST vect_t lesser_eq ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ hadd_to_scal() [1/2]

static INLINE CONST scalar_t hadd_to_scal ( const vect_t  a)
inlinestatic

◆ round() [1/2]

static INLINE CONST vect_t round ( const vect_t  a)
inlinestatic

◆ mod() [1/2]

static INLINE vect_t mod ( vect_t C,
const vect_t P,
const vect_t INVP,
const vect_t NEGP,
const vect_t MIN,
const vect_t MAX,
vect_t Q,
vect_t T 
)
inlinestatic

◆ type_string() [2/2]

static const std::string type_string ( )
inlinestatic

◆ valid() [2/2]

static constexpr bool valid ( T *  p)
inlinestaticconstexpr

◆ compliant() [2/2]

static constexpr bool compliant ( n)
inlinestaticconstexpr

◆ set1() [2/2]

static INLINE CONST vect_t set1 ( const scalar_t  x)
inlinestatic

◆ set() [2/2]

static INLINE CONST vect_t set ( const scalar_t  x0,
const scalar_t  x1,
const scalar_t  x2,
const scalar_t  x3,
const scalar_t  x4,
const scalar_t  x5,
const scalar_t  x6,
const scalar_t  x7,
const scalar_t  x8,
const scalar_t  x9,
const scalar_t  x10,
const scalar_t  x11,
const scalar_t  x12,
const scalar_t  x13,
const scalar_t  x14,
const scalar_t  x15 
)
inlinestatic

◆ gather() [2/2]

static INLINE PURE vect_t gather ( const scalar_t *const  p,
const T *const  idx 
)
inlinestatic

◆ load() [2/2]

static INLINE PURE vect_t load ( const scalar_t *const  p)
inlinestatic

◆ loadu() [2/2]

static INLINE PURE vect_t loadu ( const scalar_t *const  p)
inlinestatic

◆ store() [2/2]

static INLINE void store ( scalar_t p,
vect_t  v 
)
inlinestatic

◆ storeu() [2/2]

static INLINE void storeu ( scalar_t p,
vect_t  v 
)
inlinestatic

◆ stream() [2/2]

static INLINE void stream ( scalar_t p,
const vect_t  v 
)
inlinestatic

◆ sll() [2/2]

static INLINE CONST vect_t sll ( const vect_t  a)
inlinestatic

◆ srl() [2/2]

static INLINE CONST vect_t srl ( const vect_t  a)
inlinestatic

◆ sra() [2/2]

static INLINE CONST vect_t sra ( const vect_t  a)
inlinestatic

◆ shuffle_twice() [2/2]

static INLINE CONST vect_t shuffle_twice ( const vect_t  a)
inlinestatic

◆ shuffle() [2/2]

static INLINE CONST vect_t shuffle ( const vect_t  a)
inlinestatic

◆ unpacklo_intrinsic() [2/2]

static INLINE CONST vect_t unpacklo_intrinsic ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ unpackhi_intrinsic() [2/2]

static INLINE CONST vect_t unpackhi_intrinsic ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ unpacklo() [2/2]

static INLINE CONST vect_t unpacklo ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ unpackhi() [2/2]

static INLINE CONST vect_t unpackhi ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ unpacklohi() [2/2]

static INLINE void unpacklohi ( vect_t lo,
vect_t hi,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ pack_even() [2/2]

static INLINE CONST vect_t pack_even ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ pack_odd() [2/2]

static INLINE CONST vect_t pack_odd ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ pack() [2/2]

static INLINE void pack ( vect_t even,
vect_t odd,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ transpose() [2/2]

static INLINE void transpose ( vect_t r0,
vect_t r1,
vect_t r2,
vect_t r3,
vect_t r4,
vect_t r5,
vect_t r6,
vect_t r7,
vect_t r8,
vect_t r9,
vect_t r10,
vect_t r11,
vect_t r12,
vect_t r13,
vect_t r14,
vect_t r15 
)
inlinestatic

◆ blend() [2/2]

static INLINE CONST vect_t blend ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ add() [2/2]

static INLINE CONST vect_t add ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ addin() [2/2]

static INLINE vect_t addin ( vect_t a,
const vect_t  b 
)
inlinestatic

◆ sub() [2/2]

static INLINE CONST vect_t sub ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ subin() [2/2]

static INLINE vect_t subin ( vect_t a,
const vect_t  b 
)
inlinestatic

◆ mullo() [2/2]

static INLINE CONST vect_t mullo ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ mul() [2/2]

static INLINE CONST vect_t mul ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ mulhi() [2/2]

static INLINE CONST vect_t mulhi ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ mulx() [2/2]

static INLINE CONST vect_t mulx ( vect_t  a,
vect_t  b 
)
inlinestatic

◆ fmadd() [2/2]

static INLINE CONST vect_t fmadd ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmaddin() [2/2]

static INLINE vect_t fmaddin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmaddx() [2/2]

static INLINE CONST vect_t fmaddx ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmaddxin() [2/2]

static INLINE vect_t fmaddxin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fnmadd() [2/2]

static INLINE CONST vect_t fnmadd ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fnmaddin() [2/2]

static INLINE vect_t fnmaddin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fnmaddx() [2/2]

static INLINE CONST vect_t fnmaddx ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fnmaddxin() [2/2]

static INLINE vect_t fnmaddxin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmsub() [2/2]

static INLINE CONST vect_t fmsub ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmsubin() [2/2]

static INLINE vect_t fmsubin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmsubx() [2/2]

static INLINE CONST vect_t fmsubx ( const vect_t  c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ fmsubxin() [2/2]

static INLINE vect_t fmsubxin ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ eq() [2/2]

static INLINE CONST vect_t eq ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ greater() [2/2]

static INLINE CONST vect_t greater ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ lesser() [2/2]

static INLINE CONST vect_t lesser ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ greater_eq() [2/2]

static INLINE CONST vect_t greater_eq ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ lesser_eq() [2/2]

static INLINE CONST vect_t lesser_eq ( const vect_t  a,
const vect_t  b 
)
inlinestatic

◆ hadd_to_scal() [2/2]

static INLINE CONST scalar_t hadd_to_scal ( const vect_t  a)
inlinestatic

◆ round() [2/2]

static INLINE CONST vect_t round ( const vect_t  a)
inlinestatic

◆ mod() [2/2]

static INLINE vect_t mod ( vect_t C,
const vect_t P,
const vect_t INVP,
const vect_t NEGP,
const vect_t MIN,
const vect_t MAX,
vect_t Q,
vect_t T 
)
inlinestatic

◆ zero() [1/2]

static INLINE CONST vect_t zero ( )
inlinestaticinherited

◆ zero() [2/2]

static INLINE CONST vect_t zero ( )
inlinestaticinherited

◆ vor()

static INLINE CONST vect_t vor ( const vect_t  a,
const vect_t  b 
)
inlinestaticinherited

◆ vxor()

static INLINE CONST vect_t vxor ( const vect_t  a,
const vect_t  b 
)
inlinestaticinherited

◆ vand()

static INLINE CONST vect_t vand ( const vect_t  a,
const vect_t  b 
)
inlinestaticinherited

◆ vandnot()

static INLINE CONST vect_t vandnot ( const vect_t  a,
const vect_t  b 
)
inlinestaticinherited

Field Documentation

◆ vect_size

static const constexpr size_t vect_size = 8
staticconstexpr

◆ alignment

static const constexpr size_t alignment = 32
staticconstexpr

The documentation for this struct was generated from the following files: