In finding minimum value, it used zero as an initializer
but if the graph had no data below say, 1000, it would still
find zero as the minimum, which was incorrect.
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
static double find_xy_value(struct graph *g, xy_value_extractor getvalue, double_comparator cmp)
{
static double find_xy_value(struct graph *g, xy_value_extractor getvalue, double_comparator cmp)
{
- double tmp, answer = 0.0;
struct graph_label *i;
struct graph_value *j;
struct graph_label *i;
struct graph_value *j;
for (i = g->labels; i; i = i->next)
for (j = i->values; j; j = j->next) {
tmp = getvalue(j);
for (i = g->labels; i; i = i->next)
for (j = i->values; j; j = j->next) {
tmp = getvalue(j);
+ if (first) {
+ first = 0;
+ answer = tmp;
+ }
answer = cmp(tmp, answer);
}
return answer;
answer = cmp(tmp, answer);
}
return answer;