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

Re: An amendment to the motion P1788.1/M004.02



As Motion 4.02 has passed, this technically is not an amendment, but a new motion, 5.01 by my reckoning.

George Corliss



> On Sep 26, 2016, at 12:46 PM, Dmitry Nadezhin <dmitry.nadezhin@xxxxxxxxxx> wrote:
> 
> Dear colleagues,
> 
> The motion M004.02 passed.
> Syntax of interval literals in this motion is restricted against syntax in interval literals in 1788-2015.
> Later discussion showed that such a restriction makes difficult
> to follow the principle formulated in the section 1.1 of P1788.1:
> "A program built on top of an implementation of IEEE P1788.1 should compile and run,
> and give identical output within round off, using an implementation of IEEE Std 1788-2015, or any superset of the former."
> 
> Here is a program that illustrates this:
> -----
> char *s = "[ 0x0.0p0 , 1.0 ]";
> bareInterval x = textToBareInterval (s);
> if (isEmpty(x))
>  printf("1788.1\n");
> else
>  printf("1788\n");
> -----
> 
> 1788.1 (as of M004.02) returns the Empty but this is containment violation in 1788 .
> 
> A possible solution of this contradiction is to preserve in 1788.1 syntax of 1788 interval literals.
> Some literals are difficult for implementation, but 1788.1 would relax accuracy mode of textToInterval(s)
> constructor on difficult strings instead of forbidding them.
> Relaxation of accuracy mode on difficult strings doesn't contradict 1788. See the last paragraph
> of the section 9.8 of 1788 .
> 
> Modified level2.pdf is attached.
> It describes full syntax of interval literals in a style simpler than in 1788.
> It also formulates relaxed accuracy of textToInterval(s) on difficult input strings.
> Additions are in blue color, removal is in red color.
> 
> Please consider this as an amendment to M004.02 .
> 
> Best Regards,
>  -Dima
> <level2.pdf>