27 #ifndef AVXTEMPLATESPFUNCTS_H_
28 #define AVXTEMPLATESPFUNCTS_H_
34 #include <x86intrin.h>
39 #include <immintrin.h>
44 short util_functs::ZeroVal<short>()
47 __m128 dataInAvxReg = _mm_set_ss(0.0);
48 __m128i convertedData = _mm_cvtps_ph(dataInAvxReg, 0);
49 return ((
short*)& convertedData)[0];
51 return _cvtss_sh(0.0f, 0);
56 float util_functs::ConvertValToDifferentDataTypeIfNeeded<short, float>(
short data)
59 __m128i dataInAvxReg = _mm_cvtsi32_si128(
static_cast<int>(data));
60 __m128 convertedData = _mm_cvtph_ps(dataInAvxReg);
61 return ((
float*)& convertedData)[0];
63 return _cvtsh_ss(data);
68 short util_functs::ConvertValToDifferentDataTypeIfNeeded<float, short>(
float data)
71 __m128 dataInAvxReg = _mm_set_ss(data);
72 __m128i convertedData = _mm_cvtps_ph(dataInAvxReg, 0);
73 return ((
short*)&convertedData)[0];
75 return _cvtss_sh(data, 0);
Contains namespace with constants and enums related to run environment and settings for run.
Contains namespace with utility functions for implementation.