[libclc] c5b750f - [libclc] Move log2/log10 tables to CLC tables impl
Fraser Cormack via cfe-commits
cfe-commits at lists.llvm.org
Thu May 1 02:24:26 PDT 2025
Author: Fraser Cormack
Date: 2025-05-01T10:23:28+01:00
New Revision: c5b750f5af72fadd4c00c120c9c585240da466b4
URL: https://github.com/llvm/llvm-project/commit/c5b750f5af72fadd4c00c120c9c585240da466b4
DIFF: https://github.com/llvm/llvm-project/commit/c5b750f5af72fadd4c00c120c9c585240da466b4.diff
LOG: [libclc] Move log2/log10 tables to CLC tables impl
These two tables were being used by the CLC library but their
definitions still remained in the OpenCL layer. This worked out after
linking the two together but is a layering violation.
This had a side effect of removing the two table getters from the final
bytecode library, which were never intended to be exposed.
These two tables should probably be refactored so allow better
vectorization of log/log2/log10, but that is left to future work.
Added:
Modified:
libclc/clc/lib/generic/math/clc_tables.cl
libclc/generic/lib/math/tables.cl
Removed:
################################################################################
diff --git a/libclc/clc/lib/generic/math/clc_tables.cl b/libclc/clc/lib/generic/math/clc_tables.cl
index 6280413ca48ce..7ee744589ae1d 100644
--- a/libclc/clc/lib/generic/math/clc_tables.cl
+++ b/libclc/clc/lib/generic/math/clc_tables.cl
@@ -197,6 +197,275 @@ DECLARE_TABLE(float, LOG_INV_TBL, 129) = {
CLC_TABLE_FUNCTION(float, LOG_INV_TBL, log_inv_tbl);
+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)
+};
+
+TABLE_FUNCTION(float2, LOG2_TBL, log2_tbl);
+
+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),
+};
+
+TABLE_FUNCTION(float2, LOG10_TBL, log10_tbl);
+
+
DECLARE_TABLE(float, EXP_TBL, 65) = {
0x1.000000p+0f, 0x1.02c9a4p+0f, 0x1.059b0ep+0f, 0x1.087452p+0f,
0x1.0b5586p+0f, 0x1.0e3ec4p+0f, 0x1.11301ep+0f, 0x1.1429aap+0f,
diff --git a/libclc/generic/lib/math/tables.cl b/libclc/generic/lib/math/tables.cl
index 3997b32a79043..1bda480a9fa72 100644
--- a/libclc/generic/lib/math/tables.cl
+++ b/libclc/generic/lib/math/tables.cl
@@ -10,270 +10,6 @@
#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,
@@ -289,9 +25,6 @@ DECLARE_TABLE(uchar, PIBITS_TBL, ) = {
230, 139, 2, 0, 0, 0, 0, 0, 0, 0
};
-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);
}
More information about the cfe-commits
mailing list