Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-07-16 11:46:18 +0300
committerJacques Lucke <jacques@blender.org>2020-07-16 11:46:18 +0300
commit35bfe1702c3754af17f440c7ee7cb0e9abb8fa9d (patch)
tree317c7f69eabe438062ebe41e6c0ddbeada3e8e5a /tests
parent4a9d903e2bfd4f6b3f64b482344bc853a6d93236 (diff)
BLI: add safe_powf function
The same function is also used by cycles.
Diffstat (limited to 'tests')
-rw-r--r--tests/gtests/blenlib/BLI_math_base_test.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/gtests/blenlib/BLI_math_base_test.cc b/tests/gtests/blenlib/BLI_math_base_test.cc
index dc20c75576d..b7e7472eab2 100644
--- a/tests/gtests/blenlib/BLI_math_base_test.cc
+++ b/tests/gtests/blenlib/BLI_math_base_test.cc
@@ -113,3 +113,15 @@ TEST(math_base, Log2CeilU)
EXPECT_EQ(log2_ceil_u(9), 4);
EXPECT_EQ(log2_ceil_u(123456), 17);
}
+
+TEST(math_base, SafePowf)
+{
+ EXPECT_FLOAT_EQ(safe_powf(4.0f, 3.0f), 64.0f);
+ EXPECT_FLOAT_EQ(safe_powf(3.2f, 5.6f), 674.2793796f);
+ EXPECT_FLOAT_EQ(safe_powf(4.0f, -2.0f), 0.0625f);
+ EXPECT_FLOAT_EQ(safe_powf(6.0f, -3.2f), 0.003235311f);
+ EXPECT_FLOAT_EQ(safe_powf(-4.0f, 6), 4096.0f);
+ EXPECT_FLOAT_EQ(safe_powf(-3.0f, 5.5), 0.0f);
+ EXPECT_FLOAT_EQ(safe_powf(-2.5f, -4.0f), 0.0256f);
+ EXPECT_FLOAT_EQ(safe_powf(-3.7f, -4.5f), 0.0f);
+}