Money type

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Fri Jan 3 09:36:19 UTC 2020


On Thursday, 2 January 2020 at 23:13:00 UTC, Ola Fosheim Grøstad 
wrote:
> // set rounding down mode here and track FE_INEXACT exception
> x = 3.0*value+0.5

x = 3.0*value+50.0 … ;-)


In addtion to the IEEE754 base10 D-implementation that exists as 
a dub package I found this implementation by Intel:

https://software.intel.com/en-us/articles/intel-decimal-floating-point-math-library

Clock cycle counts from 2018:

https://www.lirmm.fr/arith18/papers/CorneaM_Decimal_ARITH18.pdf

It apparently supports Linux, Windows and Mac so it might be 
worth creating bindings for it if nobody has done it already?

This combined with IEEE1788 could be interesting, first do the 
computation with base2 hardware floats and revert to base 10 on 
failure.

Base 2 is basically 100 times faster...



More information about the Digitalmars-d mailing list