I compiled the current source code and got a firmaware binary of about 182 KB. I think that the maximum possible size is 192 KB (?). If that is correct I think it could be very difficult if not impossible to implement the floating point algebra in that size.
Just out of curiosity I have tried to compile the firmware with floating point support. After some complains by the linker about some functions missing (sqtrf, etc) I added the libm sources to the compiler options in application.mk but eventually got this error:
CC ../lib/libm/math.c
../lib/libm/math.c: In function 'sqrtf':
../lib/libm/math.c:86:5: error: inconsistent operand constraints in an 'asm'
asm volatile (
^
And solving this error is out of reach for me.
Anyway, I think that the best option for me is to use integer algebra with the WiPy. I would appreciate some information about the implementation of some common functions (sqrt, acos, atan2, etc) with integers.