> > True. > Hence, and following other sources about this topic [0], I suggest > > #define CEIL(x) ((int)(x) + ((int)(x) > 0) * ((x - (int)(x)) > FLT_EPSILON)) >
On another note, I'd even use && instead of * there, but that would require another pair of parentheses.