#include "arcane/ArcaneTypes.h"
#include "arcane/SimdItem.h"
#include "arcane/materials/MatItem.h"
#include "arcane/materials/MatItemEnumerator.h"
#include "arcane/materials/ComponentPartItemVectorView.h"
Aller au code source de ce fichier.
Classes | |
class | Arcane::SimdMatVarIndex |
Indexeur SIMD sur un composant. Plus de détails... | |
class | Arcane::ComponentPartSimdCellEnumerator |
Enumérateur SIMD sur une sous-partie (pure ou partielle) d'un sous-ensemble des mailles d'un composant (matériau ou milieu) Plus de détails... | |
class | Arcane::LoopFunctorEnvPartSimdCell |
class | Arcane::MatVariableViewBase |
Classe de base des vues sur les variables. Plus de détails... | |
class | Arcane::MatItemVariableScalarInViewT< ItemType, DataType > |
Vue en lecture sur une variable scalaire du maillage. Plus de détails... | |
class | Arcane::MatItemVariableScalarOutViewT< ItemType, DataType > |
Vue en lecture sur une variable scalaire du maillage. Plus de détails... | |
Espaces de nommage | |
namespace | Arcane |
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*- | |
Macros | |
#define | A_ALIGNED_64 |
#define | ENUMERATE_SIMD_COMPONENTCELL(iname, env) A_ENUMERATE_COMPONENTCELL(ComponentPartSimdCellEnumerator,iname,env) |
#define | ENUMERATE_COMPONENTITEM_LAMBDA(iter_type, iter, container) Arcane::Materials:: LoopFunctor ## iter_type :: create ( (container) ) << [=]( Arcane::Materials:: LoopFunctor ## iter_type :: IterType iter) |
Macro pour itérer sur les entités d'un composant via une fonction lambda du C++11. | |
Fonctions | |
template<typename Lambda > | |
void | Arcane::simple_simd_env_loop (ComponentPartItemVectorView pure_items, ComponentPartItemVectorView impure_items, const Lambda &lambda) |
template<typename DataType > | |
MatItemVariableScalarInViewT< Cell, DataType > | Arcane::viewIn (const CellMaterialVariableScalarRef< DataType > &var) |
Vue en lecture. | |
template<typename DataType > | |
MatItemVariableScalarOutViewT< Cell, DataType > | Arcane::viewOut (CellMaterialVariableScalarRef< DataType > &var) |
Vue en écriture. | |
Ce fichier contient les différents types pour gérer la vectorisation sur les composants (matériaux et milieux).
Définition dans le fichier ComponentSimd.h.
#define A_ALIGNED_64 |
Définition à la ligne 36 du fichier ComponentSimd.h.
#define ENUMERATE_COMPONENTITEM_LAMBDA | ( | iter_type, | |
iter, | |||
container | |||
) | Arcane::Materials:: LoopFunctor ## iter_type :: create ( (container) ) << [=]( Arcane::Materials:: LoopFunctor ## iter_type :: IterType iter) |
Macro pour itérer sur les entités d'un composant via une fonction lambda du C++11.
Les arguments sont les mêmes que pour la macro ENUMERATE_COMPONENTITEM().
Le code après la macro correspond au corps de la fonction lambda du C++11. Il doit donc être compris entre deux accolades '{' '}' et se terminer par un point-virgule ';'. Par exemple:
Définition à la ligne 179 du fichier ComponentSimd.h.
#define ENUMERATE_SIMD_COMPONENTCELL | ( | iname, | |
env | |||
) | A_ENUMERATE_COMPONENTCELL(ComponentPartSimdCellEnumerator,iname,env) |
Définition à la ligne 113 du fichier ComponentSimd.h.