@@ -285,33 +285,73 @@ class NumArray
285285
286286 public:
287287
288+ // ! Modifie la taille du tableau en gardant pas les valeurs actuelles
289+ void resize (Int32 dim1_size) requires(Extents::nb_dynamic == 1 )
290+ {
291+ m_span.m_extents = DynamicDimsType (dim1_size);
292+ _resize ();
293+ }
294+
295+ // TODO: Rendre obsolète (juin 2025)
296+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
297+ void resize (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size, Int32 dim4_size) requires(Extents::nb_dynamic == 4 )
298+ {
299+ this ->resizeDestructive (DynamicDimsType (dim1_size, dim2_size, dim3_size, dim4_size));
300+ }
301+
302+ // TODO: Rendre obsolète (juin 2025)
303+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
304+ void resize (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size) requires(Extents::nb_dynamic == 3 )
305+ {
306+ this ->resizeDestructive (DynamicDimsType (dim1_size, dim2_size, dim3_size));
307+ }
308+
309+ // TODO: Rendre obsolète (juin 2025)
310+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
311+ void resize (Int32 dim1_size, Int32 dim2_size) requires(Extents::nb_dynamic == 2 )
312+ {
313+ this ->resizeDestructive (DynamicDimsType (dim1_size, dim2_size));
314+ }
315+
288316 /* !
289317 * \brief Modifie la taille du tableau.
290318 * \warning Les valeurs actuelles ne sont pas conservées lors de cette opération
291319 * et les nouvelles valeurs ne sont pas initialisées.
292320 */
293321 // @{
294- void resize (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size, Int32 dim4_size) requires(Extents::nb_dynamic == 4 )
322+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
323+ void resizeDestructive (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size, Int32 dim4_size) requires(Extents::nb_dynamic == 4 )
295324 {
296- this ->resize (DynamicDimsType (dim1_size, dim2_size, dim3_size, dim4_size));
325+ this ->resizeDestructive (DynamicDimsType (dim1_size, dim2_size, dim3_size, dim4_size));
297326 }
298327
299- void resize (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size) requires(Extents::nb_dynamic == 3 )
328+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
329+ void resizeDestructive (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size) requires(Extents::nb_dynamic == 3 )
300330 {
301- this ->resize (DynamicDimsType (dim1_size, dim2_size, dim3_size));
331+ this ->resizeDestructive (DynamicDimsType (dim1_size, dim2_size, dim3_size));
302332 }
303333
304- void resize (Int32 dim1_size, Int32 dim2_size) requires(Extents::nb_dynamic == 2 )
334+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
335+ void resizeDestructive (Int32 dim1_size, Int32 dim2_size) requires(Extents::nb_dynamic == 2 )
305336 {
306- this ->resize (DynamicDimsType (dim1_size, dim2_size));
337+ this ->resizeDestructive (DynamicDimsType (dim1_size, dim2_size));
307338 }
308339
309- void resize (Int32 dim1_size) requires(Extents::nb_dynamic == 1 )
340+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
341+ void resizeDestructive (Int32 dim1_size) requires(Extents::nb_dynamic == 1 )
310342 {
311- this ->resize (DynamicDimsType (dim1_size));
343+ this ->resizeDestructive (DynamicDimsType (dim1_size));
312344 }
313345
346+ // TODO: Rendre obsolète (juin 2025)
347+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
314348 void resize (const DynamicDimsType& dims)
349+ {
350+ resizeDestructive (dims);
351+ }
352+
353+ // ! Modifie la taille du tableau en ne gardant pas les valeurs actuelles
354+ void resizeDestructive (const DynamicDimsType& dims)
315355 {
316356 m_span.m_extents = dims;
317357 _resize ();
@@ -328,8 +368,7 @@ class NumArray
328368 */
329369 void fill (const DataType& v)
330370 {
331- _checkHost (memoryRessource ());
332- m_data.fill (v);
371+ fillHost (v);
333372 }
334373
335374 /* !
@@ -351,6 +390,18 @@ class NumArray
351390 m_data.fill (v, queue);
352391 }
353392
393+ /* !
394+ * \brief Remplit les valeurs du tableau par \a v.
395+ *
396+ * L'opération se fait sur l'hôte donc la mémoire associée
397+ * à l'instance doit être accessible sur l'hôte.
398+ */
399+ void fillHost (const DataType& v)
400+ {
401+ _checkHost (memoryRessource ());
402+ m_data.fill (v);
403+ }
404+
354405 public:
355406
356407 /* !
0 commit comments