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]

[PATCHv2 04/14] Refactor type specific macros using regexes


Replace most of the type specific macros  with the equivalent
type-generic macro using the following sed replacement command below:

sed -ri -e 's/defined TEST_FLOAT/TEST_COND_binary32/'     \
            -e 's/ndef TEST_FLOAT/ !TEST_COND_binary32/'  \
            -e 's/def TEST_FLOAT/ TEST_COND_binary32/'    \
            -e 's/defined TEST_DOUBLE/TEST_COND_binary64/'\
            -e 's/ndef TEST_DOUBLE/ !TEST_COND_binary64/' \
            -e 's/def TEST_DOUBLE/ TEST_COND_binary64/'   \
            -e 's/defined TEST_LDOUBLE && //'             \
            -e 's/ifdef TEST_LDOUBLE/if MANT_DIG >= 64/'  \
            -e 's/defined TEST_LDOUBLE/MANT_DIG >= 64/'   \
            -e '9941,10047!s/LDBL_(MIN_EXP|MAX_EXP|MANT_DIG)/\1/g'   \
            libm-test.inc

Note, TEST_LDOUBLE checks are replaced by MANT_DIG >= 64 excepting
where another property of the type is being tested.

Beware, the magic numbers of the final regex. This explicitly
avoids converting the LDBL_ macros of the nexttoward tests. This
function always takes a second long double argument.

	* math/libm-test.inc:
	[TEST_FLOAT]: Change usage to TEST_COND_binary32.
	[TEST_DOUBLE]: Change usage to TEST_COND_binary64.
	[TEST_LDOUBLE]: Change usage to TEST_COND_gt_binary64.
	[LDBL_MAX_EXP]: Change to TYPE_MAX_EXP.
	[LDBL_MIN_EXP]: Change to TYPE_MIN_EXP.
	[LDBL_MANT_DIG]: Change to TYPE_MANT_DIG, except for
	nexttoward tests.
---
 math/libm-test.inc | 674 ++++++++++++++++++++++++++---------------------------
 1 file changed, 337 insertions(+), 337 deletions(-)


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