FflasFfpack
Data Structures | Namespaces | Macros | Typedefs
fflas_simd.h File Reference
#include "fflas-ffpack/utils/fflas_intrinsic.h"
#include <iostream>
#include <type_traits>
#include <limits>
#include "fflas-ffpack/fflas-ffpack-config.h"
#include "fflas-ffpack/utils/debug.h"
#include "fflas-ffpack/utils/align-allocator.h"
#include <vector>
#include "givaro/givtypestring.h"
#include <fflas-ffpack/fflas/fflas_simd/simd_modular.inl>

Data Structures

struct  support_simd< T >
 
struct  is_simd< T >
 
struct  NoSimd< T >
 
struct  SimdChooser< T, bool, bool >
 
struct  SimdChooser< T, false, b >
 
struct  SimdChooser< T, true, false >
 
struct  SimdChooser< T, true, true >
 

Namespaces

namespace  FFLAS
 

Macros

#define SIMD_INT   1
 
#define INLINE   inline
 
#define CONST
 
#define PURE
 
#define NORML_MOD(C, P, NEGP, MIN, MAX, Q, T)
 
#define FLOAT_MOD(C, P, INVP, Q)
 

Typedefs

template<class T >
using Simd = typename SimdChooser< T >::value
 

Macro Definition Documentation

◆ SIMD_INT

#define SIMD_INT   1

◆ INLINE

#define INLINE   inline

◆ CONST

#define CONST

◆ PURE

#define PURE

◆ NORML_MOD

#define NORML_MOD (   C,
  P,
  NEGP,
  MIN,
  MAX,
  Q,
 
)
Value:
{ \
Q = greater(C, MAX); \
T = lesser(C, MIN); \
Q = vand(Q, NEGP); \
T = vand(T, P); \
Q = vor(Q, T); \
C = add(C, Q); \
}
size_t add(const size_t x, const size_t y)
Definition: test-paladin-task.C:37

◆ FLOAT_MOD

#define FLOAT_MOD (   C,
  P,
  INVP,
 
)
Value:
{ \
Q = mul(C, INVP); \
Q = floor(Q); \
C = fnmadd(C, Q, P); \
}

Typedef Documentation

◆ Simd

using Simd = typename SimdChooser<T>::value