9inline SSESimdReal operator- (SSESimdReal a,SSESimdReal b)
12 _mm_sub_pd (a.v0,b.v0)
13 , _mm_sub_pd (a.v1,b.v1)
20 _mm_sub_pd (a.v0,_mm_set1_pd(b))
21 , _mm_sub_pd (a.v1,_mm_set1_pd(b))
28 _mm_sub_pd (_mm_set1_pd(b), a.v0)
29 , _mm_sub_pd (_mm_set1_pd(b), a.v1)
33inline SSESimdReal operator+ (SSESimdReal a,SSESimdReal b)
36 _mm_add_pd (a.v0,b.v0)
37 , _mm_add_pd (a.v1,b.v1)
44 _mm_add_pd (a.v0,_mm_set1_pd(b))
45 , _mm_add_pd (a.v1,_mm_set1_pd(b))
52 _mm_add_pd (_mm_set1_pd(b), a.v0)
53 , _mm_add_pd (_mm_set1_pd(b), a.v1)
57inline SSESimdReal operator* (SSESimdReal a,SSESimdReal b)
60 _mm_mul_pd (a.v0,b.v0)
61 , _mm_mul_pd (a.v1,b.v1)
68 _mm_mul_pd (a.v0,_mm_set1_pd(b))
69 , _mm_mul_pd (a.v1,_mm_set1_pd(b))
76 _mm_mul_pd (_mm_set1_pd(b), a.v0)
77 , _mm_mul_pd (_mm_set1_pd(b), a.v1)
81inline SSESimdReal operator/ (SSESimdReal a,SSESimdReal b)
84 _mm_div_pd (a.v0,b.v0)
85 , _mm_div_pd (a.v1,b.v1)
92 _mm_div_pd (a.v0,_mm_set1_pd(b))
93 , _mm_div_pd (a.v1,_mm_set1_pd(b))
100 _mm_div_pd (_mm_set1_pd(b), a.v0)
101 , _mm_div_pd (_mm_set1_pd(b), a.v1)
109 _mm_min_pd (a.v0,b.v0)
110 , _mm_min_pd (a.v1,b.v1)
117 _mm_min_pd (a.v0,_mm_set1_pd(b))
118 , _mm_min_pd (a.v1,_mm_set1_pd(b))
125 _mm_min_pd (_mm_set1_pd(b), a.v0)
126 , _mm_min_pd (_mm_set1_pd(b), a.v1)
135 _mm_max_pd (a.v0,b.v0)
136 , _mm_max_pd (a.v1,b.v1)
143 _mm_max_pd (a.v0,_mm_set1_pd(b))
144 , _mm_max_pd (a.v1,_mm_set1_pd(b))
151 _mm_max_pd (_mm_set1_pd(b), a.v0)
152 , _mm_max_pd (_mm_set1_pd(b), a.v1)
166 return SSESimdReal::fromScalar(math::sqrt(za[0]),math::sqrt(za[1]),math::sqrt(za[2]),math::sqrt(za[3]));
175 return SSESimdReal::fromScalar(math::exp(za[0]),math::exp(za[1]),math::exp(za[2]),math::exp(za[3]));
184 return SSESimdReal::fromScalar(math::log10(za[0]),math::log10(za[1]),math::log10(za[2]),math::log10(za[3]));
__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.
SSESimdX4Real SSESimdReal
Vecteur de 'double' en implémentation par SSE.
Real2 operator/(const Real2Proxy &vec, Real sca)
Division par un scalaire.
double Real
Type représentant un réel.