Commit f2ec9b9c authored by Berenger Bramas's avatar Berenger Bramas

Update to compile with intel - remove warning for implicit class constructor

parent fe2adbd4
...@@ -115,7 +115,13 @@ SET( INASTEMP_EXTRA_CXX_FLAGS_DEBUG "-O0" CACHE STRING "These flags are added to ...@@ -115,7 +115,13 @@ SET( INASTEMP_EXTRA_CXX_FLAGS_DEBUG "-O0" CACHE STRING "These flags are added to
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_RELEASE} ${INASTEMP_EXTRA_CXX_FLAGS_DEBUG}") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_RELEASE} ${INASTEMP_EXTRA_CXX_FLAGS_DEBUG}")
# Options # Options
set(INASTEMP_CXX_FLAGS "${INASTEMP_CXX_FLAGS} -std=c++11 -fpic -Wextra -Wnon-virtual-dtor -Wshadow -Wpointer-arith -Wcast-qual -Wconversion -Wall -Wno-sign-conversion -pedantic -Wold-style-cast -Woverloaded-virtual -Wpointer-arith -Wcast-qual -Wconversion -Wno-error") set(INASTEMP_CXX_FLAGS "${INASTEMP_CXX_FLAGS} -std=c++11 -fpic -Wextra -Wnon-virtual-dtor -Wshadow -Wpointer-arith -Wcast-qual -Wconversion -Wall -Wno-sign-conversion -pedantic -Woverloaded-virtual -Wpointer-arith -Wcast-qual -Wconversion -Wno-error")
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" OR ${CMAKE_CXX_COMPILER} MATCHES "icpc.*$")
set(INASTEMP_CXX_FLAGS "${INASTEMP_CXX_FLAGS} -diag-disable 2304 -diag-disable 10120 -diag-disable 10121")
else()
set(INASTEMP_CXX_FLAGS "${INASTEMP_CXX_FLAGS} -Wold-style-cast")
endif()
if(CMAKE_SIZEOF_VOID_P EQUAL 8) if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(INASTEMP_CXX_FLAGS "${INASTEMP_CXX_FLAGS} -m64") set(INASTEMP_CXX_FLAGS "${INASTEMP_CXX_FLAGS} -m64")
......
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
#error InaVecAVX<double> is included but AVX is not enable in the configuration #error InaVecAVX<double> is included but AVX is not enable in the configuration
#endif #endif
#ifndef __INTEL_COMPILER
#include "Common/InaFastExp.hpp" #include "Common/InaFastExp.hpp"
#endif
#include <immintrin.h> #include <immintrin.h>
#include <cmath> #include <cmath>
......
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
#error InaVecAVX<float> is included but AVX is not enable in the configuration #error InaVecAVX<float> is included but AVX is not enable in the configuration
#endif #endif
#ifndef __INTEL_COMPILER
#include "Common/InaFastExp.hpp" #include "Common/InaFastExp.hpp"
#endif
#include <immintrin.h> #include <immintrin.h>
#include <cmath> #include <cmath>
......
...@@ -117,8 +117,8 @@ public: ...@@ -117,8 +117,8 @@ public:
using VecRawType = float; using VecRawType = float;
using MaskType = InaVecMaskSCALAR<float>; using MaskType = InaVecMaskSCALAR<float>;
using RealType = float; using RealType = float;
static const int VecLength = 1; static const int VecLength = 1.f;
static const int Alignement= 1; static const int Alignement= 1.f;
inline InaVecSCALAR(){} inline InaVecSCALAR(){}
inline InaVecSCALAR(const InaVecSCALAR&) = default; inline InaVecSCALAR(const InaVecSCALAR&) = default;
...@@ -223,64 +223,64 @@ public: ...@@ -223,64 +223,64 @@ public:
} }
inline InaVecSCALAR signOf() const { inline InaVecSCALAR signOf() const {
return vec < 0 ? -1 : vec > 0 ? 1 : 0; return vec < 0.f ? -1 : vec > 0.f ? 1.f : 0.f;
} }
inline InaVecSCALAR isPositive() const { inline InaVecSCALAR isPositive() const {
return vec >= 0 ? 1 : 0; return vec >= 0.f ? 1.f : 0.f;
} }
inline InaVecSCALAR isNegative() const { inline InaVecSCALAR isNegative() const {
return vec <= 0 ? 1 : 0; return vec <= 0.f ? 1.f : 0.f;
} }
inline InaVecSCALAR isPositiveStrict() const { inline InaVecSCALAR isPositiveStrict() const {
return vec > 0 ? 1 : 0; return vec > 0.f ? 1.f : 0.f;
} }
inline InaVecSCALAR isNegativeStrict() const { inline InaVecSCALAR isNegativeStrict() const {
return vec < 0 ? 1 : 0; return vec < 0.f ? 1.f : 0.f;
} }
inline InaVecSCALAR isZero() const { inline InaVecSCALAR isZero() const {
return vec == 0 ? 1 : 0; return vec == 0.f ? 1.f : 0.f;
} }
inline InaVecSCALAR isNotZero() const { inline InaVecSCALAR isNotZero() const {
return vec == 0 ? 0 : 1; return vec == 0.f ? 0.f : 1.f;
} }
inline InaVecMaskSCALAR<float> isPositiveMask() const { inline InaVecMaskSCALAR<float> isPositiveMask() const {
return vec >= 0 ? true : false; return vec >= 0.f ? true : false;
} }
inline InaVecMaskSCALAR<float> isNegativeMask() const { inline InaVecMaskSCALAR<float> isNegativeMask() const {
return vec <= 0 ? true : false; return vec <= 0.f ? true : false;
} }
inline InaVecMaskSCALAR<float> isPositiveStrictMask() const { inline InaVecMaskSCALAR<float> isPositiveStrictMask() const {
return vec > 0 ? true : false; return vec > 0.f ? true : false;
} }
inline InaVecMaskSCALAR<float> isNegativeStrictMask() const { inline InaVecMaskSCALAR<float> isNegativeStrictMask() const {
return vec < 0 ? true : false; return vec < 0.f ? true : false;
} }
inline InaVecMaskSCALAR<float> isZeroMask() const { inline InaVecMaskSCALAR<float> isZeroMask() const {
return vec == 0 ? true : false; return vec == 0.f ? true : false;
} }
inline InaVecMaskSCALAR<float> isNotZeroMask() const { inline InaVecMaskSCALAR<float> isNotZeroMask() const {
return vec == 0 ? false : true; return vec == 0.f ? false : true;
} }
// Static basic methods // Static basic methods
inline static InaVecSCALAR GetZero() { inline static InaVecSCALAR GetZero() {
return 0; return 0.f;
} }
inline static InaVecSCALAR GetOne() { inline static InaVecSCALAR GetOne() {
return 1; return 1.f;
} }
inline static InaVecSCALAR Min(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) { inline static InaVecSCALAR Min(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) {
...@@ -292,27 +292,27 @@ public: ...@@ -292,27 +292,27 @@ public:
} }
inline static InaVecSCALAR IsLowerOrEqual(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) { inline static InaVecSCALAR IsLowerOrEqual(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) {
return inVec1.vec <= inVec2.vec ? 1 : 0; return inVec1.vec <= inVec2.vec ? 1.f : 0.f;
} }
inline static InaVecSCALAR IsLower(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) { inline static InaVecSCALAR IsLower(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) {
return inVec1.vec < inVec2.vec ? 1 : 0; return inVec1.vec < inVec2.vec ? 1.f : 0.f;
} }
inline static InaVecSCALAR IsGreaterOrEqual(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) { inline static InaVecSCALAR IsGreaterOrEqual(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) {
return inVec1.vec >= inVec2.vec ? 1 : 0; return inVec1.vec >= inVec2.vec ? 1.f : 0.f;
} }
inline static InaVecSCALAR IsGreater(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) { inline static InaVecSCALAR IsGreater(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) {
return inVec1.vec > inVec2.vec ? 1 : 0; return inVec1.vec > inVec2.vec ? 1.f : 0.f;
} }
inline static InaVecSCALAR IsEqual(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) { inline static InaVecSCALAR IsEqual(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) {
return inVec1.vec == inVec2.vec ? 1 : 0; return inVec1.vec == inVec2.vec ? 1.f : 0.f;
} }
inline static InaVecSCALAR IsNotEqual(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) { inline static InaVecSCALAR IsNotEqual(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) {
return inVec1.vec != inVec2.vec ? 1 : 0; return inVec1.vec != inVec2.vec ? 1.f : 0.f;
} }
inline static InaVecMaskSCALAR<float> IsLowerOrEqualMask(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) { inline static InaVecMaskSCALAR<float> IsLowerOrEqualMask(const InaVecSCALAR& inVec1, const InaVecSCALAR& inVec2) {
...@@ -368,7 +368,7 @@ public: ...@@ -368,7 +368,7 @@ public:
} }
inline static InaVecSCALAR IfTrue(const InaVecMaskSCALAR<float>& inMask, const InaVecSCALAR& inIfTrue) { inline static InaVecSCALAR IfTrue(const InaVecMaskSCALAR<float>& inMask, const InaVecSCALAR& inIfTrue) {
return inMask?inIfTrue:0; return inMask?inIfTrue:0.f;
} }
inline static InaVecSCALAR IfFalse(const InaVecMaskSCALAR<float>& inMask, const InaVecSCALAR& inIfFalse) { inline static InaVecSCALAR IfFalse(const InaVecMaskSCALAR<float>& inMask, const InaVecSCALAR& inIfFalse) {
......
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
#error InaVecSSE3<double> is included but SSE3 is not enable in the configuration #error InaVecSSE3<double> is included but SSE3 is not enable in the configuration
#endif #endif
#ifndef __INTEL_COMPILER
#include "Common/InaFastExp.hpp" #include "Common/InaFastExp.hpp"
#endif
#include <emmintrin.h> #include <emmintrin.h>
#include <cmath> #include <cmath>
......
...@@ -14,9 +14,7 @@ ...@@ -14,9 +14,7 @@
#error InaVecSSE3<float> is included but SSE3 is not enable in the configuration #error InaVecSSE3<float> is included but SSE3 is not enable in the configuration
#endif #endif
#ifndef __INTEL_COMPILER
#include "Common/InaFastExp.hpp" #include "Common/InaFastExp.hpp"
#endif
#include <emmintrin.h> #include <emmintrin.h>
#include <cmath> #include <cmath>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment