fix non-default SIMD-size

This commit is contained in:
Joachim Schoeberl 2022-04-02 10:36:00 +02:00
parent 8fe5518c6c
commit 409c460d2f

View File

@ -571,31 +571,31 @@ namespace ngcore
using std::sqrt; using std::sqrt;
template <int N> template <int N>
NETGEN_INLINE ngcore::SIMD<double,N> sqrt (ngcore::SIMD<double,N> a) { NETGEN_INLINE ngcore::SIMD<double,N> sqrt (ngcore::SIMD<double,N> a) {
return ngcore::SIMD<double>([a](int i)->double { return sqrt(a[i]); } ); return ngcore::SIMD<double,N>([a](int i)->double { return sqrt(a[i]); } );
} }
using std::fabs; using std::fabs;
template <int N> template <int N>
NETGEN_INLINE ngcore::SIMD<double,N> fabs (ngcore::SIMD<double,N> a) { NETGEN_INLINE ngcore::SIMD<double,N> fabs (ngcore::SIMD<double,N> a) {
return ngcore::SIMD<double>([a](int i)->double { return fabs(a[i]); } ); return ngcore::SIMD<double,N>([a](int i)->double { return fabs(a[i]); } );
} }
using std::floor; using std::floor;
template <int N> template <int N>
NETGEN_INLINE ngcore::SIMD<double,N> floor (ngcore::SIMD<double,N> a) { NETGEN_INLINE ngcore::SIMD<double,N> floor (ngcore::SIMD<double,N> a) {
return ngcore::SIMD<double>([a](int i)->double { return floor(a[i]); } ); return ngcore::SIMD<double,N>([a](int i)->double { return floor(a[i]); } );
} }
using std::ceil; using std::ceil;
template <int N> template <int N>
NETGEN_INLINE ngcore::SIMD<double,N> ceil (ngcore::SIMD<double,N> a) { NETGEN_INLINE ngcore::SIMD<double,N> ceil (ngcore::SIMD<double,N> a) {
return ngcore::SIMD<double>([a](int i)->double { return ceil(a[i]); } ); return ngcore::SIMD<double,N>([a](int i)->double { return ceil(a[i]); } );
} }
using std::exp; using std::exp;
template <int N> template <int N>
NETGEN_INLINE ngcore::SIMD<double,N> exp (ngcore::SIMD<double,N> a) { NETGEN_INLINE ngcore::SIMD<double,N> exp (ngcore::SIMD<double,N> a) {
return ngcore::SIMD<double>([a](int i)->double { return exp(a[i]); } ); return ngcore::SIMD<double,N>([a](int i)->double { return exp(a[i]); } );
} }
using std::log; using std::log;