Posted to tcl by patthoyts at Tue Jan 05 19:04:19 GMT 2010view pretty
#include <float.h> double round(double x) { double t; if (!_finite(x)) return (x); if (x >= 0.0) { t = floor(x); if (t - x <= -0.5) t += 1.0; return (t); } else { t = floor(-x); if (t + x <= -0.5) t += 1.0; return (-t); } }