Grid 0.7.0
Exchange Struct Reference

#include <Grid_a64fx-2.h>

Public Member Functions

 FLOAT_WRAP_EXCHANGE (Exchange0)
 FLOAT_WRAP_EXCHANGE (Exchange1)
 FLOAT_WRAP_EXCHANGE (Exchange2)
 FLOAT_WRAP_EXCHANGE (Exchange3)

Static Public Member Functions

template<typename T>
static void Exchange0 (vec< T > &out1, vec< T > &out2, const vec< T > &in1, const vec< T > &in2)
template<typename T>
static void Exchange1 (vec< T > &out1, vec< T > &out2, const vec< T > &in1, const vec< T > &in2)
template<typename T>
static void Exchange2 (vec< T > &out1, vec< T > &out2, const vec< T > &in1, const vec< T > &in2)
static void Exchange3 (vecf &out1, vecf &out2, const vecf &in1, const vecf &in2)
static void Exchange3 (vecd &out1, vecd &out2, const vecd &in1, const vecd &in2)
static void Exchange0 (vecf &out1, vecf &out2, vecf in1, vecf in2)
static void Exchange1 (vecf &out1, vecf &out2, vecf in1, vecf in2)
static void Exchange2 (vecf &out1, vecf &out2, vecf in1, vecf in2)
static void Exchange3 (vecf &out1, vecf &out2, vecf in1, vecf in2)
static void Exchange0 (vecd &out1, vecd &out2, vecd in1, vecd in2)
static void Exchange1 (vecd &out1, vecd &out2, vecd in1, vecd in2)
static void Exchange2 (vecd &out1, vecd &out2, vecd in1, vecd in2)
static void Exchange3 (vecd &out1, vecd &out2, vecd in1, vecd in2)
static void Exchange0 (__m256 &out1, __m256 &out2, __m256 in1, __m256 in2)
static void Exchange1 (__m256 &out1, __m256 &out2, __m256 in1, __m256 in2)
static void Exchange2 (__m256 &out1, __m256 &out2, __m256 in1, __m256 in2)
static void Exchange3 (__m256 &out1, __m256 &out2, __m256 in1, __m256 in2)
static void Exchange0 (__m256d &out1, __m256d &out2, __m256d in1, __m256d in2)
static void Exchange1 (__m256d &out1, __m256d &out2, __m256d in1, __m256d in2)
static void Exchange2 (__m256d &out1, __m256d &out2, __m256d in1, __m256d in2)
static void Exchange3 (__m256d &out1, __m256d &out2, __m256d in1, __m256d in2)
static void Exchange0 (__m512 &out1, __m512 &out2, __m512 in1, __m512 in2)
static void Exchange1 (__m512 &out1, __m512 &out2, __m512 in1, __m512 in2)
static void Exchange2 (__m512 &out1, __m512 &out2, __m512 in1, __m512 in2)
static void Exchange3 (__m512 &out1, __m512 &out2, __m512 in1, __m512 in2)
static void Exchange0 (__m512d &out1, __m512d &out2, __m512d in1, __m512d in2)
static void Exchange1 (__m512d &out1, __m512d &out2, __m512d in1, __m512d in2)
static void Exchange2 (__m512d &out1, __m512d &out2, __m512d in1, __m512d in2)
static void Exchange3 (__m512d &out1, __m512d &out2, __m512d in1, __m512d in2)
template<typename T, int n>
static accelerator_inline void ExchangeN (vec< T > &out1, vec< T > &out2, vec< T > &in1, vec< T > &in2)
template<typename T>
static accelerator_inline void Exchange0 (vec< T > &out1, vec< T > &out2, vec< T > &in1, vec< T > &in2)
template<typename T>
static accelerator_inline void Exchange1 (vec< T > &out1, vec< T > &out2, vec< T > &in1, vec< T > &in2)
template<typename T>
static accelerator_inline void Exchange2 (vec< T > &out1, vec< T > &out2, vec< T > &in1, vec< T > &in2)
template<typename T>
static accelerator_inline void Exchange3 (vec< T > &out1, vec< T > &out2, vec< T > &in1, vec< T > &in2)
static void Exchange0 (float32x4_t &out1, float32x4_t &out2, float32x4_t in1, float32x4_t in2)
static void Exchange1 (float32x4_t &out1, float32x4_t &out2, float32x4_t in1, float32x4_t in2)
static void Exchange2 (float32x4_t &out1, float32x4_t &out2, float32x4_t in1, float32x4_t in2)
static void Exchange3 (float32x4_t &out1, float32x4_t &out2, float32x4_t in1, float32x4_t in2)
static void Exchange0 (float64x2_t &out1, float64x2_t &out2, float64x2_t in1, float64x2_t in2)
static void Exchange1 (float64x2_t &out1, float64x2_t &out2, float64x2_t in1, float64x2_t in2)
static void Exchange2 (float64x2_t &out1, float64x2_t &out2, float64x2_t in1, float64x2_t in2)
static void Exchange3 (float64x2_t &out1, float64x2_t &out2, float64x2_t in1, float64x2_t in2)
static void Exchange0 (vector4double &out1, vector4double &out2, vector4double in1, vector4double in2)
static void Exchange1 (vector4double &out1, vector4double &out2, vector4double in1, vector4double in2)
static void Exchange2 (vector4double &out1, vector4double &out2, vector4double in1, vector4double in2)
static void Exchange3 (vector4double &out1, vector4double &out2, vector4double in1, vector4double in2)
static void Exchange0 (__m128 &out1, __m128 &out2, __m128 in1, __m128 in2)
static void Exchange1 (__m128 &out1, __m128 &out2, __m128 in1, __m128 in2)
static void Exchange2 (__m128 &out1, __m128 &out2, __m128 in1, __m128 in2)
static void Exchange3 (__m128 &out1, __m128 &out2, __m128 in1, __m128 in2)
static void Exchange0 (__m128d &out1, __m128d &out2, __m128d in1, __m128d in2)
static void Exchange1 (__m128d &out1, __m128d &out2, __m128d in1, __m128d in2)
static void Exchange2 (__m128d &out1, __m128d &out2, __m128d in1, __m128d in2)
static void Exchange3 (__m128d &out1, __m128d &out2, __m128d in1, __m128d in2)

Detailed Description

Definition at line 641 of file Grid_a64fx-2.h.

Member Function Documentation

◆ Exchange0() [1/13]

template<typename T>
void Exchange::Exchange0 ( vec< T > & out1,
vec< T > & out2,
const vec< T > & in1,
const vec< T > & in2 )
inlinestatic

Definition at line 645 of file Grid_a64fx-2.h.

References vec< T >::v.

Referenced by FLOAT_WRAP_EXCHANGE().

◆ Exchange1() [1/13]

template<typename T>
void Exchange::Exchange1 ( vec< T > & out1,
vec< T > & out2,
const vec< T > & in1,
const vec< T > & in2 )
inlinestatic

Definition at line 658 of file Grid_a64fx-2.h.

References vec< T >::v.

Referenced by FLOAT_WRAP_EXCHANGE().

◆ Exchange2() [1/13]

template<typename T>
void Exchange::Exchange2 ( vec< T > & out1,
vec< T > & out2,
const vec< T > & in1,
const vec< T > & in2 )
inlinestatic

Definition at line 685 of file Grid_a64fx-2.h.

References vec< T >::v.

Referenced by FLOAT_WRAP_EXCHANGE().

◆ Exchange3() [1/14]

void Exchange::Exchange3 ( vecf & out1,
vecf & out2,
const vecf & in1,
const vecf & in2 )
inlinestatic

Definition at line 695 of file Grid_a64fx-2.h.

References vec< T >::v.

Referenced by FLOAT_WRAP_EXCHANGE().

◆ Exchange3() [2/14]

void Exchange::Exchange3 ( vecd & out1,
vecd & out2,
const vecd & in1,
const vecd & in2 )
inlinestatic

Definition at line 705 of file Grid_a64fx-2.h.

◆ Exchange0() [2/13]

void Exchange::Exchange0 ( vecf & out1,
vecf & out2,
vecf in1,
vecf in2 )
inlinestatic

Definition at line 535 of file Grid_a64fx-fixedsize.h.

◆ Exchange1() [2/13]

void Exchange::Exchange1 ( vecf & out1,
vecf & out2,
vecf in1,
vecf in2 )
inlinestatic

Definition at line 541 of file Grid_a64fx-fixedsize.h.

◆ Exchange2() [2/13]

void Exchange::Exchange2 ( vecf & out1,
vecf & out2,
vecf in1,
vecf in2 )
inlinestatic

Definition at line 555 of file Grid_a64fx-fixedsize.h.

◆ Exchange3() [3/14]

void Exchange::Exchange3 ( vecf & out1,
vecf & out2,
vecf in1,
vecf in2 )
inlinestatic

Definition at line 559 of file Grid_a64fx-fixedsize.h.

◆ Exchange0() [3/13]

void Exchange::Exchange0 ( vecd & out1,
vecd & out2,
vecd in1,
vecd in2 )
inlinestatic

Definition at line 565 of file Grid_a64fx-fixedsize.h.

◆ Exchange1() [3/13]

void Exchange::Exchange1 ( vecd & out1,
vecd & out2,
vecd in1,
vecd in2 )
inlinestatic

Definition at line 571 of file Grid_a64fx-fixedsize.h.

◆ Exchange2() [3/13]

void Exchange::Exchange2 ( vecd & out1,
vecd & out2,
vecd in1,
vecd in2 )
inlinestatic

Definition at line 585 of file Grid_a64fx-fixedsize.h.

◆ Exchange3() [4/14]

void Exchange::Exchange3 ( vecd & out1,
vecd & out2,
vecd in1,
vecd in2 )
inlinestatic

Definition at line 589 of file Grid_a64fx-fixedsize.h.

◆ Exchange0() [4/13]

void Exchange::Exchange0 ( __m256 & out1,
__m256 & out2,
__m256 in1,
__m256 in2 )
inlinestatic

Definition at line 512 of file Grid_avx.h.

◆ Exchange1() [4/13]

void Exchange::Exchange1 ( __m256 & out1,
__m256 & out2,
__m256 in1,
__m256 in2 )
inlinestatic

Definition at line 519 of file Grid_avx.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange2() [4/13]

void Exchange::Exchange2 ( __m256 & out1,
__m256 & out2,
__m256 in1,
__m256 in2 )
inlinestatic

Definition at line 526 of file Grid_avx.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange3() [5/14]

void Exchange::Exchange3 ( __m256 & out1,
__m256 & out2,
__m256 in1,
__m256 in2 )
inlinestatic

Definition at line 539 of file Grid_avx.h.

◆ Exchange0() [5/13]

void Exchange::Exchange0 ( __m256d & out1,
__m256d & out2,
__m256d in1,
__m256d in2 )
inlinestatic

Definition at line 544 of file Grid_avx.h.

◆ Exchange1() [5/13]

void Exchange::Exchange1 ( __m256d & out1,
__m256d & out2,
__m256d in1,
__m256d in2 )
inlinestatic

Definition at line 549 of file Grid_avx.h.

◆ Exchange2() [5/13]

void Exchange::Exchange2 ( __m256d & out1,
__m256d & out2,
__m256d in1,
__m256d in2 )
inlinestatic

Definition at line 553 of file Grid_avx.h.

◆ Exchange3() [6/14]

void Exchange::Exchange3 ( __m256d & out1,
__m256d & out2,
__m256d in1,
__m256d in2 )
inlinestatic

Definition at line 557 of file Grid_avx.h.

◆ Exchange0() [6/13]

void Exchange::Exchange0 ( __m512 & out1,
__m512 & out2,
__m512 in1,
__m512 in2 )
inlinestatic

Definition at line 389 of file Grid_avx512.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange1() [6/13]

void Exchange::Exchange1 ( __m512 & out1,
__m512 & out2,
__m512 in1,
__m512 in2 )
inlinestatic

Definition at line 393 of file Grid_avx512.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange2() [6/13]

void Exchange::Exchange2 ( __m512 & out1,
__m512 & out2,
__m512 in1,
__m512 in2 )
inlinestatic

Definition at line 399 of file Grid_avx512.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange3() [7/14]

void Exchange::Exchange3 ( __m512 & out1,
__m512 & out2,
__m512 in1,
__m512 in2 )
inlinestatic

Definition at line 403 of file Grid_avx512.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange0() [7/13]

void Exchange::Exchange0 ( __m512d & out1,
__m512d & out2,
__m512d in1,
__m512d in2 )
inlinestatic

Definition at line 410 of file Grid_avx512.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange1() [7/13]

void Exchange::Exchange1 ( __m512d & out1,
__m512d & out2,
__m512d in1,
__m512d in2 )
inlinestatic

Definition at line 414 of file Grid_avx512.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange2() [7/13]

void Exchange::Exchange2 ( __m512d & out1,
__m512d & out2,
__m512d in1,
__m512d in2 )
inlinestatic

Definition at line 420 of file Grid_avx512.h.

◆ Exchange3() [8/14]

void Exchange::Exchange3 ( __m512d & out1,
__m512d & out2,
__m512d in1,
__m512d in2 )
inlinestatic

Definition at line 424 of file Grid_avx512.h.

◆ ExchangeN()

template<typename T, int n>
accelerator_inline void Exchange::ExchangeN ( vec< T > & out1,
vec< T > & out2,
vec< T > & in1,
vec< T > & in2 )
inlinestatic

Definition at line 345 of file Grid_generic.h.

References accelerator_inline, vec< T >::v, and VECTOR_FOR.

Referenced by Exchange0(), Exchange1(), Exchange2(), and Exchange3().

◆ Exchange0() [8/13]

template<typename T>
accelerator_inline void Exchange::Exchange0 ( vec< T > & out1,
vec< T > & out2,
vec< T > & in1,
vec< T > & in2 )
inlinestatic

Definition at line 359 of file Grid_generic.h.

References accelerator_inline, and ExchangeN().

◆ Exchange1() [8/13]

template<typename T>
accelerator_inline void Exchange::Exchange1 ( vec< T > & out1,
vec< T > & out2,
vec< T > & in1,
vec< T > & in2 )
inlinestatic

Definition at line 363 of file Grid_generic.h.

References accelerator_inline, and ExchangeN().

◆ Exchange2() [8/13]

template<typename T>
accelerator_inline void Exchange::Exchange2 ( vec< T > & out1,
vec< T > & out2,
vec< T > & in1,
vec< T > & in2 )
inlinestatic

Definition at line 367 of file Grid_generic.h.

References accelerator_inline, and ExchangeN().

◆ Exchange3() [9/14]

template<typename T>
accelerator_inline void Exchange::Exchange3 ( vec< T > & out1,
vec< T > & out2,
vec< T > & in1,
vec< T > & in2 )
inlinestatic

Definition at line 371 of file Grid_generic.h.

References accelerator_inline, and ExchangeN().

◆ Exchange0() [9/13]

void Exchange::Exchange0 ( float32x4_t & out1,
float32x4_t & out2,
float32x4_t in1,
float32x4_t in2 )
inlinestatic

Definition at line 471 of file Grid_neon.h.

◆ Exchange1() [9/13]

void Exchange::Exchange1 ( float32x4_t & out1,
float32x4_t & out2,
float32x4_t in1,
float32x4_t in2 )
inlinestatic

Definition at line 486 of file Grid_neon.h.

◆ Exchange2() [9/13]

void Exchange::Exchange2 ( float32x4_t & out1,
float32x4_t & out2,
float32x4_t in1,
float32x4_t in2 )
inlinestatic

Definition at line 492 of file Grid_neon.h.

◆ Exchange3() [10/14]

void Exchange::Exchange3 ( float32x4_t & out1,
float32x4_t & out2,
float32x4_t in1,
float32x4_t in2 )
inlinestatic

Definition at line 496 of file Grid_neon.h.

◆ Exchange0() [10/13]

void Exchange::Exchange0 ( float64x2_t & out1,
float64x2_t & out2,
float64x2_t in1,
float64x2_t in2 )
inlinestatic

Definition at line 501 of file Grid_neon.h.

◆ Exchange1() [10/13]

void Exchange::Exchange1 ( float64x2_t & out1,
float64x2_t & out2,
float64x2_t in1,
float64x2_t in2 )
inlinestatic

Definition at line 507 of file Grid_neon.h.

◆ Exchange2() [10/13]

void Exchange::Exchange2 ( float64x2_t & out1,
float64x2_t & out2,
float64x2_t in1,
float64x2_t in2 )
inlinestatic

Definition at line 511 of file Grid_neon.h.

◆ Exchange3() [11/14]

void Exchange::Exchange3 ( float64x2_t & out1,
float64x2_t & out2,
float64x2_t in1,
float64x2_t in2 )
inlinestatic

Definition at line 515 of file Grid_neon.h.

◆ Exchange0() [11/13]

void Exchange::Exchange0 ( vector4double & out1,
vector4double & out2,
vector4double in1,
vector4double in2 )
inlinestatic

Definition at line 431 of file Grid_qpx.h.

◆ Exchange1() [11/13]

void Exchange::Exchange1 ( vector4double & out1,
vector4double & out2,
vector4double in1,
vector4double in2 )
inlinestatic

Definition at line 436 of file Grid_qpx.h.

◆ Exchange2() [11/13]

void Exchange::Exchange2 ( vector4double & out1,
vector4double & out2,
vector4double in1,
vector4double in2 )
inlinestatic

Definition at line 441 of file Grid_qpx.h.

◆ Exchange3() [12/14]

void Exchange::Exchange3 ( vector4double & out1,
vector4double & out2,
vector4double in1,
vector4double in2 )
inlinestatic

Definition at line 445 of file Grid_qpx.h.

◆ FLOAT_WRAP_EXCHANGE() [1/4]

Exchange::FLOAT_WRAP_EXCHANGE ( Exchange0 )

References Exchange0().

◆ FLOAT_WRAP_EXCHANGE() [2/4]

Exchange::FLOAT_WRAP_EXCHANGE ( Exchange1 )

References Exchange1().

◆ FLOAT_WRAP_EXCHANGE() [3/4]

Exchange::FLOAT_WRAP_EXCHANGE ( Exchange2 )

References Exchange2().

◆ FLOAT_WRAP_EXCHANGE() [4/4]

Exchange::FLOAT_WRAP_EXCHANGE ( Exchange3 )

References Exchange3().

◆ Exchange0() [12/13]

void Exchange::Exchange0 ( __m128 & out1,
__m128 & out2,
__m128 in1,
__m128 in2 )
inlinestatic

Definition at line 397 of file Grid_sse4.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange1() [12/13]

void Exchange::Exchange1 ( __m128 & out1,
__m128 & out2,
__m128 in1,
__m128 in2 )
inlinestatic

Definition at line 401 of file Grid_sse4.h.

References _MM_SELECT_FOUR_FOUR.

◆ Exchange2() [12/13]

void Exchange::Exchange2 ( __m128 & out1,
__m128 & out2,
__m128 in1,
__m128 in2 )
inlinestatic

Definition at line 407 of file Grid_sse4.h.

◆ Exchange3() [13/14]

void Exchange::Exchange3 ( __m128 & out1,
__m128 & out2,
__m128 in1,
__m128 in2 )
inlinestatic

Definition at line 411 of file Grid_sse4.h.

◆ Exchange0() [13/13]

void Exchange::Exchange0 ( __m128d & out1,
__m128d & out2,
__m128d in1,
__m128d in2 )
inlinestatic

Definition at line 416 of file Grid_sse4.h.

◆ Exchange1() [13/13]

void Exchange::Exchange1 ( __m128d & out1,
__m128d & out2,
__m128d in1,
__m128d in2 )
inlinestatic

Definition at line 420 of file Grid_sse4.h.

◆ Exchange2() [13/13]

void Exchange::Exchange2 ( __m128d & out1,
__m128d & out2,
__m128d in1,
__m128d in2 )
inlinestatic

Definition at line 424 of file Grid_sse4.h.

◆ Exchange3() [14/14]

void Exchange::Exchange3 ( __m128d & out1,
__m128d & out2,
__m128d in1,
__m128d in2 )
inlinestatic

Definition at line 428 of file Grid_sse4.h.


The documentation for this struct was generated from the following files: