diff options
author | 2017-07-09 14:30:25 -0400 | |
---|---|---|
committer | 2017-07-09 14:43:17 -0400 | |
commit | bb18ee6f1c7c172d30cb0c98153499af571777ee (patch) | |
tree | c7a138ed0fd440defb3cf95df685af3063997566 /src/vppinfra/math.h | |
parent | 4df97165159b3b115b31eb1cad55782ac97e3c7e (diff) |
format: Check for NaN when rendering doubles
- The result of 0.0/0.0 was being rendered as a lot of
zeroes in the integer portion, as in this example:
DBGvpp# show physmem
0: 16 objects, 576k of 582k used, 3k free, 0 reclaimed, 2k overhead,
16380k capacity
alloc. from small object cache: 0 hits 0 attempts (0.00%) replacements 0
alloc. from free-list: 0 attempts, 0 hits (0.00%), 0 considered (per-attempt 0.00)
alloc. from vector-expand: 16
allocs: 16 73643.06 clocks/call
frees: 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00 clocks/call
- Add two macros to vppinfra/math.h that use compiler builtins to check
for NaN and Infinity and then use them in format_float().
Change-Id: Iccc03997e6e33d6b888d1e7e20cd78df0cfd02e8
Signed-off-by: Chris Luke <chrisy@flirble.org>
Diffstat (limited to 'src/vppinfra/math.h')
-rw-r--r-- | src/vppinfra/math.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/vppinfra/math.h b/src/vppinfra/math.h index 48f8c0f4..cafa1cb3 100644 --- a/src/vppinfra/math.h +++ b/src/vppinfra/math.h @@ -52,6 +52,14 @@ fabs (f64 x) return __builtin_fabs (x); } +#ifndef isnan +#define isnan(x) __builtin_isnan(x) +#endif + +#ifndef isinf +#define isinf(x) __builtin_isinf(x) +#endif + #endif /* included_math_h */ /* |