FflasFfpack
Public Types | Public Member Functions | Static Public Attributes
FieldSimd< _Field > Class Template Reference

Public Types

using Field = _Field
 
using Element = typename Field::Element
 
using simd = Simd< typename _Field::Element >
 
using vect_t = typename simd::vect_t
 
using scalar_t = typename simd::scalar_t
 

Public Member Functions

 FieldSimd (const Field &f)
 
 FieldSimd (const Self &)=default
 
 FieldSimd (Self &&)=default
 
Selfoperator= (const Self &)=default
 
Selfoperator= (Self &&)=default
 
INLINE vect_t init (vect_t &x, const vect_t a) const
 
INLINE vect_t init (const vect_t a) const
 
INLINE vect_t add (vect_t &c, const vect_t a, const vect_t b)
 
INLINE vect_t add (const vect_t a, const vect_t b)
 
INLINE vect_t addin (vect_t &a, const vect_t b) const
 
INLINE vect_t add_r (vect_t &c, const vect_t a, const vect_t b) const
 
INLINE vect_t add_r (const vect_t a, const vect_t b) const
 
INLINE vect_t addin_r (vect_t &a, const vect_t b) const
 
INLINE vect_t sub (vect_t &c, const vect_t a, const vect_t b)
 
INLINE vect_t sub (const vect_t a, const vect_t b)
 
INLINE vect_t subin (vect_t &a, const vect_t b) const
 
INLINE vect_t sub_r (vect_t &c, const vect_t a, const vect_t b) const
 
INLINE vect_t sub_r (const vect_t a, const vect_t b) const
 
INLINE vect_t subin_r (vect_t &a, const vect_t b) const
 
INLINE vect_t zero (vect_t &x) const
 
INLINE vect_t zero () const
 
INLINE vect_t mod (vect_t &c) const
 
INLINE vect_t mul (vect_t &c, const vect_t a, const vect_t b) const
 
INLINE vect_t mul (const vect_t a, const vect_t b) const
 
INLINE vect_t mulin (vect_t &a, const vect_t b) const
 
INLINE vect_t mul_r (vect_t &c, const vect_t a, const vect_t b) const
 
INLINE vect_t mul_r (const vect_t a, const vect_t b) const
 
INLINE vect_t axpy (vect_t &r, const vect_t a, const vect_t b, const vect_t c) const
 
INLINE vect_t axpy (const vect_t c, const vect_t a, const vect_t b) const
 
INLINE vect_t axpyin (vect_t &c, const vect_t a, const vect_t b) const
 
INLINE vect_t axpy_r (vect_t &r, const vect_t a, const vect_t b, const vect_t c) const
 
INLINE vect_t axpy_r (const vect_t c, const vect_t a, const vect_t b) const
 
INLINE vect_t axpyin_r (vect_t &c, const vect_t a, const vect_t b) const
 
INLINE vect_t maxpy (vect_t &r, const vect_t a, const vect_t b, const vect_t c) const
 
INLINE vect_t maxpy (const vect_t c, const vect_t a, const vect_t b) const
 
INLINE vect_t maxpyin (vect_t &c, const vect_t a, const vect_t b) const
 

Static Public Attributes

static const constexpr size_t vect_size = simd::vect_size
 
static const constexpr size_t alignment = simd::alignment
 

Member Typedef Documentation

◆ Field

using Field = _Field

◆ Element

using Element = typename Field::Element

◆ simd

using simd = Simd<typename _Field::Element>

◆ vect_t

using vect_t = typename simd::vect_t

◆ scalar_t

using scalar_t = typename simd::scalar_t

Constructor & Destructor Documentation

◆ FieldSimd() [1/3]

FieldSimd ( const Field f)
inline

◆ FieldSimd() [2/3]

FieldSimd ( const Self )
default

◆ FieldSimd() [3/3]

FieldSimd ( Self &&  )
default

Member Function Documentation

◆ operator=() [1/2]

Self & operator= ( const Self )
default

◆ operator=() [2/2]

Self & operator= ( Self &&  )
default

◆ init() [1/2]

INLINE vect_t init ( vect_t x,
const vect_t  a 
) const
inline

◆ init() [2/2]

INLINE vect_t init ( const vect_t  a) const
inline

◆ add() [1/2]

INLINE vect_t add ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inline

◆ add() [2/2]

INLINE vect_t add ( const vect_t  a,
const vect_t  b 
)
inline

◆ addin()

INLINE vect_t addin ( vect_t a,
const vect_t  b 
) const
inline

◆ add_r() [1/2]

INLINE vect_t add_r ( vect_t c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ add_r() [2/2]

INLINE vect_t add_r ( const vect_t  a,
const vect_t  b 
) const
inline

◆ addin_r()

INLINE vect_t addin_r ( vect_t a,
const vect_t  b 
) const
inline

◆ sub() [1/2]

INLINE vect_t sub ( vect_t c,
const vect_t  a,
const vect_t  b 
)
inline

◆ sub() [2/2]

INLINE vect_t sub ( const vect_t  a,
const vect_t  b 
)
inline

◆ subin()

INLINE vect_t subin ( vect_t a,
const vect_t  b 
) const
inline

◆ sub_r() [1/2]

INLINE vect_t sub_r ( vect_t c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ sub_r() [2/2]

INLINE vect_t sub_r ( const vect_t  a,
const vect_t  b 
) const
inline

◆ subin_r()

INLINE vect_t subin_r ( vect_t a,
const vect_t  b 
) const
inline

◆ zero() [1/2]

INLINE vect_t zero ( vect_t x) const
inline

◆ zero() [2/2]

INLINE vect_t zero ( ) const
inline

◆ mod()

INLINE vect_t mod ( vect_t c) const
inline

◆ mul() [1/2]

INLINE vect_t mul ( vect_t c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ mul() [2/2]

INLINE vect_t mul ( const vect_t  a,
const vect_t  b 
) const
inline

◆ mulin()

INLINE vect_t mulin ( vect_t a,
const vect_t  b 
) const
inline

◆ mul_r() [1/2]

INLINE vect_t mul_r ( vect_t c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ mul_r() [2/2]

INLINE vect_t mul_r ( const vect_t  a,
const vect_t  b 
) const
inline

◆ axpy() [1/2]

INLINE vect_t axpy ( vect_t r,
const vect_t  a,
const vect_t  b,
const vect_t  c 
) const
inline

◆ axpy() [2/2]

INLINE vect_t axpy ( const vect_t  c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ axpyin()

INLINE vect_t axpyin ( vect_t c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ axpy_r() [1/2]

INLINE vect_t axpy_r ( vect_t r,
const vect_t  a,
const vect_t  b,
const vect_t  c 
) const
inline

◆ axpy_r() [2/2]

INLINE vect_t axpy_r ( const vect_t  c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ axpyin_r()

INLINE vect_t axpyin_r ( vect_t c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ maxpy() [1/2]

INLINE vect_t maxpy ( vect_t r,
const vect_t  a,
const vect_t  b,
const vect_t  c 
) const
inline

◆ maxpy() [2/2]

INLINE vect_t maxpy ( const vect_t  c,
const vect_t  a,
const vect_t  b 
) const
inline

◆ maxpyin()

INLINE vect_t maxpyin ( vect_t c,
const vect_t  a,
const vect_t  b 
) const
inline

Field Documentation

◆ vect_size

const constexpr size_t vect_size = simd::vect_size
staticconstexpr

◆ alignment

const constexpr size_t alignment = simd::alignment
staticconstexpr

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