Line | Branch | Decision | Exec | Source |
---|---|---|---|---|
1 | #include <rusefi/rusefi_math.h> | |||
2 | ||||
3 | #include <gtest/gtest.h> | |||
4 | #include <cmath> | |||
5 | ||||
6 | 4 | TEST(Util_Math, ExpTaylor) | ||
7 | { | |||
8 | // test from -2 < x < 0 | |||
9 |
2/2✓ Branch 0 taken 41 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 41 times.
✓ Decision 'false' taken 1 time.
|
42 | for(float x = -2; x < 0; x += 0.05) |
10 | { | |||
11 | // Compare taylor to libc implementation | |||
12 |
3/7✓ Branch 2 taken 41 times.
✓ Branch 5 taken 41 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 41 times.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
|
41 | EXPECT_NEAR(expf_taylor(x), expf(x), 0.01f); | |
13 | } | |||
14 | 1 | } | ||
15 | ||||
16 | 4 | TEST(Util_Math, clampf) { | ||
17 | // off scale low | |||
18 |
3/7✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_EQ(clampF(10, 5, 20), 10); | |
19 |
3/7✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_EQ(clampF(-10, -50, 10), -10); | |
20 | ||||
21 | // in range (unclamped) | |||
22 |
3/7✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_EQ(clampF(10, 15, 20), 15); | |
23 |
3/7✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_EQ(clampF(-10, -5, 10), -5); | |
24 | ||||
25 | // off scale high | |||
26 |
3/7✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_EQ(clampF(10, 25, 20), 20); | |
27 |
3/7✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_EQ(clampF(-10, 50, 10), 10); | |
28 | 1 | } | ||
29 | ||||
30 | 4 | TEST(Util_Math, tanf_taylor) { | ||
31 | // Function is only specified from [0, pi/2) ish, so test that range | |||
32 |
2/2✓ Branch 1 taken 15 times.
✓ Branch 2 taken 1 time.
|
2/2✓ Decision 'true' taken 15 times.
✓ Decision 'false' taken 1 time.
|
16 | for (float i = 0; i < 1.5; i += 0.1f) |
33 | { | |||
34 | // Compare to libc implementation | |||
35 |
3/9✓ Branch 2 taken 15 times.
✓ Branch 5 taken 15 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 15 times.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✗ Branch 23 not taken.
✗ Branch 26 not taken.
|
15 | EXPECT_NEAR(tanf_taylor(i), tanf(i), 0.05f) << "I = " << i; | |
36 | } | |||
37 | 1 | } | ||
38 |