1 /*
2 * Copyright (C) 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 #include <math.h>
18
19 #include <gtest/gtest.h>
20
21 #if defined(__BIONIC__)
22 typedef struct {
23 float expected;
24 float call_data;
25 } logf_intel_data_t;
26
27 static logf_intel_data_t g_logf_intel_data[] = {
28 { // Entry 0
29 -0x1.bb9d3aeb8c87b02d7763eba8b48a102dp1,
30 0x1.000002p-5
31 },
32 { // Entry 1
33 0x1.fffffe000002aaaaa6aaaab111110666p-24,
34 0x1.000002p0
35 },
36 { // Entry 2
37 -0x1.c6b45ceb09a5a7c82aacd1cadf7253dcp4,
38 0x1.000008p-41
39 },
40 { // Entry 3
41 -0x1.d1cb7cea86d09f62474b14c45f4cb680p3,
42 0x1.000010p-21
43 },
44 { // Entry 4
45 -0x1.fe2800e87c347d788f394ef2e93db868p5,
46 0x1.000080p-92
47 },
48 { // Entry 5
49 0x1.1fffaf001e5ff32f85c436e59fe73b1ep-17,
50 0x1.000090p0
51 },
52 { // Entry 6
53 -0x1.0a27a3fffa7e0d031d9a55d157a0e8c8p1,
54 0x1.0007p-3
55 },
56 { // Entry 7
57 0x1.54de6ee78989a9acfc875c1d45e16490p-9,
58 0x1.00aaa8p0
59 },
60 { // Entry 8
61 0x1.8f4826fff787c58fab520e505952bb55p-9,
62 0x1.00c7f2p0
63 },
64 { // Entry 9
65 -0x1.6150cefffc83ba2da43d8d7455ef2fdep-1,
66 0x1.00cap-1
67 },
68 { // Entry 10
69 0x1.cf2e3eb0928bdf5cbf064a27c6422c85p-9,
70 0x1.00e8p0
71 },
72 { // Entry 11
73 0x1.f0ee8a9a67ab36597ffd3c93304d0cc5p-9,
74 0x1.00f8f0p0
75 },
76 { // Entry 12
77 0x1.fbdfc897d239fb49dc1c31afeaea1ea5p-9,
78 0x1.00fe6ep0
79 },
80 { // Entry 13
81 0x1.fdc5e48f893e8f48967ee4ff1e895dd5p-9,
82 0x1.00ff62p0
83 },
84 { // Entry 14
85 0x1.be79c70058ec8f9a6c04043f52763c30p-8,
86 0x1.01c0p0
87 },
88 { // Entry 15
89 0x1.e3afef036c442bea46d105f6864ea6f3p-8,
90 0x1.01e57ap0
91 },
92 { // Entry 16
93 0x1.eb92db03d89f25719af908ebb6e7e510p-8,
94 0x1.01ed6cp0
95 },
96 { // Entry 17
97 0x1.f873b502f9427cb1a14872267ffae2f8p-8,
98 0x1.01fa66p0
99 },
100 { // Entry 18
101 0x1.fc108903fcd4cd445800cb06c164d0b0p-8,
102 0x1.01fe0ap0
103 },
104 { // Entry 19
105 0x1.fea168fad6274232ad3998c3e39e43d9p-8,
106 0x1.0200a0p0
107 },
108 { // Entry 20
109 0x1.0ce4c9fe3edd7f45dc38d30f76305931p-7,
110 0x1.021cp0
111 },
112 { // Entry 21
113 0x1.0ee096e2764f9f1e64840607436cc093p-7,
114 0x1.0220p0
115 },
116 { // Entry 22
117 0x1.fc098efffe49fe32c3576def6f303335p-7,
118 0x1.03fffep0
119 },
120 { // Entry 23
121 -0x1.58fed400015fff94ac3bb9ebbc81c8aep-1,
122 0x1.04ffp-1
123 },
124 { // Entry 24
125 -0x1.58b1f1ffffa56b55b6a722e0ab2c5ae6p-1,
126 0x1.052634p-1
127 },
128 { // Entry 25
129 0x1.e720a3003d099731c85ce6d689546a76p-6,
130 0x1.07b9c4p0
131 },
132 { // Entry 26
133 0x1.f5a4cb00353937ad8b1e07a6a469189fp-6,
134 0x1.07f59cp0
135 },
136 { // Entry 27
137 -0x1.b0080fffd588ec91883715736aae0f50p4,
138 0x1.08p-39
139 },
140 { // Entry 28
141 0x1.7f64a700002b54d6fb5d69bc35c5e2cap-1,
142 0x1.0ea7b0p1
143 },
144 { // Entry 29
145 0x1.cf2825078d8bd21f5b5543342e66b54dp-5,
146 0x1.0ee4p0
147 },
148 { // Entry 30
149 0x1.845657000391f340da745d9e5d283165p-1,
150 0x1.1148p1
151 },
152 { // Entry 31
153 -0x1.b959420004b51fb80d8329172d8922f6p3,
154 0x1.12c8p-20
155 },
156 { // Entry 32
157 -0x1.3cb226cef9a610cf77dc0067902b4099p-1,
158 0x1.13d4p-1
159 },
160 { // Entry 33
161 0x1.5e1a22fccd87d40b6e7ebc0226374d61p-4,
162 0x1.16d8p0
163 },
164 { // Entry 34
165 -0x1.35fb76dd8c7a211f33842af42c599114p-1,
166 0x1.1778p-1
167 },
168 { // Entry 35
169 -0x1.35028ad9d8c85c1fca93f355d4796bc1p-1,
170 0x1.18p-1
171 },
172 { // Entry 36
173 0x1.a3f71cff14b8111aded976c26d18960ep-4,
174 0x1.1ba4p0
175 },
176 { // Entry 37
177 -0x1.55a061fff90fa6df755f7aef5ab9f978p1,
178 0x1.1bf4p-4
179 },
180 { // Entry 38
181 -0x1.ce5ffde66a9af783b86443209ecec164p3,
182 0x1.1ce0p-21
183 },
184 { // Entry 39
185 -0x1.ce3a55ea5d47322bdbbe0fff5479ca1ep3,
186 0x1.1e30p-21
187 },
188 { // Entry 40
189 0x1.e23792ef52971fd6c72a99f598a0fbacp-4,
190 0x1.1ffcp0
191 },
192 { // Entry 41
193 0x1.8fe0c85314ba5e09e115528c02ef6e31p0,
194 0x1.312e78p2
195 },
196 { // Entry 42
197 -0x1.fdedfade465d57336a9b8a3562d3b176p-2,
198 0x1.372c16p-1
199 },
200 { // Entry 43
201 -0x1.fd9c98de7d89b9e29546a9b7692cacddp-2,
202 0x1.3744d2p-1
203 },
204 { // Entry 44
205 -0x1.fd5656de0c66d47b7b9cf4fa68b356e4p-2,
206 0x1.375a2ep-1
207 },
208 { // Entry 45
209 -0x1.fca98cde0ceb18d6d7bab7705d14de17p-2,
210 0x1.378ebcp-1
211 },
212 { // Entry 46
213 -0x1.fc0a58de4ea7c9432ac00ff0adb6db7ep-2,
214 0x1.37bf30p-1
215 },
216 { // Entry 47
217 -0x1.ebdede51de7d7b359acc23ec312af2d4p-2,
218 0x1.3cb56ap-1
219 },
220 { // Entry 48
221 -0x1.dae0dedfdda2569379630abffcaffff2p-2,
222 0x1.420208p-1
223 },
224 { // Entry 49
225 -0x1.d930ca53ae8e0695d14e48376b584668p-2,
226 0x1.428a04p-1
227 },
228 { // Entry 50
229 0x1.ec3649c72c05a069c2d000090851c639p-3,
230 0x1.458cbep0
231 },
232 { // Entry 51
233 0x1.f3e63257ecd12b0d9ccc9ff34c3f3d6ep-3,
234 0x1.46c626p0
235 },
236 { // Entry 52
237 -0x1.693cfa30b633b1d03f4ecd88a750ac79p-2,
238 0x1.67cd3ap-1
239 },
240 { // Entry 53
241 -0x1.692b5e42108b73d7599518074ce8670ap-2,
242 0x1.67d36ap-1
243 },
244 { // Entry 54
245 -0x1.63bbba1771b8208d851ab36cd6d93f38p-2,
246 0x1.69bdbap-1
247 },
248 { // Entry 55
249 0x1.62e25eec85781e60cb49b4f21becabdfp-2,
250 0x1.6a0942p0
251 },
252 { // Entry 56
253 0x1.62e3ce9ef86f6524351edd87310e8743p-2,
254 0x1.6a09c4p0
255 },
256 { // Entry 57
257 -0x1.3c607adedb168d9d89c6b2265b4dd0a4p-2,
258 0x1.77ea38p-1
259 },
260 { // Entry 58
261 -0x1.194432fffcb092d891670b7f8f628fc4p6,
262 0x1.77fffep-102
263 },
264 { // Entry 59
265 0x1.193ea500258270930f8e7d7af244dcffp0,
266 0x1.7ffffcp1
267 },
268 { // Entry 60
269 -0x1.dac08de1d26b0f69e1ed58bd3d9fd82bp3,
270 0x1.82fe92p-22
271 },
272 { // Entry 61
273 0x1.c8d70de117cb2fe459ed64cc67e5abc9p3,
274 0x1.830608p20
275 },
276 { // Entry 62
277 0x1.f2272ae325a57546f69496cf261be046p1,
278 0x1.88p5
279 },
280 { // Entry 63
281 0x1.c9c5ade34763c0b9a180d863bfc7f106p3,
282 0x1.8e7686p20
283 },
284 { // Entry 64
285 -0x1.f991d108abe1fc9c91e91ae7f707bd4fp-3,
286 0x1.8ffffep-1
287 },
288 { // Entry 65
289 -0x1.827d4d002e5d13215ce5f8de87566933p1,
290 0x1.8ffffep-5
291 },
292 { // Entry 66
293 -0x1.f305bd058b3c9e64101476e5de911d83p-3,
294 0x1.9147e0p-1
295 },
296 { // Entry 67
297 -0x1.ee7ee50650878a84e97f4cec96736bc5p-3,
298 0x1.922b30p-1
299 },
300 { // Entry 68
301 0x1.dc0391005bf0fccb92c262eeb6a300e4p0,
302 0x1.9ae278p2
303 },
304 { // Entry 69
305 -0x1.2650b600000be0c5902c7a15495161c5p1,
306 0x1.9aeea0p-4
307 },
308 { // Entry 70
309 -0x1.7ba9b7ffff3d189f5a17149697c12ce2p1,
310 0x1.a5e970p-5
311 },
312 { // Entry 71
313 -0x1.206170fffc9e8a93c1986e21787bed5ap1,
314 0x1.ae6ef0p-4
315 },
316 { // Entry 72
317 -0x1.d73d7ffc1e7abc4225e39878828f8666p3,
318 0x1.afe26cp-22
319 },
320 { // Entry 73
321 -0x1.25174700000008ddbe755739d626364fp3,
322 0x1.b97c70p-14
323 },
324 { // Entry 74
325 -0x1.1ca5b500035fc07c389a9e5cbfd78edbp1,
326 0x1.bb2c2cp-4
327 },
328 { // Entry 75
329 -0x1.24b0ebfffcc32ee1b9b739e2a4c7d059p3,
330 0x1.bf0970p-14
331 },
332 { // Entry 76
333 -0x1.669915000230d74fa2da2f40bbdf4469p3,
334 0x1.c7fffep-17
335 },
336 { // Entry 77
337 -0x1.954aeedf4d5f5fb7c474a35723b4e707p-1,
338 0x1.cffffep-2
339 },
340 { // Entry 78
341 -0x1.92e76afffcd449b3ac5d412b622f78a8p-4,
342 0x1.d008e4p-1
343 },
344 { // Entry 79
345 -0x1.ffa24f1c1233a9f8e8ae684edf89313fp-5,
346 0x1.e10040p-1
347 },
348 { // Entry 80
349 -0x1.117889fffffbdf8a5cd7c34f7246f3cfp1,
350 0x1.e39bb4p-4
351 },
352 { // Entry 81
353 -0x1.894ac2dcdde549d0d0922b5b4f54e028p-5,
354 0x1.e7fffep-1
355 },
356 { // Entry 82
357 -0x1.381d36ffe60eb1dfb0686574074223e7p-5,
358 0x1.ecdc1cp-1
359 },
360 { // Entry 83
361 0x1.d14973edb3656c771e18eca84bc94c76p4,
362 0x1.effffep41
363 },
364 { // Entry 84
365 -0x1.efea18fff1115e81636f53b65665e16ep-6,
366 0x1.f0bc20p-1
367 },
368 { // Entry 85
369 -0x1.a5b584ffdad31147d1140b1694740ad7p-6,
370 0x1.f2fd60p-1
371 },
372 { // Entry 86
373 -0x1.62b35affdf0a2429284b006b680bd1bep-6,
374 0x1.f508e4p-1
375 },
376 { // Entry 87
377 -0x1.0cb140ffff9f8f1e06e7f9af0a531a5bp1,
378 0x1.f600dcp-4
379 },
380 { // Entry 88
381 -0x1.0bfe70eb451ad09a7cb75c1eedfa6150p1,
382 0x1.f8c010p-4
383 },
384 { // Entry 89
385 -0x1.70c8c50dce246dd6bcb0461e7dc4937ep-7,
386 0x1.fa4522p-1
387 },
388 { // Entry 90
389 -0x1.416a71b773a2c3e3980b11efd1a197b5p-8,
390 0x1.fd7ebep-1
391 },
392 { // Entry 91
393 -0x1.c0c674621c5b474a430e13570c580388p-9,
394 0x1.fe3ffep-1
395 },
396 { // Entry 92
397 -0x1.04863cfffbbf7edb167cb60df3f3d599p-9,
398 0x1.fefbbcp-1
399 },
400 { // Entry 93
401 -0x1.0a5ddf00004ebf2a6feee99d5bddde34p1,
402 0x1.ff353cp-4
403 },
404 { // Entry 94
405 -0x1.d80366485b747247a45bb9a470179df1p-15,
406 0x1.fff8a0p-1
407 },
408 { // Entry 95
409 -0x1.d1cb7fea86c49f63074b0d445fb65014p3,
410 0x1.fffff0p-22
411 },
412 { // Entry 96
413 0x1.d1cb7dea86bc9f62dca06199b5053f03p3,
414 0x1.fffff0p20
415 },
416 { // Entry 97
417 -0x1.00000200000555556555558888893333p-22,
418 0x1.fffff8p-1
419 },
420 { // Entry 98
421 -0x1.00000100000155555755555888888dddp-23,
422 0x1.fffffcp-1
423 },
424 { // Entry 99
425 -0x1.000000800000555555955555888888b3p-24,
426 0x1.fffffep-1
427 },
428 { // Entry 100
429 -0x1.62e43115a8fb47c3a7c2e76a80cca9a5p-2,
430 0x1.6a09e6p-1
431 },
432 { // Entry 101
433 -0x1.da391a70d28a24641626f5e9155324b5p-3,
434 0x1.962b60p-1
435 },
436 { // Entry 102
437 -0x1.06fbe6a4e25295f80fb2274afe6d3bacp-3,
438 0x1.c24cdap-1
439 },
440 { // Entry 103
441 -0x1.1e0a6d053425d3d6528aa717ecc9a578p-5,
442 0x1.ee6e54p-1
443 },
444 { // Entry 104
445 0x1.9e549c3779f093451892a1fe4e67b50ep-5,
446 0x1.0d47e6p0
447 },
448 { // Entry 105
449 0x1.08e0b9f3a7944bab3ecb56d6a7ff03b5p-3,
450 0x1.2358a2p0
451 },
452 { // Entry 106
453 0x1.9e645d60ff198986479346d164ecad7ep-3,
454 0x1.39695ep0
455 },
456 { // Entry 107
457 0x1.14dd670cac0212506bf72fb762d8a7dbp-2,
458 0x1.4f7a1ap0
459 },
460 { // Entry 108
461 0x1.561819aca49de6b1d1ccda1095c74502p-2,
462 0x1.658ad6p0
463 },
464 { // Entry 109
465 0x1.936a7c496c3e21406af9f4ac9beac6a5p-2,
466 0x1.7b9b92p0
467 },
468 { // Entry 110
469 0x1.cd45a8d7e3403f5278d5e3d566349f75p-2,
470 0x1.91ac4ep0
471 },
472 { // Entry 111
473 0x1.02044831211ed0068efa4c2a8b9870bfp-1,
474 0x1.a7bd0ap0
475 },
476 { // Entry 112
477 0x1.1c01d5f6d3a50d31c45cbfddd0272765p-1,
478 0x1.bdcdc6p0
479 },
480 { // Entry 113
481 0x1.34bde46fd84fca43ba3f4799acab10ffp-1,
482 0x1.d3de82p0
483 },
484 { // Entry 114
485 0x1.4c5618136a3221d84476b78353fabc80p-1,
486 0x1.e9ef3ep0
487 },
488 { // Entry 115
489 0x1.62e429efa395f35781c7670787e58c2bp-1,
490 0x1.fffffap0
491 },
492 { // Entry 116
493 -0x1.62e43115a8fb47c3a7c2e76a80cca9a5p-2,
494 0x1.6a09e6p-1
495 },
496 { // Entry 117
497 -0x1.24cfd09514bae9e21501d1a28c37d51ep-2,
498 0x1.80aa84p-1
499 },
500 { // Entry 118
501 -0x1.d4902a7f6a1d18da241dffb42a0818edp-3,
502 0x1.974b22p-1
503 },
504 { // Entry 119
505 -0x1.65d5607cc85baba26e2faf78865dc991p-3,
506 0x1.adebc0p-1
507 },
508 { // Entry 120
509 -0x1.f991d8f6e2f011943d5a6a60cd646002p-4,
510 0x1.c48c5ep-1
511 },
512 { // Entry 121
513 -0x1.31b9a995502d59241500cd1ce955f5c4p-4,
514 0x1.db2cfcp-1
515 },
516 { // Entry 122
517 -0x1.ccb7994bda818c26cc15fca660f364ecp-6,
518 0x1.f1cd9ap-1
519 },
520 { // Entry 123
521 0x1.0b9492bd99570e8a2a2f5a7f59644b42p-6,
522 0x1.04371cp0
523 },
524 { // Entry 124
525 0x1.e2705e9cc554d8b565433c8fad2db164p-5,
526 0x1.0f876cp0
527 },
528 { // Entry 125
529 0x1.986d321688b074a21eb26b41679ee309p-4,
530 0x1.1ad7bcp0
531 },
532 { // Entry 126
533 0x1.1c89919fb208ebda275d6fee75577a43p-3,
534 0x1.26280cp0
535 },
536 { // Entry 127
537 0x1.69d463db5d0d8cbc5da8bd2c1f5d2953p-3,
538 0x1.31785cp0
539 },
540 { // Entry 128
541 0x1.b44f87381611ab2806d6f00d213de2cfp-3,
542 0x1.3cc8acp0
543 },
544 { // Entry 129
545 0x1.fc2d80e5311b3f7e05f26b963044ea08p-3,
546 0x1.4818fcp0
547 },
548 { // Entry 130
549 0x1.20cdd9262c59a7726689f4fe5ffa58fep-2,
550 0x1.53694cp0
551 },
552 { // Entry 131
553 0x1.426182db20e23d0b473ae1c2d1975c3fp-2,
554 0x1.5eb99cp0
555 },
556 { // Entry 132
557 0x1.62e42ec99e429eeb7fcbe6f58eff3117p-2,
558 0x1.6a09e6p0
559 },
560 { // Entry 133
561 -0x1.269621134db92783beb7676c0aa9c2a3p-2,
562 0x1.80p-1
563 },
564 { // Entry 134
565 -0x1.89fa484d355b5e186f5662b3da3e745bp-3,
566 0x1.a66666p-1
567 },
568 { // Entry 135
569 -0x1.af8e892d15de87e2e9e59dff5c0633bep-4,
570 0x1.ccccccp-1
571 },
572 { // Entry 136
573 -0x1.9ecebcb597ea1bb43d896f584759744ap-6,
574 0x1.f33332p-1
575 },
576 { // Entry 137
577 0x1.8fb04b8da65ceb85a2edb7d0ff0ad2d3p-5,
578 0x1.0cccccp0
579 },
580 { // Entry 138
581 0x1.e27076e2af2e5e9ea87ffe1fe9e155dbp-4,
582 0x1.20p0
583 },
584 { // Entry 139
585 0x1.756506739ebaf1cd58855d231e777a59p-3,
586 0x1.333334p0
587 },
588 { // Entry 140
589 0x1.f18dce2898f5ba919d825d9696c6c774p-3,
590 0x1.466668p0
591 },
592 { // Entry 141
593 0x1.334ea564424013b7739afbc9478741b5p-2,
594 0x1.59999cp0
595 },
596 { // Entry 142
597 0x1.6aac0d0fe3871ab60d70d41e954c2bd3p-2,
598 0x1.6cccd0p0
599 },
600 { // Entry 143
601 0x1.9f323ecbf984bf2b68d766f405221819p-2,
602 0x1.80p0
603 },
604 { // Entry 144
605 0.0,
606 0x1.p0
607 },
608 { // Entry 145
609 0x1.8663fd6538c872349ec1a85e05ec5fb5p-4,
610 0x1.19999ap0
611 },
612 { // Entry 146
613 0x1.756506739ebaf1cd58855d231e777a59p-3,
614 0x1.333334p0
615 },
616 { // Entry 147
617 0x1.0ca93b6f56afbacd07973b0a3c67fc47p-2,
618 0x1.4ccccep0
619 },
620 { // Entry 148
621 0x1.588c32237c6aefe96e1db27c46710d39p-2,
622 0x1.666668p0
623 },
624 { // Entry 149
625 0x1.9f3244214ed68647ddc799823e05a9b1p-2,
626 0x1.800002p0
627 },
628 { // Entry 150
629 0x1.e148a7a27268594dfd4dd6c301fece79p-2,
630 0x1.99999cp0
631 },
632 { // Entry 151
633 0x1.0fae84dc95e1a7d9897472d55a7563e8p-1,
634 0x1.b33336p0
635 },
636 { // Entry 152
637 0x1.2cf2633bc7fc9d9d9929319aa918822cp-1,
638 0x1.ccccd0p0
639 },
640 { // Entry 153
641 0x1.48a1165df274ab7963f8550dcbfb6aebp-1,
642 0x1.e6666ap0
643 },
644 { // Entry 154
645 0x1.62e42fefa39ef35793c7673007e5ed5ep-1,
646 0x1.p1
647 },
648 { // Entry 155
649 0x1.1542457337d42e1c6b73c89d862ba171p6,
650 0x1.p100
651 },
652 { // Entry 156
653 0x1.15a3de7291226038f89b79079dad1c89p6,
654 0x1.19999ap100
655 },
656 { // Entry 157
657 0x1.15fcf7f671a38b9552200b4c17badd2fp6,
658 0x1.333334p100
659 },
660 { // Entry 158
661 0x1.164eeeaea72addd7387b5fd89068096ep6,
662 0x1.4ccccep100
663 },
664 { // Entry 159
665 0x1.169ad1a55b50990c54e1e6500272127fp6,
666 0x1.666668p100
667 },
668 { // Entry 160
669 0x1.16e177b7592304a2b35190370869a71bp6,
670 0x1.800002p100
671 },
672 { // Entry 161
673 0x1.17238e1ada469675b9711674492da040p6,
674 0x1.99999cp100
675 },
676 { // Entry 162
677 0x1.1761a27cf0fff16c1e86b18330e08c39p6,
678 0x1.b33336p100
679 },
680 { // Entry 163
681 0x1.179c2a39af642757a6a61b00bb7dd276p6,
682 0x1.ccccd0p100
683 },
684 { // Entry 164
685 0x1.17d3879ff3b917735e3bb947a1c39847p6,
686 0x1.e6666ap100
687 },
688 { // Entry 165
689 0x1.18080dd3171b6c031a9b576be63b6d4cp6,
690 0x1.p101
691 },
692 { // Entry 166
693 -0x1.0000080000555559555588888b333357p-20,
694 0x1.ffffe0p-1
695 },
696 { // Entry 167
697 -0x1.0000040000155555d5555888889ddddep-21,
698 0x1.fffff0p-1
699 },
700 { // Entry 168
701 0.0,
702 0x1.p0
703 },
704 { // Entry 169
705 0x1.fffff800002aaaa9aaaab11110e66667p-22,
706 0x1.000008p0
707 },
708 { // Entry 170
709 0x1.fffff00000aaaaa2aaab11110bbbbc04p-21,
710 0x1.000010p0
711 },
712 { // Entry 171
713 -0x1.000000800000555555955555888888b3p-24,
714 0x1.fffffep-1
715 },
716 { // Entry 172
717 -0x1.000000800000555555955555888888b3p-24,
718 0x1.fffffep-1
719 },
720 { // Entry 173
721 -0x1.000000800000555555955555888888b3p-24,
722 0x1.fffffep-1
723 },
724 { // Entry 174
725 -0x1.000000800000555555955555888888b3p-24,
726 0x1.fffffep-1
727 },
728 { // Entry 175
729 -0x1.000000800000555555955555888888b3p-24,
730 0x1.fffffep-1
731 },
732 { // Entry 176
733 -0x1.000000800000555555955555888888b3p-24,
734 0x1.fffffep-1
735 },
736 { // Entry 177
737 -0x1.000000800000555555955555888888b3p-24,
738 0x1.fffffep-1
739 },
740 { // Entry 178
741 -0x1.000000800000555555955555888888b3p-24,
742 0x1.fffffep-1
743 },
744 { // Entry 179
745 -0x1.000000800000555555955555888888b3p-24,
746 0x1.fffffep-1
747 },
748 { // Entry 180
749 -0x1.000000800000555555955555888888b3p-24,
750 0x1.fffffep-1
751 },
752 { // Entry 181
753 -0x1.000000800000555555955555888888b3p-24,
754 0x1.fffffep-1
755 },
756 { // Entry 182
757 -0x1.000000800000555555955555888888b3p-24,
758 0x1.fffffep-1
759 },
760 { // Entry 183
761 -0x1.000000800000555555955555888888b3p-24,
762 0x1.fffffep-1
763 },
764 { // Entry 184
765 -0x1.000000800000555555955555888888b3p-24,
766 0x1.fffffep-1
767 },
768 { // Entry 185
769 -0x1.000000800000555555955555888888b3p-24,
770 0x1.fffffep-1
771 },
772 { // Entry 186
773 0x1.62e42feba39ef15793c611dab1909808p6,
774 0x1.fffffep127
775 },
776 { // Entry 187
777 -0x1.9d1d9fccf4770743f2061e1de931a650p6,
778 0x1.p-149
779 },
780 { // Entry 188
781 -0x1.62e436bdd09a876194940b96cb28fd7fp-2,
782 0x1.6a09e4p-1
783 },
784 { // Entry 189
785 -0x1.62e43115a8fb47c3a7c2e76a80cca9a5p-2,
786 0x1.6a09e6p-1
787 },
788 { // Entry 190
789 -0x1.62e42b6d81640825bf89d8b8d9d0ff58p-2,
790 0x1.6a09e8p-1
791 },
792 { // Entry 191
793 0x1.62e4292176a35f4d92fac2c944a2dd3dp-2,
794 0x1.6a09e4p0
795 },
796 { // Entry 192
797 0x1.62e42ec99e429eeb7fcbe6f58eff3117p-2,
798 0x1.6a09e6p0
799 },
800 { // Entry 193
801 0x1.62e43471c5d9de896804f5a735fadb65p-2,
802 0x1.6a09e8p0
803 },
804 { // Entry 194
805 -0x1.62e431efa39ff357947211db3290986fp-1,
806 0x1.fffffep-2
807 },
808 { // Entry 195
809 -0x1.62e42fefa39ef35793c7673007e5ed5ep-1,
810 0x1.p-1
811 },
812 { // Entry 196
813 -0x1.62e42befa3a2f3578e7211e2b2908b3cp-1,
814 0x1.000002p-1
815 },
816 { // Entry 197
817 -0x1.26962668a3120b11fac40bc7b22b5a8dp-2,
818 0x1.7ffffep-1
819 },
820 { // Entry 198
821 -0x1.269621134db92783beb7676c0aa9c2a3p-2,
822 0x1.80p-1
823 },
824 { // Entry 199
825 -0x1.26961bbdf867606749c734ddd1c6310bp-2,
826 0x1.800002p-1
827 },
828 { // Entry 200
829 0x1.9f323976a42bdb9d2ccac2985da0802fp-2,
830 0x1.7ffffep0
831 },
832 { // Entry 201
833 0x1.9f323ecbf984bf2b68d766f405221819p-2,
834 0x1.80p0
835 },
836 { // Entry 202
837 0x1.9f3244214ed68647ddc799823e05a9b1p-2,
838 0x1.800002p0
839 },
840 { // Entry 203
841 0x1.54de6ee78989a9acfc875c1d45e16490p-9,
842 0x1.00aaa8p0
843 },
844 { // Entry 204
845 0x1.54e26c3eab6ea24115a4ecbc6c21c3dep-9,
846 0x1.00aaaap0
847 },
848 { // Entry 205
849 0x1.54e66995c55e3ad40cb2b01d77b8b63fp-9,
850 0x1.00aaacp0
851 },
852 { // Entry 206
853 0x1.62e42eefa39e7357937211da729097d5p0,
854 0x1.fffffep1
855 },
856 { // Entry 207
857 0x1.62e42fefa39ef35793c7673007e5ed5ep0,
858 0x1.p2
859 },
860 { // Entry 208
861 0x1.62e431efa39cf357967211d6b2909e6fp0,
862 0x1.000002p2
863 },
864 { // Entry 209
865 0x1.62e42defa39df357931cbc84dd3b424dp-1,
866 0x1.fffffep0
867 },
868 { // Entry 210
869 0x1.62e42fefa39ef35793c7673007e5ed5ep-1,
870 0x1.p1
871 },
872 { // Entry 211
873 0x1.62e433efa39af357991cbc7d5d3b4f80p-1,
874 0x1.000002p1
875 },
876 { // Entry 212
877 -0x1.000000800000555555955555888888b3p-24,
878 0x1.fffffep-1
879 },
880 { // Entry 213
881 0.0,
882 0x1.p0
883 },
884 { // Entry 214
885 0x1.fffffe000002aaaaa6aaaab111110666p-24,
886 0x1.000002p0
887 },
888 { // Entry 215
889 -0x1.62e431efa39ff357947211db3290986fp-1,
890 0x1.fffffep-2
891 },
892 { // Entry 216
893 -0x1.62e42fefa39ef35793c7673007e5ed5ep-1,
894 0x1.p-1
895 },
896 { // Entry 217
897 -0x1.62e42befa3a2f3578e7211e2b2908b3cp-1,
898 0x1.000002p-1
899 },
900 { // Entry 218
901 -0x1.62e430efa39f7357941cbc859d3b42e7p0,
902 0x1.fffffep-3
903 },
904 { // Entry 219
905 -0x1.62e42fefa39ef35793c7673007e5ed5ep0,
906 0x1.p-2
907 },
908 { // Entry 220
909 -0x1.62e42defa3a0f357911cbc895d3b3c4dp0,
910 0x1.000002p-2
911 },
912 { // Entry 221
913 -0x1.0a2b2473bab77681af00380ed0971ccbp1,
914 0x1.fffffep-4
915 },
916 { // Entry 222
917 -0x1.0a2b23f3bab73681aed58d6405ec7206p1,
918 0x1.p-3
919 },
920 { // Entry 223
921 -0x1.0a2b22f3bab83681ad803810b097197ep1,
922 0x1.000002p-3
923 },
924 { // Entry 224
925 -0x1.62e4306fa39f335793f211dad2909822p1,
926 0x1.fffffep-5
927 },
928 { // Entry 225
929 -0x1.62e42fefa39ef35793c7673007e5ed5ep1,
930 0x1.p-4
931 },
932 { // Entry 226
933 -0x1.62e42eefa39ff357927211dcb29094d5p1,
934 0x1.000002p-4
935 },
936 { // Entry 227
937 -0x1.bb9d3c6b8c86f02d78e3eba6d48a137ap1,
938 0x1.fffffep-6
939 },
940 { // Entry 228
941 -0x1.bb9d3beb8c86b02d78b940fc09df68b6p1,
942 0x1.p-5
943 },
944 { // Entry 229
945 -0x1.bb9d3aeb8c87b02d7763eba8b48a102dp1,
946 0x1.000002p-5
947 },
948 { // Entry 230
949 -0x1.0a2b2433bab75681aeeae2b96b41c769p2,
950 0x1.fffffep-7
951 },
952 { // Entry 231
953 -0x1.0a2b23f3bab73681aed58d6405ec7206p2,
954 0x1.p-6
955 },
956 { // Entry 232
957 -0x1.0a2b2373bab7b681ae2ae2ba5b41c5c2p2,
958 0x1.000002p-6
959 },
960 { // Entry 233
961 -0x1.3687aa31af2b34eca163cf9f6c3e8514p2,
962 0x1.fffffep-8
963 },
964 { // Entry 234
965 -0x1.3687a9f1af2b14eca14e7a4a06e92fb2p2,
966 0x1.p-7
967 },
968 { // Entry 235
969 -0x1.3687a971af2b94eca0a3cfa05c3e836ep2,
970 0x1.000002p-7
971 },
972 { // Entry 236
973 -0x1.62e4302fa39f135793dcbc856d3b42c0p2,
974 0x1.fffffep-9
975 },
976 { // Entry 237
977 -0x1.62e42fefa39ef35793c7673007e5ed5ep2,
978 0x1.p-8
979 },
980 { // Entry 238
981 -0x1.62e42f6fa39f7357931cbc865d3b411ap2,
982 0x1.000002p-8
983 },
984 { // Entry 239
985 -0x1.8f40b62d9812f1c28655a96b6e38006cp2,
986 0x1.fffffep-10
987 },
988 { // Entry 240
989 -0x1.8f40b5ed9812d1c28640541608e2ab0ap2,
990 0x1.p-9
991 },
992 { // Entry 241
993 -0x1.8f40b56d981351c28595a96c5e37fec6p2,
994 0x1.000002p-9
995 },
996 { // Entry 242
997 -0x1.bb9d3c2b8c86d02d78ce96516f34be18p2,
998 0x1.fffffep-11
999 },
1000 { // Entry 243
1001 -0x1.bb9d3beb8c86b02d78b940fc09df68b6p2,
1002 0x1.p-10
1003 },
1004 { // Entry 244
1005 -0x1.bb9d3b6b8c87302d780e96525f34bc71p2,
1006 0x1.000002p-10
1007 },
1008 { // Entry 245
1009 -0x1.20596712b4f135b7281cae81b9157b8dp3,
1010 0x1.fffffep-14
1011 },
1012 { // Entry 246
1013 -0x1.205966f2b4f125b7281203d7066ad0dcp3,
1014 0x1.p-13
1015 },
1016 { // Entry 247
1017 -0x1.205966b2b4f165b727bcae8231157abap3,
1018 0x1.000002p-13
1019 },
1020 { // Entry 248
1021 -0x1.20596712b4f135b7281cae81b9157b8dp3,
1022 0x1.fffffep-14
1023 },
1024 { // Entry 249
1025 -0x1.205966f2b4f125b7281203d7066ad0dcp3,
1026 0x1.p-13
1027 },
1028 { // Entry 250
1029 -0x1.205966b2b4f165b727bcae8231157abap3,
1030 0x1.000002p-13
1031 },
1032 { // Entry 251
1033 -0x1.0a2b2473bab77681af00380ed0971ccbp1,
1034 0x1.fffffep-4
1035 },
1036 { // Entry 252
1037 -0x1.0a2b23f3bab73681aed58d6405ec7206p1,
1038 0x1.p-3
1039 },
1040 { // Entry 253
1041 -0x1.0a2b22f3bab83681ad803810b097197ep1,
1042 0x1.000002p-3
1043 },
1044 { // Entry 254
1045 -0x1.1178f14710961bedaf9f799a53afc33dp-3,
1046 0x1.bffffep-1
1047 },
1048 { // Entry 255
1049 -0x1.1178e8227e47bde338b41fc72de81e3bp-3,
1050 0x1.c0p-1
1051 },
1052 { // Entry 256
1053 -0x1.1178defdec03d2c915604897971b7658p-3,
1054 0x1.c00002p-1
1055 },
1056 { // Entry 257
1057 -0x1.62e4306fa39f335793f211dad2909822p1,
1058 0x1.fffffep-5
1059 },
1060 { // Entry 258
1061 -0x1.62e42fefa39ef35793c7673007e5ed5ep1,
1062 0x1.p-4
1063 },
1064 { // Entry 259
1065 -0x1.62e42eefa39ff357927211dcb29094d5p1,
1066 0x1.000002p-4
1067 },
1068 { // Entry 260
1069 -0x1.08599c6af4ba93c693b13122f6824a8bp-4,
1070 0x1.dffffep-1
1071 },
1072 { // Entry 261
1073 -0x1.08598b59e3a0688a3fd9bf503372c12fp-4,
1074 0x1.e0p-1
1075 },
1076 { // Entry 262
1077 -0x1.08597a48d29871a4649d0a66ccbd5edbp-4,
1078 0x1.e00002p-1
1079 },
1080 { // Entry 263
1081 -0x1.bb9d3c6b8c86f02d78e3eba6d48a137ap1,
1082 0x1.fffffep-6
1083 },
1084 { // Entry 264
1085 -0x1.bb9d3beb8c86b02d78b940fc09df68b6p1,
1086 0x1.p-5
1087 },
1088 { // Entry 265
1089 -0x1.bb9d3aeb8c87b02d7763eba8b48a102dp1,
1090 0x1.000002p-5
1091 },
1092 { // Entry 266
1093 -0x1.0415f9a6b665d7a7b9958d7d28f62a74p-5,
1094 0x1.effffep-1
1095 },
1096 { // Entry 267
1097 -0x1.0415d89e7444470173c75d4d8889de0ep-5,
1098 0x1.f0p-1
1099 },
1100 { // Entry 268
1101 -0x1.0415b7963244cf65919a578b2daa29d5p-5,
1102 0x1.f00002p-1
1103 },
1104 { // Entry 269
1105 -0x1.0a2b2433bab75681aeeae2b96b41c769p2,
1106 0x1.fffffep-7
1107 },
1108 { // Entry 270
1109 -0x1.0a2b23f3bab73681aed58d6405ec7206p2,
1110 0x1.p-6
1111 },
1112 { // Entry 271
1113 -0x1.0a2b2373bab7b681ae2ae2ba5b41c5c2p2,
1114 0x1.000002p-6
1115 },
1116 { // Entry 272
1117 -0x1.0205a68d45e67ed01e10e322bd43a170p-6,
1118 0x1.f7fffep-1
1119 },
1120 { // Entry 273
1121 -0x1.020565893584749f23a105b9c7bb9a6fp-6,
1122 0x1.f8p-1
1123 },
1124 { // Entry 274
1125 -0x1.02052485256476af6f4daabd139b5e57p-6,
1126 0x1.f80002p-1
1127 },
1128 { // Entry 275
1129 -0x1.3687aa31af2b34eca163cf9f6c3e8514p2,
1130 0x1.fffffep-8
1131 },
1132 { // Entry 276
1133 -0x1.3687a9f1af2b14eca14e7a4a06e92fb2p2,
1134 0x1.p-7
1135 },
1136 { // Entry 277
1137 -0x1.3687a971af2b94eca0a3cfa05c3e836ep2,
1138 0x1.000002p-7
1139 },
1140 { // Entry 278
1141 -0x1.0101d85a923025b54cbaae499d5e40bfp-7,
1142 0x1.fbfffep-1
1143 },
1144 { // Entry 279
1145 -0x1.010157588de7128ccc5a82f9da00f48bp-7,
1146 0x1.fcp-1
1147 },
1148 { // Entry 280
1149 -0x1.0100d6568a200574745b39f0aae26685p-7,
1150 0x1.fc0002p-1
1151 },
1152 { // Entry 281
1153 -0x1.62e4302fa39f135793dcbc856d3b42c0p2,
1154 0x1.fffffep-9
1155 },
1156 { // Entry 282
1157 -0x1.62e42fefa39ef35793c7673007e5ed5ep2,
1158 0x1.p-8
1159 },
1160 { // Entry 283
1161 -0x1.62e42f6fa39f7357931cbc865d3b411ap2,
1162 0x1.000002p-8
1163 },
1164 { // Entry 284
1165 -0x1.008156968a355a68f2be9b035772c9c3p-8,
1166 0x1.fdfffep-1
1167 },
1168 { // Entry 285
1169 -0x1.0080559588b357e598e33d8d9db37a29p-8,
1170 0x1.fep-1
1171 },
1172 { // Entry 286
1173 -0x1.007f549488335866440de7a1f2084736p-8,
1174 0x1.fe0002p-1
1175 },
1176 { // Entry 287
1177 -0x1.8f40b62d9812f1c28655a96b6e38006cp2,
1178 0x1.fffffep-10
1179 },
1180 { // Entry 288
1181 -0x1.8f40b5ed9812d1c28640541608e2ab0ap2,
1182 0x1.p-9
1183 },
1184 { // Entry 289
1185 -0x1.8f40b56d981351c28595a96c5e37fec6p2,
1186 0x1.000002p-9
1187 },
1188 { // Entry 290
1189 -0x1.0042165dd9caff419b1eccdf720a36d2p-9,
1190 0x1.fefffep-1
1191 },
1192 { // Entry 291
1193 -0x1.0040155d5889de70671eeec0bfcefe53p-9,
1194 0x1.ffp-1
1195 },
1196 { // Entry 292
1197 -0x1.003e145cd94abf2033bf71dc3028520cp-9,
1198 0x1.ff0002p-1
1199 },
1200 { // Entry 293
1201 -0x1.bb9d3c2b8c86d02d78ce96516f34be18p2,
1202 0x1.fffffep-11
1203 },
1204 { // Entry 294
1205 -0x1.bb9d3beb8c86b02d78b940fc09df68b6p2,
1206 0x1.p-10
1207 },
1208 { // Entry 295
1209 -0x1.bb9d3b6b8c87302d780e96525f34bc71p2,
1210 0x1.000002p-10
1211 },
1212 { // Entry 296
1213 -0x1.0024065697999797f377cb852750240bp-10,
1214 0x1.ff7ffep-1
1215 },
1216 { // Entry 297
1217 -0x1.00200556558893357cd7e1f486bd0705p-10,
1218 0x1.ff80p-1
1219 },
1220 { // Entry 298
1221 -0x1.001c045617798f93464c0067a7eaae4fp-10,
1222 0x1.ff8002p-1
1223 },
1224 { // Entry 299
1225 -0x1.20596712b4f135b7281cae81b9157b8dp3,
1226 0x1.fffffep-14
1227 },
1228 { // Entry 300
1229 -0x1.205966f2b4f125b7281203d7066ad0dcp3,
1230 0x1.p-13
1231 },
1232 { // Entry 301
1233 -0x1.205966b2b4f165b727bcae8231157abap3,
1234 0x1.000002p-13
1235 },
1236 { // Entry 302
1237 -0x1.002401156dd698a14a193857b6b2e2bdp-13,
1238 0x1.ffeffep-1
1239 },
1240 { // Entry 303
1241 -0x1.0004001555d558889dde702b028c9996p-13,
1242 0x1.fff0p-1
1243 },
1244 { // Entry 304
1245 -0x1.ffc7fe2abbac310fe54784015d23a61dp-14,
1246 0x1.fff002p-1
1247 },
1248 { // Entry 305
1249 HUGE_VALF,
1250 HUGE_VALF
1251 },
1252 { // Entry 306
1253 0x1.62e42feba39ef15793c611dab1909808p6,
1254 0x1.fffffep127
1255 },
1256 { // Entry 307
1257 0x1.62e42fe7a39eeb5793bcbc854d3b429ap6,
1258 0x1.fffffcp127
1259 },
1260 { // Entry 308
1261 0x1.250d0505fece83f5f3328cc322f65153p0,
1262 0x1.921fb6p1
1263 },
1264 { // Entry 309
1265 0x1.ce6bb438b3fc2928a53b64ac7c0d6a91p-2,
1266 0x1.921fb6p0
1267 },
1268 { // Entry 310
1269 0x1.fffffe000002aaaaa6aaaab111110666p-24,
1270 0x1.000002p0
1271 },
1272 { // Entry 311
1273 0.0,
1274 0x1.p0
1275 },
1276 { // Entry 312
1277 -0x1.000000800000555555955555888888b3p-24,
1278 0x1.fffffep-1
1279 },
1280 { // Entry 313
1281 -0x1.eeb9574d26837b0d04a6d367277ce056p-3,
1282 0x1.921fb6p-1
1283 },
1284 { // Entry 314
1285 -0x1.5d589f27e5107f8a356d9ee8ad1baae4p6,
1286 0x1.000002p-126
1287 },
1288 { // Entry 315
1289 -0x1.5d589f2fe510778a3578499347c655a9p6,
1290 0x1.p-126
1291 },
1292 { // Entry 316
1293 -0x1.5d589f37e5107f8a3582f43e0271006dp6,
1294 0x1.fffffcp-127
1295 },
1296 { // Entry 317
1297 -0x1.5d589f3fe510978a35cd9ee99d1bae31p6,
1298 0x1.fffff8p-127
1299 },
1300 { // Entry 318
1301 -0x1.9a57d76d152fc95d42de8f4f8921da75p6,
1302 0x1.p-148
1303 },
1304 { // Entry 319
1305 -0x1.9d1d9fccf4770743f2061e1de931a650p6,
1306 0x1.p-149
1307 },
1308 { // Entry 320
1309 -HUGE_VALF,
1310 0.0f
1311 },
1312 { // Entry 321
1313 -HUGE_VALF,
1314 -0.0f
1315 },
1316 };
1317 #endif // __BIONIC__
1318
TEST(math_logf,logf_intel)1319 TEST(math_logf, logf_intel) {
1320 #if defined(__BIONIC__)
1321 for (size_t i = 0; i < sizeof(g_logf_intel_data)/sizeof(logf_intel_data_t); i++) {
1322 EXPECT_FLOAT_EQ(g_logf_intel_data[i].expected, logf(g_logf_intel_data[i].call_data)) << "Failed on element " << i;
1323 }
1324 #else // __BIONIC__
1325 GTEST_LOG_(INFO) << "This test does nothing.";
1326 #endif // __BIONIC__
1327 }
1328