95 #ifdef QMGR_FEEDBACK_IDX_SQRT_WIN
104 const char *name_prefix,
105 const char *name_tail,
106 const char *def_name,
110 char denom_str[30 + 1];
120 fbck_name =
concatenate(name_prefix, name_tail, (
char *) 0);
132 #define INCLUSIVE_BOUNDS(val, low, high) ((val) >= (low) && (val) <= (high))
137 switch (sscanf(fbck_val,
"%lf %1[/] %30s%c",
138 &enum_val, &slash, denom_str, &junk)) {
148 && sscanf(denom_str,
"%lf%c", &denom_val, &junk) == 1
150 fb->
base = enum_val / denom_val;
160 msg_warn(
"%s: ignoring malformed or unreasonable feedback: %s",
161 strcmp(fbck_val, def_val) ? fbck_name : def_name, fbck_val);
170 msg_info(
"%s: %s feedback type %d value at %d: %g",
171 name_prefix, strcmp(fbck_val, def_val) ?
const NAME_CODE qmgr_feedback_map[]
#define QMGR_FEEDBACK_IDX_WIN
int var_init_dest_concurrency
void qmgr_feedback_init(QMGR_FEEDBACK *fb, const char *name_prefix, const char *name_tail, const char *def_name, const char *def_val)
#define QMGR_FEEDBACK_VAL(fb, win)
bool var_conc_feedback_debug
#define CONC_FDBACK_NAME_WIN
void msg_warn(const char *fmt,...)
#define NAME_CODE_FLAG_NONE
int name_code(const NAME_CODE *table, int flags, const char *name)
char * concatenate(const char *arg0,...)
#define CONC_FDBACK_NAME_SQRT_WIN
#define QMGR_FEEDBACK_IDX_NONE
char * get_mail_conf_str(const char *, const char *, int, int)
#define INCLUSIVE_BOUNDS(val, low, high)
void msg_info(const char *fmt,...)