(float)"-NaN" should produce NaN, not Indet.
But (vector)"<-NaN, 0, 0>" produces Indet, not NaN.
This commit is contained in:
@@ -399,7 +399,12 @@ def InternalTypecast(val, out, InList, f32):
|
||||
if match.group(1):
|
||||
ret = F32(float.fromhex(match.group(0)), f32)
|
||||
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:
|
||||
# Mono doesn't return denormals when using (float)"val"
|
||||
# (but it returns them when using (vector)"<val,...>")
|
||||
|
||||
Reference in New Issue
Block a user