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

typedef Givaro::Integer integer

Function Documentation

std::enable_if<std::is_integral<Element>::value>::type generate_random ( std::vector< Element, Alloc > &  a,
std::mt19937 &  generator 
)
std::enable_if<std::is_floating_point<Element>::value>::type generate_random ( std::vector< Element, Alloc > &  a,
std::mt19937 &  generator 
)
void print_arity ( SimdFunc  f)
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
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
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
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
bool test_float_impl ( size_t  seed,
size_t  vectorSize,
Element  max 
)
simd::vect_t mysra ( typename simd::vect_t  x1)
bool test_integer_impl ( size_t  seed,
size_t  vectorSize,
Element  max 
)
bool test_float ( size_t  seed,
size_t  vectorSize,
size_t  max_ 
)
bool test_integer ( size_t  seed,
size_t  vectorSize,
size_t  max_ 
)
int main ( int  ac,
char **  av 
)