5#include "testing/testing.h"
17TEST(math_base, CompareFFRelativeValid)
19 EXPECT_TRUE(
sizeof(
float) ==
sizeof(
int));
22TEST(math_base, CompareFFRelativeNormal)
24 float f1 = 1.99999988f;
25 float f2 = 2.00000000f;
26 float f3 = 2.00000048f;
27 float f4 = 2.10000000f;
29 const float max_diff = FLT_EPSILON * 0.1f;
53TEST(math_base, CompareFFRelativeZero)
56 float f1 = 4.2038954e-045f;
59 float fn1 = -2.8025969e-045f;
61 const float max_diff = FLT_EPSILON * 0.1f;
166TEST(math_base, MinVectorAndFloat)
181TEST(math_base, StepGreaterThan)
203 EXPECT_FLOAT_EQ(
floored_fmod(3.27f, 1.57f), 0.12999988f);
207 EXPECT_FLOAT_EQ(
floored_fmod(-100.1f, 1.0f), 0.90000153f);
208 EXPECT_FLOAT_EQ(
floored_fmod(-0.1f, 12345.0f), 12344.9f);
209 EXPECT_FLOAT_EQ(
floored_fmod(12345.1f, 12345.0f), 0.099609375f);
210 EXPECT_FLOAT_EQ(
floored_fmod(12344.999f, 12345.0f), 12344.999f);
211 EXPECT_FLOAT_EQ(
floored_fmod(12345.0f, 12345.0f), 0.0f);
235 math::mod_periodic(std::numeric_limits<int>::max() / 2, std::numeric_limits<int>::max() / 2),
238 math::mod_periodic(std::numeric_limits<int>::min() / 2, std::numeric_limits<int>::max() / 2),
239 std::numeric_limits<int>::max() / 2 - 1);
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
MINLINE unsigned int log2_ceil_u(unsigned int x)
float floor_power_of_10(float f)
MINLINE float floored_fmod(float f, float n)
MINLINE uint ulp_diff_ff(float a, float b)
MINLINE unsigned int log2_floor_u(unsigned int x)
float ceil_power_of_10(float f)
MINLINE int compare_ff_relative(float a, float b, float max_diff, int max_ulps)
T clamp(const T &a, const T &min, const T &max)
T min(const T &a, const T &b)
T step(const T &edge, const T &value)
T midpoint(const T &a, const T &b)
T interpolate(const T &a, const T &b, const FactorT &t)
T mod_periodic(const T &a, const T &b)
TEST(any, DefaultConstructor)