mirror of
https://github.com/Sei-Lisa/LSL-PyOptimizer
synced 2025-07-01 23:58:20 +00:00
(float)"-NaN" should produce NaN, not Indet.
But (vector)"<-NaN, 0, 0>" produces Indet, not NaN.
This commit is contained in:
parent
5fff5f37d0
commit
4ec9396688
1 changed files with 6 additions and 1 deletions
|
@ -399,7 +399,12 @@ def InternalTypecast(val, out, InList, f32):
|
||||||
if match.group(1):
|
if match.group(1):
|
||||||
ret = F32(float.fromhex(match.group(0)), f32)
|
ret = F32(float.fromhex(match.group(0)), f32)
|
||||||
else:
|
else:
|
||||||
ret = F32(float(match.group(0)), f32)
|
if match.group(0).lower() == '-nan':
|
||||||
|
# (float)"-nan" produces NaN instead of Indet, even though
|
||||||
|
# (vector)"<-nan,0,0>" produces <Indet, 0., 0.>. Go figure.
|
||||||
|
ret = NaN
|
||||||
|
else:
|
||||||
|
ret = F32(float(match.group(0)), f32)
|
||||||
if not lslcommon.LSO and abs(ret) < 1.1754943508222875e-38:
|
if not lslcommon.LSO and abs(ret) < 1.1754943508222875e-38:
|
||||||
# Mono doesn't return denormals when using (float)"val"
|
# Mono doesn't return denormals when using (float)"val"
|
||||||
# (but it returns them when using (vector)"<val,...>")
|
# (but it returns them when using (vector)"<val,...>")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue