parent
489f9e96f8
commit
8c94a00e02
2 changed files with 28 additions and 1 deletions
|
|
@ -396,8 +396,13 @@ typedef struct TStringDesc* string;
|
|||
#define GenericSeqSize sizeof(TGenericSeq)
|
||||
#define paramCount() cmdCount
|
||||
|
||||
// NAN definition copied from math.h included in the Windows SDK version 10.0.14393.0
|
||||
#ifndef NAN
|
||||
# define NAN (0.0 / 0.0)
|
||||
#ifndef _HUGE_ENUF
|
||||
#define _HUGE_ENUF 1e+300 // _HUGE_ENUF*_HUGE_ENUF must overflow
|
||||
#endif
|
||||
#define NAN_INFINITY ((float)(_HUGE_ENUF * _HUGE_ENUF))
|
||||
#define NAN ((float)(NAN_INFINITY * 0.0F))
|
||||
#endif
|
||||
|
||||
#ifndef INF
|
||||
|
|
|
|||
22
tests/float/tfloatnan.nim
Normal file
22
tests/float/tfloatnan.nim
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
discard """
|
||||
file: "tfloatnan.nim"
|
||||
output: '''Nim: nan
|
||||
Nim: nan (float)
|
||||
C: nan (float)
|
||||
Nim: nan (double)
|
||||
C: nan (double)
|
||||
'''
|
||||
"""
|
||||
|
||||
proc printf(formatstr: cstring): int {.importc: "printf", varargs, header: "<stdio.h>".}
|
||||
|
||||
let f = NaN
|
||||
echo "Nim: ", f
|
||||
|
||||
let f32: float32 = NaN
|
||||
echo "Nim: ", f32, " (float)"
|
||||
discard printf("C: %f (float)\n", f32)
|
||||
|
||||
let f64: float64 = NaN
|
||||
echo "Nim: ", f64, " (double)"
|
||||
discard printf("C: %lf (double)\n", f64)
|
||||
Loading…
Add table
Add a link
Reference in a new issue