FflasFfpack
Data Structures | Typedefs | Functions
test-simd.C File Reference
#include "givaro/givinteger.h"
#include "fflas-ffpack/fflas-ffpack-config.h"
#include "fflas-ffpack/fflas/fflas_simd.h"
#include "fflas-ffpack/utils/args-parser.h"
#include "fflas-ffpack/utils/align-allocator.h"
#include <vector>
#include <algorithm>
#include <random>
#include <tuple>
#include <type_traits>
#include <string>
#include <iterator>
#include <limits>
#include <cmath>
#include <iomanip>

Data Structures

struct  function_traits< F >
 
struct  function_traits< R(*)(Args...)>
 
struct  function_traits< R(Args...)>
 
struct  function_traits< R(Args...)>::argument< N >
 
struct  function_traits< R(C::*)(Args...)>
 
struct  function_traits< R(C::*)(Args...) const >
 
struct  function_traits< R(C::*)>
 

Typedefs

typedef Givaro::Integer integer
 

Functions

template<class Element , class Alloc >
std::enable_if< std::is_integral< Element >::value >::type generate_random (std::vector< Element, Alloc > &a, std::mt19937 &generator)
 
template<class Element , class Alloc >
std::enable_if< std::is_floating_point< Element >::value >::type generate_random (std::vector< Element, Alloc > &a, std::mt19937 &generator)
 
template<class SimdFunc >
void print_arity (SimdFunc f)
 
template<class simd , class Element , class SimdFunc , class ScalFunc >
std::enable_if<(function_traits< SimdFunc >::arity==0) &&!(std::is_same< typename function_traits< SimdFunc >::return_type, void >::value), bool >::type test_op (SimdFunc &&fsimd, ScalFunc &&fscal, size_t seed, size_t vectorSize, Element max, std::string name)
 
template<class simd , class Element , class SimdFunc , class ScalFunc >
std::enable_if<(function_traits< SimdFunc >::arity==1) &&!(std::is_same< typename function_traits< SimdFunc >::return_type, void >::value), bool >::type test_op (SimdFunc fsimd, ScalFunc fscal, size_t seed, size_t vectorSize, Element max, std::string name)
 
template<class simd , class Element , class SimdFunc , class ScalFunc >
std::enable_if<(function_traits< SimdFunc >::arity==2) &&!(std::is_same< typename function_traits< SimdFunc >::return_type, void >::value), bool >::type test_op (SimdFunc fsimd, ScalFunc fscal, size_t seed, size_t vectorSize, Element max, std::string name)
 
template<class simd , class Element , class SimdFunc , class ScalFunc >
std::enable_if<(function_traits< SimdFunc >::arity==3) &&!(std::is_same< typename function_traits< SimdFunc >::return_type, void >::value), bool >::type test_op (SimdFunc fsimd, ScalFunc fscal, size_t seed, size_t vectorSize, Element max, std::string name)
 
template<class simd , class Element >
bool test_float_impl (size_t seed, size_t vectorSize, Element max)
 
template<typename simd >
simd::vect_t mysra (typename simd::vect_t x1)
 
template<class simd , class Element >
bool test_integer_impl (size_t seed, size_t vectorSize, Element max)
 
template<class Element >
bool test_float (size_t seed, size_t vectorSize, size_t max_)
 
template<class Element >
bool test_integer (size_t seed, size_t vectorSize, size_t max_)
 
int main (int ac, char **av)
 

Typedef Documentation

§ integer

typedef Givaro::Integer integer

Function Documentation

§ generate_random() [1/2]

std::enable_if<std::is_integral<Element>::value>::type generate_random ( std::vector< Element, Alloc > &  a,
std::mt19937 &  generator 
)

§ generate_random() [2/2]

std::enable_if<std::is_floating_point<Element>::value>::type generate_random ( std::vector< Element, Alloc > &  a,
std::mt19937 &  generator 
)

§ print_arity()

void print_arity ( SimdFunc  f)

§ test_op() [1/4]

std::enable_if<(function_traits<SimdFunc>::arity == 0) &&!(std::is_same<typename function_traits<SimdFunc>::return_type, void>::value), bool>::type test_op ( SimdFunc &&  fsimd,
ScalFunc &&  fscal,
size_t  seed,
size_t  vectorSize,
Element  max,
std::string  name 
)
inline

§ test_op() [2/4]

std::enable_if<(function_traits<SimdFunc>::arity == 1) &&!(std::is_same<typename function_traits<SimdFunc>::return_type, void>::value), bool>::type test_op ( SimdFunc  fsimd,
ScalFunc  fscal,
size_t  seed,
size_t  vectorSize,
Element  max,
std::string  name 
)
inline

§ test_op() [3/4]

std::enable_if<(function_traits<SimdFunc>::arity == 2) &&!(std::is_same<typename function_traits<SimdFunc>::return_type, void>::value), bool>::type test_op ( SimdFunc  fsimd,
ScalFunc  fscal,
size_t  seed,
size_t  vectorSize,
Element  max,
std::string  name 
)
inline

§ test_op() [4/4]

std::enable_if<(function_traits<SimdFunc>::arity == 3) &&!(std::is_same<typename function_traits<SimdFunc>::return_type, void>::value), bool>::type test_op ( SimdFunc  fsimd,
ScalFunc  fscal,
size_t  seed,
size_t  vectorSize,
Element  max,
std::string  name 
)
inline

§ test_float_impl()

bool test_float_impl ( size_t  seed,
size_t  vectorSize,
Element  max 
)

§ mysra()

simd::vect_t mysra ( typename simd::vect_t  x1)

§ test_integer_impl()

bool test_integer_impl ( size_t  seed,
size_t  vectorSize,
Element  max 
)

§ test_float()

bool test_float ( size_t  seed,
size_t  vectorSize,
size_t  max_ 
)

§ test_integer()

bool test_integer ( size_t  seed,
size_t  vectorSize,
size_t  max_ 
)

§ main()

int main ( int  ac,
char **  av 
)