#include <n3dtypes.h>
The Nintendo DS hardware does not have a Floating Point Unit, thus N3D provides the N3DFLOAT type, which simulates floats by using fixed point arithmetic.
The N3DFLOAT is implemented as a struct of a size of 32bit, therefor fits into one register and does not produce overhead, but is typesafe! If you pass a single N3DFLOAT as parameter, don't pass it as reference or pointer, as this generates extra code. Pass it by value instead. Some operators are overloaded to work with the N3DFLOAT as with other types. All N3DFLOAT operations are inlined in _RELEASE mode and don't consume function call overhead therefor.
The N3DFLOAT format is 1bit sign, 19bit decimal part, 12bit fraction.
Example:
1.5.3