diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2014-05-14 08:34:07 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2014-05-14 08:34:07 +0000 |
commit | 41cff0bca30e6c1e891bcdabc50a4ab4c20e805b (patch) | |
tree | d8d136cc5d1f85c9b31c51d2bcda0fd52ff1e1d4 /src/ats/plugin_ats_ril.c | |
parent | 4cb749c370a4fd93a00734c5692a6e3664a5d67f (diff) | |
download | gnunet-41cff0bca30e6c1e891bcdabc50a4ab4c20e805b.tar.gz gnunet-41cff0bca30e6c1e891bcdabc50a4ab4c20e805b.zip |
use cfg function in solvers
Diffstat (limited to 'src/ats/plugin_ats_ril.c')
-rw-r--r-- | src/ats/plugin_ats_ril.c | 179 |
1 files changed, 98 insertions, 81 deletions
diff --git a/src/ats/plugin_ats_ril.c b/src/ats/plugin_ats_ril.c index 6425ce777..30c679cf3 100644 --- a/src/ats/plugin_ats_ril.c +++ b/src/ats/plugin_ats_ril.c | |||
@@ -2160,6 +2160,7 @@ libgnunet_plugin_ats_ril_init (void *cls) | |||
2160 | struct RIL_Scope * cur; | 2160 | struct RIL_Scope * cur; |
2161 | int c; | 2161 | int c; |
2162 | char *string; | 2162 | char *string; |
2163 | float f_tmp; | ||
2163 | 2164 | ||
2164 | LOG(GNUNET_ERROR_TYPE_DEBUG, "API_init() Initializing RIL solver\n"); | 2165 | LOG(GNUNET_ERROR_TYPE_DEBUG, "API_init() Initializing RIL solver\n"); |
2165 | 2166 | ||
@@ -2209,125 +2210,141 @@ libgnunet_plugin_ats_ril_init (void *cls) | |||
2209 | solver->parameters.select = RIL_DEFAULT_SELECT; | 2210 | solver->parameters.select = RIL_DEFAULT_SELECT; |
2210 | } | 2211 | } |
2211 | 2212 | ||
2212 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_DISCOUNT_BETA", &string)) | 2213 | |
2214 | solver->parameters.beta = RIL_DEFAULT_DISCOUNT_BETA; | ||
2215 | if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats", | ||
2216 | "RIL_DISCOUNT_BETA", &f_tmp)) | ||
2213 | { | 2217 | { |
2214 | solver->parameters.beta = strtod (string, NULL); | 2218 | if (f_tmp < 0.0) |
2215 | GNUNET_free (string); | ||
2216 | if (!(solver->parameters.beta > 0)) | ||
2217 | { | 2219 | { |
2218 | LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_DISCOUNT_BETA not configured as positive number. Set to default value of %f instead.\n", RIL_DEFAULT_DISCOUNT_BETA); | 2220 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"), |
2219 | solver->parameters.beta = RIL_DEFAULT_DISCOUNT_BETA; | 2221 | "RIL_DISCOUNT_BETA", f_tmp); |
2222 | } | ||
2223 | else | ||
2224 | { | ||
2225 | solver->parameters.beta = f_tmp; | ||
2226 | LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", | ||
2227 | "RIL_DISCOUNT_BETA", f_tmp); | ||
2220 | } | 2228 | } |
2221 | } | ||
2222 | else | ||
2223 | { | ||
2224 | solver->parameters.beta = RIL_DEFAULT_DISCOUNT_BETA; | ||
2225 | } | 2229 | } |
2226 | 2230 | ||
2227 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_DISCOUNT_GAMMA", &string)) | 2231 | solver->parameters.gamma = RIL_DEFAULT_DISCOUNT_GAMMA; |
2232 | if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats", | ||
2233 | "RIL_DISCOUNT_GAMMA", &f_tmp)) | ||
2228 | { | 2234 | { |
2229 | solver->parameters.gamma = strtod (string, NULL); | 2235 | if ((f_tmp < 0.0) || (f_tmp > 1.0)) |
2230 | GNUNET_free (string); | ||
2231 | if (!(solver->parameters.gamma < 1) || (solver->parameters.gamma < 0)) | ||
2232 | { | 2236 | { |
2233 | LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_DISCOUNT_GAMMA not configured in range [0,1[. Set to default value of %f instead.\n", RIL_DEFAULT_DISCOUNT_GAMMA); | 2237 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"), |
2234 | solver->parameters.gamma = RIL_DEFAULT_DISCOUNT_GAMMA; | 2238 | "RIL_DISCOUNT_GAMMA", f_tmp); |
2239 | } | ||
2240 | else | ||
2241 | { | ||
2242 | solver->parameters.gamma = f_tmp; | ||
2243 | LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", | ||
2244 | "RIL_DISCOUNT_GAMMA", f_tmp); | ||
2235 | } | 2245 | } |
2236 | } | ||
2237 | else | ||
2238 | { | ||
2239 | solver->parameters.gamma = RIL_DEFAULT_DISCOUNT_GAMMA; | ||
2240 | } | 2246 | } |
2241 | 2247 | ||
2242 | if (GNUNET_OK | 2248 | solver->parameters.alpha = RIL_DEFAULT_GRADIENT_STEP_SIZE; |
2243 | == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_GRADIENT_STEP_SIZE", &string)) | 2249 | if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats", |
2250 | "RIL_GRADIENT_STEP_SIZE", &f_tmp)) | ||
2244 | { | 2251 | { |
2245 | solver->parameters.alpha = strtod (string, NULL); | 2252 | if ((f_tmp < 0.0) || (f_tmp > 0.0)) |
2246 | GNUNET_free (string); | ||
2247 | if (!(solver->parameters.alpha > 0) || solver->parameters.alpha > 1) | ||
2248 | { | 2253 | { |
2249 | LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_GRADIENT_STEP_SIZE not configured in range ]0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_GRADIENT_STEP_SIZE); | 2254 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"), |
2250 | solver->parameters.alpha = RIL_DEFAULT_GRADIENT_STEP_SIZE; | 2255 | "RIL_GRADIENT_STEP_SIZE", f_tmp); |
2256 | } | ||
2257 | else | ||
2258 | { | ||
2259 | solver->parameters.alpha = f_tmp; | ||
2260 | LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", | ||
2261 | "RIL_GRADIENT_STEP_SIZE", f_tmp); | ||
2251 | } | 2262 | } |
2252 | } | ||
2253 | else | ||
2254 | { | ||
2255 | solver->parameters.alpha = RIL_DEFAULT_GRADIENT_STEP_SIZE; | ||
2256 | } | 2263 | } |
2257 | 2264 | ||
2258 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_TRACE_DECAY", &string)) | 2265 | solver->parameters.lambda = RIL_DEFAULT_TRACE_DECAY; |
2266 | if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats", | ||
2267 | "RIL_TRACE_DECAY", &f_tmp)) | ||
2259 | { | 2268 | { |
2260 | solver->parameters.lambda = strtod (string, NULL); | 2269 | if ((f_tmp < 0.0) || (f_tmp > 0.0)) |
2261 | GNUNET_free (string); | ||
2262 | if (solver->parameters.lambda < 0 || solver->parameters.lambda > 1) | ||
2263 | { | 2270 | { |
2264 | LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_TRACE_DECAY not configured in range [0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_TRACE_DECAY); | 2271 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"), |
2265 | solver->parameters.lambda = RIL_DEFAULT_TRACE_DECAY; | 2272 | "RIL_TRACE_DECAY", f_tmp); |
2273 | } | ||
2274 | else | ||
2275 | { | ||
2276 | solver->parameters.lambda = f_tmp; | ||
2277 | LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", | ||
2278 | "RIL_TRACE_DECAY", f_tmp); | ||
2266 | } | 2279 | } |
2267 | } | ||
2268 | else | ||
2269 | { | ||
2270 | solver->parameters.lambda = RIL_DEFAULT_TRACE_DECAY; | ||
2271 | } | 2280 | } |
2272 | 2281 | ||
2273 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_EXPLORE_RATIO", &string)) | 2282 | solver->parameters.epsilon_init = RIL_DEFAULT_EXPLORE_RATIO; |
2283 | if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats", | ||
2284 | "RIL_EXPLORE_RATIO", &f_tmp)) | ||
2274 | { | 2285 | { |
2275 | solver->parameters.epsilon_init = strtod (string, NULL); | 2286 | if ((f_tmp < 0.0) || (f_tmp > 0.0)) |
2276 | GNUNET_free (string); | ||
2277 | if (solver->parameters.epsilon_init < 0 || solver->parameters.epsilon_init > 1) | ||
2278 | { | 2287 | { |
2279 | LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_EXPLORE_RATIO not configured in range [0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_EXPLORE_RATIO); | 2288 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"), |
2280 | solver->parameters.epsilon_init = RIL_DEFAULT_EXPLORE_RATIO; | 2289 | "RIL_EXPLORE_RATIO", f_tmp); |
2290 | } | ||
2291 | else | ||
2292 | { | ||
2293 | solver->parameters.epsilon_init = f_tmp; | ||
2294 | LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", | ||
2295 | "RIL_EXPLORE_RATIO", f_tmp); | ||
2281 | } | 2296 | } |
2282 | } | ||
2283 | else | ||
2284 | { | ||
2285 | solver->parameters.epsilon_init = RIL_DEFAULT_EXPLORE_RATIO; | ||
2286 | } | 2297 | } |
2287 | 2298 | ||
2288 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_EXPLORE_DECAY", &string)) | 2299 | solver->parameters.epsilon_decay = RIL_DEFAULT_EXPLORE_DECAY; |
2300 | if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats", | ||
2301 | "RIL_EXPLORE_DECAY", &f_tmp)) | ||
2289 | { | 2302 | { |
2290 | solver->parameters.epsilon_decay = strtod (string, NULL); | 2303 | if ((f_tmp < 0.0) || (f_tmp > 0.0)) |
2291 | GNUNET_free (string); | ||
2292 | if (solver->parameters.epsilon_decay < 0 || solver->parameters.epsilon_decay > 1) | ||
2293 | { | 2304 | { |
2294 | LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_EXPLORE_RATIO not configured in range [0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_EXPLORE_DECAY); | 2305 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"), |
2295 | solver->parameters.epsilon_decay = RIL_DEFAULT_EXPLORE_DECAY; | 2306 | "RIL_EXPLORE_DECAY", f_tmp); |
2307 | } | ||
2308 | else | ||
2309 | { | ||
2310 | solver->parameters.epsilon_decay = f_tmp; | ||
2311 | LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", | ||
2312 | "RIL_EXPLORE_DECAY", f_tmp); | ||
2296 | } | 2313 | } |
2297 | } | ||
2298 | else | ||
2299 | { | ||
2300 | solver->parameters.epsilon_decay = RIL_DEFAULT_EXPLORE_DECAY; | ||
2301 | } | 2314 | } |
2302 | 2315 | ||
2303 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_TEMPERATURE", &string)) | 2316 | solver->parameters.temperature_init = RIL_DEFAULT_TEMPERATURE; |
2317 | if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats", | ||
2318 | "RIL_TEMPERATURE", &f_tmp)) | ||
2304 | { | 2319 | { |
2305 | solver->parameters.temperature_init = strtod (string, NULL); | 2320 | if (f_tmp <= 0.0) |
2306 | GNUNET_free (string); | ||
2307 | if (solver->parameters.temperature_init <= 0) | ||
2308 | { | 2321 | { |
2309 | LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_TEMPERATURE not positive. Set to default value of %f instead.\n", RIL_DEFAULT_TEMPERATURE); | 2322 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"), |
2310 | solver->parameters.temperature_init = RIL_DEFAULT_TEMPERATURE; | 2323 | "RIL_TEMPERATURE", f_tmp); |
2324 | } | ||
2325 | else | ||
2326 | { | ||
2327 | solver->parameters.temperature_init = f_tmp; | ||
2328 | LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", | ||
2329 | "RIL_TEMPERATURE", f_tmp); | ||
2311 | } | 2330 | } |
2312 | } | ||
2313 | else | ||
2314 | { | ||
2315 | solver->parameters.temperature_init = RIL_DEFAULT_TEMPERATURE; | ||
2316 | } | 2331 | } |
2317 | 2332 | ||
2318 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_TEMPERATURE_DECAY", &string)) | 2333 | solver->parameters.temperature_decay = RIL_DEFAULT_TEMPERATURE_DECAY; |
2334 | if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats", | ||
2335 | "RIL_TEMPERATURE_DECAY", &f_tmp)) | ||
2319 | { | 2336 | { |
2320 | solver->parameters.temperature_decay = strtod (string, NULL); | 2337 | if ((f_tmp <= 0.0) || solver->parameters.temperature_decay > 1) |
2321 | GNUNET_free (string); | ||
2322 | if (solver->parameters.temperature_decay <= 0 || solver->parameters.temperature_decay > 1) | ||
2323 | { | 2338 | { |
2324 | LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_TEMPERATURE_DECAY not in range [0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_TEMPERATURE_DECAY); | 2339 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"), |
2325 | solver->parameters.temperature_decay = RIL_DEFAULT_TEMPERATURE_DECAY; | 2340 | "RIL_TEMPERATURE_DECAY", f_tmp); |
2341 | } | ||
2342 | else | ||
2343 | { | ||
2344 | solver->parameters.temperature_decay = f_tmp; | ||
2345 | LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", | ||
2346 | "RIL_TEMPERATURE_DECAY", f_tmp); | ||
2326 | } | 2347 | } |
2327 | } | ||
2328 | else | ||
2329 | { | ||
2330 | solver->parameters.temperature_decay = RIL_DEFAULT_TEMPERATURE_DECAY; | ||
2331 | } | 2348 | } |
2332 | 2349 | ||
2333 | if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (env->cfg, "ats", "RIL_SIMULATE", &solver->simulate)) | 2350 | if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (env->cfg, "ats", "RIL_SIMULATE", &solver->simulate)) |