In need for a Kalman filter on an embedded system I was looking for a linear algebra library. It turned out that there are quite a bunch of libraries written in C++, mostly template based, yet nothing lean and mean written in ANSI C. I ended up porting parts of EJML to C and picked only what I needed for the Kalman filter (see the result, kalman-clib, if you are interested). The result was a working, relatively fast library using floats. Or doubles, if the user prefers.
However, a big problem is that many embedded targets (say, ARM Cortex-M0/3) don’t sport a floating-point unit, so the search went on for a fixed-point linear algebra library. Thanks to a hint on StackOverflow it ended at libfixmath, which implements Q16 numbers (i.e. 16.16 on 32bit integer) and is released under an MIT license.
Luckily, some other guy created a linear algebra library around it, called libfixmatrix (MIT, too). I started to port my Kalman library to libfixmatrix and, voilà, libfixkalman was born (you can find it in the libfixkalman GitHub repository).