15 Commits

Author SHA1 Message Date
c31fac9884 Fix more GCC warnings 2025-12-23 14:11:06 +01:00
973302fb31 Fix GCC errors 2025-12-23 14:11:06 +01:00
bc4a8918e2 Add string functions 2025-12-23 14:11:06 +01:00
148cc741eb Add static/non-static option for guf_alloc_libc.h 2025-12-23 14:11:05 +01:00
08b7edbdf4 Add name to alloc_tracker 2025-12-23 14:11:05 +01:00
9cec01cc50 Add guf_alloc_tracker 2025-12-23 14:11:05 +01:00
4111f54159 Add checked arithmetic 2025-12-23 14:11:05 +01:00
5d2c4be265 Add separate 32/64 bit versions to guf_rand 2025-12-23 14:11:05 +01:00
b541100a76 Change directory structure 2025-12-23 14:11:05 +01:00
c8ffde8c19 Fix warnings in release 2025-12-23 14:11:05 +01:00
517151b342 Change short-string approach to use 32 instead of 40 bytes 2025-12-23 14:11:05 +01:00
7e348e74bc Change linalg mat_inverse.
Still not sure whether it's better to calculate
rref[pivot_row][col] * (rref[row][pivot_col] / pivot_val) (option 1)
vs.
rref[pivot_row][col] * rref[row][pivot_col] / pivot_val   (option 2)

(i.e.  a * b / c vs. "a * (b/c))

in terms of floating point error.

But I think option 1 (current commit) is better, since the scale factor
(rref[row][pivot_col] / pivot_val) is always <= 1 here (I think).
2025-12-23 14:11:05 +01:00
ea6a63aa3a Fix linalg bugs 2025-12-23 14:11:05 +01:00
467f9be00a Refactor 2025-12-23 14:11:04 +01:00
d687bfe441 Improve tests 2025-12-23 14:11:04 +01:00