AmpGen 2.1
Loading...
Searching...
No Matches
utils.h File Reference
#include <array>
#include <complex>
#include "AmpGen/Complex.h"

Go to the source code of this file.

Classes

struct  AmpGen::utils::is_vector_type< T >
 
struct  AmpGen::utils::size< T >
 
struct  AmpGen::utils::is_complex_type< T >
 
struct  AmpGen::utils::is_complex_type< AmpGen::Complex< T > >
 
struct  AmpGen::utils::is_std__complex< typename >
 
struct  AmpGen::utils::is_std__complex< std::complex< T > >
 

Namespaces

namespace  scalar
 
namespace  AmpGen
 
namespace  AmpGen::utils
 

Macros

#define INSTRUCTION_SET_SCALAR   0
 
#define INSTRUCTION_SET_AVX2f   1
 
#define INSTRUCTION_SET_AVX2d   2
 
#define INSTRUCTION_SET_AVX512d   3
 
#define INSTRUCTION_SET_ARM128d   10
 

Typedefs

using scalar::real_v = double
 
using scalar::complex_v = std::complex<double>
 
using AmpGen::real_v = AVX::real_v
 
using AmpGen::complex_v = AVX::complex_v
 

Functions

template<typename simd_type, typename container_type, typename functor_type>
simd_type AmpGen::utils::gather (const container_type &container, const functor_type &functor, unsigned offset=0, typename simd_type::scalar_type df=0.)
 
template<typename simd_type>
size_t AmpGen::utils::aligned_size (const size_t &unaligned_size)
 
template<typename simd_type>
auto AmpGen::utils::sum_elements (const simd_type &obj)
 
template<typename simd_type>
bool AmpGen::utils::all_of (const simd_type &obj)
 
template<typename simd_type, typename value_type>
bool AmpGen::utils::all_of (const simd_type &obj, const value_type &v)
 
template<typename T>
auto AmpGen::utils::make_complex (T &&re, T &&im)
 
template<unsigned p = 0, typename vtype>
auto AmpGen::utils::get (vtype v)
 
template<typename vtype>
auto AmpGen::utils::at (vtype v, const unsigned p=0)
 
template<typename T>
auto AmpGen::utils::norm (T &&value)
 
template<typename type, typename store_type>
void AmpGen::utils::store (store_type *container, const type &v)
 

Macro Definition Documentation

◆ INSTRUCTION_SET_ARM128d

#define INSTRUCTION_SET_ARM128d   10

Definition at line 12 of file utils.h.

◆ INSTRUCTION_SET_AVX2d

#define INSTRUCTION_SET_AVX2d   2

Definition at line 10 of file utils.h.

◆ INSTRUCTION_SET_AVX2f

#define INSTRUCTION_SET_AVX2f   1

Definition at line 9 of file utils.h.

◆ INSTRUCTION_SET_AVX512d

#define INSTRUCTION_SET_AVX512d   3

Definition at line 11 of file utils.h.

◆ INSTRUCTION_SET_SCALAR

#define INSTRUCTION_SET_SCALAR   0

Definition at line 8 of file utils.h.