mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-18 09:45:55 +01:00
NAMESPACE and format
This commit is contained in:
parent
00c49d4c17
commit
d8ff895e74
@ -38,8 +38,8 @@ Author: neo <cossu@post.kek.jp>
|
|||||||
|
|
||||||
#include <pmmintrin.h>
|
#include <pmmintrin.h>
|
||||||
|
|
||||||
namespace Grid {
|
NAMESPACE_BEGIN(Grid);
|
||||||
namespace Optimization {
|
NAMESPACE_BEGIN(Optimization);
|
||||||
|
|
||||||
template<class vtype>
|
template<class vtype>
|
||||||
union uconv {
|
union uconv {
|
||||||
@ -328,7 +328,6 @@ namespace Optimization {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define _my_alignr_epi32(a,b,n) _mm_alignr_epi8(a,b,(n*4)%16)
|
#define _my_alignr_epi32(a,b,n) _mm_alignr_epi8(a,b,(n*4)%16)
|
||||||
#define _my_alignr_epi64(a,b,n) _mm_alignr_epi8(a,b,(n*8)%16)
|
#define _my_alignr_epi64(a,b,n) _mm_alignr_epi8(a,b,(n*8)%16)
|
||||||
|
|
||||||
@ -549,7 +548,6 @@ namespace Optimization {
|
|||||||
return conv.f[0];
|
return conv.f[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Complex double Reduce
|
//Complex double Reduce
|
||||||
template<>
|
template<>
|
||||||
inline Grid::ComplexD Reduce<Grid::ComplexD, __m128d>::operator()(__m128d in){
|
inline Grid::ComplexD Reduce<Grid::ComplexD, __m128d>::operator()(__m128d in){
|
||||||
@ -574,13 +572,10 @@ namespace Optimization {
|
|||||||
__m128i v2 = _mm_hadd_epi32(v1, v1);
|
__m128i v2 = _mm_hadd_epi32(v1, v1);
|
||||||
return _mm_cvtsi128_si32(v2);
|
return _mm_cvtsi128_si32(v2);
|
||||||
}
|
}
|
||||||
}
|
NAMESPACE_END(Optimization);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Here assign types
|
// Here assign types
|
||||||
|
|
||||||
typedef __m128i SIMD_Htype; // Single precision type
|
typedef __m128i SIMD_Htype; // Single precision type
|
||||||
typedef __m128 SIMD_Ftype; // Single precision type
|
typedef __m128 SIMD_Ftype; // Single precision type
|
||||||
typedef __m128d SIMD_Dtype; // Double precision type
|
typedef __m128d SIMD_Dtype; // Double precision type
|
||||||
@ -599,9 +594,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;
|
||||||
@ -614,4 +606,4 @@ namespace Optimization {
|
|||||||
typedef Optimization::TimesMinusI TimesMinusISIMD;
|
typedef Optimization::TimesMinusI TimesMinusISIMD;
|
||||||
typedef Optimization::TimesI TimesISIMD;
|
typedef Optimization::TimesI TimesISIMD;
|
||||||
|
|
||||||
}
|
NAMESPACE_END(Grid);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user