rsys

Basic data structures and low-level features
git clone git://git.meso-star.fr/rsys.git
Log | Files | Refs | README | LICENSE

commit 7c3c83776663d81473f02c40d3ff82aec53dbe15
parent 50852b9b06ec83a17ec6f8c14b1934dd646c3100
Author: vaplv <vaplv@free.fr>
Date:   Sun,  8 Jun 2014 19:20:05 +0200

Add and test the signf function

Diffstat:
Msrc/math.h | 6++++++
Msrc/test_math.c | 10++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/src/math.h b/src/math.h @@ -47,6 +47,12 @@ absf(const float flt) return ucast.f; } +static FINLINE float +signf(const float flt) +{ + return flt < 0.f ? -1.f : 1.f; +} + static FINLINE char eq_eps(const float a, const float b, const float eps) { diff --git a/src/test_math.c b/src/test_math.c @@ -44,6 +44,7 @@ main(int argc, char** argv) CHECK(IS_POW2(31), 0); CHECK(IS_POW2(64), 1); CHECK(IS_POW2(1 << 16), 1); + CHECK(log2i(3), 1); CHECK(log2i(4), 2); CHECK(log2i(5), 2); @@ -52,9 +53,18 @@ main(int argc, char** argv) CHECK(log2i(12), 3); CHECK(log2i(511), 8); CHECK(log2i(512), 9); + CHECK(round_up_pow2(0), 1); CHECK(round_up_pow2(3), 4); CHECK(round_up_pow2(4), 4); CHECK(round_up_pow2(100), 128); + + CHECK(absf(-1.f), 1.f); + CHECK(absf(10.f), 10.f); + CHECK(absf(-3.14159f), 3.14159f); + + CHECK(signf(-3.14159f), -1.f); + CHECK(signf(1.23f), 1.f); + CHECK(signf(0.f), 1.f); return 0; }