12#ifndef ARCANE_UTILS_SIMDOPERATION_H
13#define ARCANE_UTILS_SIMDOPERATION_H
28#if defined(ARCANE_HAS_AVX512)
29#include "arcane/utils/SimdAVX512Generated.h"
31#if defined(ARCANE_HAS_AVX)
32#include "arcane/utils/SimdAVXGenerated.h"
34#if defined(ARCANE_HAS_SSE)
35#include "arcane/utils/SimdSSEGenerated.h"
38#include "arcane/utils/SimdEMULGenerated.h"
46 return SimdReal3(a.x + b.x, a.y + b.y, a.z + b.z);
58 return SimdReal3(a.x - b.x, a.y - b.y, a.z - b.z);
64 return SimdReal3(a.x * b, a.y * b, a.z * b);
70 return SimdReal3(a.x * b, a.y * b, a.z * b);
76 return SimdReal3(b * a.x, b * a.y, b * a.z);
82 return SimdReal3(b * a.x, b * a.y, b * a.z);
88 return SimdReal3(a.x * b.x, a.y * b.y, a.z * b.z);
94 return SimdReal3(a.x / b, a.y / b, a.z / b);
100 return SimdReal3(a.x / b, a.y / b, a.z / b);
154 return SimdReal3x3(a.x + b.x, a.y + b.y, a.z + b.z);
166 return SimdReal3x3(a.x - b.x, a.y - b.y, a.z - b.z);
196 return SimdReal3x3(a.x * b.x, a.y * b.y, a.z * b.z);
Represents a vectorized Real2.
Represents a vectorized Real2x2.
Represents a vectorized Real3.
Represents a vectorized Real3x3.
SimdInfo::SimdReal SimdReal
SIMD vector of real numbers.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Real2 operator*(Real sca, const Real2Proxy &vec)
Multiplication by a scalar.
double Real
Type representing a real number.
Real2 operator/(const Real2Proxy &vec, Real sca)
Division by a scalar.