16#include <MD_Vector_base.h>
30 Param p(
"MD_Vector_base");
35 p.lire_avec_accolades(is);
55 if (size_tot != sz_array)
57 Cerr <<
"Internal error in TRUSTVect::set_md_vector(): wrong array size\n"
59 <<
"\n Actual size = " << sz_array << finl;
64 Cerr <<
"Internal error in TRUSTVect::set_md_vector():\n"
65 <<
" cannot attach descriptor to empty array (line_size_ is zero)" << finl;
85 ArrOfBit flgs_bits(sz);
88 for (
int i=0; i<sz; i++)
89 flags[i] = flgs_bits[i];
103 assert(n == 0 || item >= blocs[n - 1]);
104 if (n == 0 || blocs[n - 1] != item)
110 else blocs[n - 1] = item + 1;
118 for (
int j = 0; j < n; j++, i++)
119 dest[i] = offset + src[j] * multiplier;
127 for (
int j = 0; j < n; j++)
129 int x = offset + src[j] * multiplier;
130 for (
int k = 0; k < multiplier; k++)
140 const int *ptr = itm_sum.
addr();
142 for (
int i = nblocs; i; i--)
146 int jmax = (*(ptr++)) * line_size;
147 for (; j < jmax; j++)
149 jmax = (*(ptr++)) * line_size;
152 for (; j < jmax; j++)
154 assert(flags[j] == 1);
ArrOfBit_32_64 & resize_array(int_t n)
Change la taille du tableau et copie les donnees existantes.
void clearbit(int_t i) const
Met le bit e a 0.
Class defining operators and methods for all reading operation in an input flow (file,...
Base class for distributed vectors parallel descriptors.
virtual const ArrOfInt & get_blocs_items_to_sum() const =0
int get_sequential_items_flags(ArrOfBit &flags, int line_size=1) const
static void append_blocs(ArrOfInt &dest, const ArrOfInt &src, int offset=0, int multiplier=1)
trustIdType nb_items_seq_tot_
virtual int get_seq_flags_impl(ArrOfBit &flags, int line_size) const
static void append_items(ArrOfInt &dest, const ArrOfInt &src, int offset=0, int multiplier=1)
virtual bool validate(trustIdType sz_array, int line_size) const
virtual int get_nb_items_tot() const
static void append_item_to_blocs(ArrOfInt &blocs, int item)
methode outil pour ajouter un item a un tableau du genre "blocs" contenant des series de blocs.
classe Objet_U Cette classe est la classe de base des Objets de TRUST
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
void append_array(_TYPE_ valeur)
_SIZE_ size_array() const
void resize_array(_SIZE_ new_size, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)