Files
thomas 5f1254d11a
Tests / test_core_function (push) Failing after 12s
import upstream maccel baseline
2026-03-25 09:32:22 +00:00

46 lines
972 B
C

#include "../dbg.h"
#include "../fixedptc.h"
#include "test_utils.h"
#include <assert.h>
#include <stdint.h>
void test_custom_division_against_fixedpt(double a, double b) {
#if FIXEDPT_BITS == 32
return;
#else
fpt n = fpt_rconst(a);
fpt divisor = fpt_rconst(b);
fpt quotient = div128_s64_s64(n, divisor);
fpt quotient1 = fpt_xdiv(n, divisor);
double actual = fpt_todouble(quotient);
double expected = fpt_todouble(quotient1);
dbg("actual = (%li) -> %.10f", quotient, actual);
dbg("expect = (%li) -> %.10f", quotient1, expected);
assert(actual == expected);
#endif
}
int main(void) {
test_custom_division_against_fixedpt(57, 5.5);
test_custom_division_against_fixedpt(0, 2.57);
test_custom_division_against_fixedpt(-1, 3);
test_custom_division_against_fixedpt(-128, 4);
test_custom_division_against_fixedpt(127, 1.5);
/* test_custom_division_against_fixedpth(135, 0); */ // You only crash once!
print_success;
return 0;
}