2
/// This file is part of Rheolef.
4
/// Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
6
/// Rheolef is free software; you can redistribute it and/or modify
7
/// it under the terms of the GNU General Public License as published by
8
/// the Free Software Foundation; either version 2 of the License, or
9
/// (at your option) any later version.
11
/// Rheolef is distributed in the hope that it will be useful,
12
/// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
/// GNU General Public License for more details.
16
/// You should have received a copy of the GNU General Public License
17
/// along with Rheolef; if not, write to the Free Software
18
/// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
/// =========================================================================
22
// test d'un tableau polymorphe
24
#include "rheolef/config.h"
25
#ifndef _RHEOLEF_HAVE_MPI
26
int main() { return 0; }
27
#else // _RHEOLEF_HAVE_MPI
29
#include "rheolef/polymorphic_array.h"
30
#include "geo_element_tst.h"
31
using namespace rheolef;
34
int main(int argc, char**argv) {
35
environment distributed (argc, argv);
36
mpi::communicator comm;
40
warning_macro ("read: n="<<n);
42
distributor ownership (n, comm, (comm.rank()==0) ? n : 0);
43
typedef polymorphic_traits<geo_element>::derived_type derived_type;
44
const size_t n_derived = polymorphic_traits<geo_element>::n_derived;
45
polymorphic_array_mpi_rep <geo_element, derived_type, n_derived> elts (ownership);
46
elts.get_values (dcin);
47
dcout << "geo " << elts.dis_size() << endl;
48
elts.put_values (dcout);
50
#endif // _RHEOLEF_HAVE_MPI