[PATCHv4] ldbl-128: Use L(x) macro for long double constants

Paul E. Murphy murphyp@linux.vnet.ibm.com
Tue Sep 13 15:43:00 GMT 2016



On 09/09/2016 09:14 AM, Joseph Myers wrote:
> On Thu, 8 Sep 2016, Paul E. Murphy wrote:
> 
>> 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.
> 
> The patch is OK with the comment change reverted.
> 

I'll commit with the updated messages:

    ldbl-128: Use L(x) macro for long double constants
    
    This runs the attached sed script against these files using
    a regex which aggressively matches long double literals
    when not obviously part of a comment.
    
    Likewise, 5 digit or less integral constants are replaced
    with integral constants, excepting the two cases of 0 used
    in large tables, which are also the only integral values
    of the form x.0*E0L encountered within these converted
    files.
    
    Likewise, -L(x) is transformed into L(-x).
    
    Naturally, the script has a few minor hiccups which are
    more clearly remedied via the attached fixup patch.  Such
    hiccups include, context-sensitive promotion to a real
    type, and munging constants inside harder to detect
    comment blocks.
    
    	* sysdeps/ieee754/ldbl-128/e_acoshl.c: Wrap long double literals
    	with L() and remove explicit suffix, convert real literals
    	which can be equivalentally substituted with integers, and
    	transform -L(x) to L(-x).
    
    	* sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_atan2l.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_atanhl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_exp10l.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_expl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_hypotl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_j0l.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_log2l.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_logl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_powl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_rem_pio2l.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_remainderl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/k_cosl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/k_sincosl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/k_sinl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/lgamma_negl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_asinhl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_cbrtl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_cosl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_fmal.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_frexpl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_llrintl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_llroundl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_lrintl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_lroundl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_nearbyintl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_nextafterl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_remquol.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_scalblnl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_scalbnl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_sincosl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_sinl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_tanhl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/s_tanl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/t_expl.h: Likewise.
    	* sysdeps/ieee754/ldbl-128/t_sincosl.c: Likewise.
    	* sysdeps/ieee754/ldbl-128/x2y2m1l.c: Likewise.

With the updated fixup patch to revert the 1.0L -> 1 change in noted
comment of e_atan2l.c. The script remains unchanged.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixup_Lx_v2.patch
Type: text/x-patch
Size: 2962 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160913/d2a670eb/attachment.bin>


More information about the Libc-alpha mailing list