Another take on decimal data types

Robert M. Münch robert.muench at saphirion.com
Thu Jan 11 22:14:24 UTC 2018


On 2018-01-11 18:15:23 +0000, rumbu said:

> On Thursday, 11 January 2018 at 11:19:41 UTC, Robert M. Münch wrote:
>> 
>> Great stuff! Will this work in betterC mode?
> 
> It will not work without some refactory. Most of phobos/druntime 
> dependencies are minimal an can be rewritten - in fact there are only 9 
> dependencies: bsr, bsf, addu, subu, adds, subs from druntime and isNaN, 
> isinfinity, signbit from std.math.
> 
> The rest of the dependencies are simply traits that must work by 
> default under betterC.

Ok, that doesn't sound impossible.

> Once dependencies are solved, another problem will be the exception 
> mechanism. 90% of arithmetic operations are meant to throw exceptions, 
> but this can be overridden by the alternate exception handling - 
> raising and setting flags.

Yes, makes sense.

> BUT - a very big but - the most important issue is the formatting thing.
> ...
> a printf equivalent for decimal types is rewritten from scratch or - 
> decimal values must be converted to binary float before printing them - 
> but this will negate the main purpose of the decimal type - precision.

Well, I think even using a decimal128 for some calculations to have 
higher precision intermediate results and only converting them to float 
for UI interaction would make a lot of sense.

At least in our use-case, that would be quite interesting.

Looking forward to see some benchmarks.


-- 
Robert M. Münch
http://www.saphirion.com
smarter | better | faster
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-announce/attachments/20180111/baa1afe6/attachment.html>


More information about the Digitalmars-d-announce mailing list