X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmisc.h;h=e7ec81265bda64d4c8169e5fe596bb7ee20456d8;hb=a7cc8b259f0fe963aa30d4e64f7d39551ded1454;hp=26b9a52639b3cafb7088e3c9690f132cc65cb99d;hpb=b9e28aa5614a079548c616bcf97aa804024ad647;p=pspp-builds.git diff --git a/src/misc.h b/src/misc.h index 26b9a526..e7ec8126 100644 --- a/src/misc.h +++ b/src/misc.h @@ -28,83 +28,44 @@ /* HUGE_VAL is traditionally defined as positive infinity, or alternatively, DBL_MAX. */ #if !HAVE_ISINF -#define isinf(X) \ - (fabs (X) == HUGE_VAL) +#define isinf(X) (fabs (X) == HUGE_VAL) #endif /* A Not a Number is not equal to itself. */ #if !HAVE_ISNAN -#define isnan(X) \ - ((X) != (X)) +#define isnan(X) ((X) != (X)) #endif /* Finite numbers are not infinities or NaNs. */ #if !HAVE_FINITE -#define finite(X) \ - (!isinf (X) && !isnan (X)) +#define finite(X) (!isinf (X) && !isnan (X)) #elif HAVE_IEEEFP_H #include /* Declares finite() under Solaris. */ #endif -#if __TURBOC__ -#include /* screwed-up Borland headers define min(), max(), - so we might as well let 'em */ -#endif - #ifndef min -#if __GNUC__ && !__STRICT_ANSI__ -#define min(A, B) \ - ({ \ - int _a = (A), _b = (B); \ - _a < _b ? _a : _b; \ - }) -#else /* !__GNUC__ */ -#define min(A, B) \ - ((A) < (B) ? (A) : (B)) -#endif /* !__GNUC__ */ -#endif /* !min */ +#define min(A, B) ((A) < (B) ? (A) : (B)) +#endif #ifndef max -#if __GNUC__ && !__STRICT_ANSI__ -#define max(A, B) \ - ({ \ - int _a = (A), _b = (B); \ - _a > _b ? _a : _b; \ - }) -#else /* !__GNUC__ */ -#define max(A, B) \ - ((A) > (B) ? (A) : (B)) -#endif /* !__GNUC__ */ -#endif /* !max */ +#define max(A, B) ((A) > (B) ? (A) : (B)) +#endif /* Clamps A to be between B and C. */ -#define range(A, B, C) \ - ((A) < (B) ? (B) : ((A) > (C) ? (C) : (A))) +#define range(A, B, C) ((A) < (B) ? (B) : ((A) > (C) ? (C) : (A))) /* Divides nonnegative X by positive Y, rounding up. */ -#define DIV_RND_UP(X, Y) \ - (((X) + ((Y) - 1)) / (Y)) +#define DIV_RND_UP(X, Y) (((X) + ((Y) - 1)) / (Y)) /* Returns nonnegative difference between {nonnegative X} and {the least multiple of positive Y greater than or equal to X}. */ -#if __GNUC__ && !__STRICT_ANSI__ -#define REM_RND_UP(X, Y) \ - ({ \ - int rem = (X) % (Y); \ - rem ? (Y) - rem : 0; \ - }) -#else -#define REM_RND_UP(X, Y) \ - ((X) % (Y) ? (Y) - (X) % (Y) : 0) -#endif +#define REM_RND_UP(X, Y) ((X) % (Y) ? (Y) - (X) % (Y) : 0) /* Rounds X up to the next multiple of Y. */ -#define ROUND_UP(X, Y) \ - (((X) + ((Y) - 1)) / (Y) * (Y)) +#define ROUND_UP(X, Y) (((X) + ((Y) - 1)) / (Y) * (Y)) /* Rounds X down to the previous multiple of Y. */ -#define ROUND_DOWN(X, Y) \ - ((X) / (Y) * (Y)) +#define ROUND_DOWN(X, Y) ((X) / (Y) * (Y)) int intlog10 (unsigned);