[Bf-blender-cvs] [537d7c038a] temp-cycles-denoising: Cycles Denoising: Cleanup safe_isfinite
Lukas Stockner
noreply at git.blender.org
Fri Mar 24 20:18:37 CET 2017
Commit: 537d7c038a67a6eeea6fe3e0514a5505b8cc0255
Author: Lukas Stockner
Date: Thu Mar 23 23:41:50 2017 +0100
Branches: temp-cycles-denoising
https://developer.blender.org/rB537d7c038a67a6eeea6fe3e0514a5505b8cc0255
Cycles Denoising: Cleanup safe_isfinite
===================================================================
M intern/cycles/util/util_math.h
===================================================================
diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h
index da4bc53778..6fa558dda5 100644
--- a/intern/cycles/util/util_math.h
+++ b/intern/cycles/util/util_math.h
@@ -1718,20 +1718,15 @@ ccl_device_inline int util_max_axis(float3 vec)
/* An implementation of isfinite that works in combination with -ffast-math.
* In IEEE 754 floats, bits 24 to 31 store the exponent, and an exponent of 0xff means either inf or nan. */
-ccl_device_inline float safe_isfinite(float v)
+ccl_device_inline bool safe_isfinite(float v)
{
- union {
- int i;
- float v;
- } u;
- u.v = v;
- return (u.i & 0x7f800000) != 0x7f800000;
+ return (__float_as_int(v) & 0x7f800000) != 0x7f800000;
}
ccl_device_inline float ensure_finite(float v)
{
return safe_isfinite(v)? v : 0.0f;
-};
+}
ccl_device_inline float3 ensure_finite3(float3 v)
{
More information about the Bf-blender-cvs
mailing list