Arcane  v4.1.1.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
arcane/src/arcane/utils/ArrayView.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ArrayView.h (C) 2000-2025 */
9/* */
10/* Types définissant les vues de tableaux C. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_UTILS_ARRAYVIEW_H
13#define ARCANE_UTILS_ARRAYVIEW_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arccore/base/Span.h"
19
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30/*!
31 * \brief Applique à \a ids un remplissage en fin de tableau.
32 *
33 * Cette méthode remplit les éléments de \a ids après la dernière valeur
34 * pour que \a ids ait un nombre d'éléments valide multiple de la taille
35 * d'un vecteur Simd.
36 *
37 * Le tableau associé à la vue doit avoir sufisamment de mémoire allouée
38 * pour remplir les éléments de padding sinon cela conduit à un
39 * débordement de tableau.
40 *
41 * Le remplissage se fait avec comme valeur celle du dernier élément
42 * valide de \a ids.
43 *
44 * Par exemple, si ids.size()==5 et que la taille de vecteur Simd est de 8,
45 * alors ids[5], ids[6] et ids[7] sont remplis avec la valeur de ids[4].
46 */
47//@{
48extern ARCANE_UTILS_EXPORT void
49applySimdPadding(ArrayView<Int32> ids);
50
51extern ARCANE_UTILS_EXPORT void
52applySimdPadding(ArrayView<Int16> ids);
53
54extern ARCANE_UTILS_EXPORT void
55applySimdPadding(ArrayView<Int64> ids);
56
57extern ARCANE_UTILS_EXPORT void
58applySimdPadding(ArrayView<Real> ids);
59//@}
60
61/*---------------------------------------------------------------------------*/
62/*---------------------------------------------------------------------------*/
63
64} // End namespace Arcane
65
66/*---------------------------------------------------------------------------*/
67/*---------------------------------------------------------------------------*/
68
69#endif
Types et fonctions associés aux classes SpanImpl, SmallSpan and Span.
Déclarations des types utilisés dans Arcane.
Types et fonctions associés aux classes ArrayView et ConstArrayView.
Vue modifiable d'un tableau d'un type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-