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: [PATCHv4] ldbl-128: Use L(x) macro for long double constants



On 09/08/2016 05:56 PM, Joseph Myers wrote:
> On Fri, 2 Sep 2016, Paul E. Murphy wrote:
> 
>> @@ -65,7 +65,7 @@ __ieee754_atan2l(_Float128 y, _Float128 x)
>>  	if(((ix|((lx|-lx)>>63))>0x7fff000000000000LL)||
>>  	   ((iy|((ly|-ly)>>63))>0x7fff000000000000LL))	/* x or y is NaN */
>>  	   return x+y;
>> -	if(((hx-0x3fff000000000000LL)|lx)==0) return __atanl(y);   /* x=1.0L */
>> +	if(((hx-0x3fff000000000000LL)|lx)==0) return __atanl(y);   /* x=1 */
> 
> Is this change of a comment deliberate?  I thought you were avoiding 
> changing comments.

This is a limitation of the conversion script.  It only skips lines
which start with a /* comment.  This can be reverted via the fixup,
patch or I can note the limitation in the commit message.

> 
>> + L(0.0000000000000000000000000000000000000000E0),
> 
> Is it deliberate that this (in e_logl.c) is not becoming integer 0 (it may 
> well make sense to avoid converting to integers in such generated tables, 
> but you didn't call it out in the patch description as a deliberate 
> fixup)?  Likewise in s_atanl.c.

The transformation is not applied to integral values written with an
exponent-part 'E'.  A trivial change to the transformation could
catch those two cases, but it looks a little neater without. I can
note this behavior in the commit message too.


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