Commit: c9451f1cff4403855d5a77c15cfd428e0a9ebe87
Author: lazydodo
Date:   Sun May 7 09:16:14 2017 -0600
Branches: master
https://developer.blender.org/rBc9451f1cff4403855d5a77c15cfd428e0a9ebe87

[Cycles] Fix math problems in safe_logf

log(0) is undefined and should not have been included
log(1) == 0, dividing by zero is not recommended

===================================================================

M       intern/cycles/util/util_math.h

===================================================================

diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h
index 12abd8e201e..b719640b19c 100644
--- a/intern/cycles/util/util_math.h
+++ b/intern/cycles/util/util_math.h
@@ -492,17 +492,17 @@ ccl_device float safe_powf(float a, float b)
        return compatible_powf(a, b);
 }
 
-ccl_device float safe_logf(float a, float b)
+ccl_device float safe_divide(float a, float b)
 {
-       if(UNLIKELY(a < 0.0f || b < 0.0f))
-               return 0.0f;
-
-       return logf(a)/logf(b);
+       return (b != 0.0f)? a/b: 0.0f;
 }
 
-ccl_device float safe_divide(float a, float b)
+ccl_device float safe_logf(float a, float b)
 {
-       return (b != 0.0f)? a/b: 0.0f;
+       if(UNLIKELY(a <= 0.0f || b <= 0.0f))
+               return 0.0f;
+
+       return safe_divide(logf(a),logf(b));
 }
 
 ccl_device float safe_modulo(float a, float b)

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to