reilabs / hieratika

Efforts to compile LLVM bytecode to run on top of the CairoVM and hence execute provably on Starknet
http://starknet.io
Apache License 2.0
2 stars 0 forks source link

Implement IEEE-754 64b Floats #53

Open ktemkin opened 2 months ago

ktemkin commented 2 months ago

Description

Floating point behaviors are not supported natively on CairoVM. While there are myriad soft-float implementations out there, we need to implement such a thing with reasonable performance on Cairo. This should provide the following operations:

This must result in an IEEE-754 64-bit float (double) compliant floating point implementation, and should behave as expected for real hardware and machine models. Note that this does not include the stateful behavior, as this is accounted for by the FPU (#48, #54).

This can also likely borrow some work from the 32 bit float implementation (#52).