From patchwork Thu May 26 21:42:32 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. Murphy" X-Patchwork-Id: 626906 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rG2jL3lgFz9sCk for ; Fri, 27 May 2016 07:44:22 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=lrRZ1VlR; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references:in-reply-to:references; q=dns; s=default; b=ao017CiE XB+RPi9GocXJWsM+qgVqfq7DT1JUCakT+7HCX+Z3snsxmXMhrUHoRXGjsQfAF4x0 HnTS/sTi5a9v/BRNphi+ZZMcGKKGOO42x1xB9QNziWGNRsoIOEUhzYk3SXGLCrG0 MjXtWzjKbPzENychDgQ9oKsZld4RWXeqCMc= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:in-reply-to :references:in-reply-to:references; s=default; bh=t20U9YovTZDKAd KoyIzM3zQMCRY=; b=lrRZ1VlRMciJRrWX9SVzH4yctBxh8tDc5+JXzgb9qruWHt IX4IlJXHRlLKpwMeqNHZlDKT/hfRJTnIlMa3WWTxBQaBpfE2jgAgA5gIOsfKlLvz om7G6q4bt3bEYpP9TkUZzLa+0AMIS+nZv9Uyjs4pkzG0eX7Jgga5G6FxgeyFg= Received: (qmail 84727 invoked by alias); 26 May 2016 21:43:08 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 84639 invoked by uid 89); 26 May 2016 21:43:07 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, KAM_LOTSOFHASH, RP_MATCHES_RCVD, UNWANTED_LANGUAGE_BODY autolearn=ham version=3.3.2 spammy=substitutions X-HELO: e19.ny.us.ibm.com X-IBM-Helo: d01dlp02.pok.ibm.com X-IBM-MailFrom: murphyp@linux.vnet.ibm.com X-IBM-RcptTo: libc-alpha@sourceware.org From: "Paul E. Murphy" To: libc-alpha@sourceware.org Subject: [PATCHv3 03/11] Refactor M_ macros defined in libm-test.inc Date: Thu, 26 May 2016 16:42:32 -0500 Message-Id: <44e4b7be80d0add33eca63962cf5aa21d469db2e.1464297421.git.murphyp@linux.vnet.ibm.com> In-Reply-To: References: In-Reply-To: References: X-TM-AS-GCONF: 00 X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16052621-0057-0000-0000-0000047114C0 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused These are local to the test suite. Rename them as a macro starting with lit_pi and a series of postfix operations to give us a constant starting with lit_pi. The lit prefix is intended to enable easy substitutions via gen-test-libm.pl if needed. * libm-test.inc (M_PI_6l) Rename to (lit_pi_6_d): New Macro. (M_PI_34l): Rename to (lit_pi_3_m_4_d): New Macro. (M_PI_34_LOG10El): Rename to (lit_pi_3_ln10_m_4_d): New Macro. (M_PI2_LOG10El): Rename to (lit_pi_2_ln10_m_d): New Macro. (M_PI4_LOG10El): Rename to (lit_pi_4_ln10_m_d): New Macro. (M_PI_LOG10El): Rename to (lit_pi_ln10_d): New Macro. --- math/libm-test.inc | 77 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/math/libm-test.inc b/math/libm-test.inc index b0028c6..4cd1db6 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -305,13 +305,22 @@ struct ulp_data # define TEST_COND_x86 0 #endif -/* Various constants (we must supply them precalculated for accuracy). */ -#define M_PI_6l .52359877559829887307710723054658383L -#define M_PI_34l 2.356194490192344928846982537459627163L /* 3*pi/4 */ -#define M_PI_34_LOG10El 1.023282265381381010614337719073516828L -#define M_PI2_LOG10El 0.682188176920920673742891812715677885L -#define M_PI4_LOG10El 0.341094088460460336871445906357838943L -#define M_PI_LOG10El 1.364376353841841347485783625431355770L +/* Various constants of pi (we must supply them precalculated for accuracy). + They are written as a series of postfix operations to try to keep them + concise yet somewhat readable. */ + +/* pi / 6 */ +#define lit_pi_6_d LIT (.52359877559829887307710723054658383) +/* (pi * 3) / 4 */ +#define lit_pi_3_m_4_d LIT (2.356194490192344928846982537459627163) +/* (pi * 3 * ln(10) / 4 */ +#define lit_pi_3_m_ln10_m_4_d LIT (1.023282265381381010614337719073516828) +/* pi / (2 * ln(10)) */ +#define lit_pi_2_ln10_m_d LIT (0.682188176920920673742891812715677885) +/* pi / (4 * ln(10)) */ +#define lit_pi_4_ln10_m_d LIT (0.341094088460460336871445906357838943) +/* pi / ln(10) */ +#define lit_pi_ln10_d LIT (1.364376353841841347485783625431355770) #define ulps_file_name "ULPs" /* Name of the ULPs file. */ static FILE *ulps_file; /* File to document difference. */ @@ -1989,8 +1998,8 @@ static const struct test_ff_f_data atan2_test_data[] = TEST_ff_f (atan2, plus_infty, plus_infty, M_PI_4l, ERRNO_UNCHANGED), TEST_ff_f (atan2, minus_infty, plus_infty, -M_PI_4l, ERRNO_UNCHANGED), - TEST_ff_f (atan2, plus_infty, minus_infty, M_PI_34l, ERRNO_UNCHANGED), - TEST_ff_f (atan2, minus_infty, minus_infty, -M_PI_34l, ERRNO_UNCHANGED), + TEST_ff_f (atan2, plus_infty, minus_infty, lit_pi_3_m_4_d, ERRNO_UNCHANGED), + TEST_ff_f (atan2, minus_infty, minus_infty, -lit_pi_3_m_4_d, ERRNO_UNCHANGED), TEST_ff_f (atan2, qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_ff_f (atan2, qnan_value, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_ff_f (atan2, -qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), @@ -2082,8 +2091,8 @@ static const struct test_c_c_data cacos_test_data[] = TEST_c_c (cacos, minus_zero, minus_zero, M_PI_2l, 0.0), TEST_c_c (cacos, 0, minus_zero, M_PI_2l, 0.0), - TEST_c_c (cacos, minus_infty, plus_infty, M_PI_34l, minus_infty), - TEST_c_c (cacos, minus_infty, minus_infty, M_PI_34l, plus_infty), + TEST_c_c (cacos, minus_infty, plus_infty, lit_pi_3_m_4_d, minus_infty), + TEST_c_c (cacos, minus_infty, minus_infty, lit_pi_3_m_4_d, plus_infty), TEST_c_c (cacos, plus_infty, plus_infty, M_PI_4l, minus_infty), TEST_c_c (cacos, plus_infty, minus_infty, M_PI_4l, plus_infty), @@ -2769,8 +2778,8 @@ static const struct test_c_c_data cacosh_test_data[] = TEST_c_c (cacosh, minus_zero, 0, 0.0, M_PI_2l), TEST_c_c (cacosh, 0, minus_zero, 0.0, -M_PI_2l), TEST_c_c (cacosh, minus_zero, minus_zero, 0.0, -M_PI_2l), - TEST_c_c (cacosh, minus_infty, plus_infty, plus_infty, M_PI_34l), - TEST_c_c (cacosh, minus_infty, minus_infty, plus_infty, -M_PI_34l), + TEST_c_c (cacosh, minus_infty, plus_infty, plus_infty, lit_pi_3_m_4_d), + TEST_c_c (cacosh, minus_infty, minus_infty, plus_infty, -lit_pi_3_m_4_d), TEST_c_c (cacosh, plus_infty, plus_infty, plus_infty, M_PI_4l), TEST_c_c (cacosh, plus_infty, minus_infty, plus_infty, -M_PI_4l), @@ -3472,9 +3481,9 @@ static const struct test_c_f_data carg_test_data[] = TEST_c_f (carg, plus_infty, minus_infty, -M_PI_4l), - TEST_c_f (carg, minus_infty, plus_infty, M_PI_34l), + TEST_c_f (carg, minus_infty, plus_infty, lit_pi_3_m_4_d), - TEST_c_f (carg, minus_infty, minus_infty, -M_PI_34l), + TEST_c_f (carg, minus_infty, minus_infty, -lit_pi_3_m_4_d), TEST_c_f (carg, qnan_value, qnan_value, qnan_value), @@ -6236,8 +6245,8 @@ static const struct test_c_c_data clog_test_data[] = TEST_c_c (clog, 0, 0, minus_infty, 0.0, DIVIDE_BY_ZERO_EXCEPTION), TEST_c_c (clog, 0, minus_zero, minus_infty, minus_zero, DIVIDE_BY_ZERO_EXCEPTION), - TEST_c_c (clog, minus_infty, plus_infty, plus_infty, M_PI_34l), - TEST_c_c (clog, minus_infty, minus_infty, plus_infty, -M_PI_34l), + TEST_c_c (clog, minus_infty, plus_infty, plus_infty, lit_pi_3_m_4_d), + TEST_c_c (clog, minus_infty, minus_infty, plus_infty, -lit_pi_3_m_4_d), TEST_c_c (clog, plus_infty, plus_infty, plus_infty, M_PI_4l), TEST_c_c (clog, plus_infty, minus_infty, plus_infty, -M_PI_4l), @@ -6291,30 +6300,30 @@ clog_test (void) static const struct test_c_c_data clog10_test_data[] = { - TEST_c_c (clog10, minus_zero, 0, minus_infty, M_PI_LOG10El, DIVIDE_BY_ZERO_EXCEPTION), - TEST_c_c (clog10, minus_zero, minus_zero, minus_infty, -M_PI_LOG10El, DIVIDE_BY_ZERO_EXCEPTION), + TEST_c_c (clog10, minus_zero, 0, minus_infty, lit_pi_ln10_d, DIVIDE_BY_ZERO_EXCEPTION), + TEST_c_c (clog10, minus_zero, minus_zero, minus_infty, -lit_pi_ln10_d, DIVIDE_BY_ZERO_EXCEPTION), TEST_c_c (clog10, 0, 0, minus_infty, 0.0, DIVIDE_BY_ZERO_EXCEPTION), TEST_c_c (clog10, 0, minus_zero, minus_infty, minus_zero, DIVIDE_BY_ZERO_EXCEPTION), - TEST_c_c (clog10, minus_infty, plus_infty, plus_infty, M_PI_34_LOG10El), + TEST_c_c (clog10, minus_infty, plus_infty, plus_infty, lit_pi_3_m_ln10_m_4_d), - TEST_c_c (clog10, plus_infty, plus_infty, plus_infty, M_PI4_LOG10El), - TEST_c_c (clog10, plus_infty, minus_infty, plus_infty, -M_PI4_LOG10El), + TEST_c_c (clog10, plus_infty, plus_infty, plus_infty, lit_pi_4_ln10_m_d), + TEST_c_c (clog10, plus_infty, minus_infty, plus_infty, -lit_pi_4_ln10_m_d), - TEST_c_c (clog10, 0, plus_infty, plus_infty, M_PI2_LOG10El), - TEST_c_c (clog10, 3, plus_infty, plus_infty, M_PI2_LOG10El), - TEST_c_c (clog10, minus_zero, plus_infty, plus_infty, M_PI2_LOG10El), - TEST_c_c (clog10, -3, plus_infty, plus_infty, M_PI2_LOG10El), - TEST_c_c (clog10, 0, minus_infty, plus_infty, -M_PI2_LOG10El), - TEST_c_c (clog10, 3, minus_infty, plus_infty, -M_PI2_LOG10El), - TEST_c_c (clog10, minus_zero, minus_infty, plus_infty, -M_PI2_LOG10El), - TEST_c_c (clog10, -3, minus_infty, plus_infty, -M_PI2_LOG10El), + TEST_c_c (clog10, 0, plus_infty, plus_infty, lit_pi_2_ln10_m_d), + TEST_c_c (clog10, 3, plus_infty, plus_infty, lit_pi_2_ln10_m_d), + TEST_c_c (clog10, minus_zero, plus_infty, plus_infty, lit_pi_2_ln10_m_d), + TEST_c_c (clog10, -3, plus_infty, plus_infty, lit_pi_2_ln10_m_d), + TEST_c_c (clog10, 0, minus_infty, plus_infty, -lit_pi_2_ln10_m_d), + TEST_c_c (clog10, 3, minus_infty, plus_infty, -lit_pi_2_ln10_m_d), + TEST_c_c (clog10, minus_zero, minus_infty, plus_infty, -lit_pi_2_ln10_m_d), + TEST_c_c (clog10, -3, minus_infty, plus_infty, -lit_pi_2_ln10_m_d), - TEST_c_c (clog10, minus_infty, 0, plus_infty, M_PI_LOG10El), - TEST_c_c (clog10, minus_infty, 1, plus_infty, M_PI_LOG10El), - TEST_c_c (clog10, minus_infty, minus_zero, plus_infty, -M_PI_LOG10El), - TEST_c_c (clog10, minus_infty, -1, plus_infty, -M_PI_LOG10El), + TEST_c_c (clog10, minus_infty, 0, plus_infty, lit_pi_ln10_d), + TEST_c_c (clog10, minus_infty, 1, plus_infty, lit_pi_ln10_d), + TEST_c_c (clog10, minus_infty, minus_zero, plus_infty, -lit_pi_ln10_d), + TEST_c_c (clog10, minus_infty, -1, plus_infty, -lit_pi_ln10_d), TEST_c_c (clog10, plus_infty, 0, plus_infty, 0.0), TEST_c_c (clog10, plus_infty, 1, plus_infty, 0.0),