From 42276c85ce2759bd6dfb1d6cdf13bf500886b3cb Mon Sep 17 00:00:00 2001 From: suyambulingamrm Date: Wed, 21 May 2014 09:48:05 +0530 Subject: Added command line option for setting seed value for RNG. ref: https://github.com/SRA-SiliconValley/caskbench/issues/32 --- src/caskbench.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/caskbench.cpp') diff --git a/src/caskbench.cpp b/src/caskbench.cpp index d36b377..44b9af2 100644 --- a/src/caskbench.cpp +++ b/src/caskbench.cpp @@ -68,6 +68,7 @@ typedef struct _caskbench_options { int cap_style; int join_style; int dash_style; + char *seed_value; } caskbench_options_t; typedef struct _caskbench_result { @@ -271,6 +272,9 @@ process_options(caskbench_options_t *opt, int argc, char *argv[]) "represents r value for stroke color", NULL}, #endif + {"seed-value", 'r', POPT_ARG_STRING, &opt->seed_value, 0, + "represents seed value for Random Number generater eg. -r ABCDEFFF", + NULL}, POPT_AUTOHELP {NULL} }; @@ -568,7 +572,7 @@ main (int argc, char *argv[]) double cairo_avg_time = 0.0; double perf_improvement = 0.0; FILE *fp; - char fname[256]; + char fname[256], *end_ptr; device_config_t config; process_options(&opt, argc, argv); @@ -607,7 +611,15 @@ main (int argc, char *argv[]) !strncmp(perf_tests[c].name, "skia-clip", 9)) continue; - srand(0xdeadbeef); + if(opt.seed_value == NULL) + { + srand (0xdeadbeef); + } + else + { + srand (strtoul(opt.seed_value,&end_ptr,16)); + } + context_init(&context, opt.size); shape_defaults_init(&context.shape_defaults, &opt); result_init(&result, perf_tests[c].name); -- cgit v1.3.1-4-g156e