#include <string>
#include <vector>
#include <stdexcept>
#include "source_base/parallel_common.h"
Go to the source code of this file.
|
#define | strvalue item.str_values[0] |
|
#define | intvalue std::stoi(item.str_values[0]) |
|
#define | doublevalue std::stod(item.str_values[0]) |
|
#define | boolvalue assume_as_boolean(item.str_values[0]) |
|
#define | add_double_bcast(PARAMETER) |
|
#define | add_int_bcast(PARAMETER) |
|
#define | add_bool_bcast(PARAMETER) |
|
#define | add_string_bcast(PARAMETER) |
|
#define | add_doublevec_bcast(PARAMETER, N, FILL) |
|
#define | add_intvec_bcast(PARAMETER, N, FILL) |
|
#define | add_stringvec_bcast(PARAMETER, N, FILL) |
|
#define | sync_string(PARAMETER) |
|
#define | sync_int(PARAMETER) |
|
#define | sync_double(PARAMETER) |
|
#define | sync_bool(PARAMETER) |
|
#define | sync_doublevec(PARAMETER, N, FILL) |
|
#define | sync_intvec(PARAMETER, N, FILL) |
|
#define | sync_stringvec(PARAMETER, N, FILL) |
|
#define | read_sync_string(PARAMETER) |
|
#define | read_sync_int(PARAMETER) |
|
#define | read_sync_double(PARAMETER) |
|
#define | read_sync_bool(PARAMETER) |
|
|
template<typename T > |
void | parse_expression (const std::vector< std::string > &expressions, std::vector< T > &result) |
| To parse input parameters as expressions into vectors.
|
|
template<typename T > |
void | reset_vector (std::vector< T > &vec, int size, T default_value) |
|
◆ add_bool_bcast
#define add_bool_bcast |
( |
|
PARAMETER | ) |
|
Value: { \
}
Definition parameter.h:13
void bcast_bool(bool &object)
Definition parallel_common.cpp:64
◆ add_double_bcast
#define add_double_bcast |
( |
|
PARAMETER | ) |
|
Value: { \
}
void bcast_double(double *object, const int n)
Definition parallel_common.cpp:49
◆ add_doublevec_bcast
#define add_doublevec_bcast |
( |
|
PARAMETER, |
|
|
|
N, |
|
|
|
FILL |
|
) |
| |
Value: { \
Parallel_Common::bcast_int(_vec_size); \
if (para.PARAMETER.size() != _vec_size) \
para.PARAMETER.resize(_vec_size, FILL); \
Parallel_Common::bcast_double(para.PARAMETER.data(), _vec_size); \
}); \
}
#define N
Definition exp.cpp:24
◆ add_int_bcast
#define add_int_bcast |
( |
|
PARAMETER | ) |
|
Value: { \
}
void bcast_int(int *object, const int n)
Definition parallel_common.cpp:59
◆ add_intvec_bcast
#define add_intvec_bcast |
( |
|
PARAMETER, |
|
|
|
N, |
|
|
|
FILL |
|
) |
| |
Value: { \
Parallel_Common::bcast_int(_vec_size); \
if (para.PARAMETER.size() != _vec_size) \
para.PARAMETER.resize(_vec_size, FILL); \
Parallel_Common::bcast_int(para.PARAMETER.data(), _vec_size); \
}); \
}
◆ add_string_bcast
#define add_string_bcast |
( |
|
PARAMETER | ) |
|
Value: { \
}
void bcast_string(std::string *object, const int n)
Definition parallel_common.cpp:27
◆ add_stringvec_bcast
#define add_stringvec_bcast |
( |
|
PARAMETER, |
|
|
|
N, |
|
|
|
FILL |
|
) |
| |
Value: { \
Parallel_Common::bcast_int(_vec_size); \
if (para.PARAMETER.size() != _vec_size) \
para.PARAMETER.resize(_vec_size, FILL); \
Parallel_Common::bcast_string(para.PARAMETER.data(), _vec_size); \
}); \
}
◆ boolvalue
#define boolvalue assume_as_boolean(item.str_values[0]) |
◆ doublevalue
#define doublevalue std::stod(item.str_values[0]) |
◆ intvalue
#define intvalue std::stoi(item.str_values[0]) |
◆ read_sync_bool
#define read_sync_bool |
( |
|
PARAMETER | ) |
|
Value: { \
item.read_value = [](
const Input_Item& item,
Parameter& para) { para.PARAMETER =
boolvalue; }; \
sync_bool(PARAMETER); \
}
◆ read_sync_double
#define read_sync_double |
( |
|
PARAMETER | ) |
|
Value: { \
sync_double(PARAMETER); \
}
◆ read_sync_int
#define read_sync_int |
( |
|
PARAMETER | ) |
|
Value: { \
item.read_value = [](
const Input_Item& item,
Parameter& para) { para.PARAMETER =
intvalue; }; \
sync_int(PARAMETER); \
}
◆ read_sync_string
#define read_sync_string |
( |
|
PARAMETER | ) |
|
Value: { \
item.read_value = [](
const Input_Item& item,
Parameter& para) { para.PARAMETER =
strvalue; }; \
sync_string(PARAMETER); \
}
◆ strvalue
#define strvalue item.str_values[0] |
◆ sync_bool
#define sync_bool |
( |
|
PARAMETER | ) |
|
Value: { \
item.get_final_value = [](Input_Item& item,
const Parameter& para) { item.final_value << para.PARAMETER; }; \
add_bool_bcast(PARAMETER); \
}
◆ sync_double
#define sync_double |
( |
|
PARAMETER | ) |
|
Value: { \
item.get_final_value = [](Input_Item& item,
const Parameter& para) { item.final_value << para.PARAMETER; }; \
add_double_bcast(PARAMETER); \
}
◆ sync_doublevec
#define sync_doublevec |
( |
|
PARAMETER, |
|
|
|
N, |
|
|
|
FILL |
|
) |
| |
Value: { \
item.get_final_value = [](Input_Item& item,
const Parameter& para) { \
for (
int i = 0; i <
N; i++) \
{ \
item.final_value << para.PARAMETER[i] << " "; \
} \
}; \
add_doublevec_bcast(PARAMETER,
N, FILL); \
}
◆ sync_int
#define sync_int |
( |
|
PARAMETER | ) |
|
Value: { \
item.get_final_value = [](Input_Item& item,
const Parameter& para) { item.final_value << para.PARAMETER; }; \
add_int_bcast(PARAMETER); \
}
◆ sync_intvec
#define sync_intvec |
( |
|
PARAMETER, |
|
|
|
N, |
|
|
|
FILL |
|
) |
| |
Value: { \
item.get_final_value = [](Input_Item& item,
const Parameter& para) { \
for (
int i = 0; i <
N; i++) \
{ \
item.final_value << para.PARAMETER[i] << " "; \
} \
}; \
add_intvec_bcast(PARAMETER,
N, FILL); \
}
◆ sync_string
#define sync_string |
( |
|
PARAMETER | ) |
|
Value: { \
item.get_final_value = [](Input_Item& item,
const Parameter& para) { item.final_value << para.PARAMETER; }; \
add_string_bcast(PARAMETER); \
}
◆ sync_stringvec
#define sync_stringvec |
( |
|
PARAMETER, |
|
|
|
N, |
|
|
|
FILL |
|
) |
| |
Value: { \
item.get_final_value = [](Input_Item& item,
const Parameter& para) { \
for (
int i = 0; i <
N; i++) \
{ \
item.final_value << para.PARAMETER[i] << " "; \
} \
}; \
add_stringvec_bcast(PARAMETER,
N, FILL); \
}
◆ parse_expression()
void parse_expression |
( |
const std::vector< std::string > & |
expressions, |
|
|
std::vector< T > & |
result |
|
) |
| |
To parse input parameters as expressions into vectors.
- Template Parameters
-
- Parameters
-
expressions | (vector<string>): expressions such as "3*1 0 2*0.5 3*0" |
result | (vector): stores parsing results, for example, "3*1 0 2*0.5 1*1.5" can be parsed as [1, 1, 1, 0, 0.5, 0.5, 1.5] |
◆ reset_vector()
void reset_vector |
( |
std::vector< T > & |
vec, |
|
|
int |
size, |
|
|
T |
default_value |
|
) |
| |