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--)
145 int jmax = (*(ptr++)) * line_size;
146 for (; j < jmax; j++)
148 jmax = (*(ptr++)) * line_size;
151 for (; j < jmax; j++)
153 assert(flags[j] == 1);
ArrOfBit_32_64 & resize_array(int_t n)
Changes the size of the array and copies existing data.
void clearbit(int_t i) const
Set bit e to 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)
Helper method to append an item to a "blocs"-type array containing series of blocks.
Base class for TRUST objects (Objet_U).
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.
void append_array(_TYPE_ valeur)
_SIZE_ size_array() const
void resize_array(_SIZE_ new_size, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)