It's interesting you mention something about integer divide being used for floating point division.
1. Notation and fixed point operations on Fixed16 are equivalent across
architectures. Are you sure using floating point division
is safe?
2. For Flash (and Javascript, perhaps asm has an int64, I don't know) you probably wont be able to inline because an Int64, available with FlasCC. Perhaps haxe.Int64 is implemented a safe way. Everything in Javascript is a float. I haven't looked at asm though.
I haven't tested this and I don't know what goes on with regards to integer division for floating point arithmetic on the platforms you specified, I don't know that at least in theory that rounding floating points (into the fixed point point notation) is safe. This can probably be determined with math. If it is safe, then we need to check if the FPU calculations are in fact faster than the fixed point division implementation on Int64s.
Re: Implementing functions (including trig) that require Int64:
3. How is haxe.Int64
implemented for Javascript and Flash bytecode?
4. There is this article with regards to Int64 on Flash:
http://marshgames.com/fixed-point-arithmetic-and-determinism-in-flash/ - I think it would be possible to inline the implementations for platforms that support Int64 in a reasonable way
- For Flash, I think it would be possible to do the function call
5. Trig functions are essential to any cross platform games with any rotation otherwise you're limited to doing grid pathfinding.