9inline AVX512SimdReal operator- (AVX512SimdReal a,AVX512SimdReal b)
11 return AVX512SimdReal(
12 _mm512_sub_pd (a.v0,b.v0)
16inline AVX512SimdReal operator-(AVX512SimdReal a,Real b)
18 return AVX512SimdReal(
19 _mm512_sub_pd (a.v0,_mm512_set1_pd(b))
23inline AVX512SimdReal operator-(Real b,AVX512SimdReal a)
25 return AVX512SimdReal(
26 _mm512_sub_pd (_mm512_set1_pd(b), a.v0)
30inline AVX512SimdReal operator+ (AVX512SimdReal a,AVX512SimdReal b)
32 return AVX512SimdReal(
33 _mm512_add_pd (a.v0,b.v0)
37inline AVX512SimdReal operator+(AVX512SimdReal a,Real b)
39 return AVX512SimdReal(
40 _mm512_add_pd (a.v0,_mm512_set1_pd(b))
44inline AVX512SimdReal operator+(Real b,AVX512SimdReal a)
46 return AVX512SimdReal(
47 _mm512_add_pd (_mm512_set1_pd(b), a.v0)
51inline AVX512SimdReal operator* (AVX512SimdReal a,AVX512SimdReal b)
53 return AVX512SimdReal(
54 _mm512_mul_pd (a.v0,b.v0)
58inline AVX512SimdReal
operator*(AVX512SimdReal a,Real b)
60 return AVX512SimdReal(
61 _mm512_mul_pd (a.v0,_mm512_set1_pd(b))
65inline AVX512SimdReal
operator*(Real b,AVX512SimdReal a)
67 return AVX512SimdReal(
68 _mm512_mul_pd (_mm512_set1_pd(b), a.v0)
72inline AVX512SimdReal operator/ (AVX512SimdReal a,AVX512SimdReal b)
74 return AVX512SimdReal(
75 _mm512_div_pd (a.v0,b.v0)
79inline AVX512SimdReal
operator/(AVX512SimdReal a,Real b)
81 return AVX512SimdReal(
82 _mm512_div_pd (a.v0,_mm512_set1_pd(b))
86inline AVX512SimdReal
operator/(Real b,AVX512SimdReal a)
88 return AVX512SimdReal(
89 _mm512_div_pd (_mm512_set1_pd(b), a.v0)
94inline AVX512SimdReal
min (AVX512SimdReal a,AVX512SimdReal b)
96 return AVX512SimdReal(
97 _mm512_min_pd (a.v0,b.v0)
101inline AVX512SimdReal
min(AVX512SimdReal a,Real b)
103 return AVX512SimdReal(
104 _mm512_min_pd (a.v0,_mm512_set1_pd(b))
108inline AVX512SimdReal
min(Real b,AVX512SimdReal a)
110 return AVX512SimdReal(
111 _mm512_min_pd (_mm512_set1_pd(b), a.v0)
117inline AVX512SimdReal
max (AVX512SimdReal a,AVX512SimdReal b)
119 return AVX512SimdReal(
120 _mm512_max_pd (a.v0,b.v0)
124inline AVX512SimdReal
max(AVX512SimdReal a,Real b)
126 return AVX512SimdReal(
127 _mm512_max_pd (a.v0,_mm512_set1_pd(b))
131inline AVX512SimdReal
max(Real b,AVX512SimdReal a)
133 return AVX512SimdReal(
134 _mm512_max_pd (_mm512_set1_pd(b), a.v0)
145inline AVX512SimdReal
sqrt (AVX512SimdReal a)
147 return AVX512SimdReal(_mm512_sqrt_pd(a.v0));
153inline AVX512SimdReal
exp (AVX512SimdReal a)
156 return AVX512SimdReal::fromScalar(math::exp(za[0]),math::exp(za[1]),math::exp(za[2]),math::exp(za[3]),math::exp(za[4]),math::exp(za[5]),math::exp(za[6]),math::exp(za[7]));
162inline AVX512SimdReal
log10 (AVX512SimdReal a)
165 return AVX512SimdReal::fromScalar(math::log10(za[0]),math::log10(za[1]),math::log10(za[2]),math::log10(za[3]),math::log10(za[4]),math::log10(za[5]),math::log10(za[6]),math::log10(za[7]));
__host__ __device__ Real2 min(Real2 a, Real2 b)
Retourne le minimum de deux Real2.
T max(const T &a, const T &b, const T &c)
Retourne le maximum de trois éléments.
__host__ __device__ double sqrt(double v)
Racine carrée de v.
__host__ __device__ double log10(double v)
Logarithme décimal de v.
__host__ __device__ double exp(double v)
Exponentielle de v.
Real2 operator*(Real sca, const Real2Proxy &vec)
Multiplication par un scalaire.
Real2 operator/(const Real2Proxy &vec, Real sca)
Division par un scalaire.
double Real
Type représentant un réel.