SkelGIS  3.0
/home/helene/Documents/These/SkelGIS/SkelGIS_Library/SkelGIS_V3/skelgis/util/macros.hpp File Reference

macros of SKelGIS library More...

#include "mpi.h"
#include "dmatrix_vector.hpp"

Go to the source code of this file.

Defines

#define MPI_RANK_NB
 MPI_RANK_NB macro.
#define MPI_END   MPI_Finalize();
 MPI_END macro.
#define INITSKELGIS
 INITSKELGIS.
#define ENDSKELGIS   MPI_END
 ENDSKELGIS.
#define BEGINParam(name)
#define ENDParam(name)
#define PARAM(class_name, param_name)   class_name::getInstance()->param_name
#define BEGINApplyUnary(name, input_matrix, input_type, r, output_matrix, output_type, r2)
 BEGINApplyUnary.
#define BEGINApplyUnaryBlock(name, input_matrix, input_type, r, output_matrix, output_type, r2)
 BEGINApplyUnaryBlock.
#define BEGINApplyBinary(name, input_matrix1, input_type1, input_matrix2, input_type2, r, output_matrix, output_type, r3)
 BEGINApplyBinary.
#define BEGINApplyBinaryBlock(name, input_matrix1, input_type1, input_matrix2, input_type2, r, output_matrix, output_type, r3)
 BEGINApplyBinaryBlock.
#define BEGINApplyList(name, inputs, inputs_type, r, outputs, outputs_type, r2)
 BEGINApplyList.
#define BEGINApplyListBlock(name, inputs, inputs_type, r, outputs, outputs_type, r2)
 BEGINApplyListBlock.
#define BEGINApplyReduction(name, input_matrix, type, r, output)
 BEGINApplyReduction.
#define BEGINApplyReductionBlock(name, input_matrix, type, r, output)
 BEGINApplyReductionBlock.
#define BEGINMap(name, element, element_type, return_type)
 BEGINMap.
#define BEGINApplyUnaryDDAG(name, DPMap_n1, n1, DPMap_e1, e1, DPMap_n2, n2, DPMap_e2, e2)
 BEGINApplyUnaryDDAG.
#define BEGINSApplyUnaryDDAG(name, DPMap_n, n1, n2, DPMap_e, e1, e2)
 BEGINApplyUnaryDDAG.
#define END(name)   }name;
 END.

Detailed Description

macros of SKelGIS library

Definition in file macros.hpp.


Define Documentation

#define BEGINApplyBinary (   name,
  input_matrix1,
  input_type1,
  input_matrix2,
  input_type2,
  r,
  output_matrix,
  output_type,
  r3 
)
Value:
struct _ApplyBinary_##name : public _ApplyBinary_Func<input_type1,r,input_type2,output_type,r3> \
{ \
  void operator()(DMatrix<input_type1,r>& input_matrix1,DMatrix<input_type2,r>& input_matrix2, DMatrix<output_type,r3>& output_matrix) const

BEGINApplyBinary.

Used to code the user function for the skeleton ApplyBinary

Definition at line 87 of file macros.hpp.

#define BEGINApplyBinaryBlock (   name,
  input_matrix1,
  input_type1,
  input_matrix2,
  input_type2,
  r,
  output_matrix,
  output_type,
  r3 
)
Value:
struct _ApplyBinary_##name : public _ApplyBinary_Func<input_type1,r,input_type2,output_type,r3,false> \
{ \
  void operator()(DMatrix<input_type1,r,false>& input_matrix1,DMatrix<input_type2,r,false>& input_matrix2, DMatrix<output_type,r3,false>& output_matrix) const

BEGINApplyBinaryBlock.

Used to code the user function for the skeleton ApplyBinary in the case of a block distribution

Definition at line 96 of file macros.hpp.

#define BEGINApplyList (   name,
  inputs,
  inputs_type,
  r,
  outputs,
  outputs_type,
  r2 
)
Value:
struct _ApplyList_##name : public _ApplyList_Func<inputs_type,r,outputs_type,r2> \
{ \
  void operator()(DMatrix_vector<inputs_type,r>& inputs, DMatrix_vector<outputs_type,r2>& outputs) const

BEGINApplyList.

Used to code the user function for the skeleton ApplyList

Definition at line 105 of file macros.hpp.

#define BEGINApplyListBlock (   name,
  inputs,
  inputs_type,
  r,
  outputs,
  outputs_type,
  r2 
)
Value:
struct _ApplyList_##name : public _ApplyList_Func<inputs_type,r, outputs_type,r2,false> \
{ \
  void operator()(DMatrix_vector<inputs_type,r,false>& inputs, DMatrix_vector<outputs_type,r2,false>& outputs) const

BEGINApplyListBlock.

Used to code the user function for the skeleton ApplyList in the case of a block distribution

Definition at line 114 of file macros.hpp.

#define BEGINApplyReduction (   name,
  input_matrix,
  type,
  r,
  output 
)
Value:
struct _ApplyReduction_##name : public _ApplyReduction_Func<type, r> \
{ \
  void operator()(DMatrix<type,r>& input_matrix, type& output) const

BEGINApplyReduction.

Used to code the user function for the skeleton ApplyReduction

Definition at line 123 of file macros.hpp.

#define BEGINApplyReductionBlock (   name,
  input_matrix,
  type,
  r,
  output 
)
Value:
struct _ApplyReduction_##name : public _ApplyReduction_Func<type, r,false> \
{ \
  void operator()(DMatrix<type,r,false>& input_matrix, type& output) const

BEGINApplyReductionBlock.

Used to code the user function for the skeleton ApplyReduction in the case of a block distribution

Definition at line 131 of file macros.hpp.

#define BEGINApplyUnary (   name,
  input_matrix,
  input_type,
  r,
  output_matrix,
  output_type,
  r2 
)
Value:
struct _ApplyUnary_##name : public _ApplyUnary_Func<input_type, r, output_type,r2> \
{ \
  void operator()(DMatrix<input_type,r>& input_matrix, DMatrix<output_type,r2>& output_matrix) const

BEGINApplyUnary.

Used to code the user function for the skeleton ApplyUnary

Definition at line 69 of file macros.hpp.

#define BEGINApplyUnaryBlock (   name,
  input_matrix,
  input_type,
  r,
  output_matrix,
  output_type,
  r2 
)
Value:
struct _ApplyUnary_##name : public _ApplyUnary_Func<input_type,r, output_type,r2,false> \
{ \
  void operator()(DMatrix<input_type,r,false>& input_matrix, DMatrix<output_type,r2,false>& output_matrix) const

BEGINApplyUnaryBlock.

Used to code the user function for the skeleton ApplyUnary in the case of a block distribution

Definition at line 78 of file macros.hpp.

#define BEGINApplyUnaryDDAG (   name,
  DPMap_n1,
  n1,
  DPMap_e1,
  e1,
  DPMap_n2,
  n2,
  DPMap_e2,
  e2 
)
Value:
struct _ApplyUnaryDDAG_##name : public _ApplyUnaryDDAG_Func<DPMap_n1, DPMap_e1, DPMap_n2, DPMap_e2> \
{ \
  void operator()(DPMap_n1& n1, DPMap_e1& e1, DPMap_n2& n2, DPMap_e2& e2) const

BEGINApplyUnaryDDAG.

Used to code the user function for the skeleton ApplyUnaryDDAG

Definition at line 153 of file macros.hpp.

#define BEGINMap (   name,
  element,
  element_type,
  return_type 
)
Value:
struct _Map_##name : public _Map_Func<element_type, return_type> \
{ \
  return_type operator()(element_type element) const

BEGINMap.

Used to code the user function for the skeleton Map

Definition at line 140 of file macros.hpp.

#define BEGINParam (   name)
Value:
struct name{ \
private : \
 name(){}  \
 ~name(){} \
 static name * singleton; \
public: \
 static name * getInstance() \
 { \
 if(NULL==singleton) \
   singleton = new name(); \
 return singleton;         \
 }

Definition at line 41 of file macros.hpp.

#define BEGINSApplyUnaryDDAG (   name,
  DPMap_n,
  n1,
  n2,
  DPMap_e,
  e1,
  e2 
)
Value:
struct _ApplyUnaryDDAG_##name : public _ApplyUnaryDDAG_Func<DPMap_n, DPMap_e, DPMap_n, DPMap_e> \
{ \
  void operator()(DPMap_n& n1, DPMap_e& e1, DPMap_n& n2, DPMap_e& e2) const

BEGINApplyUnaryDDAG.

Used to code the user function for the skeleton ApplyUnaryDDAG

Definition at line 162 of file macros.hpp.

#define END (   name)    }name;

END.

Used to end any BEGIN macro

Definition at line 171 of file macros.hpp.

#define ENDParam (   name)
Value:
}; \
  name *name::singleton = NULL;

Definition at line 54 of file macros.hpp.

#define ENDSKELGIS   MPI_END

ENDSKELGIS.

Used to end SkelGIS library use.

Definition at line 37 of file macros.hpp.

#define INITSKELGIS
Value:
MPI_Init(&argc,&argv); \
MPI_RANK_NB

INITSKELGIS.

Used to initialize SkelGIS library use. Mpi initializations.

Definition at line 30 of file macros.hpp.

#define MPI_END   MPI_Finalize();

MPI_END macro.

Used to end MPI

Definition at line 23 of file macros.hpp.

#define MPI_RANK_NB
Value:
MPI_Comm_size(MPI_COMM_WORLD,&(Mpi_::mpi_nb));  \
MPI_Comm_rank(MPI_COMM_WORLD,&(Mpi_::mpi_rank));

MPI_RANK_NB macro.

Used to initialize the number of mpi processes and the rank of the current process

Definition at line 17 of file macros.hpp.

 All Classes Files Functions Variables Defines