SP4CEBAR 2023-05-12 17:28 (Edited)
When "INF" and "NAN" are used below, it is a variable holding the value INF or NAN respectively.
print INF = INF returns -1 which is trueIF V=INF THEN PRINT "V IS INF"print NAN = NAN returns 0 which is false, the same is true for negative NANif not v=v then print "v is nan"if NAN then print "true" else print "false" prints truenan<>nan, -nan<>nan, nan<>-nan, -nan<>-nan, which always return -1print nan+nan, nan-nan, nan*nan, -1*nanprint -nan+-nan, -nan+nan, -nan*-nan, -nan*nan
SP4CEBAR 2023-05-12 18:51
INF is very useful if you need the biggest number available
SP4CEBAR 2026-09-06 15:28 (Edited)
here's a NAN-detector:
if not v=v then print "v is nan"
SP4CEBAR 2026-09-06 16:17
experiments to try to differentiate between nan and -nan (no success, they appear to have identical properties)
NAN = -(-1)^0.5
INF = 0^(-1)
print nan+nan, nan-nan, nan*nan, -1*nan
print -nan+-nan, -nan+nan, -nan*-nan, -nan*nan
print abs(-nan), abs(nan),
if NAN then print "true", else print "false",
if -NAN then print "true" else print "false"
print nan/-nan, nan/nan, -nan/nan, -nan/-nan
print nan=0, nan<0, nan>0," ",
print nan<inf, nan>inf, nan=inf
print -nan<inf, -nan>inf, -nan=inf," ",
print nan>nan, nan<nan, nan=nan
print nan<>nan, -nan<>nan, nan<>-nan, -nan<>-nan
print nan<-nan, nan>-nan, nan=-nan," ",
print sgn(nan), sgn(-nan)
poke $a000, nan
poke $a001, -nan
pokew $a010, nan
pokew $a020, -nan
pokel $a030, nan
pokel $a040, -nan
print peek($a000), peekw($a010), peekl($a030)
print peek($a001), peekw($a020), peekl($a040)
print peek($a010), peek($a011), peek($a012), peek($a013)," ",
print peek($a020), peek($a021), peek($a022), peek($a023)
print peek($a030), peek($a031), peek($a032), peek($a033)
print peek($a040), peek($a041), peek($a042), peek($a043)