15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_ASSIGNPACKIMPL_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_ASSIGNPACKIMPL_H__ 25 #include <boost/type_traits/is_same.hpp> 26 #include <boost/type_traits/is_signed.hpp> 36 BasePack<ePackType::ePT_Avx, ipReal32>
37 AssignPack<eInstructionSet::eIS_Avx, ipReal32>::act(
const ipReal32& value)
39 BasePack<ePackType::ePT_Avx, ipReal32> packOut;
42 packOut._val[0] = AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
43 packOut._val[1] = AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
44 packOut._val[2] = AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
45 packOut._val[3] = AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
52 AssignPack<eInstructionSet::eIS_Avx, ipReal32>::act(
53 BasePack<ePackType::ePT_Avx, ipReal32>& pack,
const ipReal32& value)
55 const AvxType<ipReal32>::Type value256 =
56 AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
57 pack._val[0] = AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
58 pack._val[1] = AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
59 pack._val[2] = AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
60 pack._val[3] = AssignReg<eInstructionSet::eIS_Avx, ipReal32>::act(value);
64 BasePack<ePackType::ePT_Avx, ipReal64>
65 AssignPack<eInstructionSet::eIS_Avx, ipReal64>::act(
const ipReal64& value)
67 BasePack<ePackType::ePT_Avx, ipReal64> packOut;
68 const AvxType<ipReal64>::Type value256 =
69 AssignReg<eInstructionSet::eIS_Avx, ipReal64>::act(value);
70 packOut._val[0] = value256;
71 packOut._val[1] = value256;
72 packOut._val[2] = value256;
73 packOut._val[3] = value256;
74 packOut._val[4] = value256;
75 packOut._val[5] = value256;
76 packOut._val[6] = value256;
77 packOut._val[7] = value256;
82 AssignPack<eInstructionSet::eIS_Avx, ipReal64>::act(
83 BasePack<ePackType::ePT_Avx, ipReal64>& pack,
const ipReal64& value)
85 const AvxType<ipReal64>::Type value256 =
86 AssignReg<eInstructionSet::eIS_Avx, ipReal64>::act(value);
87 pack._val[0] = value256;
88 pack._val[1] = value256;
89 pack._val[2] = value256;
90 pack._val[3] = value256;
91 pack._val[4] = value256;
92 pack._val[5] = value256;
93 pack._val[6] = value256;
94 pack._val[7] = value256;
106 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_ASSIGNPACKIMPL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Definition of import/export macro for library.
float ipReal32
Base types definition.
Definition: BaseTypes.h:56