What's the difference between double x, y; . . . y = fabs(x) and #define abs(X) ((X) < 0 ? -(X) : (X)) double x, y; . . . y = abs(x); I.e., why isn't fabs() implemented as a macro? Jeff Rodriguez jjr at ngp.utexas.edu