This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: IEEE128 binary float to decimal float conversion routines


On Sat, 2015-12-19 at 16:40 +0000, Joseph Myers wrote:
> On Fri, 18 Dec 2015, Steven Munroe wrote:
> 
> > > Well, I'd think the starting point is to implement operations following 
> > > the correct semantics, which are quite clear in both TR 24732:2009 and TS 
> > > 18661-2: as per IEEE 754-2008, conversions are correctly rounded with 
> > > correct exceptions.  
> > 
> > Then you should be specific! Specific examples with test cases.
> 
> https://github.com/libdfp/libdfp/issues/29
> https://github.com/libdfp/libdfp/issues/30
> https://github.com/libdfp/libdfp/issues/31
> https://github.com/libdfp/libdfp/issues/32
> https://github.com/libdfp/libdfp/issues/33
> https://github.com/libdfp/libdfp/issues/34
> 
> All include testcases, tested with current git libdfp on POWER8 
> little-endian.  Five of the six work correctly with the libgcc 
> conversions.  All should be understood to be likely to apply to most of 
> the binary/decimal conversions in libdfp, in both directions, not just to 
> the conversions from _Decimal128 to double used to illustrate them, 
> because of the similarity of code used for different conversions.  I think 
> together those issues provide reasonable coverage of the problems with 
> libdfp conversions that I've identified in this thread.
> 

Yes this is specific and sufficient, we will start working on resolving
these.

I suspect some of these are errors copied from the ieee sources long ago
that you have since corrected. We will use this a guide.

As for the conversions and rounding, libgcc meets your goal because it
is using the decnumber soft-dfp library. So we have that to fall back
on. 

That libdfp is only 1ULP off is actually reassuring.  As the tables use
for these conversions are program generated and need to expanded for
_float128, now is good time to revisit this. Also it is good time to
measure and quantify the performance delta to make appropriate
engineering trade-offs.

Thank you.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]