Decimal string to floating point conversion with correct half-to-even rounding

Walter Bright newshound2 at digitalmars.com
Sun Jul 5 08:15:53 UTC 2020


On 7/5/2020 12:24 AM, 9il wrote:
> On Sunday, 5 July 2020 at 06:23:35 UTC, Walter Bright wrote:
>> On 7/4/2020 8:09 PM, 9il wrote:
>> Does the float parsing code require bignum?
> Yes. The decimal float parsing requires big integer arithmetic and software 

Arbitrary precision or simply a fixed amount of more precision?

> floating-point multiplication with extended precision (128-bit mantissa).

Some of that is already done in dmd.

Essentially, just enough to get this specific use to work.

>> I'm also not sure I know what you mean by control. Contributions to dmd would 
>> need to be Boost Licensed, which means anyone can do what they like with them.
> 
> The code is already Boost licensed.
> 
> We need not only literals parsing but also library text parsing. So the code 
> should be available for users and for the compiler. I see two possible solutions 
> that look good to me.
> 
> The first one is to add mir-algorithm package or its part as an external 
> dependency for DMD. It is preferable and either way. If you will accept the PR, 
> I will do it.
> 
> The second solution is to move `mir.bignum` and `mir.parse` to DRuntime/Phobos. 
> In this case, I would like to preserve the `mir.` namespace and the same 
> authority and veto right for this part of the codebase as I have at Mir Org.
> 
> I mean the following. Your voice has a veto right for DMD and Dlang evaluation. 
> Andrei has a veto right for Phobos. Atila seems to have almost the same veto 
> right as Andrei and you and blocks required Dlang features for Mir [1, 2]. 
> Furthermore, if you and Andrei really want to add or change something you will 
> force it to happen. I want the same veto right for evaluation of the Mir parts 
> in case you think they should be moved to DRuntime/Phobos. Also, the code under 
> `mir.` namespace should be less constrained then `core`/`std` code in terms of 
> API changes.
> 
> 
> [1] https://github.com/dlang/dmd/pull/9778
> [2] https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1023.md

It doesn't work quite like that. The D Language Foundation controls it. Andrei, 
Atila, and myself control it only as far as we DLF empowers us to, which can 
change. Official parts of the DMD distribution have to be controlled by the DLF. 
It's unworkable otherwise.



More information about the Digitalmars-d-announce mailing list