16#ifndef MD_Vector_std_included
17#define MD_Vector_std_included
19#include <MD_Vector_mono.h>
20#include <Schema_Comm_Vecteurs.h>
21#include <Schema_Comm.h>
22#include <Echange_EV_Options.h>
23#include <Static_Int_Lists.h>
24#include <communications.h>
25#include <TRUSTArrays.h>
62 inline void prepare_send_data(
const Echange_EV_Options& opt, Schema_Comm_Vecteurs& sc, TIDVect& v)
const override { prepare_send_data_template<trustIdType>(opt,sc,v); }
63 inline void process_recv_data(
const Echange_EV_Options& opt, Schema_Comm_Vecteurs& sc, TIDVect& v)
const override { process_recv_data_template<trustIdType>(opt,sc,v); }
97 template <
typename _TYPE_>
100 template <
typename _TYPE_>
103 template <
typename _TYPE_>
107#include <MD_Vector_std_tools.tpp>
109template<
typename _TYPE_>
116 for (
int i = 0; i < nprocs; i++)
141template<
typename _TYPE_>
159 Cerr <<
"Error in MD_Vector_std.tpp prepare_send_data_template : operation not implemented" << finl;
164template<
typename _TYPE_>
186 Cerr <<
"Error in MD_Vector_std.tpp process_recv_data_template : operation not implemented" << finl;
Generic class for all mono-block MD_Vectors (i.e. non compoosite).
C'est le plus simple des descripteurs, utilise pour les tableaux de valeurs aux sommets,...
void prepare_send_data(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, DoubleVect &v) const override
Static_Int_Lists items_to_send_
void process_recv_data(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, DoubleVect &v) const override
ArrOfInt blocs_items_count_
void initialize_comm(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, DoubleVect &v) const override
const Static_Int_Lists & items_to_recv() const
void fill_md_vect_renum(const IntVect &renum, MD_Vector &md_vect) const override
void process_recv_data(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, FloatVect &v) const override
void initialize_comm(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, FloatVect &v) const override
const ArrOfInt & pe_voisins() const
Static_Int_Lists items_to_recv_
MD_Vector_std(int n)
Stupid ctor.
const Static_Int_Lists & items_to_send() const
bool use_blocks() const override
void prepare_send_data(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, IntVect &v) const override
void prepare_send_data(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, FloatVect &v) const override
void initialize_comm(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, IntVect &v) const override
void process_recv_data(const Echange_EV_Options &opt, Schema_Comm_Vecteurs &sc, IntVect &v) const override
const Static_Int_Lists & blocs_to_recv() const
void append_from_other_std(const MD_Vector_std &src, int offset, int multiplier) override
Static_Int_Lists blocs_to_recv_
ArrOfInt nb_items_to_items_
: Cette classe est un OWN_PTR mais l'objet pointe est partage entre plusieurs
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
void add_send_area_template(int pe, int size)
void add_recv_area_template(int pe, int size)
int_t get_list_size(int_t i_liste) const
renvoie le nombre d'elements de la liste i
const ArrOfInt_t & get_data() const
_SIZE_ size_array() const