[Bf-blender-cvs] [c9451f1cff4] master: [Cycles] Fix math problems in safe_logf
lazydodo
noreply at git.blender.org
Sun May 7 17:16:22 CEST 2017
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)
More information about the Bf-blender-cvs
mailing list