MP-Gadget
5.0.1.dev1-76bc7d4726-dirty
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include "paramset.h"
#include "mymalloc.h"
#include "endrun.h"
Go to the source code of this file.
Classes | |
struct | ParameterValue |
struct | ParameterSchema |
struct | ParameterSet |
Macros | |
#define | INT 1 |
#define | DOUBLE 3 |
#define | STRING 5 |
#define | ENUM 10 |
#define | NAMESIZE 128 |
Typedefs | |
typedef struct ParameterValue | ParameterValue |
typedef struct ParameterSchema | ParameterSchema |
Functions | |
static int | parse_enum (ParameterEnum *table, const char *strchoices) |
static char * | format_enum (ParameterEnum *table, int value) |
static ParameterSchema * | param_get_schema (ParameterSet *ps, const char *name) |
static void | param_set_from_string (ParameterSet *ps, const char *name, char *value, int lineno) |
static int | param_emit (ParameterSet *ps, char *start, int size, int lineno) |
int | param_validate (ParameterSet *ps) |
void | param_dump (ParameterSet *ps, FILE *stream) |
int | param_parse (ParameterSet *ps, char *content) |
int | param_parse_file (ParameterSet *ps, const char *filename) |
static ParameterSchema * | param_declare (ParameterSet *ps, const char *name, const int type, const enum ParameterFlag required, const char *help) |
void | param_declare_int (ParameterSet *ps, const char *name, const enum ParameterFlag required, const int defvalue, const char *help) |
void | param_declare_double (ParameterSet *ps, const char *name, const enum ParameterFlag required, const double defvalue, const char *help) |
void | param_declare_string (ParameterSet *ps, const char *name, const enum ParameterFlag required, const char *defvalue, const char *help) |
void | param_declare_enum (ParameterSet *ps, const char *name, ParameterEnum *enumtable, const enum ParameterFlag required, const char *defvalue, const char *help) |
void | param_set_action (ParameterSet *ps, const char *name, ParameterAction action, void *userdata) |
int | param_is_nil (ParameterSet *ps, const char *name) |
double | param_get_double (ParameterSet *ps, const char *name) |
char * | param_get_string (ParameterSet *ps, const char *name) |
void | param_get_string2 (ParameterSet *ps, const char *name, char *dst, size_t len) |
int | param_get_int (ParameterSet *ps, const char *name) |
int | param_get_enum (ParameterSet *ps, const char *name) |
char * | param_format_value (ParameterSet *ps, const char *name) |
ParameterSet * | parameter_set_new () |
void | parameter_set_free (ParameterSet *ps) |
#define DOUBLE 3 |
Definition at line 12 of file paramset.c.
#define ENUM 10 |
Definition at line 14 of file paramset.c.
#define INT 1 |
Definition at line 11 of file paramset.c.
#define NAMESIZE 128 |
Definition at line 15 of file paramset.c.
#define STRING 5 |
Definition at line 13 of file paramset.c.
typedef struct ParameterSchema ParameterSchema |
typedef struct ParameterValue ParameterValue |
|
static |
Definition at line 44 of file paramset.c.
References myrealloc, ParameterEnum::name, ta_malloc, and ParameterEnum::value.
Referenced by param_format_value().
|
static |
Definition at line 247 of file paramset.c.
References ParameterSchema::action, ParameterSchema::defvalue, ParameterSchema::help, ParameterSchema::index, ParameterValue::lineno, name, ParameterSchema::name, NAMESIZE, ParameterValue::nil, ParameterSet::p, ParameterSchema::required, ParameterValue::s, ParameterSet::size, and ParameterSchema::type.
Referenced by param_declare_double(), param_declare_enum(), param_declare_int(), and param_declare_string().
void param_declare_double | ( | ParameterSet * | ps, |
const char * | name, | ||
const enum ParameterFlag | required, | ||
const double | defvalue, | ||
const char * | help | ||
) |
Definition at line 278 of file paramset.c.
References ParameterValue::d, ParameterSchema::defvalue, DOUBLE, name, ParameterValue::nil, OPTIONAL, and param_declare().
Referenced by create_gadget_parameter_set(), and create_parameters().
void param_declare_enum | ( | ParameterSet * | ps, |
const char * | name, | ||
ParameterEnum * | enumtable, | ||
const enum ParameterFlag | required, | ||
const char * | defvalue, | ||
const char * | help | ||
) |
Definition at line 307 of file paramset.c.
References ParameterSchema::defvalue, ENUM, ParameterSchema::enumtable, ParameterValue::i, name, ParameterValue::nil, OPTIONAL, param_declare(), and parse_enum().
Referenced by create_gadget_parameter_set().
void param_declare_int | ( | ParameterSet * | ps, |
const char * | name, | ||
const enum ParameterFlag | required, | ||
const int | defvalue, | ||
const char * | help | ||
) |
Definition at line 267 of file paramset.c.
References ParameterSchema::defvalue, ParameterValue::i, INT, name, ParameterValue::nil, OPTIONAL, and param_declare().
Referenced by create_gadget_parameter_set(), and create_parameters().
void param_declare_string | ( | ParameterSet * | ps, |
const char * | name, | ||
const enum ParameterFlag | required, | ||
const char * | defvalue, | ||
const char * | help | ||
) |
Definition at line 289 of file paramset.c.
References ParameterSchema::defvalue, fastpm_strdup(), name, ParameterValue::nil, OPTIONAL, param_declare(), ParameterValue::s, and STRING.
Referenced by create_gadget_parameter_set(), and create_parameters().
void param_dump | ( | ParameterSet * | ps, |
FILE * | stream | ||
) |
Definition at line 192 of file paramset.c.
References ParameterSchema::help, ParameterValue::lineno, myfree, ParameterSchema::name, ParameterSet::p, param_format_value(), ParameterSet::size, and ParameterSet::value.
Referenced by read_parameter_file(), and read_parameterfile().
|
static |
Definition at line 117 of file paramset.c.
References ParameterSchema::action, ParameterSchema::action_data, message(), myfree, name, param_get_schema(), param_set_from_string(), and ta_malloc2.
Referenced by param_parse().
char* param_format_value | ( | ParameterSet * | ps, |
const char * | name | ||
) |
Definition at line 388 of file paramset.c.
References ParameterValue::d, DOUBLE, ENUM, ParameterSchema::enumtable, fastpm_strdup(), format_enum(), ParameterValue::i, ParameterSchema::index, INT, name, ParameterValue::nil, param_get_schema(), ParameterValue::s, STRING, ParameterSchema::type, and ParameterSet::value.
Referenced by param_dump().
double param_get_double | ( | ParameterSet * | ps, |
const char * | name | ||
) |
Definition at line 336 of file paramset.c.
References ParameterValue::d, ParameterSchema::index, message(), name, ParameterSchema::name, param_get_schema(), param_is_nil(), and ParameterSet::value.
Referenced by read_parameter_file(), read_parameterfile(), set_all_global_params(), set_blackhole_params(), set_cooling_params(), set_density_params(), set_domain_params(), set_fof_params(), set_gravshort_tree_params(), set_hydro_params(), set_init_params(), set_metal_return_params(), set_qso_lightup_params(), set_sfr_params(), set_timestep_params(), and set_winds_params().
int param_get_enum | ( | ParameterSet * | ps, |
const char * | name | ||
) |
Definition at line 378 of file paramset.c.
References ParameterValue::i, ParameterSchema::index, message(), name, ParameterSchema::name, param_get_schema(), param_is_nil(), and ParameterSet::value.
Referenced by BlackHoleFeedbackMethodAction(), set_all_global_params(), set_blackhole_params(), set_cooling_params(), set_density_params(), set_sfr_params(), set_winds_params(), and StarformationCriterionAction().
int param_get_int | ( | ParameterSet * | ps, |
const char * | name | ||
) |
Definition at line 368 of file paramset.c.
References ParameterValue::i, ParameterSchema::index, message(), name, ParameterSchema::name, param_get_schema(), param_is_nil(), and ParameterSet::value.
Referenced by read_parameter_file(), read_parameterfile(), set_all_global_params(), set_blackhole_params(), set_cooling_params(), set_domain_params(), set_fof_params(), set_gravshort_tree_params(), set_hydro_params(), set_metal_return_params(), set_petaio_params(), set_qso_lightup_params(), set_sfr_params(), set_stats_params(), set_timestep_params(), and set_treewalk_params().
|
static |
Definition at line 102 of file paramset.c.
References name, ParameterSchema::name, ParameterSet::p, and ParameterSet::size.
Referenced by param_emit(), param_format_value(), param_get_double(), param_get_enum(), param_get_int(), param_get_string(), param_get_string2(), param_is_nil(), param_set_action(), and param_set_from_string().
char* param_get_string | ( | ParameterSet * | ps, |
const char * | name | ||
) |
Definition at line 346 of file paramset.c.
References ParameterSchema::index, message(), name, ParameterSchema::name, param_get_schema(), param_is_nil(), ParameterValue::s, and ParameterSet::value.
Referenced by OutputListAction(), and read_parameterfile().
void param_get_string2 | ( | ParameterSet * | ps, |
const char * | name, | ||
char * | dst, | ||
size_t | len | ||
) |
Definition at line 355 of file paramset.c.
References endrun(), ParameterSchema::index, message(), name, ParameterSchema::name, param_get_schema(), param_is_nil(), ParameterValue::s, and ParameterSet::value.
Referenced by read_parameterfile(), set_all_global_params(), set_petaio_params(), set_sfr_params(), and set_stats_params().
int param_is_nil | ( | ParameterSet * | ps, |
const char * | name | ||
) |
Definition at line 329 of file paramset.c.
References ParameterSchema::index, name, ParameterValue::nil, param_get_schema(), and ParameterSet::value.
Referenced by param_get_double(), param_get_enum(), param_get_int(), param_get_string(), and param_get_string2().
int param_parse | ( | ParameterSet * | ps, |
char * | content | ||
) |
Definition at line 208 of file paramset.c.
References ParameterSchema::defvalue, ParameterSchema::index, ParameterSet::p, param_emit(), ParameterSet::size, and ParameterSet::value.
Referenced by param_parse_file().
int param_parse_file | ( | ParameterSet * | ps, |
const char * | filename | ||
) |
Definition at line 234 of file paramset.c.
References endrun(), fastpm_file_get_content(), myfree, and param_parse().
Referenced by read_parameter_file(), and read_parameterfile().
void param_set_action | ( | ParameterSet * | ps, |
const char * | name, | ||
ParameterAction | action, | ||
void * | userdata | ||
) |
Definition at line 321 of file paramset.c.
References ParameterSchema::action, ParameterSchema::action_data, name, and param_get_schema().
Referenced by create_gadget_parameter_set().
|
static |
Definition at line 426 of file paramset.c.
References ParameterValue::d, DOUBLE, ENUM, ParameterSchema::enumtable, fastpm_strdup(), ParameterValue::i, ParameterSchema::index, INT, ParameterValue::lineno, myfree, name, ParameterValue::nil, param_get_schema(), parse_enum(), ParameterValue::s, STRING, ParameterSchema::type, and ParameterSet::value.
Referenced by param_emit().
int param_validate | ( | ParameterSet * | ps | ) |
Definition at line 177 of file paramset.c.
References ParameterSchema::index, message(), ParameterSchema::name, ParameterValue::nil, ParameterSet::p, ParameterSchema::required, REQUIRED, ParameterSet::size, and ParameterSet::value.
Referenced by read_parameter_file(), and read_parameterfile().
void parameter_set_free | ( | ParameterSet * | ps | ) |
Definition at line 480 of file paramset.c.
References ta_reset.
Referenced by read_parameter_file().
ParameterSet* parameter_set_new | ( | ) |
Definition at line 472 of file paramset.c.
References ParameterSet::size, and ta_malloc.
Referenced by create_gadget_parameter_set(), and create_parameters().
|
static |
Definition at line 17 of file paramset.c.
References fastpm_strdup(), myfree, ParameterEnum::name, and ParameterEnum::value.
Referenced by param_declare_enum(), and param_set_from_string().