Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: P1788: Next?


The discussion was resolved in such a way.

The syntax of 1788.1 interval literals is exactly the syntax
of 1788 set-based interval literals.

There is a subset of "good" literals. It includes uncertain
forms, special values and inf-sup forms with same-radix
number literals which are not rationals. Other strings
of form "[l,u]" are called "accuracy-relaxed" strings.

textToInterval(s) 1788.1 constructor must act with tightest
accuracy on "good" stings. It must properly distinguish
l<=u or l>u, return hull([l,u]) when l<=u and signal
UndefinedOperation exception when l>u .

The constructor may signal PossiblyUndefined exception
on "accuracy-relaxed" strings and return any interval
containing both l and u, though constructor may act exactly
if it can.

I attach the pdf accepted by M006.1 . Differences from M006.0
are in colored text - additions are blue and removals are red.

I think that 1788.1 formulation is conforming with 1788 general requirements.
Sections 9.7.1 of the 1788 allows to restrict support of
literals at Level 2 by relaxing conversion accuracy of hard
cases: rational number literals, long strings, etc.
The 1788.1 behavior is the clearly specified relaxation.


----- Original Message -----
From: j.d.pryce@xxxxxxxxxx
To: dmitry.nadezhin@xxxxxxxxxx
Cc: STDS-1788@xxxxxxxxxxxxxxxxx
Sent: Thursday, February 9, 2017 3:24:55 PM GMT +03:00 Iraq
Subject: Re: P1788: Next?

Dear all

> On 9 Feb 2017, at 04:00, Dmitry Nadezhin <dmitry.nadezhin@xxxxxxxxxx> wrote:
> Natalie,
>> it is not clear to me that 1788.1 is a flavor of 1788…
> Part 1 "General Requirements" of the 1788 standard defines requirements for a flavor.
> Which of these requirements are not met by 1788.1 ?
> Best Regards,
>  -Dima

I seem to remember this became an essentially technical question and that whether 1788.1 is a flavor or not comes down to how literals are handled, e.g. by numstointerval() and texttointerval(). E.g. does it support mixed radix interval literals (MRILs) as in Table 9.4. "All-flavor bare interval literal examples"? E.g.
 "[-0x1.3p-1, 2/3]" or "[-0x1.3p-1, 0.6667]"

Dima pressed for a specification that would make it a flavor, while Ned was not keen, on grounds of keeping 1788.1 simple. Vincent Lefevre also expressed some views. The point was, I think, that the computational complexity of deciding if a MRIL represents a valid (nonempty) interval can be very high, and is this a burden worth putting on implementers of a "basic" standard?

I don't recall how the discussion was resolved, if it ever was. Ned, Dima, Vincent?

If it wasn't resolved, personally I would be happy if 1788.1 keeps the simpler spec that means it's not (currently) a flavor. When the main 1788 standard is revised in a few years, we can decide whether to limit literals to follow the 1788.1 form -- in which case 1788.1 would become a flavor!


Attachment: level2a.pdf
Description: Adobe PDF document