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 static data_int_1_t<double> g_ilogb_intel_data[] = {
18   { // Entry 0
19     (int)0x1.90p6,
20     0x1.0p100
21   },
22   { // Entry 1
23     (int)0x1.90p6,
24     0x1.199999999999ap100
25   },
26   { // Entry 2
27     (int)0x1.90p6,
28     0x1.3333333333334p100
29   },
30   { // Entry 3
31     (int)0x1.90p6,
32     0x1.4cccccccccccep100
33   },
34   { // Entry 4
35     (int)0x1.90p6,
36     0x1.6666666666668p100
37   },
38   { // Entry 5
39     (int)0x1.90p6,
40     0x1.8000000000002p100
41   },
42   { // Entry 6
43     (int)0x1.90p6,
44     0x1.999999999999cp100
45   },
46   { // Entry 7
47     (int)0x1.90p6,
48     0x1.b333333333336p100
49   },
50   { // Entry 8
51     (int)0x1.90p6,
52     0x1.cccccccccccd0p100
53   },
54   { // Entry 9
55     (int)0x1.90p6,
56     0x1.e66666666666ap100
57   },
58   { // Entry 10
59     (int)0x1.94p6,
60     0x1.0p101
61   },
62   { // Entry 11
63     (int)0x1.90p7,
64     0x1.0p200
65   },
66   { // Entry 12
67     (int)0x1.90p7,
68     0x1.199999999999ap200
69   },
70   { // Entry 13
71     (int)0x1.90p7,
72     0x1.3333333333334p200
73   },
74   { // Entry 14
75     (int)0x1.90p7,
76     0x1.4cccccccccccep200
77   },
78   { // Entry 15
79     (int)0x1.90p7,
80     0x1.6666666666668p200
81   },
82   { // Entry 16
83     (int)0x1.90p7,
84     0x1.8000000000002p200
85   },
86   { // Entry 17
87     (int)0x1.90p7,
88     0x1.999999999999cp200
89   },
90   { // Entry 18
91     (int)0x1.90p7,
92     0x1.b333333333336p200
93   },
94   { // Entry 19
95     (int)0x1.90p7,
96     0x1.cccccccccccd0p200
97   },
98   { // Entry 20
99     (int)0x1.90p7,
100     0x1.e66666666666ap200
101   },
102   { // Entry 21
103     (int)0x1.92p7,
104     0x1.0p201
105   },
106   { // Entry 22
107     (int)0x1.f4p9,
108     0x1.0p1000
109   },
110   { // Entry 23
111     (int)0x1.f4p9,
112     0x1.199999999999ap1000
113   },
114   { // Entry 24
115     (int)0x1.f4p9,
116     0x1.3333333333334p1000
117   },
118   { // Entry 25
119     (int)0x1.f4p9,
120     0x1.4cccccccccccep1000
121   },
122   { // Entry 26
123     (int)0x1.f4p9,
124     0x1.6666666666668p1000
125   },
126   { // Entry 27
127     (int)0x1.f4p9,
128     0x1.8000000000002p1000
129   },
130   { // Entry 28
131     (int)0x1.f4p9,
132     0x1.999999999999cp1000
133   },
134   { // Entry 29
135     (int)0x1.f4p9,
136     0x1.b333333333336p1000
137   },
138   { // Entry 30
139     (int)0x1.f4p9,
140     0x1.cccccccccccd0p1000
141   },
142   { // Entry 31
143     (int)0x1.f4p9,
144     0x1.e66666666666ap1000
145   },
146   { // Entry 32
147     (int)0x1.f480p9,
148     0x1.0p1001
149   },
150   { // Entry 33
151     (int)0x1.94p6,
152     -0x1.0p101
153   },
154   { // Entry 34
155     (int)0x1.90p6,
156     -0x1.e666666666666p100
157   },
158   { // Entry 35
159     (int)0x1.90p6,
160     -0x1.cccccccccccccp100
161   },
162   { // Entry 36
163     (int)0x1.90p6,
164     -0x1.b333333333332p100
165   },
166   { // Entry 37
167     (int)0x1.90p6,
168     -0x1.9999999999998p100
169   },
170   { // Entry 38
171     (int)0x1.90p6,
172     -0x1.7fffffffffffep100
173   },
174   { // Entry 39
175     (int)0x1.90p6,
176     -0x1.6666666666664p100
177   },
178   { // Entry 40
179     (int)0x1.90p6,
180     -0x1.4cccccccccccap100
181   },
182   { // Entry 41
183     (int)0x1.90p6,
184     -0x1.3333333333330p100
185   },
186   { // Entry 42
187     (int)0x1.90p6,
188     -0x1.1999999999996p100
189   },
190   { // Entry 43
191     (int)0x1.90p6,
192     -0x1.0p100
193   },
194   { // Entry 44
195     (int)0x1.92p7,
196     -0x1.0p201
197   },
198   { // Entry 45
199     (int)0x1.90p7,
200     -0x1.e666666666666p200
201   },
202   { // Entry 46
203     (int)0x1.90p7,
204     -0x1.cccccccccccccp200
205   },
206   { // Entry 47
207     (int)0x1.90p7,
208     -0x1.b333333333332p200
209   },
210   { // Entry 48
211     (int)0x1.90p7,
212     -0x1.9999999999998p200
213   },
214   { // Entry 49
215     (int)0x1.90p7,
216     -0x1.7fffffffffffep200
217   },
218   { // Entry 50
219     (int)0x1.90p7,
220     -0x1.6666666666664p200
221   },
222   { // Entry 51
223     (int)0x1.90p7,
224     -0x1.4cccccccccccap200
225   },
226   { // Entry 52
227     (int)0x1.90p7,
228     -0x1.3333333333330p200
229   },
230   { // Entry 53
231     (int)0x1.90p7,
232     -0x1.1999999999996p200
233   },
234   { // Entry 54
235     (int)0x1.90p7,
236     -0x1.0p200
237   },
238   { // Entry 55
239     (int)0x1.f480p9,
240     -0x1.0p1001
241   },
242   { // Entry 56
243     (int)0x1.f4p9,
244     -0x1.e666666666666p1000
245   },
246   { // Entry 57
247     (int)0x1.f4p9,
248     -0x1.cccccccccccccp1000
249   },
250   { // Entry 58
251     (int)0x1.f4p9,
252     -0x1.b333333333332p1000
253   },
254   { // Entry 59
255     (int)0x1.f4p9,
256     -0x1.9999999999998p1000
257   },
258   { // Entry 60
259     (int)0x1.f4p9,
260     -0x1.7fffffffffffep1000
261   },
262   { // Entry 61
263     (int)0x1.f4p9,
264     -0x1.6666666666664p1000
265   },
266   { // Entry 62
267     (int)0x1.f4p9,
268     -0x1.4cccccccccccap1000
269   },
270   { // Entry 63
271     (int)0x1.f4p9,
272     -0x1.3333333333330p1000
273   },
274   { // Entry 64
275     (int)0x1.f4p9,
276     -0x1.1999999999996p1000
277   },
278   { // Entry 65
279     (int)0x1.f4p9,
280     -0x1.0p1000
281   },
282   { // Entry 66
283     (int)0x1.90p5,
284     0x1.0p50
285   },
286   { // Entry 67
287     (int)0x1.90p5,
288     0x1.199999999999ap50
289   },
290   { // Entry 68
291     (int)0x1.90p5,
292     0x1.3333333333334p50
293   },
294   { // Entry 69
295     (int)0x1.90p5,
296     0x1.4cccccccccccep50
297   },
298   { // Entry 70
299     (int)0x1.90p5,
300     0x1.6666666666668p50
301   },
302   { // Entry 71
303     (int)0x1.90p5,
304     0x1.8000000000002p50
305   },
306   { // Entry 72
307     (int)0x1.90p5,
308     0x1.999999999999cp50
309   },
310   { // Entry 73
311     (int)0x1.90p5,
312     0x1.b333333333336p50
313   },
314   { // Entry 74
315     (int)0x1.90p5,
316     0x1.cccccccccccd0p50
317   },
318   { // Entry 75
319     (int)0x1.90p5,
320     0x1.e66666666666ap50
321   },
322   { // Entry 76
323     (int)0x1.98p5,
324     0x1.0p51
325   },
326   { // Entry 77
327     (int)0x1.98p5,
328     0x1.0p51
329   },
330   { // Entry 78
331     (int)0x1.98p5,
332     0x1.199999999999ap51
333   },
334   { // Entry 79
335     (int)0x1.98p5,
336     0x1.3333333333334p51
337   },
338   { // Entry 80
339     (int)0x1.98p5,
340     0x1.4cccccccccccep51
341   },
342   { // Entry 81
343     (int)0x1.98p5,
344     0x1.6666666666668p51
345   },
346   { // Entry 82
347     (int)0x1.98p5,
348     0x1.8000000000002p51
349   },
350   { // Entry 83
351     (int)0x1.98p5,
352     0x1.999999999999cp51
353   },
354   { // Entry 84
355     (int)0x1.98p5,
356     0x1.b333333333336p51
357   },
358   { // Entry 85
359     (int)0x1.98p5,
360     0x1.cccccccccccd0p51
361   },
362   { // Entry 86
363     (int)0x1.98p5,
364     0x1.e66666666666ap51
365   },
366   { // Entry 87
367     (int)0x1.a0p5,
368     0x1.0p52
369   },
370   { // Entry 88
371     (int)0x1.a0p5,
372     0x1.0p52
373   },
374   { // Entry 89
375     (int)0x1.a0p5,
376     0x1.199999999999ap52
377   },
378   { // Entry 90
379     (int)0x1.a0p5,
380     0x1.3333333333334p52
381   },
382   { // Entry 91
383     (int)0x1.a0p5,
384     0x1.4cccccccccccep52
385   },
386   { // Entry 92
387     (int)0x1.a0p5,
388     0x1.6666666666668p52
389   },
390   { // Entry 93
391     (int)0x1.a0p5,
392     0x1.8000000000002p52
393   },
394   { // Entry 94
395     (int)0x1.a0p5,
396     0x1.999999999999cp52
397   },
398   { // Entry 95
399     (int)0x1.a0p5,
400     0x1.b333333333336p52
401   },
402   { // Entry 96
403     (int)0x1.a0p5,
404     0x1.cccccccccccd0p52
405   },
406   { // Entry 97
407     (int)0x1.a0p5,
408     0x1.e66666666666ap52
409   },
410   { // Entry 98
411     (int)0x1.a8p5,
412     0x1.0p53
413   },
414   { // Entry 99
415     (int)0x1.a8p5,
416     0x1.0p53
417   },
418   { // Entry 100
419     (int)0x1.a8p5,
420     0x1.199999999999ap53
421   },
422   { // Entry 101
423     (int)0x1.a8p5,
424     0x1.3333333333334p53
425   },
426   { // Entry 102
427     (int)0x1.a8p5,
428     0x1.4cccccccccccep53
429   },
430   { // Entry 103
431     (int)0x1.a8p5,
432     0x1.6666666666668p53
433   },
434   { // Entry 104
435     (int)0x1.a8p5,
436     0x1.8000000000002p53
437   },
438   { // Entry 105
439     (int)0x1.a8p5,
440     0x1.999999999999cp53
441   },
442   { // Entry 106
443     (int)0x1.a8p5,
444     0x1.b333333333336p53
445   },
446   { // Entry 107
447     (int)0x1.a8p5,
448     0x1.cccccccccccd0p53
449   },
450   { // Entry 108
451     (int)0x1.a8p5,
452     0x1.e66666666666ap53
453   },
454   { // Entry 109
455     (int)0x1.b0p5,
456     0x1.0p54
457   },
458   { // Entry 110
459     (int)-0x1.0080p10,
460     0x1.0p-1026
461   },
462   { // Entry 111
463     (int)-0x1.p10,
464     0x1.d333333333334p-1024
465   },
466   { // Entry 112
467     (int)-0x1.ff80p9,
468     0x1.b333333333334p-1023
469   },
470   { // Entry 113
471     (int)-0x1.ffp9,
472     0x1.3e66666666667p-1022
473   },
474   { // Entry 114
475     (int)-0x1.ffp9,
476     0x1.a333333333334p-1022
477   },
478   { // Entry 115
479     (int)-0x1.fe80p9,
480     0x1.040p-1021
481   },
482   { // Entry 116
483     (int)-0x1.fe80p9,
484     0x1.3666666666666p-1021
485   },
486   { // Entry 117
487     (int)-0x1.fe80p9,
488     0x1.68cccccccccccp-1021
489   },
490   { // Entry 118
491     (int)-0x1.fe80p9,
492     0x1.9b33333333332p-1021
493   },
494   { // Entry 119
495     (int)-0x1.fe80p9,
496     0x1.cd99999999998p-1021
497   },
498   { // Entry 120
499     (int)-0x1.fe80p9,
500     0x1.ffffffffffffep-1021
501   },
502   { // Entry 121
503     (int)0x1.90p5,
504     0x1.fffffffffffffp50
505   },
506   { // Entry 122
507     (int)0x1.98p5,
508     0x1.0p51
509   },
510   { // Entry 123
511     (int)0x1.98p5,
512     0x1.0000000000001p51
513   },
514   { // Entry 124
515     (int)0x1.98p5,
516     0x1.fffffffffffffp51
517   },
518   { // Entry 125
519     (int)0x1.a0p5,
520     0x1.0p52
521   },
522   { // Entry 126
523     (int)0x1.a0p5,
524     0x1.0000000000001p52
525   },
526   { // Entry 127
527     (int)0x1.a0p5,
528     0x1.fffffffffffffp52
529   },
530   { // Entry 128
531     (int)0x1.a8p5,
532     0x1.0p53
533   },
534   { // Entry 129
535     (int)0x1.a8p5,
536     0x1.0000000000001p53
537   },
538   { // Entry 130
539     (int)0x1.98p5,
540     -0x1.0000000000001p51
541   },
542   { // Entry 131
543     (int)0x1.98p5,
544     -0x1.0p51
545   },
546   { // Entry 132
547     (int)0x1.90p5,
548     -0x1.fffffffffffffp50
549   },
550   { // Entry 133
551     (int)0x1.a0p5,
552     -0x1.0000000000001p52
553   },
554   { // Entry 134
555     (int)0x1.a0p5,
556     -0x1.0p52
557   },
558   { // Entry 135
559     (int)0x1.98p5,
560     -0x1.fffffffffffffp51
561   },
562   { // Entry 136
563     (int)0x1.a8p5,
564     -0x1.0000000000001p53
565   },
566   { // Entry 137
567     (int)0x1.a8p5,
568     -0x1.0p53
569   },
570   { // Entry 138
571     (int)0x1.a0p5,
572     -0x1.fffffffffffffp52
573   },
574   { // Entry 139
575     (int)0x1.ff80p9,
576     0x1.fffffffffffffp1023
577   },
578   { // Entry 140
579     (int)0x1.ff80p9,
580     -0x1.fffffffffffffp1023
581   },
582   { // Entry 141
583     (int)-0x1.c0p2,
584     0x1.fffffffffffffp-7
585   },
586   { // Entry 142
587     (int)-0x1.80p2,
588     0x1.0p-6
589   },
590   { // Entry 143
591     (int)-0x1.80p2,
592     0x1.0000000000001p-6
593   },
594   { // Entry 144
595     (int)-0x1.80p2,
596     0x1.fffffffffffffp-6
597   },
598   { // Entry 145
599     (int)-0x1.40p2,
600     0x1.0p-5
601   },
602   { // Entry 146
603     (int)-0x1.40p2,
604     0x1.0000000000001p-5
605   },
606   { // Entry 147
607     (int)-0x1.40p2,
608     0x1.fffffffffffffp-5
609   },
610   { // Entry 148
611     (int)-0x1.p2,
612     0x1.0p-4
613   },
614   { // Entry 149
615     (int)-0x1.p2,
616     0x1.0000000000001p-4
617   },
618   { // Entry 150
619     (int)-0x1.p2,
620     0x1.fffffffffffffp-4
621   },
622   { // Entry 151
623     (int)-0x1.80p1,
624     0x1.0p-3
625   },
626   { // Entry 152
627     (int)-0x1.80p1,
628     0x1.0000000000001p-3
629   },
630   { // Entry 153
631     (int)-0x1.80p1,
632     0x1.fffffffffffffp-3
633   },
634   { // Entry 154
635     (int)-0x1.p1,
636     0x1.0p-2
637   },
638   { // Entry 155
639     (int)-0x1.p1,
640     0x1.0000000000001p-2
641   },
642   { // Entry 156
643     (int)-0x1.p1,
644     0x1.fffffffffffffp-2
645   },
646   { // Entry 157
647     (int)-0x1.p0,
648     0x1.0p-1
649   },
650   { // Entry 158
651     (int)-0x1.p0,
652     0x1.0000000000001p-1
653   },
654   { // Entry 159
655     (int)-0x1.0c80p10,
656     -0x1.0p-1074
657   },
658   { // Entry 160
659     (int)-0x1.fffffffcp30,
660     -0.0
661   },
662   { // Entry 161
663     (int)-0x1.0c80p10,
664     0x1.0p-1074
665   },
666   { // Entry 162
667     (int)-0x1.p0,
668     0x1.fffffffffffffp-1
669   },
670   { // Entry 163
671     (int)0.0,
672     0x1.0p0
673   },
674   { // Entry 164
675     (int)0.0,
676     0x1.0000000000001p0
677   },
678   { // Entry 165
679     (int)0.0,
680     0x1.fffffffffffffp0
681   },
682   { // Entry 166
683     (int)0x1.p0,
684     0x1.0p1
685   },
686   { // Entry 167
687     (int)0x1.p0,
688     0x1.0000000000001p1
689   },
690   { // Entry 168
691     (int)0x1.p0,
692     0x1.fffffffffffffp1
693   },
694   { // Entry 169
695     (int)0x1.p1,
696     0x1.0p2
697   },
698   { // Entry 170
699     (int)0x1.p1,
700     0x1.0000000000001p2
701   },
702   { // Entry 171
703     (int)0x1.p1,
704     0x1.fffffffffffffp2
705   },
706   { // Entry 172
707     (int)0x1.80p1,
708     0x1.0p3
709   },
710   { // Entry 173
711     (int)0x1.80p1,
712     0x1.0000000000001p3
713   },
714   { // Entry 174
715     (int)0x1.80p1,
716     0x1.fffffffffffffp3
717   },
718   { // Entry 175
719     (int)0x1.p2,
720     0x1.0p4
721   },
722   { // Entry 176
723     (int)0x1.p2,
724     0x1.0000000000001p4
725   },
726   { // Entry 177
727     (int)0x1.p2,
728     0x1.fffffffffffffp4
729   },
730   { // Entry 178
731     (int)0x1.40p2,
732     0x1.0p5
733   },
734   { // Entry 179
735     (int)0x1.40p2,
736     0x1.0000000000001p5
737   },
738   { // Entry 180
739     (int)0x1.40p2,
740     0x1.fffffffffffffp5
741   },
742   { // Entry 181
743     (int)0x1.80p2,
744     0x1.0p6
745   },
746   { // Entry 182
747     (int)0x1.80p2,
748     0x1.0000000000001p6
749   },
750   { // Entry 183
751     (int)0x1.80p2,
752     0x1.fffffffffffffp6
753   },
754   { // Entry 184
755     (int)0x1.c0p2,
756     0x1.0p7
757   },
758   { // Entry 185
759     (int)0x1.c0p2,
760     0x1.0000000000001p7
761   },
762   { // Entry 186
763     (int)0x1.fffffffcp30,
764     HUGE_VAL
765   },
766   { // Entry 187
767     (int)0x1.fffffffcp30,
768     -HUGE_VAL
769   },
770   { // Entry 188
771     (int)-0x1.fffffffcp30,
772     0.0
773   },
774   { // Entry 189
775     (int)-0x1.fffffffcp30,
776     -0.0
777   },
778   { // Entry 190
779     (int)0x1.ff80p9,
780     0x1.fffffffffffffp1023
781   },
782   { // Entry 191
783     (int)0x1.ff80p9,
784     -0x1.fffffffffffffp1023
785   },
786   { // Entry 192
787     (int)0x1.ff80p9,
788     0x1.ffffffffffffep1023
789   },
790   { // Entry 193
791     (int)0x1.ff80p9,
792     -0x1.ffffffffffffep1023
793   },
794   { // Entry 194
795     (int)0x1.p0,
796     0x1.921fb54442d18p1
797   },
798   { // Entry 195
799     (int)0x1.p0,
800     -0x1.921fb54442d18p1
801   },
802   { // Entry 196
803     (int)0.0,
804     0x1.921fb54442d18p0
805   },
806   { // Entry 197
807     (int)0.0,
808     -0x1.921fb54442d18p0
809   },
810   { // Entry 198
811     (int)0.0,
812     0x1.0000000000001p0
813   },
814   { // Entry 199
815     (int)0.0,
816     -0x1.0000000000001p0
817   },
818   { // Entry 200
819     (int)0.0,
820     0x1.0p0
821   },
822   { // Entry 201
823     (int)0.0,
824     -0x1.0p0
825   },
826   { // Entry 202
827     (int)-0x1.p0,
828     0x1.fffffffffffffp-1
829   },
830   { // Entry 203
831     (int)-0x1.p0,
832     -0x1.fffffffffffffp-1
833   },
834   { // Entry 204
835     (int)-0x1.p0,
836     0x1.921fb54442d18p-1
837   },
838   { // Entry 205
839     (int)-0x1.p0,
840     -0x1.921fb54442d18p-1
841   },
842   { // Entry 206
843     (int)-0x1.ffp9,
844     0x1.0000000000001p-1022
845   },
846   { // Entry 207
847     (int)-0x1.ffp9,
848     -0x1.0000000000001p-1022
849   },
850   { // Entry 208
851     (int)-0x1.ffp9,
852     0x1.0p-1022
853   },
854   { // Entry 209
855     (int)-0x1.ffp9,
856     -0x1.0p-1022
857   },
858   { // Entry 210
859     (int)-0x1.ff80p9,
860     0x1.ffffffffffffep-1023
861   },
862   { // Entry 211
863     (int)-0x1.ff80p9,
864     -0x1.ffffffffffffep-1023
865   },
866   { // Entry 212
867     (int)-0x1.ff80p9,
868     0x1.ffffffffffffcp-1023
869   },
870   { // Entry 213
871     (int)-0x1.ff80p9,
872     -0x1.ffffffffffffcp-1023
873   },
874   { // Entry 214
875     (int)-0x1.0c40p10,
876     0x1.0p-1073
877   },
878   { // Entry 215
879     (int)-0x1.0c40p10,
880     -0x1.0p-1073
881   },
882   { // Entry 216
883     (int)-0x1.0c80p10,
884     0x1.0p-1074
885   },
886   { // Entry 217
887     (int)-0x1.0c80p10,
888     -0x1.0p-1074
889   }
890 };
891