1 /* 2 * PL macros to aid testing. This version of this file is used for building the 3 * routine, not the tests. Separate definitions are found in test/pl_test.h 4 * which emit test parameters. 5 * 6 * Copyright (c) 2022-2023, Arm Limited. 7 * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception. 8 */ 9 10 /* Emit max ULP threshold - silenced for building the routine. */ 11 #define PL_TEST_ULP(f, l) 12 13 /* Emit alias. The PL_TEST_ALIAS declaration is piggy-backed on top of 14 strong_alias. Use PL_ALIAS instead of strong_alias to make sure the alias is 15 also added to the test suite. */ 16 #define PL_ALIAS(a, b) strong_alias (a, b) 17 18 /* Emit routine name if e == 1 and f is expected to correctly trigger fenv 19 exceptions. e allows declaration to be emitted conditionally upon certain 20 build flags - defer expansion by one pass to allow those flags to be expanded 21 properly. */ 22 #define PL_TEST_EXPECT_FENV(f, e) 23 #define PL_TEST_EXPECT_FENV_ALWAYS(f) 24 25 #define PL_TEST_INTERVAL(f, lo, hi, n) 26 #define PL_TEST_INTERVAL_C(f, lo, hi, n, c) 27