1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-04-18 09:45:55 +01:00

Format, NAMESPACE

This commit is contained in:
paboyle 2018-01-12 23:16:37 +00:00
parent 0a6168eef0
commit 62fcee72c5

View File

@ -30,8 +30,8 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
#include <immintrin.h> #include <immintrin.h>
#include <zmmintrin.h> #include <zmmintrin.h>
namespace Grid{ NAMESPACE_BEGIN(Grid);
namespace Optimization { NAMESPACE_BEGIN(Optimization);
struct Vsplat{ struct Vsplat{
//Complex float //Complex float
@ -72,7 +72,6 @@ namespace Optimization {
}; };
struct Vstream{ struct Vstream{
//Float //Float
inline void operator()(float * a, __m512 b){ inline void operator()(float * a, __m512 b){
@ -86,8 +85,6 @@ namespace Optimization {
}; };
struct Vset{ struct Vset{
// Complex float // Complex float
inline __m512 operator()(Grid::ComplexF *a){ inline __m512 operator()(Grid::ComplexF *a){
@ -130,9 +127,6 @@ namespace Optimization {
} }
}; };
///////////////////////////////////////////////////// /////////////////////////////////////////////////////
// Arithmetic operations // Arithmetic operations
///////////////////////////////////////////////////// /////////////////////////////////////////////////////
@ -166,7 +160,6 @@ namespace Optimization {
} }
}; };
struct MultComplex{ struct MultComplex{
// Complex float // Complex float
inline __m512 operator()(__m512 a, __m512 b){ inline __m512 operator()(__m512 a, __m512 b){
@ -247,7 +240,6 @@ namespace Optimization {
} }
}; };
struct Conj{ struct Conj{
// Complex single // Complex single
inline __m512 operator()(__m512 in){ inline __m512 operator()(__m512 in){
@ -271,8 +263,6 @@ namespace Optimization {
__m512d tmp = _mm512_mask_sub_pd(in,0xaa,_mm512_setzero_pd(),in); // real -imag __m512d tmp = _mm512_mask_sub_pd(in,0xaa,_mm512_setzero_pd(),in); // real -imag
return _mm512_swizzle_pd(tmp, _MM_SWIZ_REG_CDAB);// OK return _mm512_swizzle_pd(tmp, _MM_SWIZ_REG_CDAB);// OK
} }
}; };
struct TimesI{ struct TimesI{
@ -290,7 +280,6 @@ namespace Optimization {
}; };
struct Permute{ struct Permute{
static inline __m512 Permute0(__m512 in){ static inline __m512 Permute0(__m512 in){
@ -369,8 +358,6 @@ namespace Optimization {
}; };
////////////////////////////////////////////// //////////////////////////////////////////////
// Some Template specialization // Some Template specialization
@ -404,8 +391,7 @@ namespace Optimization {
return _mm512_reduce_add_epi32(in); return _mm512_reduce_add_epi32(in);
} }
NAMESPACE_END(Grid);
}
////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////
// Here assign types // Here assign types
@ -425,8 +411,6 @@ namespace Optimization {
_mm_prefetch(ptr,_MM_HINT_T0); _mm_prefetch(ptr,_MM_HINT_T0);
} }
// Function name aliases // Function name aliases
typedef Optimization::Vsplat VsplatSIMD; typedef Optimization::Vsplat VsplatSIMD;
typedef Optimization::Vstore VstoreSIMD; typedef Optimization::Vstore VstoreSIMD;
@ -434,7 +418,6 @@ namespace Optimization {
typedef Optimization::Vstream VstreamSIMD; typedef Optimization::Vstream VstreamSIMD;
template <typename S, typename T> using ReduceSIMD = Optimization::Reduce<S,T>; template <typename S, typename T> using ReduceSIMD = Optimization::Reduce<S,T>;
// Arithmetic operations // Arithmetic operations
typedef Optimization::Sum SumSIMD; typedef Optimization::Sum SumSIMD;
typedef Optimization::Sub SubSIMD; typedef Optimization::Sub SubSIMD;
@ -445,4 +428,4 @@ namespace Optimization {
typedef Optimization::TimesMinusI TimesMinusISIMD; typedef Optimization::TimesMinusI TimesMinusISIMD;
typedef Optimization::TimesI TimesISIMD; typedef Optimization::TimesI TimesISIMD;
} NAMESPACE_END(Grid);