/* * Copyright (C) 2014 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #if defined(__BIONIC__) typedef struct { float expected; float call_data; } expf_intel_data_t; static expf_intel_data_t g_expf_intel_data[] = { { // Entry 0 0x1.e0fabf081222780d74c00fda30aa3943p-1, -0x1.000006p-4 }, { // Entry 1 0x1.e0fabecbf2ca9acd25eef63af858ed60p-1, -0x1.000008p-4 }, { // Entry 2 0x1.fc03fccfb913167ecfa84f48f5b7205bp-1, -0x1.000022p-7 }, { // Entry 3 0x1.c3d642ff9bf2d294c0ce088e8bad27b3p-1, -0x1.0001b0p-3 }, { // Entry 4 0x1.ff800efaebb8218fc5d491b9868689aap-1, -0x1.000208p-10 }, { // Entry 5 0x1.8ebd9d0446182e9056f60489fcd002cdp-1, -0x1.000380p-2 }, { // Entry 6 0x1.e0f995010fd96d3f294c3ffe0e512426p-1, -0x1.0009f0p-4 }, { // Entry 7 0x1.78a3bb4c17adf5b2d40e6ee3dbd4866fp-2, -0x1.000cp0 }, { // Entry 8 0x1.ffdffd003aacbfca6591e7a38368b94cp-1, -0x1.0020p-12 }, { // Entry 9 0x1.fdff416aa3827d6335a1ffa43d440562p-1, -0x1.00e0p-8 }, { // Entry 10 0x1.99007ffbdffac31dff90da5ee46a16fap-47, -0x1.00e0p5 }, { // Entry 11 0x1.35c0dcfffb4419dc29555c232f3cdca7p-1, -0x1.014ep-1 }, { // Entry 12 0x1.fbed9ac7ed032abfc76306a3e1dc816bp-1, -0x1.05a4p-7 }, { // Entry 13 0x1.efddb9cccd73f71a4b2b8c01a57ae75fp-1, -0x1.064cp-5 }, { // Entry 14 0x1.fffdf1010f37e2f1f5fca8b9c13aff70p-1, -0x1.0780p-16 }, { // Entry 15 0x1.efc35653912fade6a17a8f8ef4109679p-1, -0x1.08p-5 }, { // Entry 16 0x1.8b3096fffcbe737961f8c61cdf9d7137p-1, -0x1.092c68p-2 }, { // Entry 17 0x1.fbdd1ce561f9d0a689812e5bea089f9cp-1, -0x1.09ccp-7 }, { // Entry 18 0x1.efa1ef8a19d40bb22c5d3c315991e15fp-1, -0x1.0a28p-5 }, { // Entry 19 0x1.ffffef09ce47ecc03d1d11f9491e6519p-1, -0x1.0f6320p-21 }, { // Entry 20 0x1.ffffef09c047ed36f8aa1a7e67e26528p-1, -0x1.0f64p-21 }, { // Entry 21 0x1.8890636e31f543b3853b1b305daeb933p-1, -0x1.10p-2 }, { // Entry 22 0x1.ffffef0000483fff334aac5dabfd1c7dp-1, -0x1.10p-21 }, { // Entry 23 0x1.ef1c2d002f7639d4d82edc01eaad1dedp-1, -0x1.12ccp-5 }, { // Entry 24 0x1.de7f010d1c6494139b0531bd5b8f108bp-1, -0x1.1534p-4 }, { // Entry 25 0x1.02057d1245ceaf62a21099d4441a36dbp-101, -0x1.18p6 }, { // Entry 26 0x1.e9040734a16333567cf6f31bc90d4355p-27, -0x1.211588p4 }, { // Entry 27 0x1.8d03f8ffffb1a2622bba81d6ab4a92ffp-14, -0x1.287d08p3 }, { // Entry 28 0x1.e97e430257e75f497f6a3efe51ff5054p-112, -0x1.33efeap6 }, { // Entry 29 0x1.c69c518ea7c58842c178fbd9e8cf536ep-117, -0x1.421888p6 }, { // Entry 30 0x1.df2a0f92c17e9ff0bfb77b7abbe637a6p-126, -0x1.5ad6b6p6 }, { // Entry 31 0x1.782f23068c10b1c5513dc3b0192d30d4p-127, -0x1.5e9444p6 }, { // Entry 32 0x1.710602f9f4288348cc8348472a24f93dp-127, -0x1.5ea7f2p6 }, { // Entry 33 0x1.65ab7994ff3440dcd3ee7f9b9a02423ap-127, -0x1.5ec7f2p6 }, { // Entry 34 0x1.6031cc454f1c3e0126b71bf21e903d20p-127, -0x1.5ed7bep6 }, { // Entry 35 0x1.b78f6800030fb7ec7984a3e7419d6fc2p-129, -0x1.638066p6 }, { // Entry 36 0x1.f9363f3583279ac24e757eeb7654910cp-3, -0x1.664ee0p0 }, { // Entry 37 0x1.d617f10e63adfcd67414c08dc6f9d010p-9, -0x1.685b44p2 }, { // Entry 38 0x1.cf8c4503bf17d8c7647e93a153af37b6p-9, -0x1.6941p2 }, { // Entry 39 0x1.d470b70e90d5097e87b925c5f63fee7dp-1, -0x1.6c3328p-4 }, { // Entry 40 0x1.a9c0a5010de85f9a60c8104f37fc597fp-1, -0x1.79c984p-3 }, { // Entry 41 0x1.dff126fffcdde3436322ba09db4556e1p-2, -0x1.83ff38p-1 }, { // Entry 42 0x1.da1b8301af81384b8e495c9a4f97497fp-72, -0x1.8a529ep5 }, { // Entry 43 0x1.babaf4ffffe29025ce751094aecf9b03p-19, -0x1.93e788p3 }, { // Entry 44 0x1.6e953afffec7fc3b5dda17c820678821p-43, -0x1.d723f8p4 }, { // Entry 45 0x1.ff0ff6f3d9f493ed610364861a995664p-1, -0x1.e082c4p-10 }, { // Entry 46 0x1.ff38a40a3bc33f65f4bed5de0bdfc397p-45, -0x1.e7fffep4 }, { // Entry 47 0x1.8028990034fcc8f33443321db08c6de8p-2, -0x1.f5f922p-1 }, { // Entry 48 0x1.ff0248f1a17418e63d4711f3e66b7c25p-1, -0x1.fbecp-10 }, { // Entry 49 0x1.ff0246f29f2c26c5ed51d16498d1d68ep-1, -0x1.fbf0p-10 }, { // Entry 50 0x1.fa87f66f812849292290a9f6268ef2f9p-24, -0x1.fe7ffep3 }, { // Entry 51 0x1.ff0046f2d716c095770d849e182a3bb2p-1, -0x1.fff1fep-10 }, { // Entry 52 0x1.e0fb2911655006422a15c3c03f8ce847p-1, -0x1.fff8fep-5 }, { // Entry 53 0x1.ff0040f4d6cac316bdcfa13cc5af7e7cp-1, -0x1.fffep-10 }, { // Entry 54 0x1.ffe001081a28c420260a161b12fbb97dp-1, -0x1.ffff7ep-13 }, { // Entry 55 0x1.0000010000008000002aaaaab5555557p0, 0x1.p-24 }, { // Entry 56 0x1.426436f5aec1c313a6d2bbcd58a388dep92, 0x1.000022p6 }, { // Entry 57 0x1.a615e50a5e54e1f2f7e57c3f0ff90c61p0, 0x1.0004p-1 }, { // Entry 58 0x1.d95d63014ce5cdcd113fee0a4be67902p2, 0x1.002038p1 }, { // Entry 59 0x1.762b6304e19f3518e90348b5d9dc544ep11, 0x1.0022p3 }, { // Entry 60 0x1.a636e00a0cd5b85262756d50b95ccc88p0, 0x1.002cp-1 }, { // Entry 61 0x1.8ca6d30587af504a6f69d3a57bf3e6a8p11, 0x1.02p3 }, { // Entry 62 0x1.dfa2d701da98a148063c3ca6d13f1bcep93, 0x1.045cb6p6 }, { // Entry 63 0x1.6340e70000e296e79073670ef9c0915dp1, 0x1.05533ep0 }, { // Entry 64 0x1.ef595b018549442ec73e3d5161768d16p5, 0x1.080d74p2 }, { // Entry 65 0x1.89acdf26f99012ec527c5e9e7c47117fp47, 0x1.0810eep5 }, { // Entry 66 0x1.f33bef00003ab93a467c94fc95deed30p5, 0x1.088d74p2 }, { // Entry 67 0x1.b0f34affff9dc2430b31c2ea04f9df90p95, 0x1.097f6ap6 }, { // Entry 68 0x1.6b4ae5522604e10273283efbf9f626c9p1, 0x1.0b0dbap0 }, { // Entry 69 0x1.000011000090800332d562ed602e3824p0, 0x1.10p-20 }, { // Entry 70 0x1.b380b0f6a12fa19df391f5034b8ae31bp0, 0x1.1009a4p-1 }, { // Entry 71 0x1.b5d293f5bfa20416721999c6be03a195p0, 0x1.12c1fep-1 }, { // Entry 72 0x1.b6609ff785a04630531354d1924f8d11p0, 0x1.1368p-1 }, { // Entry 73 0x1.78241affffd1cf967a9eec663f45677ep1, 0x1.13f37ap0 }, { // Entry 74 0x1.b77660f58bcb1ee2d757a97f82c8223dp0, 0x1.14acp-1 }, { // Entry 75 0x1.7b4d6f06cf0fbd1fbc05d50908352075p1, 0x1.1618p0 }, { // Entry 76 0x1.2765810002c2eb4265308ac8b12afa3bp0, 0x1.252726p-3 }, { // Entry 77 0x1.92b0acffff1c8646d4075976f62dfbc2p1, 0x1.25693ep0 }, { // Entry 78 0x1.fbd224c7e1970bed868fadc8012c85aep13, 0x1.364486p3 }, { // Entry 79 0x1.06007d00084349f9491104f20c89f2f9p28, 0x1.36e696p4 }, { // Entry 80 0x1.5ec18400003419ad3815b41c45384dccp0, 0x1.427898p-2 }, { // Entry 81 0x1.b23fdacfa3e0d9d21b342983e159fedcp118, 0x1.49477cp6 }, { // Entry 82 0x1.fea000e2438214ca9155d4c91bd29e9ap119, 0x1.4cb32cp6 }, { // Entry 83 0x1.f67176c19fee0c9a8d1c9cbb2d73b617p120, 0x1.4f686ap6 }, { // Entry 84 0x1.d1c241024d841bd52972be6182633733p121, 0x1.51e090p6 }, { // Entry 85 0x1.cde2dd070c7de9cb58c0caed927145d8p3, 0x1.55b4e2p1 }, { // Entry 86 0x1.f7109009cd3494af526c18af019055eep0, 0x1.59e08ep-1 }, { // Entry 87 0x1.fa7c26c12afb87b5b2b151e654f6eb90p0, 0x1.5d58aep-1 }, { // Entry 88 0x1.cf3d46cb98a571871f6dee1a80581a52p126, 0x1.5fb7ecp6 }, { // Entry 89 0x1.fd8718f3d3ed8f4a5d8dec6ae7327159p7, 0x1.6294e2p2 }, { // Entry 90 0x1.feaffef3e736b71569a474042054e8b7p7, 0x1.62ba22p2 }, { // Entry 91 0x1.f76ba46733f4146a0f94b3d1311494bcp127, 0x1.62d2e2p6 }, { // Entry 92 0x1.fd7b9f01b4df08855feb29023232fd99p127, 0x1.62df24p6 }, { // Entry 93 0x1.ff691e6dd71bc8cb1f1fcffcc32cb982p127, 0x1.62e302p6 }, { // Entry 94 0x1.ffce0a9e4fc6762c91f1a0ce358a8487p127, 0x1.62e3ccp6 }, { // Entry 95 0x1.fffc0109c402d8b23bfea3a14835831bp15, 0x1.62e3f0p3 }, { // Entry 96 0x1.fff1086632b0e9b93bc5be44d9c1dea7p127, 0x1.62e412p6 }, { // Entry 97 0x1.fff608470786d7e47ef11662f1790c2ap127, 0x1.62e41cp6 }, { // Entry 98 0x1.232b96ffec147bb31695595878ba4f9dp4, 0x1.735e70p1 }, { // Entry 99 0x1.8d2c990317660e21a64ba7723f5e0ed3p8, 0x1.7fp2 }, { // Entry 100 0x1.ed379f025781ddca240c83375ee496abp70, 0x1.89689ap5 }, { // Entry 101 0x1.3687410000e2c9f8732208c97919fb0ep0, 0x1.8b76d0p-3 }, { // Entry 102 0x1.312e79ff522af71b9e2e837bf8872972p2, 0x1.8fe0cap0 }, { // Entry 103 0x1.7008f10020226e4f59b5afd8c117c096p4, 0x1.915afcp1 }, { // Entry 104 0x1.de75e90225ec6da2cfb39dca6440b688p75, 0x1.a4e438p5 }, { // Entry 105 0x1.79f0650095fd426dce8aa803e9a4fc98p9, 0x1.a82f30p2 }, { // Entry 106 0x1.2e02d6fffffed97f27dcc3742472ffa4p1, 0x1.b78498p-1 }, { // Entry 107 0x1.fa2b60fffffeea1c7bd1c78bb5c46b17p9, 0x1.bae196p2 }, { // Entry 108 0x1.000734ffffffbaba4820a2b79d296d63p0, 0x1.cd3982p-14 }, { // Entry 109 0x1.d54158f5434edb2a234359befb2209bcp10, 0x1.e26570p2 }, { // Entry 110 0x1.99fb290176ec010d068c5f888a18d847p87, 0x1.e632aap5 }, { // Entry 111 0x1.bc8e5300003e12eaf0ea04b8c5076474p2, 0x1.f02d68p0 }, { // Entry 112 0x1.565672ffffe78168cea9ed1deed2c472p1, 0x1.f7b05cp-1 }, { // Entry 113 0x1.a664dced7cc33ede965392722b0d87bfp22, 0x1.f7fffep3 }, { // Entry 114 0x1.fe8bfd38762490c7f68e80a4bdf3a17dp90, 0x1.f896a2p5 }, { // Entry 115 0x1.cc24d50c16500084754fbddc60e7276cp2, 0x1.f8fffep0 }, { // Entry 116 0x1.72151c69ff0e9850b88cbd9a600fea50p11, 0x1.ff900ep2 }, { // Entry 117 0x1.3d59d2d8b22b41c2bb6334c9be7be902p92, 0x1.ffdffep5 }, { // Entry 118 0x1.74875300042b943ba368994eec8dcb0ep11, 0x1.fffbfep2 }, { // Entry 119 0x1.d8e6090cefe80487948c01efe3cf4c5ap2, 0x1.ffffdcp0 }, { // Entry 120 0x1.000000fffffe7ffffe2aaaabb5555702p0, 0x1.fffffcp-25 }, { // Entry 121 0x1.304d1ed9511bf5a6a5b20e4cdbf6d8ffp69, 0x1.7ffffep5 }, { // Entry 122 0x1.304d6aeca254b3af4bc5d6293d5f65c7p69, 0x1.80p5 }, { // Entry 123 0x1.304db70006924866bc1845097c91e488p69, 0x1.800002p5 }, { // Entry 124 0x1.f8e64411b4c7429f260cb72539880919p-76, -0x1.a00002p5 }, { // Entry 125 0x1.f8e6c24b5592e3421df27acf1e080144p-76, -0x1.a0p5 }, { // Entry 126 0x1.f8e7408515ecf009cb5b7fe80003ae74p-76, -0x1.9ffffep5 }, { // Entry 127 0x1.5576f0dcac21787f2d57b14a700224e3p115, 0x1.3ffffep6 }, { // Entry 128 0x1.55779b984f3eb3c8a503b4a8e2489d98p115, 0x1.40p6 }, { // Entry 129 0x1.5578465447b9d5f83246af1e48e8225bp115, 0x1.400002p6 }, { // Entry 130 0x1.07b68d505a60dd444b8b2bdfe06038cfp-127, -0x1.600002p6 }, { // Entry 131 0x1.07b7112bc1ffe19d3e703e4a794f7372p-127, -0x1.60p6 }, { // Entry 132 0x1.07b795076b8caa412334e7ddf18b00f5p-127, -0x1.5ffffep6 }, { // Entry 133 0x1.039924428f47511c03e75dd623bc47e1p75, 0x1.9ffffep5 }, { // Entry 134 0x1.03996528e074bebcfd76416fc2c0eb92p75, 0x1.a0p5 }, { // Entry 135 0x1.0399a60f41dbc2b085221312f505089dp75, 0x1.a00002p5 }, { // Entry 136 0x1.aeba4f3502d837951889740890747609p-70, -0x1.800002p5 }, { // Entry 137 0x1.aebabae3a41b4be3f576e70303a37932p-70, -0x1.80p5 }, { // Entry 138 0x1.aebb2692604a0be10cc9f3a09e77aae1p-70, -0x1.7ffffep5 }, { // Entry 139 0x1.f1047545465f97aad6774dfe16b960e2p126, 0x1.5ffffep6 }, { // Entry 140 0x1.f1056dc7bf22d3de0ed57615bc501f8bp126, 0x1.60p6 }, { // Entry 141 0x1.f106664ab4276b833993050c9aa09a95p126, 0x1.600002p6 }, { // Entry 142 0x1.7fd8b4e6e875b5988aeb2e9083caf791p-116, -0x1.400002p6 }, { // Entry 143 0x1.7fd974d372e4486f72358acdd12690e5p-116, -0x1.40p6 }, { // Entry 144 0x1.7fda34c05d49387b3838c5c2bfad0123p-116, -0x1.3ffffep6 }, { // Entry 145 0x1.6a32e160645dc5364da93c123215c591p-107, -0x1.274768p6 }, { // Entry 146 0x1.42a280b47f1e50e7307c9599e94975dap-121, -0x1.4e8ed0p6 }, { // Entry 147 0x1.1f6479d6e79d924759c7f44160ad30e3p-135, -0x1.75d638p6 }, { // Entry 148 0x1.ffffffefa39ef39a7f254535d935142bp-2, -0x1.62e430p-1 }, { // Entry 149 0x1.000000f7d1cff19f0f33036cf01c120cp-1, -0x1.62e42ep-1 }, { // Entry 150 0x1.000001f7d1d16970dfcb360efa91fea0p-1, -0x1.62e42cp-1 }, { // Entry 151 0x1.6a09e6622aebfbd7a4a03777223c604fp-1, -0x1.62e430p-2 }, { // Entry 152 0x1.6a09e7172fdf5a2e5771f3866a25514ep-1, -0x1.62e42ep-2 }, { // Entry 153 0x1.6a09e7cc34d3130784097b8d8a7c9008p-1, -0x1.62e42cp-2 }, { // Entry 154 0x1.ae89f9923cbb49183aabb33b9de1bc82p-1, -0x1.62e430p-3 }, { // Entry 155 0x1.ae89f9fddf39bb1bb94baa36c98abb7bp-1, -0x1.62e42ep-3 }, { // Entry 156 0x1.ae89fa6981b84807d78b7f25910956dep-1, -0x1.62e42cp-3 }, { // Entry 157 0x1.d5818dcdda301bca95fbcc530ab9b938p-1, -0x1.62e430p-4 }, { // Entry 158 0x1.d5818e088a61d930df1b087a4b928ea0p-1, -0x1.62e42ep-4 }, { // Entry 159 0x1.d5818e433a939ded2e7266cb13d29986p-1, -0x1.62e42cp-4 }, { // Entry 160 0x1.ea4afa294e60b4bfa24494610e75261cp-1, -0x1.62e430p-5 }, { // Entry 161 0x1.ea4afa47f3105849adccfa1dd5b3f93dp-1, -0x1.62e42ep-5 }, { // Entry 162 0x1.ea4afa6697bffdbe044fa7cdad4b3ee7p-1, -0x1.62e42cp-5 }, { // Entry 163 0x1.f50765b6643efaa2ca9e6690933e5c37p-1, -0x1.62e430p-6 }, { // Entry 164 0x1.f50765c60c7a28948d82f31a7288232fp-1, -0x1.62e42ep-6 }, { // Entry 165 0x1.f50765d5b4b557039240f127705c11e7p-1, -0x1.62e42cp-6 }, { // Entry 166 0x1.059b0d214186cff9a974bcb883cf68dep0, 0x1.62e42cp-6 }, { // Entry 167 0x1.059b0d296e5f3924690ce10533fe599bp0, 0x1.62e42ep-6 }, { // Entry 168 0x1.059b0d319b37a2908f684fad7bfb94d0p0, 0x1.62e430p-6 }, { // Entry 169 0x1.0b5586aeb68ea24c9281f25b79d84f83p0, 0x1.62e42cp-5 }, { // Entry 170 0x1.0b5586bf6be70dbda62f7148cd5a788fp0, 0x1.62e42ep-5 }, { // Entry 171 0x1.0b5586d0213f7a3a0f63afa207ea7587p0, 0x1.62e430p-5 }, { // Entry 172 0x1.172b838327ae1f9d7e70418a476da480p0, 0x1.62e42cp-4 }, { // Entry 173 0x1.172b83a60d1e9230cb3b52cd1200b8dcp0, 0x1.62e42ep-4 }, { // Entry 174 0x1.172b83c8f28f0920c614fc4456de049fp0, 0x1.62e430p-4 }, { // Entry 175 0x1.306fe00d521c5b35bf373738b0a12e1ap0, 0x1.62e42cp-3 }, { // Entry 176 0x1.306fe0596e14680dc54f3a2ea15e3afcp0, 0x1.62e42ep-3 }, { // Entry 177 0x1.306fe0a58a0c87ecc96cd405d8b582dbp0, 0x1.62e430p-3 }, { // Entry 178 0x1.6a09e503b2a7dd99cf9474b115a73ecep0, 0x1.62e42cp-2 }, { // Entry 179 0x1.6a09e5b8b79a8cb4602b42cd4c99e60ep0, 0x1.62e42ep-2 }, { // Entry 180 0x1.6a09e66dbc8d96516a303ed0289c5d36p0, 0x1.62e430p-2 }, { // Entry 181 0x1.fffffc105c64ec3292f2afac3f1a430dp0, 0x1.62e42cp-1 }, { // Entry 182 0x1.fffffe105c61fc8ef63c65c66a9d4971p0, 0x1.62e42ep-1 }, { // Entry 183 0x1.000000082e308675abcb3c215eacf84ap1, 0x1.62e430p-1 }, { // Entry 184 0x1.fffff820b8d19779692fb0fcc0281246p1, 0x1.62e42cp0 }, { // Entry 185 0x1.fffffc20b8c5d8eaff4ac013cf734639p1, 0x1.62e42ep0 }, { // Entry 186 0x1.000000105c610d2e42f45922768a8e6cp2, 0x1.62e430p0 }, { // Entry 187 0x1.fffff04171c22b43a28d8088c347bf1fp3, 0x1.62e42cp1 }, { // Entry 188 0x1.fffff8417193310a429b71e70d792186p3, 0x1.62e42ep1 }, { // Entry 189 0x1.00000020b8c21b6833603e51897c598cp4, 0x1.62e430p1 }, { // Entry 190 0x1.ffffe082e40047c89dfa41d09c1e1ef8p7, 0x1.62e42cp2 }, { // Entry 191 0x1.fffff082e3445ee55b3fa84a5dd849c9p7, 0x1.62e42ep2 }, { // Entry 192 0x1.0000004171843aff1c9ef14341bfa42ep8, 0x1.62e430p2 }, { // Entry 193 0x1.ffffc105c9f0548760a823b0dfdaeb66p15, 0x1.62e42cp3 }, { // Entry 194 0x1.ffffe105c700b10c3e2a549fbdebb0dap15, 0x1.62e42ep3 }, { // Entry 195 0x1.00000082e30886b910b9d8752828389dp16, 0x1.62e430p3 }, { // Entry 196 0x1.ffff820b9b9fbc6d5dda406ad9f93354p31, 0x1.62e42cp4 }, { // Entry 197 0x1.ffffc20b8fe12f101740ac9653f78fe3p31, 0x1.62e42ep4 }, { // Entry 198 0x1.00000105c611505d7f74a41433312dp32, 0x1.62e430p4 }, { // Entry 199 0x1.fffe082f28688d3872ab8aa69f3dc358p127, 0x1.62e42cp6 }, { // Entry 200 0x1.ffff082e6c7fed1d3fd5cff7e1f60591p127, 0x1.62e42ep6 }, { // Entry 201 HUGE_VALF, 0x1.62e430p6 }, { // Entry 202 0.0f, -0x1.9d1da2p6 }, { // Entry 203 0.0f, -0x1.9d1da0p6 }, { // Entry 204 0x1.0000733d37b1d08a80d7f5b45a57b888p-149, -0x1.9d1d9ep6 }, { // Entry 205 0x1.8ebef92368a3eafa519740584c0bc3b4p-1, -0x1.000002p-2 }, { // Entry 206 0x1.8ebef9eac820ae8682b9793ac6d1e772p-1, -0x1.p-2 }, { // Entry 207 0x1.8ebefa4e77df35ae82b57af121518cefp-1, -0x1.fffffep-3 }, { // Entry 208 0x1.c3d6a1dde27992e129ed78a65573f878p-1, -0x1.000002p-3 }, { // Entry 209 0x1.c3d6a24ed82218787d624d3e5eba95f5p-1, -0x1.p-3 }, { // Entry 210 0x1.c3d6a28752f665db2eea1fa5876798a3p-1, -0x1.fffffep-4 }, { // Entry 211 0x1.e0fabf8050d24919d357946f9e880754p-1, -0x1.000002p-4 }, { // Entry 212 0x1.e0fabfbc702a3ce5e31fe0609358bafdp-1, -0x1.p-4 }, { // Entry 213 0x1.e0fabfda7fd6399d632391f9771f3e82p-1, -0x1.fffffep-5 }, { // Entry 214 0x1.f03f568987680f8419de7d66d0a619ecp-1, -0x1.000002p-5 }, { // Entry 215 0x1.f03f56a88b5d7914b00abf97762735d1p-1, -0x1.p-5 }, { // Entry 216 0x1.f03f56b80d582e9712e15df3cc9e8e9cp-1, -0x1.fffffep-6 }, { // Entry 217 0x1.f80feab02e7af3675b36eb6c3c71a5eep-1, -0x1.000002p-6 }, { // Entry 218 0x1.f80feabfeefa4927d10bdd54ead5aa46p-1, -0x1.p-6 }, { // Entry 219 0x1.f80feac7cf39f4374d745808a78130ecp-1, -0x1.fffffep-7 }, { // Entry 220 0x1.fc03fd4eba125a4d3455bf72cbc939f7p-1, -0x1.000002p-7 }, { // Entry 221 0x1.fc03fd56aa224f97fcbf1332988842dep-1, -0x1.p-7 }, { // Entry 222 0x1.fc03fd5aa22a4a49490bad128ba5af93p-1, -0x1.fffffep-8 }, { // Entry 223 0x1.fe00ffa6c3f9bd20292897f42d7b9d76p-1, -0x1.000002p-8 }, { // Entry 224 0x1.fe00ffaabffbbc71ad1e1184afc19c7ep-1, -0x1.p-8 }, { // Entry 225 0x1.fe00ffacbdfcbc1d6c1a4dcc11ddb6d8p-1, -0x1.fffffep-9 }, { // Entry 226 0x1.ff003ff357aa48970957a2cf7d7a6cacp-1, -0x1.000002p-9 }, { // Entry 227 0x1.ff003ff556aa888b60820b6087d1e91ap-1, -0x1.p-9 }, { // Entry 228 0x1.ff003ff6562aa8864bb757a4ed8d9686p-1, -0x1.fffffep-10 }, { // Entry 229 0x1.ff800ffdaafff6efe4df3f7f5ce23accp-1, -0x1.000002p-10 }, { // Entry 230 0x1.ff800ffeaabffeeefa4f3cf70f59d9bfp-1, -0x1.p-10 }, { // Entry 231 0x1.ff800fff2aa002eeb4fb3d32c498a8ffp-1, -0x1.fffffep-11 }, { // Entry 232 0x1.fff0003fdf5656a6a9932df6283cfcbdp-1, -0x1.000002p-13 }, { // Entry 233 0x1.fff0003fff5556aaa8888b60b2cb2ff2p-1, -0x1.p-13 }, { // Entry 234 0x1.fff000400f54d6aca8c334161010099ep-1, -0x1.fffffep-14 }, { // Entry 235 0x1.48b5e371ba9f7fc224c75d198fe4cd1bp0, 0x1.fffffep-3 }, { // Entry 236 0x1.48b5e3c3e81866767bc3b69baabe534ep0, 0x1.p-2 }, { // Entry 237 0x1.48b5e468430a7181447647fc03adbfb6p0, 0x1.000002p-2 }, { // Entry 238 0x1.221604372c9c46732dd72e996c9e23f2p0, 0x1.fffffep-4 }, { // Entry 239 0x1.2216045b6f5ccf9ced688384e06b8d42p0, 0x1.p-3 }, { // Entry 240 0x1.221604a3f4ddef8974c0079f23fd0bb9p0, 0x1.000002p-3 }, { // Entry 241 0x1.1082b566cb2380e0be0d559a0150172fp0, 0x1.fffffep-5 }, { // Entry 242 0x1.1082b577d34ed7d5b1a019e225c9a951p0, 0x1.p-4 }, { // Entry 243 0x1.1082b599e3a588f120e61af4869c9842p0, 0x1.000002p-4 }, { // Entry 244 0x1.082055f8d17c19a67be4f7058e9a570ap0, 0x1.fffffep-6 }, { // Entry 245 0x1.08205601127ec98e0bd083aba80c97a6p0, 0x1.p-5 }, { // Entry 246 0x1.0820561194842a2343e81fd5fab451efp0, 0x1.000002p-5 }, { // Entry 247 0x1.04080ab14dc366ad6116c39e3c2d0a9ep0, 0x1.fffffep-7 }, { // Entry 248 0x1.04080ab55de3917ab864b3e9044e6b45p0, 0x1.p-6 }, { // Entry 249 0x1.04080abd7e23e746288296c1313f21b1p0, 0x1.000002p-6 }, { // Entry 250 0x1.02020153fc40586235decf4eb727a15fp0, 0x1.fffffep-8 }, { // Entry 251 0x1.0202015600445b0c326382bc73689d32p0, 0x1.p-7 }, { // Entry 252 0x1.0202015a084c606c4384f9a7ff2ee425p0, 0x1.000002p-7 }, { // Entry 253 0x1.01008029b456f7a855530b151055fcccp0, 0x1.fffffep-9 }, { // Entry 254 0x1.0100802ab55777d28a2a42d26aa9ee67p0, 0x1.p-8 }, { // Entry 255 0x1.0100802cb7587829f6da32ce4058b940p0, 0x1.000002p-8 }, { // Entry 256 0x1.00802004d5c0010ff251d134d9bbdf8cp0, 0x1.fffffep-10 }, { // Entry 257 0x1.00802005560011127d41d5bd72f4c8f3p0, 0x1.p-9 }, { // Entry 258 0x1.00802006568031185381f6d2c5f6ac90p0, 0x1.000002p-9 }, { // Entry 259 0x1.004008006aa553ddc0e317b0fa59b1c4p0, 0x1.fffffep-11 }, { // Entry 260 0x1.00400800aab555dde38e6ce86e9277aap0, 0x1.p-10 }, { // Entry 261 0x1.004008012ad559de58f118d77b0703afp0, 0x1.000002p-10 }, { // Entry 262 0x1.0008001ff85515ff012e68cd2d69c588p0, 0x1.fffffep-14 }, { // Entry 263 0x1.00080020005556000111127d297298c9p0, 0x1.p-13 }, { // Entry 264 0x1.000800201055d60201966bdd39867f5cp0, 0x1.000002p-13 }, { // Entry 265 0x1.969c7be3ad874c06787aba955d206d83p-93, -0x1.000002p6 }, { // Entry 266 0x1.969d47321e4cbabf2d28070963b04194p-93, -0x1.p6 }, { // Entry 267 0x1.969dacd97cce2d9b005ff576b7a0bb4fp-93, -0x1.fffffep5 }, { // Entry 268 0x1.c845dd6490ab2d9c7b0cfec9c5008483p-47, -0x1.000002p5 }, { // Entry 269 0x1.c8464f76164681e299a0124487884d64p-47, -0x1.p5 }, { // Entry 270 0x1.c846887ee3c5d1705be6172d117870a0p-47, -0x1.fffffep4 }, { // Entry 271 0x1.e3557f4434ad7be9e06c29966f56e62bp-24, -0x1.000002p4 }, { // Entry 272 0x1.e355bbaee85cada65f73f32e88fb3cc6p-24, -0x1.p4 }, { // Entry 273 0x1.e355d9e44509470f0aa73ac7ef12148fp-24, -0x1.fffffep3 }, { // Entry 274 0x1.5fc1fa44e2269c9c9706469c20b93e95p-12, -0x1.000002p3 }, { // Entry 275 0x1.5fc21041027acbbfcd46780fee71ead2p-12, -0x1.p3 }, { // Entry 276 0x1.5fc21b3f1328cc16210576d3c70bf98bp-12, -0x1.fffffep2 }, { // Entry 277 0x1.2c1552216918b98b1cef7b04f710e36cp-6, -0x1.000002p2 }, { // Entry 278 0x1.2c155b8213cf477e8af0132c2ae23d4ap-6, -0x1.p2 }, { // Entry 279 0x1.2c1560326946b078b09f8faebe2fc287p-6, -0x1.fffffep1 }, { // Entry 280 0x1.152aa5e74d7c73728ada0663f224a381p-3, -0x1.000002p1 }, { // Entry 281 0x1.152aaa3bf81cb9fdb76eae12d029571fp-3, -0x1.p1 }, { // Entry 282 0x1.152aac664d735c4346cc27f42a3d83b1p-3, -0x1.fffffep0 }, { // Entry 283 0x1.78b56071642fa837c9519eec10a7f937p-2, -0x1.000002p0 }, { // Entry 284 0x1.78b56362cef37c6aeb7b1e0a4153e437p-2, -0x1.p0 }, { // Entry 285 0x1.78b564db84579b9490e7b9557026c647p-2, -0x1.fffffep-1 }, { // Entry 286 0x1.4259323902dbc6e62e3e07ce26cd904cp92, 0x1.fffffep5 }, { // Entry 287 0x1.425982cf597cd205ce3d5b4edb031756p92, 0x1.p6 }, { // Entry 288 0x1.425a23fc432fb5d556006a4d8e7ee11bp92, 0x1.000002p6 }, { // Entry 289 0x1.1f43d8dc3908b8ed87a5abd50621706ap46, 0x1.fffffep4 }, { // Entry 290 0x1.1f43fcc4b662c7d84788401842174074p46, 0x1.p5 }, { // Entry 291 0x1.1f444495be8e1616a1e5e388779bc146p46, 0x1.000002p5 }, { // Entry 292 0x1.0f2eac1794b8f3edb5c10d26a51f420fp23, 0x1.fffffep3 }, { // Entry 293 0x1.0f2ebd0a8002049223f170882b5ee5efp23, 0x1.p4 }, { // Entry 294 0x1.0f2edef059c1b22312bed964006ee633p23, 0x1.000002p4 }, { // Entry 295 0x1.749e9c2f7bb6cf5a276ee08236c2d6c3p11, 0x1.fffffep2 }, { // Entry 296 0x1.749ea7d470c6df0be00e084a815d1de6p11, 0x1.p3 }, { // Entry 297 0x1.749ebf1e5bfe757019de4e22b113fde9p11, 0x1.000002p3 }, { // Entry 298 0x1.b4c8fc0f4fa7a2f2459a6ef53c315f0fp5, 0x1.fffffep1 }, { // Entry 299 0x1.b4c902e273a58678d6d3bfdb93db96d0p5, 0x1.p2 }, { // Entry 300 0x1.b4c91088bbf33336f0ee52b1ad858e43p5, 0x1.000002p2 }, { // Entry 301 0x1.d8e647db814773f419262ee477a98616p2, 0x1.fffffep0 }, { // Entry 302 0x1.d8e64b8d4ddadcc33a3ba206b68abba8p2, 0x1.p1 }, { // Entry 303 0x1.d8e652f0e717d92d15cd610022ae51e3p2, 0x1.000002p1 }, { // Entry 304 0x1.5bf0a75554ce91e83d421c2a7c075cb2p1, 0x1.fffffep-1 }, { // Entry 305 0x1.5bf0a8b1457695355fb8ac404e7a79e3p1, 0x1.p0 }, { // Entry 306 0x1.5bf0ab6926caafa1a0158d79693ac8e1p1, 0x1.000002p0 }, { // Entry 307 HUGE_VALF, 0x1.p124 }, { // Entry 308 HUGE_VALF, 0x1.99999ap124 }, { // Entry 309 HUGE_VALF, 0x1.19999ap125 }, { // Entry 310 HUGE_VALF, 0x1.666668p125 }, { // Entry 311 HUGE_VALF, 0x1.b33334p125 }, { // Entry 312 HUGE_VALF, 0x1.p126 }, { // Entry 313 HUGE_VALF, 0x1.fffffep127 }, { // Entry 314 HUGE_VALF, HUGE_VALF }, { // Entry 315 HUGE_VALF, 0x1.fffffep127 }, { // Entry 316 HUGE_VALF, 0x1.fffffcp127 }, { // Entry 317 0x1.7240490a165620d9b922aaa22a8e4c09p4, 0x1.921fb6p1 }, { // Entry 318 0x1.33dedd672084cca612aab2b9a3e817bbp2, 0x1.921fb6p0 }, { // Entry 319 0x1.5bf0ab6926caafa1a0158d79693ac8e1p1, 0x1.000002p0 }, { // Entry 320 0x1.5bf0a8b1457695355fb8ac404e7a79e3p1, 0x1.p0 }, { // Entry 321 0x1.5bf0a75554ce91e83d421c2a7c075cb2p1, 0x1.fffffep-1 }, { // Entry 322 0x1.18bd66fb62b31900cc07634deba43456p1, 0x1.921fb6p-1 }, { // Entry 323 0x1.00000000000000000000000000000004p0, 0x1.000002p-126 }, { // Entry 324 0x1.00000000000000000000000000000004p0, 0x1.p-126 }, { // Entry 325 0x1.00000000000000000000000000000003p0, 0x1.fffffcp-127 }, { // Entry 326 0x1.00000000000000000000000000000003p0, 0x1.fffff8p-127 }, { // Entry 327 0x1.p0, 0x1.p-148 }, { // Entry 328 0x1.p0, 0x1.p-149 }, { // Entry 329 0x1.p0, 0.0f }, { // Entry 330 0x1.p0, -0.0f }, { // Entry 331 0x1.ffffffffffffffffffffffffffffffffp-1, -0x1.p-149 }, { // Entry 332 0x1.ffffffffffffffffffffffffffffffffp-1, -0x1.p-148 }, { // Entry 333 0x1.fffffffffffffffffffffffffffffff8p-1, -0x1.fffff8p-127 }, { // Entry 334 0x1.fffffffffffffffffffffffffffffff8p-1, -0x1.fffffcp-127 }, { // Entry 335 0x1.fffffffffffffffffffffffffffffff8p-1, -0x1.p-126 }, { // Entry 336 0x1.fffffffffffffffffffffffffffffff7p-1, -0x1.000002p-126 }, { // Entry 337 0x1.d2e17123d2ae02abbcf896f2025e3463p-2, -0x1.921fb6p-1 }, { // Entry 338 0x1.78b564db84579b9490e7b9557026c647p-2, -0x1.fffffep-1 }, { // Entry 339 0x1.78b56362cef37c6aeb7b1e0a4153e437p-2, -0x1.p0 }, { // Entry 340 0x1.78b56071642fa837c9519eec10a7f937p-2, -0x1.000002p0 }, { // Entry 341 0x1.a9bcc3373efd3e4d6a96be7a7562f428p-3, -0x1.921fb6p0 }, { // Entry 342 0x1.620225ae5e9349593d6bb618c231545ep-5, -0x1.921fb6p1 }, { // Entry 343 0.0f, -0x1.fffffcp127 }, { // Entry 344 0.0f, -0x1.fffffep127 }, { // Entry 345 0.0, -HUGE_VALF }, { // Entry 346 0x1.ffff082e6c7fed1d3fd5cff7e1f60591p127, 0x1.62e42ep6 }, { // Entry 347 HUGE_VALF, 0x1.62e430p6 }, { // Entry 348 0x1.00004bf94f63e3fa686222148f1293c4p-126, -0x1.5d589ep6 }, { // Entry 349 0x1.ffff97f292ce80e494231c6496e9cbf5p-127, -0x1.5d58a0p6 }, }; #endif // __BIONIC__ TEST(math_expf, expf_intel) { #if defined(__BIONIC__) for (size_t i = 0; i < sizeof(g_expf_intel_data)/sizeof(expf_intel_data_t); i++) { EXPECT_FLOAT_EQ(g_expf_intel_data[i].expected, expf(g_expf_intel_data[i].call_data)) << "Failed on element " << i; } #else // __BIONIC__ GTEST_LOG_(INFO) << "This test does nothing."; #endif // __BIONIC__ }