#include <string>
#include <exception>
+#include <sstream>
namespace INTERP_KERNEL
{
#include <algorithm>
#include <utility>
#include <iostream>
+#include <vector>
using namespace std;
auto* nbelems_per_proc = new mcIdType[group.size()];
const auto* mpi_group=dynamic_cast<const MPIProcessorGroup*>(_proc_group);
const MPI_Comm* comm=mpi_group->getComm();
- mcIdType const nbtemp=nb_elem;
+ mcIdType nbtemp=nb_elem;
mpi_group->getCommInterface().allGather(&nbtemp, 1, MPI_ID_TYPE,
nbelems_per_proc, 1, MPI_ID_TYPE,
*comm);
{
int position=_proc_group->myRank();
mcIdType nb_elem = 1;
- int const increment=1;
+ int increment=1;
for (int i=_dimension-1; i>=0; i--)
{
increment *=_nb_procs_per_dim[i];
{
vector<pair<int,mcIdType> > local_indices (_dimension);
int const myrank=_proc_group->myRank();
- int const increment=1;
+ int increment=1;
for (int i=_dimension-1; i>=0; i--)
{
increment *=_nb_procs_per_dim[i];
#include "ProcessorGroup.hxx"
#include <utility>
+#include <vector>
namespace MEDCoupling
{
class ComponentTopology;
class MEDCouplingCMesh;
- using CYCLE_TYPE = enum{Block,Cycle};
+ typedef enum{Block,Cycle} CYCLE_TYPE;
/*!
* \anchor BlockTopology-det
std::vector<int> displacement(size_world, 0 );
std::vector<int> words_size(size_world);
- int const stringSize = (int) simCodeTag.size();
+ int stringSize = (int) simCodeTag.size();
interface.allGather( &stringSize, 1, MPI_INT, words_size.data(), 1, MPI_INT, world_comm );
for (size_t rank = 1; rank < words_size.size(); rank++)
#include <mpi.h>
#include <numeric>
+#include <memory>
namespace MEDCoupling
{
using DataArrayT = typename Traits<T>::ArrayType;
std::unique_ptr<T[]> result;
std::unique_ptr<mcIdType[]> resultIndex;
- int const rank(-1);
+ int rank(-1);
int size(this->gatherArraysT<T>(comm,root,array,result,resultIndex,rank));
arraysOut.resize(size);
for(int i = 0 ; i < size ; ++i)
namespace MEDCoupling
{
//! Enum describing the allToAll method used in the communication pattern
- using AllToAllMethod = enum { Native, PointToPoint };
+ typedef enum { Native, PointToPoint } AllToAllMethod;
//! Enum describing the time interpolation method
- using TimeInterpolationMethod = enum { WithoutTimeInterp, LinearTimeInterp };
+ typedef enum { WithoutTimeInterp, LinearTimeInterp } TimeInterpolationMethod;
/*!
This class groups the various options accepted by all \ref para-dec "DECs" (which all inherit from %DECOptions).
for (int icomp=0; icomp<(int)_local_field->getField()->getArray()->getNumberOfComponents(); icomp++)
{
double const total_norm = _local_field->getVolumeIntegral(icomp+1,isWAbs);
- double const source_norm = total_norm;
+ double source_norm = total_norm;
_comm_interface->broadcast(&source_norm, 1, MPI_DOUBLE, 0,* dynamic_cast<MPIProcessorGroup*>(_union_group)->getComm());
}
for (int icomp=0; icomp<(int)_local_field->getField()->getArray()->getNumberOfComponents(); icomp++)
{
double const total_norm = _local_field->getVolumeIntegral(icomp+1,isWAbs);
- double const source_norm=total_norm;
+ double source_norm=total_norm;
_comm_interface->broadcast(&source_norm, 1, MPI_DOUBLE, 0,* dynamic_cast<MPIProcessorGroup*>(_union_group)->getComm());
if (fabs(total_norm)>1e-100)
#include <mpi.h>
#include "CommInterface.hxx"
#include "ElementLocator.hxx"
+#include "MEDCouplingFieldDouble.hxx"
#include "MEDCouplingNatureOfFieldEnum"
#include "MCType.hxx"
#include "ParaIdType.hxx"
#include <limits>
#include <string>
+#include <vector>
+#include <set>
+#include <map>
using namespace std;
void ElementLocator::exchangeMethod(const std::string& sourceMeth, int idistantrank, std::string& targetMeth)
{
- CommInterface const comm_interface=_union_group->getCommInterface();
+ CommInterface comm_interface=_union_group->getCommInterface();
auto* group=static_cast<MPIProcessorGroup*> (_union_group);
const MPI_Comm* comm=(group->getComm());
MPI_Status status;
const DataArrayIdType* distant_ids_send,
mcIdType*& distant_ids_recv)
{
- CommInterface const comm_interface=_union_group->getCommInterface();
+ CommInterface comm_interface=_union_group->getCommInterface();
// First stage : exchanging sizes
// ------------------------------
#include "MCType.hxx"
#include "CommInterface.hxx"
#include "ProcessorGroup.hxx"
+#include "InterpKernelHashMap.hxx"
+#include "Topology.hxx"
#include <utility>
namespace MEDCoupling
{
class ParaMESH;
- class Topology;
class ComponentTopology;
/*!
#include "MCType.hxx"
#include "MCAuto.hxx"
#include "MEDCouplingFieldDouble.hxx"
+#include "MEDCouplingPointSet.hxx"
#include "MPIAccessDEC.hxx"
#include "MxN_Mapping.hxx"
#include "InterpolationOptions.hxx"
#include "DECOptions.hxx"
+#include "ParaFIELD.hxx"
#include <string>
+#include <vector>
+#include <utility>
namespace MEDCoupling
{
#include <cstddef>
#include <iostream>
+#include <list>
+#include <vector>
+#include <map>
namespace MEDCoupling
{
- using TimeMessage = struct
+ typedef struct
{
double time ;
double deltatime ;
int tag ;
- };
+ } TimeMessage;
static MPI_Request mpirequestnull = MPI_REQUEST_NULL ;
enum _MessageIdent { _message_unknown, _message_time, _message_int, _message_double } ;
std::vector< MPI_Datatype >* _data_messages_type;
std::vector< std::vector< void * > >* _data_messages;
- using SendBuffStruct = struct
+ typedef struct
{
void * SendBuffer;
int Counter;
- MPI_Datatype DataType; };
+ MPI_Datatype DataType; }
+ SendBuffStruct;
std::map< int , SendBuffStruct * > *_map_of_send_buffers;
};
#include "MPIProcessorGroup.hxx"
#include "OverlapInterpolationMatrix.hxx"
#include "MEDCouplingFieldDiscretization.hxx"
+#include "MEDCouplingFieldDouble.hxx"
#include "InterpKernelAutoPtr.hxx"
#include <limits>