/* 1 -1 maximum of the defined cells */ #define MAX_MAX d[0] static void rf_max_callback( Data *d) { if( d->list_val > d->MAX_MAX) d->MAX_MAX = d->list_val; } double rf_max(const Node *n, const Cell *c) { Data d; d.MAX_MAX = -HUGE_VAL; ss_traverse_list( Right(n), c, rf_max_callback, &d); return d.MAX_MAX; }