Grid 0.7.0
Grid_vector_types.h File Reference

Defines templated class Grid_simd to deal with inner vector types. More...

#include <type_traits>

Go to the source code of this file.

Data Structures

struct  Grid_half
union  FP32
struct  RealPart< T >
struct  RealPart< complex< T > >
struct  is_complex< T >
struct  is_complex< ComplexD >
struct  is_complex< ComplexF >
struct  is_ComplexD< T >
struct  is_ComplexD< ComplexD >
struct  is_ComplexF< T >
struct  is_ComplexF< ComplexF >
struct  is_real< T, V >
struct  is_real< T, typename std::enable_if< std::is_floating_point< T >::value, void >::type >
struct  is_integer< T, V >
struct  is_integer< T, typename std::enable_if< std::is_integral< T >::value, void >::type >
class  Grid_simd< Scalar_type, Vector_type >
class  ExtractTypeMap< _scalar >
struct  toRealMapper< T >
struct  toRealMapper< vComplexF >
struct  toRealMapper< vComplexD >
struct  toComplexMapper< T >
struct  toComplexMapper< vRealF >
struct  toComplexMapper< vRealD >

Typedefs

template<typename T>
using Invoke
template<typename Condition, typename ReturnType = void>
using EnableIf
template<typename Condition, typename ReturnType = void>
using NotEnableIf
template<typename T>
using IfReal
template<typename T>
using IfComplex
template<typename T>
using IfInteger
template<typename T1, typename T2>
using IfSame
template<typename T>
using IfNotReal
template<typename T>
using IfNotComplex
template<typename T>
using IfNotInteger
template<typename T1, typename T2>
using IfNotSame
typedef Grid_simd< float, SIMD_FtypevRealF
typedef Grid_simd< double, SIMD_DtypevRealD
typedef Grid_simd< Integer, SIMD_ItypevInteger
typedef Grid_simd< uint16_t, SIMD_HtypevRealH
typedef Grid_simd< complex< uint16_t >, SIMD_HtypevComplexH
typedef Grid_simd< complex< float >, SIMD_FtypevComplexF
typedef Grid_simd< complex< double >, SIMD_DtypevComplexD

Functions

accelerator_inline float sfw_half_to_float (Grid_half h)
accelerator_inline Grid_half sfw_float_to_half (float ff)
 NAMESPACE_BEGIN (Grid)
template<class Out, class Input1, class Input2, class Input3, class Operation>
Out accelerator_inline trinary (Input1 src_1, Input2 src_2, Input3 src_3, Operation op)
template<class Out, class Input1, class Input2, class Operation>
Out accelerator_inline binary (Input1 src_1, Input2 src_2, Operation op)
template<class Out, class Input, class Operation>
Out accelerator_inline unary (Input src, Operation op)
accelerator_inline void permute (ComplexD &y, ComplexD b, int perm)
accelerator_inline void permute (ComplexF &y, ComplexF b, int perm)
accelerator_inline void permute (RealD &y, RealD b, int perm)
accelerator_inline void permute (RealF &y, RealF b, int perm)
template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > rotate (Grid_simd< S, V > b, int nrot)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > rotate (Grid_simd< S, V > b, int nrot)
template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline void rotate (Grid_simd< S, V > &ret, Grid_simd< S, V > b, int nrot)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void rotate (Grid_simd< S, V > &ret, Grid_simd< S, V > b, int nrot)
template<class S, class V>
accelerator_inline void vbroadcast (Grid_simd< S, V > &ret, const Grid_simd< S, V > &src, int lane)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void rbroadcast (Grid_simd< S, V > &ret, const Grid_simd< S, V > &src, int lane)
template<class S, class V, IfComplex< S > = 0, class ABtype>
accelerator_inline void vsplat (Grid_simd< S, V > &ret, ABtype a, ABtype b)
template<class S, class V>
accelerator_inline void vsplat (Grid_simd< S, V > &ret, EnableIf< is_complex< S >, S > c)
template<class S, class V>
accelerator_inline void rsplat (Grid_simd< S, V > &ret, EnableIf< is_complex< S >, S > c)
template<class S, class V>
accelerator_inline void vsplat (Grid_simd< S, V > &ret, NotEnableIf< is_complex< S >, S > a)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vone (Grid_simd< S, V > &ret)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vzero (Grid_simd< S, V > &ret)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vcomplex_i (Grid_simd< S, V > &ret)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void visign (Grid_simd< S, V > &ret)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vrsign (Grid_simd< S, V > &ret)
template<class S, class V, IfReal< S > = 0>
accelerator_inline void vone (Grid_simd< S, V > &ret)
template<class S, class V, IfReal< S > = 0>
accelerator_inline void vzero (Grid_simd< S, V > &ret)
template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vone (Grid_simd< S, V > &ret)
template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vzero (Grid_simd< S, V > &ret)
template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vtrue (Grid_simd< S, V > &ret)
template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vfalse (Grid_simd< S, V > &ret)
template<class S, class V>
accelerator_inline void zeroit (Grid_simd< S, V > &z)
template<class S, class V, IfReal< S > = 0>
accelerator_inline void vstream (Grid_simd< S, V > &out, const Grid_simd< S, V > &in)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vstream (Grid_simd< S, V > &out, const Grid_simd< S, V > &in)
template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vstream (Grid_simd< S, V > &out, const Grid_simd< S, V > &in)
template<class S, class V>
accelerator_inline Grid_simd< S, V > operator+ (Grid_simd< S, V > a, Grid_simd< S, V > b)
template<class S, class V>
accelerator_inline Grid_simd< S, V > operator- (Grid_simd< S, V > a, Grid_simd< S, V > b)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > real_mult (Grid_simd< S, V > a, Grid_simd< S, V > b)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > real_madd (Grid_simd< S, V > a, Grid_simd< S, V > b, Grid_simd< S, V > c)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > operator* (Grid_simd< S, V > a, Grid_simd< S, V > b)
template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > operator* (Grid_simd< S, V > a, Grid_simd< S, V > b)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > conjugate (const Grid_simd< S, V > &in)
template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > conjugate (const Grid_simd< S, V > &in)
template<class S, class V, IfNotInteger< S > = 0>
accelerator_inline Grid_simd< S, V > adj (const Grid_simd< S, V > &in)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void timesMinusI (Grid_simd< S, V > &ret, const Grid_simd< S, V > &in)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > timesMinusI (const Grid_simd< S, V > &in)
template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > timesMinusI (const Grid_simd< S, V > &in)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline void timesI (Grid_simd< S, V > &ret, const Grid_simd< S, V > &in)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > timesI (const Grid_simd< S, V > &in)
template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > timesI (const Grid_simd< S, V > &in)
template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > operator/ (Grid_simd< S, V > a, Grid_simd< S, V > b)
template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > operator/ (Grid_simd< S, V > a, Grid_simd< S, V > b)
template<class S, class V>
accelerator_inline Grid_simd< S, V > innerProduct (const Grid_simd< S, V > &l, const Grid_simd< S, V > &r)
template<class S, class V>
accelerator_inline Grid_simd< S, V > outerProduct (const Grid_simd< S, V > &l, const Grid_simd< S, V > &r)
template<class S, class V>
accelerator_inline Grid_simd< S, V > trace (const Grid_simd< S, V > &arg)
template<class Csimd>
accelerator_inline toRealMapper< Csimd >::Realified toReal (const Csimd &in)
template<class Rsimd>
accelerator_inline toComplexMapper< Rsimd >::Complexified toComplex (const Rsimd &in)
accelerator_inline void precisionChange (vRealF *out, const vRealD *in, int nvec)
accelerator_inline void precisionChange (vRealH *out, const vRealD *in, int nvec)
accelerator_inline void precisionChange (vRealH *out, const vRealF *in, int nvec)
accelerator_inline void precisionChange (vRealD *out, const vRealF *in, int nvec)
accelerator_inline void precisionChange (vRealD *out, const vRealH *in, int nvec)
accelerator_inline void precisionChange (vRealF *out, const vRealH *in, int nvec)
accelerator_inline void precisionChange (vComplexF *out, const vComplexD *in, int nvec)
accelerator_inline void precisionChange (vComplexH *out, const vComplexD *in, int nvec)
accelerator_inline void precisionChange (vComplexH *out, const vComplexF *in, int nvec)
accelerator_inline void precisionChange (vComplexD *out, const vComplexF *in, int nvec)
accelerator_inline void precisionChange (vComplexD *out, const vComplexH *in, int nvec)
accelerator_inline void precisionChange (vComplexF *out, const vComplexH *in, int nvec)
template<class vobj>
void gpermute (vobj &inout, int perm)
 NAMESPACE_END (Grid)

Detailed Description

Defines templated class Grid_simd to deal with inner vector types.

Definition in file Grid_vector_types.h.

Typedef Documentation

◆ Invoke

template<typename T>
using Invoke

Definition at line 191 of file Grid_vector_types.h.

◆ EnableIf

template<typename Condition, typename ReturnType = void>
using EnableIf

Definition at line 192 of file Grid_vector_types.h.

◆ NotEnableIf

template<typename Condition, typename ReturnType = void>
using NotEnableIf

Definition at line 193 of file Grid_vector_types.h.

◆ IfReal

template<typename T>
using IfReal

Definition at line 215 of file Grid_vector_types.h.

◆ IfComplex

template<typename T>
using IfComplex

Definition at line 216 of file Grid_vector_types.h.

◆ IfInteger

template<typename T>
using IfInteger

Definition at line 217 of file Grid_vector_types.h.

◆ IfSame

template<typename T1, typename T2>
using IfSame

Definition at line 218 of file Grid_vector_types.h.

◆ IfNotReal

template<typename T>
using IfNotReal

Definition at line 220 of file Grid_vector_types.h.

◆ IfNotComplex

template<typename T>
using IfNotComplex

Definition at line 221 of file Grid_vector_types.h.

◆ IfNotInteger

template<typename T>
using IfNotInteger

Definition at line 222 of file Grid_vector_types.h.

◆ IfNotSame

template<typename T1, typename T2>
using IfNotSame

Definition at line 223 of file Grid_vector_types.h.

◆ vRealF

typedef Grid_simd<float , SIMD_Ftype> vRealF

Definition at line 659 of file Grid_vector_types.h.

◆ vRealD

typedef Grid_simd<double , SIMD_Dtype> vRealD

Definition at line 660 of file Grid_vector_types.h.

◆ vInteger

Definition at line 661 of file Grid_vector_types.h.

◆ vRealH

typedef Grid_simd<uint16_t,SIMD_Htype> vRealH

Definition at line 662 of file Grid_vector_types.h.

◆ vComplexH

typedef Grid_simd<complex<uint16_t>, SIMD_Htype> vComplexH

Definition at line 669 of file Grid_vector_types.h.

◆ vComplexF

Definition at line 670 of file Grid_vector_types.h.

◆ vComplexD

typedef Grid_simd<complex<double> , SIMD_Dtype> vComplexD

Definition at line 671 of file Grid_vector_types.h.

Function Documentation

◆ sfw_half_to_float()

accelerator_inline float sfw_half_to_float ( Grid_half h)

Definition at line 52 of file Grid_vector_types.h.

References accelerator_inline, exp(), FP32::f, FP32::u, and Grid_half::x.

Referenced by Grid::half2float().

◆ sfw_float_to_half()

accelerator_inline Grid_half sfw_float_to_half ( float ff)

Definition at line 69 of file Grid_vector_types.h.

References accelerator_inline, FP32::f, FP32::u, and Grid_half::x.

Referenced by Grid::float2half().

◆ NAMESPACE_BEGIN()

NAMESPACE_BEGIN ( Grid )

◆ trinary()

template<class Out, class Input1, class Input2, class Input3, class Operation>
Out accelerator_inline trinary ( Input1 src_1,
Input2 src_2,
Input3 src_3,
Operation op )

Definition at line 231 of file Grid_vector_types.h.

References accelerator_inline.

Referenced by real_madd().

◆ binary()

template<class Out, class Input1, class Input2, class Operation>
Out accelerator_inline binary ( Input1 src_1,
Input2 src_2,
Operation op )

◆ unary()

template<class Out, class Input, class Operation>
Out accelerator_inline unary ( Input src,
Operation op )

◆ permute() [1/4]

◆ permute() [2/4]

accelerator_inline void permute ( ComplexF & y,
ComplexF b,
int perm )

Definition at line 689 of file Grid_vector_types.h.

References accelerator_inline, and perm.

◆ permute() [3/4]

accelerator_inline void permute ( RealD & y,
RealD b,
int perm )

Definition at line 690 of file Grid_vector_types.h.

References accelerator_inline, and perm.

◆ permute() [4/4]

accelerator_inline void permute ( RealF & y,
RealF b,
int perm )

Definition at line 691 of file Grid_vector_types.h.

References accelerator_inline, and perm.

◆ rotate() [1/4]

template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > rotate ( Grid_simd< S, V > b,
int nrot )

◆ rotate() [2/4]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > rotate ( Grid_simd< S, V > b,
int nrot )

◆ rotate() [3/4]

template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline void rotate ( Grid_simd< S, V > & ret,
Grid_simd< S, V > b,
int nrot )

◆ rotate() [4/4]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void rotate ( Grid_simd< S, V > & ret,
Grid_simd< S, V > b,
int nrot )

◆ vbroadcast()

template<class S, class V>
accelerator_inline void vbroadcast ( Grid_simd< S, V > & ret,
const Grid_simd< S, V > & src,
int lane )

Definition at line 724 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ rbroadcast()

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void rbroadcast ( Grid_simd< S, V > & ret,
const Grid_simd< S, V > & src,
int lane )

◆ vsplat() [1/3]

◆ vsplat() [2/3]

template<class S, class V>
accelerator_inline void vsplat ( Grid_simd< S, V > & ret,
EnableIf< is_complex< S >, S > c )

Definition at line 748 of file Grid_vector_types.h.

References accelerator_inline, imag(), real(), and vsplat().

◆ rsplat()

template<class S, class V>
accelerator_inline void rsplat ( Grid_simd< S, V > & ret,
EnableIf< is_complex< S >, S > c )

Definition at line 752 of file Grid_vector_types.h.

References accelerator_inline, real(), and vsplat().

◆ vsplat() [3/3]

template<class S, class V>
accelerator_inline void vsplat ( Grid_simd< S, V > & ret,
NotEnableIf< is_complex< S >, S > a )

◆ vone() [1/3]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vone ( Grid_simd< S, V > & ret)

Definition at line 770 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ vzero() [1/3]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vzero ( Grid_simd< S, V > & ret)

◆ vcomplex_i()

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vcomplex_i ( Grid_simd< S, V > & ret)

Definition at line 778 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ visign()

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void visign ( Grid_simd< S, V > & ret)

Definition at line 783 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ vrsign()

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vrsign ( Grid_simd< S, V > & ret)

Definition at line 787 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ vone() [2/3]

template<class S, class V, IfReal< S > = 0>
accelerator_inline void vone ( Grid_simd< S, V > & ret)

Definition at line 793 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ vzero() [2/3]

template<class S, class V, IfReal< S > = 0>
accelerator_inline void vzero ( Grid_simd< S, V > & ret)

Definition at line 797 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ vone() [3/3]

template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vone ( Grid_simd< S, V > & ret)

Definition at line 803 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ vzero() [3/3]

template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vzero ( Grid_simd< S, V > & ret)

Definition at line 807 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ vtrue()

template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vtrue ( Grid_simd< S, V > & ret)

Definition at line 811 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ vfalse()

template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vfalse ( Grid_simd< S, V > & ret)

Definition at line 815 of file Grid_vector_types.h.

References accelerator_inline, and vsplat().

◆ zeroit()

template<class S, class V>
accelerator_inline void zeroit ( Grid_simd< S, V > & z)

Definition at line 819 of file Grid_vector_types.h.

References accelerator_inline, and vzero().

◆ vstream() [1/3]

template<class S, class V, IfReal< S > = 0>
accelerator_inline void vstream ( Grid_simd< S, V > & out,
const Grid_simd< S, V > & in )

◆ vstream() [2/3]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void vstream ( Grid_simd< S, V > & out,
const Grid_simd< S, V > & in )

◆ vstream() [3/3]

template<class S, class V, IfInteger< S > = 0>
accelerator_inline void vstream ( Grid_simd< S, V > & out,
const Grid_simd< S, V > & in )

Definition at line 836 of file Grid_vector_types.h.

References accelerator_inline.

◆ operator+()

template<class S, class V>
accelerator_inline Grid_simd< S, V > operator+ ( Grid_simd< S, V > a,
Grid_simd< S, V > b )

◆ operator-()

template<class S, class V>
accelerator_inline Grid_simd< S, V > operator- ( Grid_simd< S, V > a,
Grid_simd< S, V > b )

◆ real_mult()

template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > real_mult ( Grid_simd< S, V > a,
Grid_simd< S, V > b )

◆ real_madd()

template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > real_madd ( Grid_simd< S, V > a,
Grid_simd< S, V > b,
Grid_simd< S, V > c )

◆ operator*() [1/2]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > operator* ( Grid_simd< S, V > a,
Grid_simd< S, V > b )

◆ operator*() [2/2]

template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > operator* ( Grid_simd< S, V > a,
Grid_simd< S, V > b )

◆ conjugate() [1/2]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > conjugate ( const Grid_simd< S, V > & in)

◆ conjugate() [2/2]

template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > conjugate ( const Grid_simd< S, V > & in)

Definition at line 919 of file Grid_vector_types.h.

References accelerator_inline.

◆ adj()

template<class S, class V, IfNotInteger< S > = 0>
accelerator_inline Grid_simd< S, V > adj ( const Grid_simd< S, V > & in)

Definition at line 924 of file Grid_vector_types.h.

References accelerator_inline, and conjugate().

◆ timesMinusI() [1/3]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void timesMinusI ( Grid_simd< S, V > & ret,
const Grid_simd< S, V > & in )

◆ timesMinusI() [2/3]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > timesMinusI ( const Grid_simd< S, V > & in)

◆ timesMinusI() [3/3]

template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > timesMinusI ( const Grid_simd< S, V > & in)

Definition at line 942 of file Grid_vector_types.h.

References accelerator_inline.

◆ timesI() [1/3]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline void timesI ( Grid_simd< S, V > & ret,
const Grid_simd< S, V > & in )

◆ timesI() [2/3]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > timesI ( const Grid_simd< S, V > & in)

◆ timesI() [3/3]

template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > timesI ( const Grid_simd< S, V > & in)

Definition at line 959 of file Grid_vector_types.h.

References accelerator_inline.

◆ operator/() [1/2]

template<class S, class V, IfComplex< S > = 0>
accelerator_inline Grid_simd< S, V > operator/ ( Grid_simd< S, V > a,
Grid_simd< S, V > b )

Definition at line 966 of file Grid_vector_types.h.

References accelerator_inline, binary(), conjugate(), and toReal().

◆ operator/() [2/2]

template<class S, class V, IfNotComplex< S > = 0>
accelerator_inline Grid_simd< S, V > operator/ ( Grid_simd< S, V > a,
Grid_simd< S, V > b )

◆ innerProduct()

template<class S, class V>
accelerator_inline Grid_simd< S, V > innerProduct ( const Grid_simd< S, V > & l,
const Grid_simd< S, V > & r )

Definition at line 996 of file Grid_vector_types.h.

References accelerator_inline, and conjugate().

◆ outerProduct()

template<class S, class V>
accelerator_inline Grid_simd< S, V > outerProduct ( const Grid_simd< S, V > & l,
const Grid_simd< S, V > & r )

Definition at line 1000 of file Grid_vector_types.h.

References accelerator_inline, and conjugate().

◆ trace()

template<class S, class V>
accelerator_inline Grid_simd< S, V > trace ( const Grid_simd< S, V > & arg)

Definition at line 1005 of file Grid_vector_types.h.

References accelerator_inline.

◆ toReal()

template<class Csimd>
accelerator_inline toRealMapper< Csimd >::Realified toReal ( const Csimd & in)

Definition at line 1020 of file Grid_vector_types.h.

References accelerator_inline, and real().

Referenced by operator/().

◆ toComplex()

template<class Rsimd>
accelerator_inline toComplexMapper< Rsimd >::Complexified toComplex ( const Rsimd & in)

Definition at line 1038 of file Grid_vector_types.h.

References accelerator_inline.

◆ precisionChange() [1/12]

◆ precisionChange() [2/12]

accelerator_inline void precisionChange ( vRealH * out,
const vRealD * in,
int nvec )

◆ precisionChange() [3/12]

accelerator_inline void precisionChange ( vRealH * out,
const vRealF * in,
int nvec )

◆ precisionChange() [4/12]

accelerator_inline void precisionChange ( vRealD * out,
const vRealF * in,
int nvec )

Definition at line 1082 of file Grid_vector_types.h.

References accelerator_inline.

◆ precisionChange() [5/12]

accelerator_inline void precisionChange ( vRealD * out,
const vRealH * in,
int nvec )

Definition at line 1098 of file Grid_vector_types.h.

References accelerator_inline.

◆ precisionChange() [6/12]

accelerator_inline void precisionChange ( vRealF * out,
const vRealH * in,
int nvec )

Definition at line 1106 of file Grid_vector_types.h.

References accelerator_inline.

◆ precisionChange() [7/12]

accelerator_inline void precisionChange ( vComplexF * out,
const vComplexD * in,
int nvec )

Definition at line 1114 of file Grid_vector_types.h.

References accelerator_inline, and precisionChange().

◆ precisionChange() [8/12]

accelerator_inline void precisionChange ( vComplexH * out,
const vComplexD * in,
int nvec )

Definition at line 1115 of file Grid_vector_types.h.

References accelerator_inline, and precisionChange().

◆ precisionChange() [9/12]

accelerator_inline void precisionChange ( vComplexH * out,
const vComplexF * in,
int nvec )

Definition at line 1116 of file Grid_vector_types.h.

References accelerator_inline, and precisionChange().

◆ precisionChange() [10/12]

accelerator_inline void precisionChange ( vComplexD * out,
const vComplexF * in,
int nvec )

Definition at line 1117 of file Grid_vector_types.h.

References accelerator_inline, and precisionChange().

◆ precisionChange() [11/12]

accelerator_inline void precisionChange ( vComplexD * out,
const vComplexH * in,
int nvec )

Definition at line 1118 of file Grid_vector_types.h.

References accelerator_inline, and precisionChange().

◆ precisionChange() [12/12]

accelerator_inline void precisionChange ( vComplexF * out,
const vComplexH * in,
int nvec )

Definition at line 1119 of file Grid_vector_types.h.

References accelerator_inline, and precisionChange().

◆ gpermute()

template<class vobj>
void gpermute ( vobj & inout,
int perm )

Definition at line 1134 of file Grid_vector_types.h.

References perm, and permute().

◆ NAMESPACE_END()

NAMESPACE_END ( Grid )