8inline EMULSimdReal operator- (EMULSimdReal a,EMULSimdReal b)
10 return EMULSimdReal::fromScalar(a.v0 - b.v0,a.v1 - b.v1);
13inline EMULSimdReal operator-(EMULSimdReal a,Real b)
15 return EMULSimdReal::fromScalar(a.v0 - b,a.v1 - b);
18inline EMULSimdReal operator-(Real a,EMULSimdReal b)
20 return EMULSimdReal::fromScalar(a - b.v0,a - b.v1);
23inline EMULSimdReal operator+ (EMULSimdReal a,EMULSimdReal b)
25 return EMULSimdReal::fromScalar(a.v0 + b.v0,a.v1 + b.v1);
28inline EMULSimdReal operator+(EMULSimdReal a,Real b)
30 return EMULSimdReal::fromScalar(a.v0 + b,a.v1 + b);
33inline EMULSimdReal operator+(Real a,EMULSimdReal b)
35 return EMULSimdReal::fromScalar(a + b.v0,a + b.v1);
38inline EMULSimdReal operator* (EMULSimdReal a,EMULSimdReal b)
40 return EMULSimdReal::fromScalar(a.v0 * b.v0,a.v1 * b.v1);
43inline EMULSimdReal
operator*(EMULSimdReal a,Real b)
45 return EMULSimdReal::fromScalar(a.v0 * b,a.v1 * b);
48inline EMULSimdReal
operator*(Real a,EMULSimdReal b)
50 return EMULSimdReal::fromScalar(a * b.v0,a * b.v1);
53inline EMULSimdReal operator/ (EMULSimdReal a,EMULSimdReal b)
55 return EMULSimdReal::fromScalar(a.v0 / b.v0,a.v1 / b.v1);
58inline EMULSimdReal
operator/(EMULSimdReal a,Real b)
60 return EMULSimdReal::fromScalar(a.v0 / b,a.v1 / b);
63inline EMULSimdReal
operator/(Real a,EMULSimdReal b)
65 return EMULSimdReal::fromScalar(a / b.v0,a / b.v1);
69inline EMULSimdReal
min (EMULSimdReal a,EMULSimdReal b)
71 return EMULSimdReal::fromScalar(
min(a.v0,b.v0),
min(a.v1,b.v1));
74inline EMULSimdReal
min(EMULSimdReal a,Real b)
76 return EMULSimdReal::fromScalar(
min(a.v0,b),
min(a.v1,b));
79inline EMULSimdReal
min(Real a,EMULSimdReal b)
81 return EMULSimdReal::fromScalar(
min(a,b.v0),
min(a,b.v1));
86inline EMULSimdReal
max (EMULSimdReal a,EMULSimdReal b)
88 return EMULSimdReal::fromScalar(
max(a.v0,b.v0),
max(a.v1,b.v1));
91inline EMULSimdReal
max(EMULSimdReal a,Real b)
93 return EMULSimdReal::fromScalar(
max(a.v0,b),
max(a.v1,b));
96inline EMULSimdReal
max(Real a,EMULSimdReal b)
98 return EMULSimdReal::fromScalar(
max(a,b.v0),
max(a,b.v1));
108inline EMULSimdReal
sqrt (EMULSimdReal a)
111 return EMULSimdReal::fromScalar(math::sqrt(za[0]),math::sqrt(za[1]));
117inline EMULSimdReal
exp (EMULSimdReal a)
120 return EMULSimdReal::fromScalar(math::exp(za[0]),math::exp(za[1]));
126inline EMULSimdReal
log10 (EMULSimdReal a)
129 return EMULSimdReal::fromScalar(math::log10(za[0]),math::log10(za[1]));
__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.