| //===----------------------------------------------------------------------===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include <clc/clc.h> |
| |
| #include <clc/math/tables.h> |
| |
| DECLARE_TABLE(float2, LOG2_TBL, 129) = { |
| (float2)(0x0.000000p+0f, 0x0.000000p+0f), |
| (float2)(0x1.6f8000p-7f, 0x1.942dbap-17f), |
| (float2)(0x1.6e0000p-6f, 0x1.e5a170p-16f), |
| (float2)(0x1.118000p-5f, 0x1.347544p-15f), |
| (float2)(0x1.6b8000p-5f, 0x1.69bac6p-16f), |
| (float2)(0x1.c48000p-5f, 0x1.7eae42p-15f), |
| (float2)(0x1.0e8000p-4f, 0x1.9c4fd0p-15f), |
| (float2)(0x1.3a8000p-4f, 0x1.17ee92p-15f), |
| (float2)(0x1.660000p-4f, 0x1.fb7d64p-15f), |
| (float2)(0x1.918000p-4f, 0x1.42dc8cp-17f), |
| (float2)(0x1.bc8000p-4f, 0x1.0902b6p-18f), |
| (float2)(0x1.e70000p-4f, 0x1.7608bep-15f), |
| (float2)(0x1.088000p-3f, 0x1.162336p-13f), |
| (float2)(0x1.1d8000p-3f, 0x1.3465d4p-13f), |
| (float2)(0x1.328000p-3f, 0x1.74f13cp-14f), |
| (float2)(0x1.470000p-3f, 0x1.aa7e60p-13f), |
| (float2)(0x1.5c0000p-3f, 0x1.a39fbcp-19f), |
| (float2)(0x1.700000p-3f, 0x1.d0b53ap-13f), |
| (float2)(0x1.848000p-3f, 0x1.0af40ap-13f), |
| (float2)(0x1.988000p-3f, 0x1.b741dep-13f), |
| (float2)(0x1.ac8000p-3f, 0x1.d78b6cp-13f), |
| (float2)(0x1.c08000p-3f, 0x1.6db376p-13f), |
| (float2)(0x1.d48000p-3f, 0x1.ee4c32p-15f), |
| (float2)(0x1.e80000p-3f, 0x1.02f9d2p-13f), |
| (float2)(0x1.fb8000p-3f, 0x1.05ae40p-13f), |
| (float2)(0x1.078000p-2f, 0x1.0adbb0p-14f), |
| (float2)(0x1.110000p-2f, 0x1.83ed68p-13f), |
| (float2)(0x1.1a8000p-2f, 0x1.016ca4p-12f), |
| (float2)(0x1.240000p-2f, 0x1.01eac2p-12f), |
| (float2)(0x1.2d8000p-2f, 0x1.887e26p-13f), |
| (float2)(0x1.370000p-2f, 0x1.24cea4p-14f), |
| (float2)(0x1.400000p-2f, 0x1.918ec6p-12f), |
| (float2)(0x1.498000p-2f, 0x1.3c25e6p-13f), |
| (float2)(0x1.528000p-2f, 0x1.6f7f12p-12f), |
| (float2)(0x1.5c0000p-2f, 0x1.a39fbcp-18f), |
| (float2)(0x1.650000p-2f, 0x1.8fe466p-14f), |
| (float2)(0x1.6e0000p-2f, 0x1.10e6cep-13f), |
| (float2)(0x1.770000p-2f, 0x1.d2ba7ep-14f), |
| (float2)(0x1.800000p-2f, 0x1.4ac62cp-15f), |
| (float2)(0x1.888000p-2f, 0x1.a71cb8p-12f), |
| (float2)(0x1.918000p-2f, 0x1.dd448ep-13f), |
| (float2)(0x1.9a8000p-2f, 0x1.1c8f10p-21f), |
| (float2)(0x1.a30000p-2f, 0x1.bb053ep-13f), |
| (float2)(0x1.ab8000p-2f, 0x1.861e5ep-12f), |
| (float2)(0x1.b40000p-2f, 0x1.fafdcep-12f), |
| (float2)(0x1.bd0000p-2f, 0x1.e5d3cep-15f), |
| (float2)(0x1.c58000p-2f, 0x1.2fad28p-14f), |
| (float2)(0x1.ce0000p-2f, 0x1.492474p-15f), |
| (float2)(0x1.d60000p-2f, 0x1.d4f80cp-12f), |
| (float2)(0x1.de8000p-2f, 0x1.4ff510p-12f), |
| (float2)(0x1.e70000p-2f, 0x1.3550f2p-13f), |
| (float2)(0x1.ef0000p-2f, 0x1.b59ccap-12f), |
| (float2)(0x1.f78000p-2f, 0x1.42b464p-13f), |
| (float2)(0x1.ff8000p-2f, 0x1.5e66a0p-12f), |
| (float2)(0x1.038000p-1f, 0x1.f6a2e4p-11f), |
| (float2)(0x1.080000p-1f, 0x1.39e4fep-14f), |
| (float2)(0x1.0c0000p-1f, 0x1.0500d6p-13f), |
| (float2)(0x1.100000p-1f, 0x1.13b152p-13f), |
| (float2)(0x1.140000p-1f, 0x1.93f542p-14f), |
| (float2)(0x1.180000p-1f, 0x1.467b94p-16f), |
| (float2)(0x1.1b8000p-1f, 0x1.cc47a4p-11f), |
| (float2)(0x1.1f8000p-1f, 0x1.78f4c2p-11f), |
| (float2)(0x1.238000p-1f, 0x1.107508p-11f), |
| (float2)(0x1.278000p-1f, 0x1.2602c2p-12f), |
| (float2)(0x1.2b8000p-1f, 0x1.a39fbcp-20f), |
| (float2)(0x1.2f0000p-1f, 0x1.5a1d7ap-11f), |
| (float2)(0x1.330000p-1f, 0x1.3e355ap-12f), |
| (float2)(0x1.368000p-1f, 0x1.cffedap-11f), |
| (float2)(0x1.3a8000p-1f, 0x1.d9fd50p-12f), |
| (float2)(0x1.3e0000p-1f, 0x1.f64de6p-11f), |
| (float2)(0x1.420000p-1f, 0x1.d83f4cp-12f), |
| (float2)(0x1.458000p-1f, 0x1.cea628p-11f), |
| (float2)(0x1.498000p-1f, 0x1.3c25e6p-12f), |
| (float2)(0x1.4d0000p-1f, 0x1.5a96ccp-11f), |
| (float2)(0x1.510000p-1f, 0x1.18708ap-17f), |
| (float2)(0x1.548000p-1f, 0x1.374652p-12f), |
| (float2)(0x1.580000p-1f, 0x1.2089a6p-11f), |
| (float2)(0x1.5b8000p-1f, 0x1.93432cp-11f), |
| (float2)(0x1.5f0000p-1f, 0x1.f3fd06p-11f), |
| (float2)(0x1.630000p-1f, 0x1.0b8f54p-13f), |
| (float2)(0x1.668000p-1f, 0x1.004722p-12f), |
| (float2)(0x1.6a0000p-1f, 0x1.57cf2cp-12f), |
| (float2)(0x1.6d8000p-1f, 0x1.8cb53ap-12f), |
| (float2)(0x1.710000p-1f, 0x1.9f4d8ap-12f), |
| (float2)(0x1.748000p-1f, 0x1.8feb26p-12f), |
| (float2)(0x1.780000p-1f, 0x1.5edfeep-12f), |
| (float2)(0x1.7b8000p-1f, 0x1.0c7c9ap-12f), |
| (float2)(0x1.7f0000p-1f, 0x1.322182p-13f), |
| (float2)(0x1.828000p-1f, 0x1.3ab7cep-18f), |
| (float2)(0x1.858000p-1f, 0x1.a82c2cp-11f), |
| (float2)(0x1.890000p-1f, 0x1.3dd2c0p-11f), |
| (float2)(0x1.8c8000p-1f, 0x1.871da4p-12f), |
| (float2)(0x1.900000p-1f, 0x1.cc2c00p-14f), |
| (float2)(0x1.930000p-1f, 0x1.9fdb68p-11f), |
| (float2)(0x1.968000p-1f, 0x1.ed6956p-12f), |
| (float2)(0x1.9a0000p-1f, 0x1.f1a760p-14f), |
| (float2)(0x1.9d0000p-1f, 0x1.767f54p-11f), |
| (float2)(0x1.a08000p-1f, 0x1.3f6d26p-12f), |
| (float2)(0x1.a38000p-1f, 0x1.b9fce2p-11f), |
| (float2)(0x1.a70000p-1f, 0x1.8ae816p-12f), |
| (float2)(0x1.aa0000p-1f, 0x1.c23d60p-11f), |
| (float2)(0x1.ad8000p-1f, 0x1.60f388p-12f), |
| (float2)(0x1.b08000p-1f, 0x1.9049aep-11f), |
| (float2)(0x1.b40000p-1f, 0x1.8734a8p-13f), |
| (float2)(0x1.b70000p-1f, 0x1.2523d4p-11f), |
| (float2)(0x1.ba0000p-1f, 0x1.da6ce6p-11f), |
| (float2)(0x1.bd8000p-1f, 0x1.038e62p-12f), |
| (float2)(0x1.c08000p-1f, 0x1.1b511ep-11f), |
| (float2)(0x1.c38000p-1f, 0x1.a728b8p-11f), |
| (float2)(0x1.c70000p-1f, 0x1.2b5d22p-14f), |
| (float2)(0x1.ca0000p-1f, 0x1.2c6e54p-12f), |
| (float2)(0x1.cd0000p-1f, 0x1.f35064p-12f), |
| (float2)(0x1.d00000p-1f, 0x1.4fdb48p-11f), |
| (float2)(0x1.d30000p-1f, 0x1.98ec9ep-11f), |
| (float2)(0x1.d60000p-1f, 0x1.d4f80cp-11f), |
| (float2)(0x1.d98000p-1f, 0x1.0643d6p-17f), |
| (float2)(0x1.dc8000p-1f, 0x1.33567ep-14f), |
| (float2)(0x1.df8000p-1f, 0x1.e0410cp-14f), |
| (float2)(0x1.e28000p-1f, 0x1.142e0ep-13f), |
| (float2)(0x1.e58000p-1f, 0x1.063c88p-13f), |
| (float2)(0x1.e88000p-1f, 0x1.8d66c4p-14f), |
| (float2)(0x1.eb8000p-1f, 0x1.57e32ap-15f), |
| (float2)(0x1.ee0000p-1f, 0x1.ed1c6cp-11f), |
| (float2)(0x1.f10000p-1f, 0x1.b8a076p-11f), |
| (float2)(0x1.f40000p-1f, 0x1.7822f2p-11f), |
| (float2)(0x1.f70000p-1f, 0x1.2bbc3ap-11f), |
| (float2)(0x1.fa0000p-1f, 0x1.a708bap-12f), |
| (float2)(0x1.fd0000p-1f, 0x1.be4c7ep-13f), |
| (float2)(0x1.000000p+0f, 0x0.000000p+0f) |
| }; |
| |
| DECLARE_TABLE(float2, LOG10_TBL, 129) = { |
| (float2)(0x0.000000p+0f, 0x0.000000p+0f), |
| (float2)(0x1.ba8000p-9f, 0x1.f51c88p-19f), |
| (float2)(0x1.b90000p-8f, 0x1.1da93ep-18f), |
| (float2)(0x1.498000p-7f, 0x1.8428a2p-18f), |
| (float2)(0x1.b58000p-7f, 0x1.a423acp-17f), |
| (float2)(0x1.108000p-6f, 0x1.41d422p-17f), |
| (float2)(0x1.458000p-6f, 0x1.d3d6b2p-16f), |
| (float2)(0x1.7a8000p-6f, 0x1.70f7cep-16f), |
| (float2)(0x1.af0000p-6f, 0x1.7e4ac0p-16f), |
| (float2)(0x1.e38000p-6f, 0x1.ab2f40p-24f), |
| (float2)(0x1.0b8000p-5f, 0x1.00d40ap-16f), |
| (float2)(0x1.250000p-5f, 0x1.40b03ep-15f), |
| (float2)(0x1.3e8000p-5f, 0x1.446668p-15f), |
| (float2)(0x1.580000p-5f, 0x1.1c7758p-16f), |
| (float2)(0x1.710000p-5f, 0x1.20d09ep-15f), |
| (float2)(0x1.8a0000p-5f, 0x1.fd6f5cp-16f), |
| (float2)(0x1.a30000p-5f, 0x1.53ac12p-18f), |
| (float2)(0x1.bb8000p-5f, 0x1.4d02c6p-16f), |
| (float2)(0x1.d40000p-5f, 0x1.d5164ep-17f), |
| (float2)(0x1.ec0000p-5f, 0x1.991facp-15f), |
| (float2)(0x1.020000p-4f, 0x1.0a307cp-14f), |
| (float2)(0x1.0e0000p-4f, 0x1.e94ec0p-15f), |
| (float2)(0x1.1a0000p-4f, 0x1.1a22a8p-15f), |
| (float2)(0x1.258000p-4f, 0x1.d4857ap-14f), |
| (float2)(0x1.318000p-4f, 0x1.982ae2p-15f), |
| (float2)(0x1.3d0000p-4f, 0x1.74cd70p-14f), |
| (float2)(0x1.488000p-4f, 0x1.cfb476p-14f), |
| (float2)(0x1.540000p-4f, 0x1.ddcc64p-14f), |
| (float2)(0x1.5f8000p-4f, 0x1.a01222p-14f), |
| (float2)(0x1.6b0000p-4f, 0x1.177dbcp-14f), |
| (float2)(0x1.768000p-4f, 0x1.140a24p-16f), |
| (float2)(0x1.818000p-4f, 0x1.298f40p-14f), |
| (float2)(0x1.8c8000p-4f, 0x1.c60e20p-14f), |
| (float2)(0x1.980000p-4f, 0x1.b65052p-18f), |
| (float2)(0x1.a30000p-4f, 0x1.53ac12p-17f), |
| (float2)(0x1.ad8000p-4f, 0x1.f41d04p-14f), |
| (float2)(0x1.b88000p-4f, 0x1.7934eap-14f), |
| (float2)(0x1.c38000p-4f, 0x1.75252ep-15f), |
| (float2)(0x1.ce0000p-4f, 0x1.b90790p-14f), |
| (float2)(0x1.d90000p-4f, 0x1.d5866ap-16f), |
| (float2)(0x1.e38000p-4f, 0x1.e0d586p-15f), |
| (float2)(0x1.ee0000p-4f, 0x1.2ae984p-14f), |
| (float2)(0x1.f88000p-4f, 0x1.25a0d0p-14f), |
| (float2)(0x1.018000p-3f, 0x1.c2a064p-15f), |
| (float2)(0x1.068000p-3f, 0x1.2f59e8p-13f), |
| (float2)(0x1.0b8000p-3f, 0x1.cf424cp-13f), |
| (float2)(0x1.110000p-3f, 0x1.42f080p-15f), |
| (float2)(0x1.160000p-3f, 0x1.684156p-14f), |
| (float2)(0x1.1b0000p-3f, 0x1.f38f64p-14f), |
| (float2)(0x1.200000p-3f, 0x1.22077ap-13f), |
| (float2)(0x1.250000p-3f, 0x1.2d34d6p-13f), |
| (float2)(0x1.2a0000p-3f, 0x1.1ba328p-13f), |
| (float2)(0x1.2f0000p-3f, 0x1.db48e2p-14f), |
| (float2)(0x1.340000p-3f, 0x1.4712a0p-14f), |
| (float2)(0x1.390000p-3f, 0x1.ed0894p-16f), |
| (float2)(0x1.3d8000p-3f, 0x1.bc39b6p-13f), |
| (float2)(0x1.428000p-3f, 0x1.1f9ff8p-13f), |
| (float2)(0x1.478000p-3f, 0x1.a07d3ap-15f), |
| (float2)(0x1.4c0000p-3f, 0x1.9601fap-13f), |
| (float2)(0x1.510000p-3f, 0x1.532214p-14f), |
| (float2)(0x1.558000p-3f, 0x1.a31462p-13f), |
| (float2)(0x1.5a8000p-3f, 0x1.05a584p-14f), |
| (float2)(0x1.5f0000p-3f, 0x1.4911c8p-13f), |
| (float2)(0x1.638000p-3f, 0x1.f615fep-13f), |
| (float2)(0x1.688000p-3f, 0x1.1445b0p-14f), |
| (float2)(0x1.6d0000p-3f, 0x1.057abcp-13f), |
| (float2)(0x1.718000p-3f, 0x1.685f0ap-13f), |
| (float2)(0x1.760000p-3f, 0x1.b31022p-13f), |
| (float2)(0x1.7a8000p-3f, 0x1.e5cd62p-13f), |
| (float2)(0x1.7f8000p-3f, 0x1.aa6ca8p-22f), |
| (float2)(0x1.840000p-3f, 0x1.1944bcp-19f), |
| (float2)(0x1.880000p-3f, 0x1.f0b980p-13f), |
| (float2)(0x1.8c8000p-3f, 0x1.c60e20p-13f), |
| (float2)(0x1.910000p-3f, 0x1.849daep-13f), |
| (float2)(0x1.958000p-3f, 0x1.2ca202p-13f), |
| (float2)(0x1.9a0000p-3f, 0x1.7ca842p-14f), |
| (float2)(0x1.9e8000p-3f, 0x1.cf6180p-16f), |
| (float2)(0x1.a28000p-3f, 0x1.9fa186p-13f), |
| (float2)(0x1.a70000p-3f, 0x1.df5554p-14f), |
| (float2)(0x1.ab8000p-3f, 0x1.51eaccp-16f), |
| (float2)(0x1.af8000p-3f, 0x1.4f8e88p-13f), |
| (float2)(0x1.b40000p-3f, 0x1.7f49aap-15f), |
| (float2)(0x1.b80000p-3f, 0x1.5b3c72p-13f), |
| (float2)(0x1.bc8000p-3f, 0x1.07fd5cp-15f), |
| (float2)(0x1.c08000p-3f, 0x1.144d18p-13f), |
| (float2)(0x1.c48000p-3f, 0x1.d25700p-13f), |
| (float2)(0x1.c90000p-3f, 0x1.f1369ep-15f), |
| (float2)(0x1.cd0000p-3f, 0x1.1260fap-13f), |
| (float2)(0x1.d10000p-3f, 0x1.94c038p-13f), |
| (float2)(0x1.d58000p-3f, 0x1.ccfdb8p-20f), |
| (float2)(0x1.d98000p-3f, 0x1.7c70dap-15f), |
| (float2)(0x1.dd8000p-3f, 0x1.4ee87ap-14f), |
| (float2)(0x1.e18000p-3f, 0x1.b99d86p-14f), |
| (float2)(0x1.e58000p-3f, 0x1.feafc0p-14f), |
| (float2)(0x1.e98000p-3f, 0x1.0f3b16p-13f), |
| (float2)(0x1.ed8000p-3f, 0x1.0ca34cp-13f), |
| (float2)(0x1.f18000p-3f, 0x1.ef75b2p-14f), |
| (float2)(0x1.f58000p-3f, 0x1.a15704p-14f), |
| (float2)(0x1.f98000p-3f, 0x1.2f3cfap-14f), |
| (float2)(0x1.fd8000p-3f, 0x1.32f1dcp-15f), |
| (float2)(0x1.008000p-2f, 0x1.f02d90p-13f), |
| (float2)(0x1.028000p-2f, 0x1.821964p-13f), |
| (float2)(0x1.048000p-2f, 0x1.02a708p-13f), |
| (float2)(0x1.068000p-2f, 0x1.c7f450p-15f), |
| (float2)(0x1.080000p-2f, 0x1.e820cap-12f), |
| (float2)(0x1.0a0000p-2f, 0x1.8ecd14p-12f), |
| (float2)(0x1.0c0000p-2f, 0x1.2d15f4p-12f), |
| (float2)(0x1.0e0000p-2f, 0x1.861b72p-13f), |
| (float2)(0x1.100000p-2f, 0x1.4319e6p-14f), |
| (float2)(0x1.118000p-2f, 0x1.d6520ep-12f), |
| (float2)(0x1.138000p-2f, 0x1.53c218p-12f), |
| (float2)(0x1.158000p-2f, 0x1.925000p-13f), |
| (float2)(0x1.178000p-2f, 0x1.b4a7a2p-15f), |
| (float2)(0x1.190000p-2f, 0x1.9c19eep-12f), |
| (float2)(0x1.1b0000p-2f, 0x1.f38f64p-13f), |
| (float2)(0x1.1d0000p-2f, 0x1.3ebb32p-14f), |
| (float2)(0x1.1e8000p-2f, 0x1.9ddf96p-12f), |
| (float2)(0x1.208000p-2f, 0x1.c8d472p-13f), |
| (float2)(0x1.228000p-2f, 0x1.1af536p-15f), |
| (float2)(0x1.240000p-2f, 0x1.5acca0p-12f), |
| (float2)(0x1.260000p-2f, 0x1.158770p-13f), |
| (float2)(0x1.278000p-2f, 0x1.b35350p-12f), |
| (float2)(0x1.298000p-2f, 0x1.a91532p-13f), |
| (float2)(0x1.2b0000p-2f, 0x1.ee7896p-12f), |
| (float2)(0x1.2d0000p-2f, 0x1.012c1cp-12f), |
| (float2)(0x1.2f0000p-2f, 0x1.967ab4p-17f), |
| (float2)(0x1.308000p-2f, 0x1.111e3cp-12f), |
| (float2)(0x1.328000p-2f, 0x1.cf340ep-17f), |
| (float2)(0x1.340000p-2f, 0x1.04d426p-12f), |
| }; |
| |
| DECLARE_TABLE(uchar, PIBITS_TBL, ) = { |
| 224, 241, 27, 193, 12, 88, 33, 116, 53, 126, 196, 126, 237, 175, |
| 169, 75, 74, 41, 222, 231, 28, 244, 236, 197, 151, 175, 31, |
| 235, 158, 212, 181, 168, 127, 121, 154, 253, 24, 61, 221, 38, |
| 44, 159, 60, 251, 217, 180, 125, 180, 41, 104, 45, 70, 188, |
| 188, 63, 96, 22, 120, 255, 95, 226, 127, 236, 160, 228, 247, |
| 46, 126, 17, 114, 210, 231, 76, 13, 230, 88, 71, 230, 4, 249, |
| 125, 209, 154, 192, 113, 166, 19, 18, 237, 186, 212, 215, 8, |
| 162, 251, 156, 166, 196, 114, 172, 119, 248, 115, 72, 70, 39, |
| 168, 187, 36, 25, 128, 75, 55, 9, 233, 184, 145, 220, 134, 21, |
| 239, 122, 175, 142, 69, 249, 7, 65, 14, 241, 100, 86, 138, 109, |
| 3, 119, 211, 212, 71, 95, 157, 240, 167, 84, 16, 57, 185, 13, |
| 230, 139, 2, 0, 0, 0, 0, 0, 0, 0 |
| }; |
| |
| // Tabulated values of sinh(i) and cosh(i) for i = 0,...,36. |
| DECLARE_TABLE(float2, SINHCOSH_TBL, 37) = { |
| (float2)(0x0.000000p+0f, 0x1.000000p+0f), |
| (float2)(0x1.2cd9fcp+0f, 0x1.8b0756p+0f), |
| (float2)(0x1.d03cf6p+1f, 0x1.e18fa0p+1f), |
| (float2)(0x1.40926ep+3f, 0x1.422a4ap+3f), |
| (float2)(0x1.b4a380p+4f, 0x1.b4ee86p+4f), |
| (float2)(0x1.28d016p+6f, 0x1.28d6fcp+6f), |
| (float2)(0x1.936d22p+7f, 0x1.936e68p+7f), |
| (float2)(0x1.122876p+9f, 0x1.122894p+9f), |
| (float2)(0x1.749ea6p+10f, 0x1.749eaap+10f), |
| (float2)(0x1.fa7158p+11f, 0x1.fa7158p+11f), |
| (float2)(0x1.5829dcp+13f, 0x1.5829dep+13f), |
| (float2)(0x1.d3c448p+14f, 0x1.d3c448p+14f), |
| (float2)(0x1.3de166p+16f, 0x1.3de166p+16f), |
| (float2)(0x1.b00b5ap+17f, 0x1.b00b5ap+17f), |
| (float2)(0x1.259ac4p+19f, 0x1.259ac4p+19f), |
| (float2)(0x1.8f0ccap+20f, 0x1.8f0ccap+20f), |
| (float2)(0x1.0f2ebep+22f, 0x1.0f2ebep+22f), |
| (float2)(0x1.709348p+23f, 0x1.709348p+23f), |
| (float2)(0x1.f4f220p+24f, 0x1.f4f220p+24f), |
| (float2)(0x1.546d90p+26f, 0x1.546d90p+26f), |
| (float2)(0x1.ceb088p+27f, 0x1.ceb088p+27f), |
| (float2)(0x1.3a6e20p+29f, 0x1.3a6e20p+29f), |
| (float2)(0x1.ab5adcp+30f, 0x1.ab5adcp+30f), |
| (float2)(0x1.226af4p+32f, 0x1.226af4p+32f), |
| (float2)(0x1.8ab7fcp+33f, 0x1.8ab7fcp+33f), |
| (float2)(0x1.0c3d3ap+35f, 0x1.0c3d3ap+35f), |
| (float2)(0x1.6c9326p+36f, 0x1.6c9326p+36f), |
| (float2)(0x1.ef8230p+37f, 0x1.ef8230p+37f), |
| (float2)(0x1.50bba4p+39f, 0x1.50bba4p+39f), |
| (float2)(0x1.c9aae4p+40f, 0x1.c9aae4p+40f), |
| (float2)(0x1.370470p+42f, 0x1.370470p+42f), |
| (float2)(0x1.a6b766p+43f, 0x1.a6b766p+43f), |
| (float2)(0x1.1f43fcp+45f, 0x1.1f43fcp+45f), |
| (float2)(0x1.866f34p+46f, 0x1.866f34p+46f), |
| (float2)(0x1.0953e2p+48f, 0x1.0953e2p+48f), |
| (float2)(0x1.689e22p+49f, 0x1.689e22p+49f), |
| (float2)(0x1.ea215ap+50f, 0x1.ea215ap+50f) |
| }; |
| |
| TABLE_FUNCTION(float2, LOG2_TBL, log2_tbl); |
| TABLE_FUNCTION(float2, LOG10_TBL, log10_tbl); |
| |
| uint4 TABLE_MANGLE(pibits_tbl)(size_t idx) { |
| return *(__constant uint4 *)(PIBITS_TBL + idx); |
| } |
| |
| TABLE_FUNCTION(float2, SINHCOSH_TBL, sinhcosh_tbl); |
| |
| #ifdef cl_khr_fp64 |
| |
| DECLARE_TABLE(double2, SINH_TBL, 37) = { |
| (double2)(0x0.0000000000000p+0, 0x0.0000000000000p+0), |
| (double2)(0x1.2cd9fc0000000p+0, 0x1.13ae6096a0092p-26), |
| (double2)(0x1.d03cf60000000p+1, 0x1.db70cfb79a640p-26), |
| (double2)(0x1.40926e0000000p+3, 0x1.c2526b66dc067p-23), |
| (double2)(0x1.b4a3800000000p+4, 0x1.b81b18647f380p-23), |
| (double2)(0x1.28d0160000000p+6, 0x1.bc1cdd1e1eb08p-20), |
| (double2)(0x1.936d228000000p+7, 0x1.d9f201534fb09p-19), |
| (double2)(0x1.1228768000000p+9, 0x1.d1c064a4e9954p-18), |
| (double2)(0x1.749ea50000000p+10, 0x1.4eca65d06ea74p-18), |
| (double2)(0x1.fa71570000000p+11, 0x1.0c259bcc0ecc5p-15), |
| (double2)(0x1.5829dc8000000p+13, 0x1.b5a6647cf9016p-13), |
| (double2)(0x1.d3c4488000000p+14, 0x1.9691adefb0870p-15), |
| (double2)(0x1.3de1650000000p+16, 0x1.3410fc29cde38p-10), |
| (double2)(0x1.b00b590000000p+17, 0x1.6a31a50b6fb3cp-11), |
| (double2)(0x1.259ac48000000p+19, 0x1.7defc71805c40p-10), |
| (double2)(0x1.8f0cca8000000p+20, 0x1.eb49fd80e0babp-6), |
| (double2)(0x1.0f2ebd0000000p+22, 0x1.4fffc7bcd5920p-7), |
| (double2)(0x1.7093488000000p+23, 0x1.03a93b6c63435p-3), |
| (double2)(0x1.f4f2208000000p+24, 0x1.1940bb255fd1cp-4), |
| (double2)(0x1.546d8f8000000p+26, 0x1.ed26e14260b50p-2), |
| (double2)(0x1.ceb0888000000p+27, 0x1.b47401fc9f2a2p+0), |
| (double2)(0x1.3a6e1f8000000p+29, 0x1.67bb3f55634f1p+3), |
| (double2)(0x1.ab5adb8000000p+30, 0x1.c435ff8194ddcp+2), |
| (double2)(0x1.226af30000000p+32, 0x1.d8fee052ba63ap+5), |
| (double2)(0x1.8ab7fb0000000p+33, 0x1.51d7edccde3f6p+7), |
| (double2)(0x1.0c3d390000000p+35, 0x1.04b1644557d1ap+8), |
| (double2)(0x1.6c93268000000p+36, 0x1.6a6b5ca0a9dc4p+8), |
| (double2)(0x1.ef822f0000000p+37, 0x1.fd9cc72249abap+11), |
| (double2)(0x1.50bba30000000p+39, 0x1.e58de693edab5p+13), |
| (double2)(0x1.c9aae40000000p+40, 0x1.8c70158ac6363p+14), |
| (double2)(0x1.3704708000000p+42, 0x1.7614764f43e20p+15), |
| (double2)(0x1.a6b7658000000p+43, 0x1.6337db36fc718p+17), |
| (double2)(0x1.1f43fc8000000p+45, 0x1.12d98b1f611e2p+19), |
| (double2)(0x1.866f348000000p+46, 0x1.392bc108b37ccp+19), |
| (double2)(0x1.0953e28000000p+48, 0x1.ce87bdc3473dcp+22), |
| (double2)(0x1.689e220000000p+49, 0x1.bc8d5ae99ad14p+21), |
| (double2)(0x1.ea215a0000000p+50, 0x1.d20d76744835cp+22), |
| }; |
| |
| DECLARE_TABLE(double2, COSH_TBL, 37) = { |
| (double2)(0x1.0000000000000p+0, 0x0.0000000000000p+0), |
| (double2)(0x1.8b07550000000p+0, 0x1.d9f5504c2bd28p-28), |
| (double2)(0x1.e18fa08000000p+1, 0x1.7cb66f0a4c9fdp-25), |
| (double2)(0x1.422a490000000p+3, 0x1.f58617928e588p-23), |
| (double2)(0x1.b4ee858000000p+4, 0x1.bc7d000c38d48p-25), |
| (double2)(0x1.28d6fc8000000p+6, 0x1.f7f9d4e329998p-21), |
| (double2)(0x1.936e678000000p+7, 0x1.6e6e464885269p-19), |
| (double2)(0x1.1228948000000p+9, 0x1.ba3a8b946c154p-19), |
| (double2)(0x1.749eaa8000000p+10, 0x1.3f4e76110d5a4p-18), |
| (double2)(0x1.fa71580000000p+11, 0x1.17622515a3e2bp-15), |
| (double2)(0x1.5829dd0000000p+13, 0x1.4dc4b528af3d0p-17), |
| (double2)(0x1.d3c4488000000p+14, 0x1.1156278615e10p-14), |
| (double2)(0x1.3de1650000000p+16, 0x1.35ad50ed821f5p-10), |
| (double2)(0x1.b00b590000000p+17, 0x1.6b61055f2935cp-11), |
| (double2)(0x1.259ac48000000p+19, 0x1.7e2794a601240p-10), |
| (double2)(0x1.8f0cca8000000p+20, 0x1.eb4b45f6aadd3p-6), |
| (double2)(0x1.0f2ebd0000000p+22, 0x1.5000b967b3698p-7), |
| (double2)(0x1.7093488000000p+23, 0x1.03a940fadc092p-3), |
| (double2)(0x1.f4f2208000000p+24, 0x1.1940bf3bf874cp-4), |
| (double2)(0x1.546d8f8000000p+26, 0x1.ed26e1a2a2110p-2), |
| (double2)(0x1.ceb0888000000p+27, 0x1.b4740205796d6p+0), |
| (double2)(0x1.3a6e1f8000000p+29, 0x1.67bb3f55cb85dp+3), |
| (double2)(0x1.ab5adb8000000p+30, 0x1.c435ff81e18acp+2), |
| (double2)(0x1.226af30000000p+32, 0x1.d8fee052bdea4p+5), |
| (double2)(0x1.8ab7fb0000000p+33, 0x1.51d7edccde926p+7), |
| (double2)(0x1.0c3d390000000p+35, 0x1.04b1644557e0ep+8), |
| (double2)(0x1.6c93268000000p+36, 0x1.6a6b5ca0a9e1cp+8), |
| (double2)(0x1.ef822f0000000p+37, 0x1.fd9cc72249abep+11), |
| (double2)(0x1.50bba30000000p+39, 0x1.e58de693edab5p+13), |
| (double2)(0x1.c9aae40000000p+40, 0x1.8c70158ac6364p+14), |
| (double2)(0x1.3704708000000p+42, 0x1.7614764f43e20p+15), |
| (double2)(0x1.a6b7658000000p+43, 0x1.6337db36fc718p+17), |
| (double2)(0x1.1f43fc8000000p+45, 0x1.12d98b1f611e2p+19), |
| (double2)(0x1.866f348000000p+46, 0x1.392bc108b37ccp+19), |
| (double2)(0x1.0953e28000000p+48, 0x1.ce87bdc3473dcp+22), |
| (double2)(0x1.689e220000000p+49, 0x1.bc8d5ae99ad14p+21), |
| (double2)(0x1.ea215a0000000p+50, 0x1.d20d76744835cp+22) |
| }; |
| |
| TABLE_FUNCTION(double2, SINH_TBL, sinh_tbl); |
| TABLE_FUNCTION(double2, COSH_TBL, cosh_tbl); |
| |
| #endif // cl_khr_fp64 |