FflasFfpack
Bench< Elt > Class Template Reference

Public Types

using Field = Modular<Elt>
 
using Elt_ptr = typename Field::Element_ptr
 
using Residu = typename Field::Residu_t
 
template<bool B, class T = void>
using enable_if_t = typename std::enable_if<B, T>::type
 
template<typename Simd >
using is_same_element = typename Simd::template is_same_element<Field>
 
template<typename E >
using enable_if_no_simd_t = enable_if_t<Simd<E>::vect_size == 1>
 
template<typename E >
using enable_if_simd128_t = enable_if_t<sizeof(E)*Simd<E>::vect_size == 16>
 
template<typename E >
using enable_if_simd256_t = enable_if_t<sizeof(E)*Simd<E>::vect_size == 32>
 
template<typename E >
using enable_if_simd512_t = enable_if_t<sizeof(E)*Simd<E>::vect_size == 64>
 

Public Member Functions

 Bench (size_t m, size_t n, size_t iters, bool inplace)
 
template<typename Simd = NoSimd<Elt>, enable_if_t< is_same_element< Simd >::value > * = nullptr>
void doBenchs ()
 
template<typename _E = Elt, enable_if_t< is_same< _E, Elt >::value > * = nullptr, enable_if_no_simd_t< _E > * = nullptr>
void run (bool allsimd)
 

Static Public Member Functions

template<typename _E = Elt, enable_if_t<!is_same< _E, Givaro::Integer >::value > * = nullptr>
static Residu cardinality ()
 
template<typename _E = Elt, enable_if_t< is_same< _E, Givaro::Integer >::value > * = nullptr>
static Residu cardinality ()
 

Protected Attributes

Field F
 
const size_t m
 
const size_t n
 
const size_t iters
 
const bool inplace
 

Member Typedef Documentation

◆ Field

template<typename Elt >
using Field = Modular<Elt>

◆ Elt_ptr

template<typename Elt >
using Elt_ptr = typename Field::Element_ptr

◆ Residu

template<typename Elt >
using Residu = typename Field::Residu_t

◆ enable_if_t

template<typename Elt >
template<bool B, class T = void>
using enable_if_t = typename std::enable_if<B, T>::type

◆ is_same_element

template<typename Elt >
template<typename Simd >
using is_same_element = typename Simd::template is_same_element<Field>

◆ enable_if_no_simd_t

template<typename Elt >
template<typename E >
using enable_if_no_simd_t = enable_if_t<Simd<E>::vect_size == 1>

◆ enable_if_simd128_t

template<typename Elt >
template<typename E >
using enable_if_simd128_t = enable_if_t<sizeof(E)*Simd<E>::vect_size == 16>

◆ enable_if_simd256_t

template<typename Elt >
template<typename E >
using enable_if_simd256_t = enable_if_t<sizeof(E)*Simd<E>::vect_size == 32>

◆ enable_if_simd512_t

template<typename Elt >
template<typename E >
using enable_if_simd512_t = enable_if_t<sizeof(E)*Simd<E>::vect_size == 64>

Constructor & Destructor Documentation

◆ Bench()

template<typename Elt >
Bench ( size_t m,
size_t n,
size_t iters,
bool inplace )
inline

Member Function Documentation

◆ cardinality() [1/2]

template<typename Elt >
template<typename _E = Elt, enable_if_t<!is_same< _E, Givaro::Integer >::value > * = nullptr>
static Residu cardinality ( )
inlinestatic

◆ cardinality() [2/2]

template<typename Elt >
template<typename _E = Elt, enable_if_t< is_same< _E, Givaro::Integer >::value > * = nullptr>
static Residu cardinality ( )
inlinestatic

◆ doBenchs()

template<typename Elt >
template<typename Simd = NoSimd<Elt>, enable_if_t< is_same_element< Simd >::value > * = nullptr>
void doBenchs ( )
inline

◆ run()

template<typename Elt >
template<typename _E = Elt, enable_if_t< is_same< _E, Elt >::value > * = nullptr, enable_if_no_simd_t< _E > * = nullptr>
void run ( bool allsimd)
inline

Field Documentation

◆ F

template<typename Elt >
Field F
protected

◆ m

template<typename Elt >
const size_t m
protected

◆ n

template<typename Elt >
const size_t n
protected

◆ iters

template<typename Elt >
const size_t iters
protected

◆ inplace

template<typename Elt >
const bool inplace
protected

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