fpmas 1.6
macros.h
Go to the documentation of this file.
1#ifndef FPMAS_MACROS_H
2#define FPMAS_MACROS_H
3
23//#define FPMAS_C_STR(arg) ((std::string) arg).c_str()
24#define FPMAS_C_STR(arg) fpmas::to_string(arg).c_str()
25
30#define MPI_DISTRIBUTED_ID_TYPE \
31 fpmas::api::graph::DistributedId::mpiDistributedIdType
32
41#define FPMAS_ON_PROC(COMM, RANK) if(COMM.getRank() == RANK)
42
49#define FPMAS_NODE_TASK(node, body)\
50 fpmas::scheduler::LambdaTask\
51 <std::remove_pointer<decltype(node)>::type::data_type>(node, [&] () body)
52
70#define FPMAS_DEFINE_GROUPS(...)\
71 enum : fpmas::api::model::GroupId {\
72 __VA_ARGS__ };
73
91#define FPMAS_DEFINE_LAYERS(...)\
92 enum : fpmas::api::graph::LayerId {\
93 __VA_ARGS__ };
94
95#endif