Files
gotta-scroll-fast/driver/tests/atofp.test.c
T
thomas 5f1254d11a
Tests / test_core_function (push) Failing after 12s
import upstream maccel baseline
2026-03-25 09:32:22 +00:00

42 lines
998 B
C

#include "../fixedptc.h"
#include "./test_utils.h"
#include <assert.h>
#include <stdio.h>
#include <time.h>
void test_eq(char *value, double expected) {
fpt n = atofp(value);
double actual = fpt_todouble(n);
dbg("actual: (%li) %.15f, vs expected: %.15f\n", n, actual, expected);
assert(actual == expected);
}
void super_tiny_micro_minuscule_bench() {
int iterations = 100000;
double sum = 0;
for (int i = 0; i < iterations; i++) {
struct timespec begin, end;
clock_gettime(CLOCK_MONOTONIC_RAW, &begin);
fpt n = atofp("1826512586328");
dbg("atofp(\"1826512586328\") = %li\n", n);
clock_gettime(CLOCK_MONOTONIC_RAW, &end);
sum += (double)(end.tv_nsec - begin.tv_nsec);
}
double avg = sum / iterations;
printf(" Avg run time is %fns\n", avg);
}
int main(void) {
test_eq("1073741824", 0.25);
test_eq("536870912", 0.125);
test_eq("1342177280", 0.3125);
test_eq("-335007449088", -78);
print_success;
super_tiny_micro_minuscule_bench();
}