This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCHv2 06/14] Replace M_PI2l with pi_2_d in libm-test.inc
- From: "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Mon, 23 May 2016 14:41:07 -0500
- Subject: Re: [PATCHv2 06/14] Replace M_PI2l with pi_2_d in libm-test.inc
- Authentication-results: sourceware.org; auth=none
- References: <cover dot 1463779745 dot git dot murphyp at linux dot vnet dot ibm dot com> <82462d6a31a07e67c8142a7b5b506c8e0c508a62 dot 1463779745 dot git dot murphyp at linux dot vnet dot ibm dot com> <alpine dot DEB dot 2 dot 20 dot 1605231651560 dot 17954 at digraph dot polyomino dot org dot uk>
On 05/23/2016 11:56 AM, Joseph Myers wrote:
> On Fri, 20 May 2016, Paul E. Murphy wrote:
>
>> This is useful in situations where the long double type is
>> less precise than the type under test.
>>
>> * libm-test.inc: Replace usage of M_PI2l with
>> [pi_2_d]: New macro.
>
> I'm not convinced that adding several extra local constants is the right
> approach here.
>
> For the API for float128 to be feature-complete compared to long double,
> it should include constants such as M_PI_2f128 for all the long double
> constants in <math.h>. Which means that there is always a constant from
> <math.h> that can be used in these cases; you don't need yet another copy
> of the digits of this constant. You might, for example, have a macro MCST
> defined for each type and use MCST (PI_2) here (which would expand to
> M_PI_2 for float and double - there aren't float versions of these
> <math.h> constants - M_PI_2l for long double, M_PI_2f128 for float128).
Are you suggesting removing the new constants entirely, or just redefining
these macros in terms of existing macros?
I'd prefer to keep the M prefixed constants out of the individual test cases,
and maintain consistency with the other lower case constants. It's too easy
to overlook them otherwise.