vSMC
vSMC: Scalable Monte Carlo
Namespaces | Macros | Functions
m128i.hpp File Reference
#include <vsmc/rng/internal/common.hpp>
#include <emmintrin.h>

Go to the source code of this file.

Namespaces

 vsmc
 

Macros

#define VSMC_STATIC_ASSERT_RNG_M128I_PACK(Offset, T, N)
 

Functions

template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & vsmc::m128i_input (std::basic_istream< CharT, Traits > &is, __m128i &a)
 Input an __m128i object from an input stream as 16 bytes unsigned integers written by m128i_output. More...
 
bool vsmc::m128i_is_equal (const __m128i &a, const __m128i &b)
 Compare two __m128i objects. More...
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & vsmc::m128i_output (std::basic_ostream< CharT, Traits > &os, const __m128i &a)
 Write an __m128i object into an output stream as 16 bytes unsigned integers. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack (const Array< T, N > &c, __m128i &m)
 Pack an Array into an __m128i object. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack_a (const Array< T, N > &c, __m128i &m)
 Aligned pack. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_pack_u (const Array< T, N > &c, __m128i &m)
 Unaligned pack. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack (const __m128i &m, Array< T, N > &c)
 Unpack an __m128i object into an Array. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack_a (const __m128i &m, Array< T, N > &c)
 Aligned unpack. More...
 
template<std::size_t Offset, typename T , std::size_t N>
void vsmc::m128i_unpack_u (const __m128i &m, Array< T, N > &c)
 Unaligned unpack. More...
 

Macro Definition Documentation

#define VSMC_STATIC_ASSERT_RNG_M128I_PACK (   Offset,
  T,
 
)
Value:
((Offset < N) && (sizeof(T) * (N - Offset) >= sizeof(__m128i))), \
TRY_TO_PACK_OR_UNPACK_A_TOO_SMALL_VECTOR_INTO_OR_FROM_m128i)
#define VSMC_STATIC_ASSERT(cond, msg)
Definition: assert.hpp:46

Definition at line 38 of file m128i.hpp.