84 {
85
86 fseek(file, 0, SEEK_END);
87 long size = ftell(file);
88 fseek(file, 0, SEEK_SET);
89
90 std::string buffer(size, '\0');
91 fread(buffer.data(), 1, size, file);
92
93 INIReader ini(buffer.c_str(), buffer.size());
94 if (ini.ParseError() < 0) {
96 return 1;
97 }
98
100
101
103 magic_enum::enum_name<JobType>(
main_options.job) ==
"parallel_replica") {
104 EONC_LOG_ERROR(
"[Parallel Replica] state_check_interval must be <= time");
106 }
109 EONC_LOG_ERROR(
"[Saddle Search] dynamics_record_interval must be <= "
110 "dynamics_state_check_interval");
112 }
114}
#define EONC_LOG_ERROR(...)
struct eonc::Parameters::saddle_search_options_t saddle_search_options
struct eonc::Parameters::dynamics_options_t dynamics_options
struct eonc::Parameters::main_options_t main_options
struct eonc::Parameters::parallel_replica_options_t parallel_replica_options
int load_ini(INIReader &ini, Parameters ¶ms)
Parse all INI sections into the Parameters struct.