1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-10 15:55:37 +00:00

Merging with upstream

This commit is contained in:
neo 2015-05-19 13:36:03 +09:00
parent c7314e526e
commit b5af3fbe45
2 changed files with 2 additions and 6 deletions

View File

@ -37,6 +37,8 @@ MPI, OpenMP, and SIMD parallelism are present in the library.
by setting variables in the command line or in the environment. Here by setting variables in the command line or in the environment. Here
are examples: are examples:
./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -msse4" --enable-simd=SSE4
./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -mavx" --enable-simd=AVX1 ./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -mavx" --enable-simd=AVX1
./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -mavx2" --enable-simd=AVX2 ./configure CXX=clang++ CXXFLAGS="-std=c++11 -O3 -mavx2" --enable-simd=AVX2

View File

@ -37,7 +37,6 @@ namespace Grid {
/* /*
@brief Grid_simd class for the SIMD vector type operations @brief Grid_simd class for the SIMD vector type operations
*/ */
template < class Scalar_type, class Vector_type > template < class Scalar_type, class Vector_type >
class Grid_simd { class Grid_simd {
@ -100,14 +99,9 @@ namespace Grid {
template < class S = Scalar_type,typename std::enable_if < std::is_integral < S >::value, int >::type = 0 > template < class S = Scalar_type,typename std::enable_if < std::is_integral < S >::value, int >::type = 0 >
friend inline void vzero(Grid_simd &ret) { vsplat(ret,0); } friend inline void vzero(Grid_simd &ret) { vsplat(ret,0); }
// do not compile if real or integer, send an error message from the compiler // do not compile if real or integer, send an error message from the compiler
template < class S = Scalar_type,typename std::enable_if < is_complex < S >::value, int >::type = 0 > template < class S = Scalar_type,typename std::enable_if < is_complex < S >::value, int >::type = 0 >
friend inline void vcomplex_i(Grid_simd &ret){ vsplat(ret,0.0,1.0);} friend inline void vcomplex_i(Grid_simd &ret){ vsplat(ret,0.0,1.0);}
//////////////////////////////////// ////////////////////////////////////
// Arithmetic operator overloads +,-,* // Arithmetic operator overloads +,-,*