Add x86 optimization of rint functions and tests
Change-Id: I5e7696ff9bcb1efc2625100ef8565b68dca2326c
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
diff --git a/tests/math_data/llrint_intel_data.h b/tests/math_data/llrint_intel_data.h
new file mode 100644
index 0000000..a6861c2
--- /dev/null
+++ b/tests/math_data/llrint_intel_data.h
@@ -0,0 +1,1242 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+static data_llong_1_t<double> g_llrint_intel_data[] = {
+ { // Entry 0
+ (long long int)0.0,
+ -0x1.0p-1074
+ },
+ { // Entry 1
+ (long long int)0.0,
+ -0.0
+ },
+ { // Entry 2
+ (long long int)0.0,
+ 0x1.0p-1074
+ },
+ { // Entry 3
+ (long long int)0.0,
+ 0x1.fffffffffffffp-2
+ },
+ { // Entry 4
+ (long long int)0.0,
+ 0x1.0p-1
+ },
+ { // Entry 5
+ (long long int)0x1.p0,
+ 0x1.0000000000001p-1
+ },
+ { // Entry 6
+ (long long int)0x1.p0,
+ 0x1.fffffffffffffp-1
+ },
+ { // Entry 7
+ (long long int)0x1.p0,
+ 0x1.0p0
+ },
+ { // Entry 8
+ (long long int)0x1.p0,
+ 0x1.0000000000001p0
+ },
+ { // Entry 9
+ (long long int)0x1.p0,
+ 0x1.7ffffffffffffp0
+ },
+ { // Entry 10
+ (long long int)0x1.p1,
+ 0x1.8p0
+ },
+ { // Entry 11
+ (long long int)0x1.p1,
+ 0x1.8000000000001p0
+ },
+ { // Entry 12
+ (long long int)0x1.p1,
+ 0x1.fffffffffffffp0
+ },
+ { // Entry 13
+ (long long int)0x1.p1,
+ 0x1.0p1
+ },
+ { // Entry 14
+ (long long int)0x1.p1,
+ 0x1.0000000000001p1
+ },
+ { // Entry 15
+ (long long int)0x1.p1,
+ 0x1.3ffffffffffffp1
+ },
+ { // Entry 16
+ (long long int)0x1.p1,
+ 0x1.4p1
+ },
+ { // Entry 17
+ (long long int)0x1.80p1,
+ 0x1.4000000000001p1
+ },
+ { // Entry 18
+ (long long int)0x1.90p6,
+ 0x1.8ffffffffffffp6
+ },
+ { // Entry 19
+ (long long int)0x1.90p6,
+ 0x1.9p6
+ },
+ { // Entry 20
+ (long long int)0x1.90p6,
+ 0x1.9000000000001p6
+ },
+ { // Entry 21
+ (long long int)0x1.90p6,
+ 0x1.91fffffffffffp6
+ },
+ { // Entry 22
+ (long long int)0x1.90p6,
+ 0x1.920p6
+ },
+ { // Entry 23
+ (long long int)0x1.94p6,
+ 0x1.9200000000001p6
+ },
+ { // Entry 24
+ (long long int)0x1.f4p9,
+ 0x1.f3fffffffffffp9
+ },
+ { // Entry 25
+ (long long int)0x1.f4p9,
+ 0x1.f40p9
+ },
+ { // Entry 26
+ (long long int)0x1.f4p9,
+ 0x1.f400000000001p9
+ },
+ { // Entry 27
+ (long long int)0x1.f4p9,
+ 0x1.f43ffffffffffp9
+ },
+ { // Entry 28
+ (long long int)0x1.f4p9,
+ 0x1.f44p9
+ },
+ { // Entry 29
+ (long long int)0x1.f480p9,
+ 0x1.f440000000001p9
+ },
+ { // Entry 30
+ (long long int)0x1.p50,
+ 0x1.fffffffffffffp49
+ },
+ { // Entry 31
+ (long long int)0x1.p50,
+ 0x1.0p50
+ },
+ { // Entry 32
+ (long long int)0x1.p50,
+ 0x1.0000000000001p50
+ },
+ { // Entry 33
+ (long long int)0x1.p51,
+ 0x1.fffffffffffffp50
+ },
+ { // Entry 34
+ (long long int)0x1.p51,
+ 0x1.0p51
+ },
+ { // Entry 35
+ (long long int)0x1.p51,
+ 0x1.0000000000001p51
+ },
+ { // Entry 36
+ (long long int)0x1.p52,
+ 0x1.fffffffffffffp51
+ },
+ { // Entry 37
+ (long long int)0x1.p52,
+ 0x1.0p52
+ },
+ { // Entry 38
+ (long long int)0x1.00000000000010p52,
+ 0x1.0000000000001p52
+ },
+ { // Entry 39
+ (long long int)0x1.fffffffffffff0p52,
+ 0x1.fffffffffffffp52
+ },
+ { // Entry 40
+ (long long int)0x1.p53,
+ 0x1.0p53
+ },
+ { // Entry 41
+ (long long int)0x1.00000000000010p53,
+ 0x1.0000000000001p53
+ },
+ { // Entry 42
+ (long long int)0x1.fffffffffffff0p53,
+ 0x1.fffffffffffffp53
+ },
+ { // Entry 43
+ (long long int)0x1.p54,
+ 0x1.0p54
+ },
+ { // Entry 44
+ (long long int)0x1.00000000000010p54,
+ 0x1.0000000000001p54
+ },
+ { // Entry 45
+ (long long int)-0x1.p0,
+ -0x1.0000000000001p-1
+ },
+ { // Entry 46
+ (long long int)0.0,
+ -0x1.0p-1
+ },
+ { // Entry 47
+ (long long int)0.0,
+ -0x1.fffffffffffffp-2
+ },
+ { // Entry 48
+ (long long int)-0x1.p0,
+ -0x1.0000000000001p0
+ },
+ { // Entry 49
+ (long long int)-0x1.p0,
+ -0x1.0p0
+ },
+ { // Entry 50
+ (long long int)-0x1.p0,
+ -0x1.fffffffffffffp-1
+ },
+ { // Entry 51
+ (long long int)-0x1.p1,
+ -0x1.8000000000001p0
+ },
+ { // Entry 52
+ (long long int)-0x1.p1,
+ -0x1.8p0
+ },
+ { // Entry 53
+ (long long int)-0x1.p0,
+ -0x1.7ffffffffffffp0
+ },
+ { // Entry 54
+ (long long int)-0x1.p1,
+ -0x1.0000000000001p1
+ },
+ { // Entry 55
+ (long long int)-0x1.p1,
+ -0x1.0p1
+ },
+ { // Entry 56
+ (long long int)-0x1.p1,
+ -0x1.fffffffffffffp0
+ },
+ { // Entry 57
+ (long long int)-0x1.80p1,
+ -0x1.4000000000001p1
+ },
+ { // Entry 58
+ (long long int)-0x1.p1,
+ -0x1.4p1
+ },
+ { // Entry 59
+ (long long int)-0x1.p1,
+ -0x1.3ffffffffffffp1
+ },
+ { // Entry 60
+ (long long int)-0x1.90p6,
+ -0x1.9000000000001p6
+ },
+ { // Entry 61
+ (long long int)-0x1.90p6,
+ -0x1.9p6
+ },
+ { // Entry 62
+ (long long int)-0x1.90p6,
+ -0x1.8ffffffffffffp6
+ },
+ { // Entry 63
+ (long long int)-0x1.94p6,
+ -0x1.9200000000001p6
+ },
+ { // Entry 64
+ (long long int)-0x1.90p6,
+ -0x1.920p6
+ },
+ { // Entry 65
+ (long long int)-0x1.90p6,
+ -0x1.91fffffffffffp6
+ },
+ { // Entry 66
+ (long long int)-0x1.f4p9,
+ -0x1.f400000000001p9
+ },
+ { // Entry 67
+ (long long int)-0x1.f4p9,
+ -0x1.f40p9
+ },
+ { // Entry 68
+ (long long int)-0x1.f4p9,
+ -0x1.f3fffffffffffp9
+ },
+ { // Entry 69
+ (long long int)-0x1.f480p9,
+ -0x1.f440000000001p9
+ },
+ { // Entry 70
+ (long long int)-0x1.f4p9,
+ -0x1.f44p9
+ },
+ { // Entry 71
+ (long long int)-0x1.f4p9,
+ -0x1.f43ffffffffffp9
+ },
+ { // Entry 72
+ (long long int)-0x1.p50,
+ -0x1.0000000000001p50
+ },
+ { // Entry 73
+ (long long int)-0x1.p50,
+ -0x1.0p50
+ },
+ { // Entry 74
+ (long long int)-0x1.p50,
+ -0x1.fffffffffffffp49
+ },
+ { // Entry 75
+ (long long int)-0x1.p51,
+ -0x1.0000000000001p51
+ },
+ { // Entry 76
+ (long long int)-0x1.p51,
+ -0x1.0p51
+ },
+ { // Entry 77
+ (long long int)-0x1.p51,
+ -0x1.fffffffffffffp50
+ },
+ { // Entry 78
+ (long long int)-0x1.00000000000010p52,
+ -0x1.0000000000001p52
+ },
+ { // Entry 79
+ (long long int)-0x1.p52,
+ -0x1.0p52
+ },
+ { // Entry 80
+ (long long int)-0x1.p52,
+ -0x1.fffffffffffffp51
+ },
+ { // Entry 81
+ (long long int)-0x1.00000000000010p53,
+ -0x1.0000000000001p53
+ },
+ { // Entry 82
+ (long long int)-0x1.p53,
+ -0x1.0p53
+ },
+ { // Entry 83
+ (long long int)-0x1.fffffffffffff0p52,
+ -0x1.fffffffffffffp52
+ },
+ { // Entry 84
+ (long long int)-0x1.00000000000010p54,
+ -0x1.0000000000001p54
+ },
+ { // Entry 85
+ (long long int)-0x1.p54,
+ -0x1.0p54
+ },
+ { // Entry 86
+ (long long int)-0x1.fffffffffffff0p53,
+ -0x1.fffffffffffffp53
+ },
+ { // Entry 87
+ (long long int)0x1.p30,
+ 0x1.fffffffffffffp29
+ },
+ { // Entry 88
+ (long long int)0x1.p30,
+ 0x1.0p30
+ },
+ { // Entry 89
+ (long long int)0x1.p30,
+ 0x1.0000000000001p30
+ },
+ { // Entry 90
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffff7ffffep30
+ },
+ { // Entry 91
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffff7fffffp30
+ },
+ { // Entry 92
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffff80p30
+ },
+ { // Entry 93
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffff800001p30
+ },
+ { // Entry 94
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffff800002p30
+ },
+ { // Entry 95
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffff9ffffep30
+ },
+ { // Entry 96
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffff9fffffp30
+ },
+ { // Entry 97
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffffa0p30
+ },
+ { // Entry 98
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffa00001p30
+ },
+ { // Entry 99
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffa00002p30
+ },
+ { // Entry 100
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffbffffep30
+ },
+ { // Entry 101
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffbfffffp30
+ },
+ { // Entry 102
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffc0p30
+ },
+ { // Entry 103
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffc00001p30
+ },
+ { // Entry 104
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffc00002p30
+ },
+ { // Entry 105
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffdffffep30
+ },
+ { // Entry 106
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffdfffffp30
+ },
+ { // Entry 107
+ (long long int)0x1.p31,
+ 0x1.fffffffe0p30
+ },
+ { // Entry 108
+ (long long int)0x1.p31,
+ 0x1.fffffffe00001p30
+ },
+ { // Entry 109
+ (long long int)0x1.p31,
+ 0x1.fffffffe00002p30
+ },
+ { // Entry 110
+ (long long int)0x1.p31,
+ 0x1.ffffffffffffep30
+ },
+ { // Entry 111
+ (long long int)0x1.p31,
+ 0x1.fffffffffffffp30
+ },
+ { // Entry 112
+ (long long int)0x1.p31,
+ 0x1.0p31
+ },
+ { // Entry 113
+ (long long int)0x1.p31,
+ 0x1.0000000000001p31
+ },
+ { // Entry 114
+ (long long int)0x1.p31,
+ 0x1.0000000000002p31
+ },
+ { // Entry 115
+ (long long int)0x1.p31,
+ 0x1.00000000ffffep31
+ },
+ { // Entry 116
+ (long long int)0x1.p31,
+ 0x1.00000000fffffp31
+ },
+ { // Entry 117
+ (long long int)0x1.p31,
+ 0x1.000000010p31
+ },
+ { // Entry 118
+ (long long int)0x1.00000002p31,
+ 0x1.0000000100001p31
+ },
+ { // Entry 119
+ (long long int)0x1.00000002p31,
+ 0x1.0000000100002p31
+ },
+ { // Entry 120
+ (long long int)0x1.ffffffe0p30,
+ 0x1.ffffffep30
+ },
+ { // Entry 121
+ (long long int)0x1.ffffffe4p30,
+ 0x1.ffffffe40p30
+ },
+ { // Entry 122
+ (long long int)0x1.ffffffe8p30,
+ 0x1.ffffffe80p30
+ },
+ { // Entry 123
+ (long long int)0x1.ffffffecp30,
+ 0x1.ffffffec0p30
+ },
+ { // Entry 124
+ (long long int)0x1.fffffff0p30,
+ 0x1.fffffffp30
+ },
+ { // Entry 125
+ (long long int)0x1.fffffff4p30,
+ 0x1.fffffff40p30
+ },
+ { // Entry 126
+ (long long int)0x1.fffffff8p30,
+ 0x1.fffffff80p30
+ },
+ { // Entry 127
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffc0p30
+ },
+ { // Entry 128
+ (long long int)0x1.p31,
+ 0x1.0p31
+ },
+ { // Entry 129
+ (long long int)0x1.00000002p31,
+ 0x1.000000020p31
+ },
+ { // Entry 130
+ (long long int)-0x1.p30,
+ -0x1.0000000000001p30
+ },
+ { // Entry 131
+ (long long int)-0x1.p30,
+ -0x1.0p30
+ },
+ { // Entry 132
+ (long long int)-0x1.p30,
+ -0x1.fffffffffffffp29
+ },
+ { // Entry 133
+ (long long int)-0x1.fffffff8p30,
+ -0x1.fffffff800002p30
+ },
+ { // Entry 134
+ (long long int)-0x1.fffffff8p30,
+ -0x1.fffffff800001p30
+ },
+ { // Entry 135
+ (long long int)-0x1.fffffff8p30,
+ -0x1.fffffff80p30
+ },
+ { // Entry 136
+ (long long int)-0x1.fffffff8p30,
+ -0x1.fffffff7fffffp30
+ },
+ { // Entry 137
+ (long long int)-0x1.fffffff8p30,
+ -0x1.fffffff7ffffep30
+ },
+ { // Entry 138
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffa00002p30
+ },
+ { // Entry 139
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffa00001p30
+ },
+ { // Entry 140
+ (long long int)-0x1.fffffff8p30,
+ -0x1.fffffffa0p30
+ },
+ { // Entry 141
+ (long long int)-0x1.fffffff8p30,
+ -0x1.fffffff9fffffp30
+ },
+ { // Entry 142
+ (long long int)-0x1.fffffff8p30,
+ -0x1.fffffff9ffffep30
+ },
+ { // Entry 143
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffc00002p30
+ },
+ { // Entry 144
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffc00001p30
+ },
+ { // Entry 145
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffc0p30
+ },
+ { // Entry 146
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffbfffffp30
+ },
+ { // Entry 147
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffbffffep30
+ },
+ { // Entry 148
+ (long long int)-0x1.p31,
+ -0x1.fffffffe00002p30
+ },
+ { // Entry 149
+ (long long int)-0x1.p31,
+ -0x1.fffffffe00001p30
+ },
+ { // Entry 150
+ (long long int)-0x1.p31,
+ -0x1.fffffffe0p30
+ },
+ { // Entry 151
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffdfffffp30
+ },
+ { // Entry 152
+ (long long int)-0x1.fffffffcp30,
+ -0x1.fffffffdffffep30
+ },
+ { // Entry 153
+ (long long int)-0x1.p31,
+ -0x1.0000000000002p31
+ },
+ { // Entry 154
+ (long long int)-0x1.p31,
+ -0x1.0000000000001p31
+ },
+ { // Entry 155
+ (long long int)-0x1.p31,
+ -0x1.0p31
+ },
+ { // Entry 156
+ (long long int)-0x1.p31,
+ -0x1.fffffffffffffp30
+ },
+ { // Entry 157
+ (long long int)-0x1.p31,
+ -0x1.ffffffffffffep30
+ },
+ { // Entry 158
+ (long long int)-0x1.00000002p31,
+ -0x1.0000000100002p31
+ },
+ { // Entry 159
+ (long long int)-0x1.00000002p31,
+ -0x1.0000000100001p31
+ },
+ { // Entry 160
+ (long long int)-0x1.p31,
+ -0x1.000000010p31
+ },
+ { // Entry 161
+ (long long int)-0x1.p31,
+ -0x1.00000000fffffp31
+ },
+ { // Entry 162
+ (long long int)-0x1.p31,
+ -0x1.00000000ffffep31
+ },
+ { // Entry 163
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 164
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 165
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 166
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 167
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 168
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 169
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 170
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 171
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 172
+ (long long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 173
+ (long long int)0x1.ffffffffffffe0p61,
+ 0x1.ffffffffffffep61
+ },
+ { // Entry 174
+ (long long int)0x1.fffffffffffff0p61,
+ 0x1.fffffffffffffp61
+ },
+ { // Entry 175
+ (long long int)0x1.p62,
+ 0x1.0p62
+ },
+ { // Entry 176
+ (long long int)0x1.00000000000010p62,
+ 0x1.0000000000001p62
+ },
+ { // Entry 177
+ (long long int)0x1.00000000000020p62,
+ 0x1.0000000000002p62
+ },
+ { // Entry 178
+ (long long int)0x1.ffffffffffffe0p62,
+ 0x1.ffffffffffffep62
+ },
+ { // Entry 179
+ (long long int)0x1.fffffffffffff0p62,
+ 0x1.fffffffffffffp62
+ },
+ { // Entry 180
+ (long long int)-0x1.00000000000020p62,
+ -0x1.0000000000002p62
+ },
+ { // Entry 181
+ (long long int)-0x1.00000000000010p62,
+ -0x1.0000000000001p62
+ },
+ { // Entry 182
+ (long long int)-0x1.p62,
+ -0x1.0p62
+ },
+ { // Entry 183
+ (long long int)-0x1.fffffffffffff0p61,
+ -0x1.fffffffffffffp61
+ },
+ { // Entry 184
+ (long long int)-0x1.ffffffffffffe0p61,
+ -0x1.ffffffffffffep61
+ },
+ { // Entry 185
+ (long long int)-0x1.p63,
+ -0x1.0p63
+ },
+ { // Entry 186
+ (long long int)-0x1.fffffffffffff0p62,
+ -0x1.fffffffffffffp62
+ },
+ { // Entry 187
+ (long long int)-0x1.ffffffffffffe0p62,
+ -0x1.ffffffffffffep62
+ },
+ { // Entry 188
+ (long long int)0x1.p62,
+ 0x1.0p62
+ },
+ { // Entry 189
+ (long long int)-0x1.p62,
+ -0x1.0p62
+ },
+ { // Entry 190
+ (long long int)-0x1.p63,
+ -0x1.0p63
+ },
+ { // Entry 191
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffbfffffp30
+ },
+ { // Entry 192
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffc0p30
+ },
+ { // Entry 193
+ (long long int)0x1.fffffffcp30,
+ 0x1.fffffffc00001p30
+ },
+ { // Entry 194
+ (long long int)-0x1.p31,
+ -0x1.0000000000001p31
+ },
+ { // Entry 195
+ (long long int)-0x1.p31,
+ -0x1.0p31
+ },
+ { // Entry 196
+ (long long int)-0x1.p31,
+ -0x1.fffffffffffffp30
+ },
+ { // Entry 197
+ (long long int)0x1.p2,
+ 0x1.fffffffffffffp1
+ },
+ { // Entry 198
+ (long long int)0x1.p2,
+ 0x1.0p2
+ },
+ { // Entry 199
+ (long long int)0x1.p2,
+ 0x1.0000000000001p2
+ },
+ { // Entry 200
+ (long long int)0x1.p3,
+ 0x1.fffffffffffffp2
+ },
+ { // Entry 201
+ (long long int)0x1.p3,
+ 0x1.0p3
+ },
+ { // Entry 202
+ (long long int)0x1.p3,
+ 0x1.0000000000001p3
+ },
+ { // Entry 203
+ (long long int)0x1.p4,
+ 0x1.fffffffffffffp3
+ },
+ { // Entry 204
+ (long long int)0x1.p4,
+ 0x1.0p4
+ },
+ { // Entry 205
+ (long long int)0x1.p4,
+ 0x1.0000000000001p4
+ },
+ { // Entry 206
+ (long long int)0x1.p5,
+ 0x1.fffffffffffffp4
+ },
+ { // Entry 207
+ (long long int)0x1.p5,
+ 0x1.0p5
+ },
+ { // Entry 208
+ (long long int)0x1.p5,
+ 0x1.0000000000001p5
+ },
+ { // Entry 209
+ (long long int)0x1.p6,
+ 0x1.fffffffffffffp5
+ },
+ { // Entry 210
+ (long long int)0x1.p6,
+ 0x1.0p6
+ },
+ { // Entry 211
+ (long long int)0x1.p6,
+ 0x1.0000000000001p6
+ },
+ { // Entry 212
+ (long long int)0x1.p7,
+ 0x1.fffffffffffffp6
+ },
+ { // Entry 213
+ (long long int)0x1.p7,
+ 0x1.0p7
+ },
+ { // Entry 214
+ (long long int)0x1.p7,
+ 0x1.0000000000001p7
+ },
+ { // Entry 215
+ (long long int)0x1.p8,
+ 0x1.fffffffffffffp7
+ },
+ { // Entry 216
+ (long long int)0x1.p8,
+ 0x1.0p8
+ },
+ { // Entry 217
+ (long long int)0x1.p8,
+ 0x1.0000000000001p8
+ },
+ { // Entry 218
+ (long long int)0x1.p9,
+ 0x1.fffffffffffffp8
+ },
+ { // Entry 219
+ (long long int)0x1.p9,
+ 0x1.0p9
+ },
+ { // Entry 220
+ (long long int)0x1.p9,
+ 0x1.0000000000001p9
+ },
+ { // Entry 221
+ (long long int)0x1.p10,
+ 0x1.fffffffffffffp9
+ },
+ { // Entry 222
+ (long long int)0x1.p10,
+ 0x1.0p10
+ },
+ { // Entry 223
+ (long long int)0x1.p10,
+ 0x1.0000000000001p10
+ },
+ { // Entry 224
+ (long long int)0x1.p11,
+ 0x1.fffffffffffffp10
+ },
+ { // Entry 225
+ (long long int)0x1.p11,
+ 0x1.0p11
+ },
+ { // Entry 226
+ (long long int)0x1.p11,
+ 0x1.0000000000001p11
+ },
+ { // Entry 227
+ (long long int)0x1.p12,
+ 0x1.fffffffffffffp11
+ },
+ { // Entry 228
+ (long long int)0x1.p12,
+ 0x1.0p12
+ },
+ { // Entry 229
+ (long long int)0x1.p12,
+ 0x1.0000000000001p12
+ },
+ { // Entry 230
+ (long long int)0x1.p2,
+ 0x1.1ffffffffffffp2
+ },
+ { // Entry 231
+ (long long int)0x1.p2,
+ 0x1.2p2
+ },
+ { // Entry 232
+ (long long int)0x1.40p2,
+ 0x1.2000000000001p2
+ },
+ { // Entry 233
+ (long long int)0x1.p3,
+ 0x1.0ffffffffffffp3
+ },
+ { // Entry 234
+ (long long int)0x1.p3,
+ 0x1.1p3
+ },
+ { // Entry 235
+ (long long int)0x1.20p3,
+ 0x1.1000000000001p3
+ },
+ { // Entry 236
+ (long long int)0x1.p4,
+ 0x1.07fffffffffffp4
+ },
+ { // Entry 237
+ (long long int)0x1.p4,
+ 0x1.080p4
+ },
+ { // Entry 238
+ (long long int)0x1.10p4,
+ 0x1.0800000000001p4
+ },
+ { // Entry 239
+ (long long int)0x1.p5,
+ 0x1.03fffffffffffp5
+ },
+ { // Entry 240
+ (long long int)0x1.p5,
+ 0x1.040p5
+ },
+ { // Entry 241
+ (long long int)0x1.08p5,
+ 0x1.0400000000001p5
+ },
+ { // Entry 242
+ (long long int)0x1.p6,
+ 0x1.01fffffffffffp6
+ },
+ { // Entry 243
+ (long long int)0x1.p6,
+ 0x1.020p6
+ },
+ { // Entry 244
+ (long long int)0x1.04p6,
+ 0x1.0200000000001p6
+ },
+ { // Entry 245
+ (long long int)0x1.p7,
+ 0x1.00fffffffffffp7
+ },
+ { // Entry 246
+ (long long int)0x1.p7,
+ 0x1.010p7
+ },
+ { // Entry 247
+ (long long int)0x1.02p7,
+ 0x1.0100000000001p7
+ },
+ { // Entry 248
+ (long long int)0x1.p8,
+ 0x1.007ffffffffffp8
+ },
+ { // Entry 249
+ (long long int)0x1.p8,
+ 0x1.008p8
+ },
+ { // Entry 250
+ (long long int)0x1.01p8,
+ 0x1.0080000000001p8
+ },
+ { // Entry 251
+ (long long int)0x1.p9,
+ 0x1.003ffffffffffp9
+ },
+ { // Entry 252
+ (long long int)0x1.p9,
+ 0x1.004p9
+ },
+ { // Entry 253
+ (long long int)0x1.0080p9,
+ 0x1.0040000000001p9
+ },
+ { // Entry 254
+ (long long int)0x1.p10,
+ 0x1.001ffffffffffp10
+ },
+ { // Entry 255
+ (long long int)0x1.p10,
+ 0x1.002p10
+ },
+ { // Entry 256
+ (long long int)0x1.0040p10,
+ 0x1.0020000000001p10
+ },
+ { // Entry 257
+ (long long int)0x1.0040p10,
+ 0x1.005ffffffffffp10
+ },
+ { // Entry 258
+ (long long int)0x1.0080p10,
+ 0x1.006p10
+ },
+ { // Entry 259
+ (long long int)0x1.0080p10,
+ 0x1.0060000000001p10
+ },
+ { // Entry 260
+ (long long int)0x1.p11,
+ 0x1.000ffffffffffp11
+ },
+ { // Entry 261
+ (long long int)0x1.p11,
+ 0x1.001p11
+ },
+ { // Entry 262
+ (long long int)0x1.0020p11,
+ 0x1.0010000000001p11
+ },
+ { // Entry 263
+ (long long int)0x1.p12,
+ 0x1.0007fffffffffp12
+ },
+ { // Entry 264
+ (long long int)0x1.p12,
+ 0x1.00080p12
+ },
+ { // Entry 265
+ (long long int)0x1.0010p12,
+ 0x1.0008000000001p12
+ },
+ { // Entry 266
+ (long long int)0x1.80p1,
+ 0x1.921fb54442d18p1
+ },
+ { // Entry 267
+ (long long int)-0x1.80p1,
+ -0x1.921fb54442d18p1
+ },
+ { // Entry 268
+ (long long int)0x1.p1,
+ 0x1.921fb54442d18p0
+ },
+ { // Entry 269
+ (long long int)-0x1.p1,
+ -0x1.921fb54442d18p0
+ },
+ { // Entry 270
+ (long long int)0x1.p0,
+ 0x1.0000000000001p0
+ },
+ { // Entry 271
+ (long long int)-0x1.p0,
+ -0x1.0000000000001p0
+ },
+ { // Entry 272
+ (long long int)0x1.p0,
+ 0x1.0p0
+ },
+ { // Entry 273
+ (long long int)-0x1.p0,
+ -0x1.0p0
+ },
+ { // Entry 274
+ (long long int)0x1.p0,
+ 0x1.fffffffffffffp-1
+ },
+ { // Entry 275
+ (long long int)-0x1.p0,
+ -0x1.fffffffffffffp-1
+ },
+ { // Entry 276
+ (long long int)0x1.p0,
+ 0x1.921fb54442d18p-1
+ },
+ { // Entry 277
+ (long long int)-0x1.p0,
+ -0x1.921fb54442d18p-1
+ },
+ { // Entry 278
+ (long long int)0.0,
+ 0x1.0000000000001p-1022
+ },
+ { // Entry 279
+ (long long int)0.0,
+ -0x1.0000000000001p-1022
+ },
+ { // Entry 280
+ (long long int)0.0,
+ 0x1.0p-1022
+ },
+ { // Entry 281
+ (long long int)0.0,
+ -0x1.0p-1022
+ },
+ { // Entry 282
+ (long long int)0.0,
+ 0x1.ffffffffffffep-1023
+ },
+ { // Entry 283
+ (long long int)0.0,
+ -0x1.ffffffffffffep-1023
+ },
+ { // Entry 284
+ (long long int)0.0,
+ 0x1.ffffffffffffcp-1023
+ },
+ { // Entry 285
+ (long long int)0.0,
+ -0x1.ffffffffffffcp-1023
+ },
+ { // Entry 286
+ (long long int)0.0,
+ 0x1.0p-1073
+ },
+ { // Entry 287
+ (long long int)0.0,
+ -0x1.0p-1073
+ },
+ { // Entry 288
+ (long long int)0.0,
+ 0x1.0p-1074
+ },
+ { // Entry 289
+ (long long int)0.0,
+ -0x1.0p-1074
+ },
+ { // Entry 290
+ (long long int)0.0,
+ 0.0
+ },
+ { // Entry 291
+ (long long int)0.0,
+ -0.0
+ },
+ { // Entry 292
+ (long long int)0x1.p1,
+ 0x1.8p0
+ },
+ { // Entry 293
+ (long long int)-0x1.p1,
+ -0x1.8p0
+ },
+ { // Entry 294
+ (long long int)0x1.p1,
+ 0x1.4p1
+ },
+ { // Entry 295
+ (long long int)-0x1.p1,
+ -0x1.4p1
+ },
+ { // Entry 296
+ (long long int)0.0,
+ 0x1.fffffp-2
+ },
+ { // Entry 297
+ (long long int)0.0,
+ 0x1.0p-1
+ },
+ { // Entry 298
+ (long long int)0x1.p0,
+ 0x1.00001p-1
+ },
+ { // Entry 299
+ (long long int)0.0,
+ -0x1.fffffp-2
+ },
+ { // Entry 300
+ (long long int)0.0,
+ -0x1.0p-1
+ },
+ { // Entry 301
+ (long long int)-0x1.p0,
+ -0x1.00001p-1
+ },
+ { // Entry 302
+ (long long int)0x1.p1,
+ 0x1.80001p0
+ },
+ { // Entry 303
+ (long long int)0x1.p0,
+ 0x1.7ffffp0
+ },
+ { // Entry 304
+ (long long int)-0x1.p1,
+ -0x1.80001p0
+ },
+ { // Entry 305
+ (long long int)-0x1.p0,
+ -0x1.7ffffp0
+ }
+};
\ No newline at end of file
diff --git a/tests/math_data/llrintf_intel_data.h b/tests/math_data/llrintf_intel_data.h
new file mode 100644
index 0000000..ecb22da
--- /dev/null
+++ b/tests/math_data/llrintf_intel_data.h
@@ -0,0 +1,1242 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+static data_llong_1_t<float> g_llrintf_intel_data[] = {
+ { // Entry 0
+ (long long int)0.0,
+ -0x1.p-149
+ },
+ { // Entry 1
+ (long long int)0.0,
+ 0.0
+ },
+ { // Entry 2
+ (long long int)0.0,
+ 0x1.p-149
+ },
+ { // Entry 3
+ (long long int)0.0,
+ 0x1.fffffep-2
+ },
+ { // Entry 4
+ (long long int)0.0,
+ 0x1.p-1
+ },
+ { // Entry 5
+ (long long int)0x1.p0,
+ 0x1.000002p-1
+ },
+ { // Entry 6
+ (long long int)0x1.p0,
+ 0x1.fffffep-1
+ },
+ { // Entry 7
+ (long long int)0x1.p0,
+ 0x1.p0
+ },
+ { // Entry 8
+ (long long int)0x1.p0,
+ 0x1.000002p0
+ },
+ { // Entry 9
+ (long long int)0x1.p0,
+ 0x1.7ffffep0
+ },
+ { // Entry 10
+ (long long int)0x1.p1,
+ 0x1.80p0
+ },
+ { // Entry 11
+ (long long int)0x1.p1,
+ 0x1.800002p0
+ },
+ { // Entry 12
+ (long long int)0x1.p1,
+ 0x1.fffffep0
+ },
+ { // Entry 13
+ (long long int)0x1.p1,
+ 0x1.p1
+ },
+ { // Entry 14
+ (long long int)0x1.p1,
+ 0x1.000002p1
+ },
+ { // Entry 15
+ (long long int)0x1.p1,
+ 0x1.3ffffep1
+ },
+ { // Entry 16
+ (long long int)0x1.p1,
+ 0x1.40p1
+ },
+ { // Entry 17
+ (long long int)0x1.80p1,
+ 0x1.400002p1
+ },
+ { // Entry 18
+ (long long int)0x1.90p6,
+ 0x1.8ffffep6
+ },
+ { // Entry 19
+ (long long int)0x1.90p6,
+ 0x1.90p6
+ },
+ { // Entry 20
+ (long long int)0x1.90p6,
+ 0x1.900002p6
+ },
+ { // Entry 21
+ (long long int)0x1.90p6,
+ 0x1.91fffep6
+ },
+ { // Entry 22
+ (long long int)0x1.90p6,
+ 0x1.92p6
+ },
+ { // Entry 23
+ (long long int)0x1.94p6,
+ 0x1.920002p6
+ },
+ { // Entry 24
+ (long long int)0x1.f4p9,
+ 0x1.f3fffep9
+ },
+ { // Entry 25
+ (long long int)0x1.f4p9,
+ 0x1.f4p9
+ },
+ { // Entry 26
+ (long long int)0x1.f4p9,
+ 0x1.f40002p9
+ },
+ { // Entry 27
+ (long long int)0x1.f4p9,
+ 0x1.f43ffep9
+ },
+ { // Entry 28
+ (long long int)0x1.f4p9,
+ 0x1.f440p9
+ },
+ { // Entry 29
+ (long long int)0x1.f480p9,
+ 0x1.f44002p9
+ },
+ { // Entry 30
+ (long long int)0x1.p21,
+ 0x1.fffffep20
+ },
+ { // Entry 31
+ (long long int)0x1.p21,
+ 0x1.p21
+ },
+ { // Entry 32
+ (long long int)0x1.p21,
+ 0x1.000002p21
+ },
+ { // Entry 33
+ (long long int)0x1.p22,
+ 0x1.fffffep21
+ },
+ { // Entry 34
+ (long long int)0x1.p22,
+ 0x1.p22
+ },
+ { // Entry 35
+ (long long int)0x1.p22,
+ 0x1.000002p22
+ },
+ { // Entry 36
+ (long long int)0x1.p23,
+ 0x1.fffffep22
+ },
+ { // Entry 37
+ (long long int)0x1.p23,
+ 0x1.p23
+ },
+ { // Entry 38
+ (long long int)0x1.000002p23,
+ 0x1.000002p23
+ },
+ { // Entry 39
+ (long long int)0x1.fffffep23,
+ 0x1.fffffep23
+ },
+ { // Entry 40
+ (long long int)0x1.p24,
+ 0x1.p24
+ },
+ { // Entry 41
+ (long long int)0x1.000002p24,
+ 0x1.000002p24
+ },
+ { // Entry 42
+ (long long int)0x1.fffffep24,
+ 0x1.fffffep24
+ },
+ { // Entry 43
+ (long long int)0x1.p25,
+ 0x1.p25
+ },
+ { // Entry 44
+ (long long int)0x1.000002p25,
+ 0x1.000002p25
+ },
+ { // Entry 45
+ (long long int)-0x1.p0,
+ -0x1.000002p-1
+ },
+ { // Entry 46
+ (long long int)0.0,
+ -0x1.p-1
+ },
+ { // Entry 47
+ (long long int)0.0,
+ -0x1.fffffep-2
+ },
+ { // Entry 48
+ (long long int)-0x1.p0,
+ -0x1.000002p0
+ },
+ { // Entry 49
+ (long long int)-0x1.p0,
+ -0x1.p0
+ },
+ { // Entry 50
+ (long long int)-0x1.p0,
+ -0x1.fffffep-1
+ },
+ { // Entry 51
+ (long long int)-0x1.p1,
+ -0x1.800002p0
+ },
+ { // Entry 52
+ (long long int)-0x1.p1,
+ -0x1.80p0
+ },
+ { // Entry 53
+ (long long int)-0x1.p0,
+ -0x1.7ffffep0
+ },
+ { // Entry 54
+ (long long int)-0x1.p1,
+ -0x1.000002p1
+ },
+ { // Entry 55
+ (long long int)-0x1.p1,
+ -0x1.p1
+ },
+ { // Entry 56
+ (long long int)-0x1.p1,
+ -0x1.fffffep0
+ },
+ { // Entry 57
+ (long long int)-0x1.80p1,
+ -0x1.400002p1
+ },
+ { // Entry 58
+ (long long int)-0x1.p1,
+ -0x1.40p1
+ },
+ { // Entry 59
+ (long long int)-0x1.p1,
+ -0x1.3ffffep1
+ },
+ { // Entry 60
+ (long long int)-0x1.90p6,
+ -0x1.900002p6
+ },
+ { // Entry 61
+ (long long int)-0x1.90p6,
+ -0x1.90p6
+ },
+ { // Entry 62
+ (long long int)-0x1.90p6,
+ -0x1.8ffffep6
+ },
+ { // Entry 63
+ (long long int)-0x1.94p6,
+ -0x1.920002p6
+ },
+ { // Entry 64
+ (long long int)-0x1.90p6,
+ -0x1.92p6
+ },
+ { // Entry 65
+ (long long int)-0x1.90p6,
+ -0x1.91fffep6
+ },
+ { // Entry 66
+ (long long int)-0x1.f4p9,
+ -0x1.f40002p9
+ },
+ { // Entry 67
+ (long long int)-0x1.f4p9,
+ -0x1.f4p9
+ },
+ { // Entry 68
+ (long long int)-0x1.f4p9,
+ -0x1.f3fffep9
+ },
+ { // Entry 69
+ (long long int)-0x1.f480p9,
+ -0x1.f44002p9
+ },
+ { // Entry 70
+ (long long int)-0x1.f4p9,
+ -0x1.f440p9
+ },
+ { // Entry 71
+ (long long int)-0x1.f4p9,
+ -0x1.f43ffep9
+ },
+ { // Entry 72
+ (long long int)-0x1.p21,
+ -0x1.000002p21
+ },
+ { // Entry 73
+ (long long int)-0x1.p21,
+ -0x1.p21
+ },
+ { // Entry 74
+ (long long int)-0x1.p21,
+ -0x1.fffffep20
+ },
+ { // Entry 75
+ (long long int)-0x1.p22,
+ -0x1.000002p22
+ },
+ { // Entry 76
+ (long long int)-0x1.p22,
+ -0x1.p22
+ },
+ { // Entry 77
+ (long long int)-0x1.p22,
+ -0x1.fffffep21
+ },
+ { // Entry 78
+ (long long int)-0x1.000002p23,
+ -0x1.000002p23
+ },
+ { // Entry 79
+ (long long int)-0x1.p23,
+ -0x1.p23
+ },
+ { // Entry 80
+ (long long int)-0x1.p23,
+ -0x1.fffffep22
+ },
+ { // Entry 81
+ (long long int)-0x1.000002p24,
+ -0x1.000002p24
+ },
+ { // Entry 82
+ (long long int)-0x1.p24,
+ -0x1.p24
+ },
+ { // Entry 83
+ (long long int)-0x1.fffffep23,
+ -0x1.fffffep23
+ },
+ { // Entry 84
+ (long long int)-0x1.000002p25,
+ -0x1.000002p25
+ },
+ { // Entry 85
+ (long long int)-0x1.p25,
+ -0x1.p25
+ },
+ { // Entry 86
+ (long long int)-0x1.fffffep24,
+ -0x1.fffffep24
+ },
+ { // Entry 87
+ (long long int)0x1.fffffep29,
+ 0x1.fffffep29
+ },
+ { // Entry 88
+ (long long int)0x1.p30,
+ 0x1.p30
+ },
+ { // Entry 89
+ (long long int)0x1.000002p30,
+ 0x1.000002p30
+ },
+ { // Entry 90
+ (long long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 91
+ (long long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 92
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 93
+ (long long int)0x1.000002p31,
+ 0x1.000002p31
+ },
+ { // Entry 94
+ (long long int)0x1.000004p31,
+ 0x1.000004p31
+ },
+ { // Entry 95
+ (long long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 96
+ (long long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 97
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 98
+ (long long int)0x1.000002p31,
+ 0x1.000002p31
+ },
+ { // Entry 99
+ (long long int)0x1.000004p31,
+ 0x1.000004p31
+ },
+ { // Entry 100
+ (long long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 101
+ (long long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 102
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 103
+ (long long int)0x1.000002p31,
+ 0x1.000002p31
+ },
+ { // Entry 104
+ (long long int)0x1.000004p31,
+ 0x1.000004p31
+ },
+ { // Entry 105
+ (long long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 106
+ (long long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 107
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 108
+ (long long int)0x1.000002p31,
+ 0x1.000002p31
+ },
+ { // Entry 109
+ (long long int)0x1.000004p31,
+ 0x1.000004p31
+ },
+ { // Entry 110
+ (long long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 111
+ (long long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 112
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 113
+ (long long int)0x1.000002p31,
+ 0x1.000002p31
+ },
+ { // Entry 114
+ (long long int)0x1.000004p31,
+ 0x1.000004p31
+ },
+ { // Entry 115
+ (long long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 116
+ (long long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 117
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 118
+ (long long int)0x1.000002p31,
+ 0x1.000002p31
+ },
+ { // Entry 119
+ (long long int)0x1.000004p31,
+ 0x1.000004p31
+ },
+ { // Entry 120
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 121
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 122
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 123
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 124
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 125
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 126
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 127
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 128
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 129
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 130
+ (long long int)-0x1.000002p30,
+ -0x1.000002p30
+ },
+ { // Entry 131
+ (long long int)-0x1.p30,
+ -0x1.p30
+ },
+ { // Entry 132
+ (long long int)-0x1.fffffep29,
+ -0x1.fffffep29
+ },
+ { // Entry 133
+ (long long int)-0x1.000004p31,
+ -0x1.000004p31
+ },
+ { // Entry 134
+ (long long int)-0x1.000002p31,
+ -0x1.000002p31
+ },
+ { // Entry 135
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 136
+ (long long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 137
+ (long long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 138
+ (long long int)-0x1.000004p31,
+ -0x1.000004p31
+ },
+ { // Entry 139
+ (long long int)-0x1.000002p31,
+ -0x1.000002p31
+ },
+ { // Entry 140
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 141
+ (long long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 142
+ (long long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 143
+ (long long int)-0x1.000004p31,
+ -0x1.000004p31
+ },
+ { // Entry 144
+ (long long int)-0x1.000002p31,
+ -0x1.000002p31
+ },
+ { // Entry 145
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 146
+ (long long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 147
+ (long long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 148
+ (long long int)-0x1.000004p31,
+ -0x1.000004p31
+ },
+ { // Entry 149
+ (long long int)-0x1.000002p31,
+ -0x1.000002p31
+ },
+ { // Entry 150
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 151
+ (long long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 152
+ (long long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 153
+ (long long int)-0x1.000004p31,
+ -0x1.000004p31
+ },
+ { // Entry 154
+ (long long int)-0x1.000002p31,
+ -0x1.000002p31
+ },
+ { // Entry 155
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 156
+ (long long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 157
+ (long long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 158
+ (long long int)-0x1.000004p31,
+ -0x1.000004p31
+ },
+ { // Entry 159
+ (long long int)-0x1.000002p31,
+ -0x1.000002p31
+ },
+ { // Entry 160
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 161
+ (long long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 162
+ (long long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 163
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 164
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 165
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 166
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 167
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 168
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 169
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 170
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 171
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 172
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 173
+ (long long int)0x1.fffffcp61,
+ 0x1.fffffcp61
+ },
+ { // Entry 174
+ (long long int)0x1.fffffep61,
+ 0x1.fffffep61
+ },
+ { // Entry 175
+ (long long int)0x1.p62,
+ 0x1.p62
+ },
+ { // Entry 176
+ (long long int)0x1.000002p62,
+ 0x1.000002p62
+ },
+ { // Entry 177
+ (long long int)0x1.000004p62,
+ 0x1.000004p62
+ },
+ { // Entry 178
+ (long long int)0x1.fffffcp62,
+ 0x1.fffffcp62
+ },
+ { // Entry 179
+ (long long int)0x1.fffffep62,
+ 0x1.fffffep62
+ },
+ { // Entry 180
+ (long long int)-0x1.000004p62,
+ -0x1.000004p62
+ },
+ { // Entry 181
+ (long long int)-0x1.000002p62,
+ -0x1.000002p62
+ },
+ { // Entry 182
+ (long long int)-0x1.p62,
+ -0x1.p62
+ },
+ { // Entry 183
+ (long long int)-0x1.fffffep61,
+ -0x1.fffffep61
+ },
+ { // Entry 184
+ (long long int)-0x1.fffffcp61,
+ -0x1.fffffcp61
+ },
+ { // Entry 185
+ (long long int)-0x1.p63,
+ -0x1.p63
+ },
+ { // Entry 186
+ (long long int)-0x1.fffffep62,
+ -0x1.fffffep62
+ },
+ { // Entry 187
+ (long long int)-0x1.fffffcp62,
+ -0x1.fffffcp62
+ },
+ { // Entry 188
+ (long long int)0x1.p62,
+ 0x1.p62
+ },
+ { // Entry 189
+ (long long int)-0x1.p62,
+ -0x1.p62
+ },
+ { // Entry 190
+ (long long int)-0x1.p63,
+ -0x1.p63
+ },
+ { // Entry 191
+ (long long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 192
+ (long long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 193
+ (long long int)0x1.p31,
+ 0x1.p31
+ },
+ { // Entry 194
+ (long long int)-0x1.000002p31,
+ -0x1.000002p31
+ },
+ { // Entry 195
+ (long long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 196
+ (long long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 197
+ (long long int)0x1.p2,
+ 0x1.fffffep1
+ },
+ { // Entry 198
+ (long long int)0x1.p2,
+ 0x1.p2
+ },
+ { // Entry 199
+ (long long int)0x1.p2,
+ 0x1.000002p2
+ },
+ { // Entry 200
+ (long long int)0x1.p3,
+ 0x1.fffffep2
+ },
+ { // Entry 201
+ (long long int)0x1.p3,
+ 0x1.p3
+ },
+ { // Entry 202
+ (long long int)0x1.p3,
+ 0x1.000002p3
+ },
+ { // Entry 203
+ (long long int)0x1.p4,
+ 0x1.fffffep3
+ },
+ { // Entry 204
+ (long long int)0x1.p4,
+ 0x1.p4
+ },
+ { // Entry 205
+ (long long int)0x1.p4,
+ 0x1.000002p4
+ },
+ { // Entry 206
+ (long long int)0x1.p5,
+ 0x1.fffffep4
+ },
+ { // Entry 207
+ (long long int)0x1.p5,
+ 0x1.p5
+ },
+ { // Entry 208
+ (long long int)0x1.p5,
+ 0x1.000002p5
+ },
+ { // Entry 209
+ (long long int)0x1.p6,
+ 0x1.fffffep5
+ },
+ { // Entry 210
+ (long long int)0x1.p6,
+ 0x1.p6
+ },
+ { // Entry 211
+ (long long int)0x1.p6,
+ 0x1.000002p6
+ },
+ { // Entry 212
+ (long long int)0x1.p7,
+ 0x1.fffffep6
+ },
+ { // Entry 213
+ (long long int)0x1.p7,
+ 0x1.p7
+ },
+ { // Entry 214
+ (long long int)0x1.p7,
+ 0x1.000002p7
+ },
+ { // Entry 215
+ (long long int)0x1.p8,
+ 0x1.fffffep7
+ },
+ { // Entry 216
+ (long long int)0x1.p8,
+ 0x1.p8
+ },
+ { // Entry 217
+ (long long int)0x1.p8,
+ 0x1.000002p8
+ },
+ { // Entry 218
+ (long long int)0x1.p9,
+ 0x1.fffffep8
+ },
+ { // Entry 219
+ (long long int)0x1.p9,
+ 0x1.p9
+ },
+ { // Entry 220
+ (long long int)0x1.p9,
+ 0x1.000002p9
+ },
+ { // Entry 221
+ (long long int)0x1.p10,
+ 0x1.fffffep9
+ },
+ { // Entry 222
+ (long long int)0x1.p10,
+ 0x1.p10
+ },
+ { // Entry 223
+ (long long int)0x1.p10,
+ 0x1.000002p10
+ },
+ { // Entry 224
+ (long long int)0x1.p11,
+ 0x1.fffffep10
+ },
+ { // Entry 225
+ (long long int)0x1.p11,
+ 0x1.p11
+ },
+ { // Entry 226
+ (long long int)0x1.p11,
+ 0x1.000002p11
+ },
+ { // Entry 227
+ (long long int)0x1.p12,
+ 0x1.fffffep11
+ },
+ { // Entry 228
+ (long long int)0x1.p12,
+ 0x1.p12
+ },
+ { // Entry 229
+ (long long int)0x1.p12,
+ 0x1.000002p12
+ },
+ { // Entry 230
+ (long long int)0x1.p2,
+ 0x1.1ffffep2
+ },
+ { // Entry 231
+ (long long int)0x1.p2,
+ 0x1.20p2
+ },
+ { // Entry 232
+ (long long int)0x1.40p2,
+ 0x1.200002p2
+ },
+ { // Entry 233
+ (long long int)0x1.p3,
+ 0x1.0ffffep3
+ },
+ { // Entry 234
+ (long long int)0x1.p3,
+ 0x1.10p3
+ },
+ { // Entry 235
+ (long long int)0x1.20p3,
+ 0x1.100002p3
+ },
+ { // Entry 236
+ (long long int)0x1.p4,
+ 0x1.07fffep4
+ },
+ { // Entry 237
+ (long long int)0x1.p4,
+ 0x1.08p4
+ },
+ { // Entry 238
+ (long long int)0x1.10p4,
+ 0x1.080002p4
+ },
+ { // Entry 239
+ (long long int)0x1.p5,
+ 0x1.03fffep5
+ },
+ { // Entry 240
+ (long long int)0x1.p5,
+ 0x1.04p5
+ },
+ { // Entry 241
+ (long long int)0x1.08p5,
+ 0x1.040002p5
+ },
+ { // Entry 242
+ (long long int)0x1.p6,
+ 0x1.01fffep6
+ },
+ { // Entry 243
+ (long long int)0x1.p6,
+ 0x1.02p6
+ },
+ { // Entry 244
+ (long long int)0x1.04p6,
+ 0x1.020002p6
+ },
+ { // Entry 245
+ (long long int)0x1.p7,
+ 0x1.00fffep7
+ },
+ { // Entry 246
+ (long long int)0x1.p7,
+ 0x1.01p7
+ },
+ { // Entry 247
+ (long long int)0x1.02p7,
+ 0x1.010002p7
+ },
+ { // Entry 248
+ (long long int)0x1.p8,
+ 0x1.007ffep8
+ },
+ { // Entry 249
+ (long long int)0x1.p8,
+ 0x1.0080p8
+ },
+ { // Entry 250
+ (long long int)0x1.01p8,
+ 0x1.008002p8
+ },
+ { // Entry 251
+ (long long int)0x1.p9,
+ 0x1.003ffep9
+ },
+ { // Entry 252
+ (long long int)0x1.p9,
+ 0x1.0040p9
+ },
+ { // Entry 253
+ (long long int)0x1.0080p9,
+ 0x1.004002p9
+ },
+ { // Entry 254
+ (long long int)0x1.p10,
+ 0x1.001ffep10
+ },
+ { // Entry 255
+ (long long int)0x1.p10,
+ 0x1.0020p10
+ },
+ { // Entry 256
+ (long long int)0x1.0040p10,
+ 0x1.002002p10
+ },
+ { // Entry 257
+ (long long int)0x1.0040p10,
+ 0x1.005ffep10
+ },
+ { // Entry 258
+ (long long int)0x1.0080p10,
+ 0x1.0060p10
+ },
+ { // Entry 259
+ (long long int)0x1.0080p10,
+ 0x1.006002p10
+ },
+ { // Entry 260
+ (long long int)0x1.p11,
+ 0x1.000ffep11
+ },
+ { // Entry 261
+ (long long int)0x1.p11,
+ 0x1.0010p11
+ },
+ { // Entry 262
+ (long long int)0x1.0020p11,
+ 0x1.001002p11
+ },
+ { // Entry 263
+ (long long int)0x1.p12,
+ 0x1.0007fep12
+ },
+ { // Entry 264
+ (long long int)0x1.p12,
+ 0x1.0008p12
+ },
+ { // Entry 265
+ (long long int)0x1.0010p12,
+ 0x1.000802p12
+ },
+ { // Entry 266
+ (long long int)0x1.80p1,
+ 0x1.921fb6p1
+ },
+ { // Entry 267
+ (long long int)-0x1.80p1,
+ -0x1.921fb6p1
+ },
+ { // Entry 268
+ (long long int)0x1.p1,
+ 0x1.921fb6p0
+ },
+ { // Entry 269
+ (long long int)-0x1.p1,
+ -0x1.921fb6p0
+ },
+ { // Entry 270
+ (long long int)0x1.p0,
+ 0x1.000002p0
+ },
+ { // Entry 271
+ (long long int)-0x1.p0,
+ -0x1.000002p0
+ },
+ { // Entry 272
+ (long long int)0x1.p0,
+ 0x1.p0
+ },
+ { // Entry 273
+ (long long int)-0x1.p0,
+ -0x1.p0
+ },
+ { // Entry 274
+ (long long int)0x1.p0,
+ 0x1.fffffep-1
+ },
+ { // Entry 275
+ (long long int)-0x1.p0,
+ -0x1.fffffep-1
+ },
+ { // Entry 276
+ (long long int)0x1.p0,
+ 0x1.921fb6p-1
+ },
+ { // Entry 277
+ (long long int)-0x1.p0,
+ -0x1.921fb6p-1
+ },
+ { // Entry 278
+ (long long int)0.0,
+ 0x1.000002p-126
+ },
+ { // Entry 279
+ (long long int)0.0,
+ -0x1.000002p-126
+ },
+ { // Entry 280
+ (long long int)0.0,
+ 0x1.p-126
+ },
+ { // Entry 281
+ (long long int)0.0,
+ -0x1.p-126
+ },
+ { // Entry 282
+ (long long int)0.0,
+ 0x1.fffffcp-127
+ },
+ { // Entry 283
+ (long long int)0.0,
+ -0x1.fffffcp-127
+ },
+ { // Entry 284
+ (long long int)0.0,
+ 0x1.fffff8p-127
+ },
+ { // Entry 285
+ (long long int)0.0,
+ -0x1.fffff8p-127
+ },
+ { // Entry 286
+ (long long int)0.0,
+ 0x1.p-148
+ },
+ { // Entry 287
+ (long long int)0.0,
+ -0x1.p-148
+ },
+ { // Entry 288
+ (long long int)0.0,
+ 0x1.p-149
+ },
+ { // Entry 289
+ (long long int)0.0,
+ -0x1.p-149
+ },
+ { // Entry 290
+ (long long int)0.0,
+ 0.0f
+ },
+ { // Entry 291
+ (long long int)0.0,
+ -0.0f
+ },
+ { // Entry 292
+ (long long int)0x1.p1,
+ 0x1.80p0
+ },
+ { // Entry 293
+ (long long int)-0x1.p1,
+ -0x1.80p0
+ },
+ { // Entry 294
+ (long long int)0x1.p1,
+ 0x1.40p1
+ },
+ { // Entry 295
+ (long long int)-0x1.p1,
+ -0x1.40p1
+ },
+ { // Entry 296
+ (long long int)0.0,
+ 0x1.fffff0p-2
+ },
+ { // Entry 297
+ (long long int)0.0,
+ 0x1.p-1
+ },
+ { // Entry 298
+ (long long int)0x1.p0,
+ 0x1.000010p-1
+ },
+ { // Entry 299
+ (long long int)0.0,
+ -0x1.fffff0p-2
+ },
+ { // Entry 300
+ (long long int)0.0,
+ -0x1.p-1
+ },
+ { // Entry 301
+ (long long int)-0x1.p0,
+ -0x1.000010p-1
+ },
+ { // Entry 302
+ (long long int)0x1.p1,
+ 0x1.800010p0
+ },
+ { // Entry 303
+ (long long int)0x1.p0,
+ 0x1.7ffff0p0
+ },
+ { // Entry 304
+ (long long int)-0x1.p1,
+ -0x1.800010p0
+ },
+ { // Entry 305
+ (long long int)-0x1.p0,
+ -0x1.7ffff0p0
+ }
+};
\ No newline at end of file
diff --git a/tests/math_data/lrint_intel_data.h b/tests/math_data/lrint_intel_data.h
new file mode 100644
index 0000000..a034be4
--- /dev/null
+++ b/tests/math_data/lrint_intel_data.h
@@ -0,0 +1,982 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+static data_long_1_t<double> g_lrint_intel_data[] = {
+ { // Entry 0
+ (long int)0.0,
+ -0x1.0p-1074
+ },
+ { // Entry 1
+ (long int)0.0,
+ -0.0
+ },
+ { // Entry 2
+ (long int)0.0,
+ 0x1.0p-1074
+ },
+ { // Entry 3
+ (long int)0.0,
+ 0x1.fffffffffffffp-2
+ },
+ { // Entry 4
+ (long int)0.0,
+ 0x1.0p-1
+ },
+ { // Entry 5
+ (long int)0x1.p0,
+ 0x1.0000000000001p-1
+ },
+ { // Entry 6
+ (long int)0x1.p0,
+ 0x1.fffffffffffffp-1
+ },
+ { // Entry 7
+ (long int)0x1.p0,
+ 0x1.0p0
+ },
+ { // Entry 8
+ (long int)0x1.p0,
+ 0x1.0000000000001p0
+ },
+ { // Entry 9
+ (long int)0x1.p0,
+ 0x1.7ffffffffffffp0
+ },
+ { // Entry 10
+ (long int)0x1.p1,
+ 0x1.8p0
+ },
+ { // Entry 11
+ (long int)0x1.p1,
+ 0x1.8000000000001p0
+ },
+ { // Entry 12
+ (long int)0x1.p1,
+ 0x1.fffffffffffffp0
+ },
+ { // Entry 13
+ (long int)0x1.p1,
+ 0x1.0p1
+ },
+ { // Entry 14
+ (long int)0x1.p1,
+ 0x1.0000000000001p1
+ },
+ { // Entry 15
+ (long int)0x1.p1,
+ 0x1.3ffffffffffffp1
+ },
+ { // Entry 16
+ (long int)0x1.p1,
+ 0x1.4p1
+ },
+ { // Entry 17
+ (long int)0x1.80p1,
+ 0x1.4000000000001p1
+ },
+ { // Entry 18
+ (long int)0x1.90p6,
+ 0x1.8ffffffffffffp6
+ },
+ { // Entry 19
+ (long int)0x1.90p6,
+ 0x1.9p6
+ },
+ { // Entry 20
+ (long int)0x1.90p6,
+ 0x1.9000000000001p6
+ },
+ { // Entry 21
+ (long int)0x1.90p6,
+ 0x1.91fffffffffffp6
+ },
+ { // Entry 22
+ (long int)0x1.90p6,
+ 0x1.920p6
+ },
+ { // Entry 23
+ (long int)0x1.94p6,
+ 0x1.9200000000001p6
+ },
+ { // Entry 24
+ (long int)0x1.f4p9,
+ 0x1.f3fffffffffffp9
+ },
+ { // Entry 25
+ (long int)0x1.f4p9,
+ 0x1.f40p9
+ },
+ { // Entry 26
+ (long int)0x1.f4p9,
+ 0x1.f400000000001p9
+ },
+ { // Entry 27
+ (long int)0x1.f4p9,
+ 0x1.f43ffffffffffp9
+ },
+ { // Entry 28
+ (long int)0x1.f4p9,
+ 0x1.f44p9
+ },
+ { // Entry 29
+ (long int)0x1.f480p9,
+ 0x1.f440000000001p9
+ },
+ { // Entry 30
+ (long int)-0x1.p0,
+ -0x1.0000000000001p-1
+ },
+ { // Entry 31
+ (long int)0.0,
+ -0x1.0p-1
+ },
+ { // Entry 32
+ (long int)0.0,
+ -0x1.fffffffffffffp-2
+ },
+ { // Entry 33
+ (long int)-0x1.p0,
+ -0x1.0000000000001p0
+ },
+ { // Entry 34
+ (long int)-0x1.p0,
+ -0x1.0p0
+ },
+ { // Entry 35
+ (long int)-0x1.p0,
+ -0x1.fffffffffffffp-1
+ },
+ { // Entry 36
+ (long int)-0x1.p1,
+ -0x1.8000000000001p0
+ },
+ { // Entry 37
+ (long int)-0x1.p1,
+ -0x1.8p0
+ },
+ { // Entry 38
+ (long int)-0x1.p0,
+ -0x1.7ffffffffffffp0
+ },
+ { // Entry 39
+ (long int)-0x1.p1,
+ -0x1.0000000000001p1
+ },
+ { // Entry 40
+ (long int)-0x1.p1,
+ -0x1.0p1
+ },
+ { // Entry 41
+ (long int)-0x1.p1,
+ -0x1.fffffffffffffp0
+ },
+ { // Entry 42
+ (long int)-0x1.80p1,
+ -0x1.4000000000001p1
+ },
+ { // Entry 43
+ (long int)-0x1.p1,
+ -0x1.4p1
+ },
+ { // Entry 44
+ (long int)-0x1.p1,
+ -0x1.3ffffffffffffp1
+ },
+ { // Entry 45
+ (long int)-0x1.90p6,
+ -0x1.9000000000001p6
+ },
+ { // Entry 46
+ (long int)-0x1.90p6,
+ -0x1.9p6
+ },
+ { // Entry 47
+ (long int)-0x1.90p6,
+ -0x1.8ffffffffffffp6
+ },
+ { // Entry 48
+ (long int)-0x1.94p6,
+ -0x1.9200000000001p6
+ },
+ { // Entry 49
+ (long int)-0x1.90p6,
+ -0x1.920p6
+ },
+ { // Entry 50
+ (long int)-0x1.90p6,
+ -0x1.91fffffffffffp6
+ },
+ { // Entry 51
+ (long int)-0x1.f4p9,
+ -0x1.f400000000001p9
+ },
+ { // Entry 52
+ (long int)-0x1.f4p9,
+ -0x1.f40p9
+ },
+ { // Entry 53
+ (long int)-0x1.f4p9,
+ -0x1.f3fffffffffffp9
+ },
+ { // Entry 54
+ (long int)-0x1.f480p9,
+ -0x1.f440000000001p9
+ },
+ { // Entry 55
+ (long int)-0x1.f4p9,
+ -0x1.f44p9
+ },
+ { // Entry 56
+ (long int)-0x1.f4p9,
+ -0x1.f43ffffffffffp9
+ },
+ { // Entry 57
+ (long int)0x1.p30,
+ 0x1.fffffffffffffp29
+ },
+ { // Entry 58
+ (long int)0x1.p30,
+ 0x1.0p30
+ },
+ { // Entry 59
+ (long int)0x1.p30,
+ 0x1.0000000000001p30
+ },
+ { // Entry 60
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffff7ffffep30
+ },
+ { // Entry 61
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffff7fffffp30
+ },
+ { // Entry 62
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffff80p30
+ },
+ { // Entry 63
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffff800001p30
+ },
+ { // Entry 64
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffff800002p30
+ },
+ { // Entry 65
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffff9ffffep30
+ },
+ { // Entry 66
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffff9fffffp30
+ },
+ { // Entry 67
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffffa0p30
+ },
+ { // Entry 68
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffa00001p30
+ },
+ { // Entry 69
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffa00002p30
+ },
+ { // Entry 70
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffbffffep30
+ },
+ { // Entry 71
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffbfffffp30
+ },
+ { // Entry 72
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffc0p30
+ },
+ { // Entry 73
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffc00001p30
+ },
+ { // Entry 74
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffc00002p30
+ },
+ { // Entry 75
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffdffffep30
+ },
+ { // Entry 76
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffdfffffp30
+ },
+ { // Entry 77
+ (long int)0x1.ffffffe0p30,
+ 0x1.ffffffep30
+ },
+ { // Entry 78
+ (long int)0x1.ffffffe4p30,
+ 0x1.ffffffe40p30
+ },
+ { // Entry 79
+ (long int)0x1.ffffffe8p30,
+ 0x1.ffffffe80p30
+ },
+ { // Entry 80
+ (long int)0x1.ffffffecp30,
+ 0x1.ffffffec0p30
+ },
+ { // Entry 81
+ (long int)0x1.fffffff0p30,
+ 0x1.fffffffp30
+ },
+ { // Entry 82
+ (long int)0x1.fffffff4p30,
+ 0x1.fffffff40p30
+ },
+ { // Entry 83
+ (long int)0x1.fffffff8p30,
+ 0x1.fffffff80p30
+ },
+ { // Entry 84
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffc0p30
+ },
+ { // Entry 85
+ (long int)-0x1.p30,
+ -0x1.0000000000001p30
+ },
+ { // Entry 86
+ (long int)-0x1.p30,
+ -0x1.0p30
+ },
+ { // Entry 87
+ (long int)-0x1.p30,
+ -0x1.fffffffffffffp29
+ },
+ { // Entry 88
+ (long int)-0x1.fffffff8p30,
+ -0x1.fffffff800002p30
+ },
+ { // Entry 89
+ (long int)-0x1.fffffff8p30,
+ -0x1.fffffff800001p30
+ },
+ { // Entry 90
+ (long int)-0x1.fffffff8p30,
+ -0x1.fffffff80p30
+ },
+ { // Entry 91
+ (long int)-0x1.fffffff8p30,
+ -0x1.fffffff7fffffp30
+ },
+ { // Entry 92
+ (long int)-0x1.fffffff8p30,
+ -0x1.fffffff7ffffep30
+ },
+ { // Entry 93
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffa00002p30
+ },
+ { // Entry 94
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffa00001p30
+ },
+ { // Entry 95
+ (long int)-0x1.fffffff8p30,
+ -0x1.fffffffa0p30
+ },
+ { // Entry 96
+ (long int)-0x1.fffffff8p30,
+ -0x1.fffffff9fffffp30
+ },
+ { // Entry 97
+ (long int)-0x1.fffffff8p30,
+ -0x1.fffffff9ffffep30
+ },
+ { // Entry 98
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffc00002p30
+ },
+ { // Entry 99
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffc00001p30
+ },
+ { // Entry 100
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffc0p30
+ },
+ { // Entry 101
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffbfffffp30
+ },
+ { // Entry 102
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffbffffep30
+ },
+ { // Entry 103
+ (long int)-0x1.p31,
+ -0x1.fffffffe00002p30
+ },
+ { // Entry 104
+ (long int)-0x1.p31,
+ -0x1.fffffffe00001p30
+ },
+ { // Entry 105
+ (long int)-0x1.p31,
+ -0x1.fffffffe0p30
+ },
+ { // Entry 106
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffdfffffp30
+ },
+ { // Entry 107
+ (long int)-0x1.fffffffcp30,
+ -0x1.fffffffdffffep30
+ },
+ { // Entry 108
+ (long int)-0x1.p31,
+ -0x1.0000000000002p31
+ },
+ { // Entry 109
+ (long int)-0x1.p31,
+ -0x1.0000000000001p31
+ },
+ { // Entry 110
+ (long int)-0x1.p31,
+ -0x1.0p31
+ },
+ { // Entry 111
+ (long int)-0x1.p31,
+ -0x1.fffffffffffffp30
+ },
+ { // Entry 112
+ (long int)-0x1.p31,
+ -0x1.ffffffffffffep30
+ },
+ { // Entry 113
+ (long int)-0x1.p31,
+ -0x1.000000010p31
+ },
+ { // Entry 114
+ (long int)-0x1.p31,
+ -0x1.00000000fffffp31
+ },
+ { // Entry 115
+ (long int)-0x1.p31,
+ -0x1.00000000ffffep31
+ },
+ { // Entry 116
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 117
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 118
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 119
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 120
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 121
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 122
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 123
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 124
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 125
+ (long int)-0x1.ffffffe0p30,
+ -0x1.ffffffep30
+ },
+ { // Entry 126
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffbfffffp30
+ },
+ { // Entry 127
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffc0p30
+ },
+ { // Entry 128
+ (long int)0x1.fffffffcp30,
+ 0x1.fffffffc00001p30
+ },
+ { // Entry 129
+ (long int)-0x1.p31,
+ -0x1.0000000000001p31
+ },
+ { // Entry 130
+ (long int)-0x1.p31,
+ -0x1.0p31
+ },
+ { // Entry 131
+ (long int)-0x1.p31,
+ -0x1.fffffffffffffp30
+ },
+ { // Entry 132
+ (long int)0x1.p2,
+ 0x1.fffffffffffffp1
+ },
+ { // Entry 133
+ (long int)0x1.p2,
+ 0x1.0p2
+ },
+ { // Entry 134
+ (long int)0x1.p2,
+ 0x1.0000000000001p2
+ },
+ { // Entry 135
+ (long int)0x1.p3,
+ 0x1.fffffffffffffp2
+ },
+ { // Entry 136
+ (long int)0x1.p3,
+ 0x1.0p3
+ },
+ { // Entry 137
+ (long int)0x1.p3,
+ 0x1.0000000000001p3
+ },
+ { // Entry 138
+ (long int)0x1.p4,
+ 0x1.fffffffffffffp3
+ },
+ { // Entry 139
+ (long int)0x1.p4,
+ 0x1.0p4
+ },
+ { // Entry 140
+ (long int)0x1.p4,
+ 0x1.0000000000001p4
+ },
+ { // Entry 141
+ (long int)0x1.p5,
+ 0x1.fffffffffffffp4
+ },
+ { // Entry 142
+ (long int)0x1.p5,
+ 0x1.0p5
+ },
+ { // Entry 143
+ (long int)0x1.p5,
+ 0x1.0000000000001p5
+ },
+ { // Entry 144
+ (long int)0x1.p6,
+ 0x1.fffffffffffffp5
+ },
+ { // Entry 145
+ (long int)0x1.p6,
+ 0x1.0p6
+ },
+ { // Entry 146
+ (long int)0x1.p6,
+ 0x1.0000000000001p6
+ },
+ { // Entry 147
+ (long int)0x1.p7,
+ 0x1.fffffffffffffp6
+ },
+ { // Entry 148
+ (long int)0x1.p7,
+ 0x1.0p7
+ },
+ { // Entry 149
+ (long int)0x1.p7,
+ 0x1.0000000000001p7
+ },
+ { // Entry 150
+ (long int)0x1.p8,
+ 0x1.fffffffffffffp7
+ },
+ { // Entry 151
+ (long int)0x1.p8,
+ 0x1.0p8
+ },
+ { // Entry 152
+ (long int)0x1.p8,
+ 0x1.0000000000001p8
+ },
+ { // Entry 153
+ (long int)0x1.p9,
+ 0x1.fffffffffffffp8
+ },
+ { // Entry 154
+ (long int)0x1.p9,
+ 0x1.0p9
+ },
+ { // Entry 155
+ (long int)0x1.p9,
+ 0x1.0000000000001p9
+ },
+ { // Entry 156
+ (long int)0x1.p10,
+ 0x1.fffffffffffffp9
+ },
+ { // Entry 157
+ (long int)0x1.p10,
+ 0x1.0p10
+ },
+ { // Entry 158
+ (long int)0x1.p10,
+ 0x1.0000000000001p10
+ },
+ { // Entry 159
+ (long int)0x1.p11,
+ 0x1.fffffffffffffp10
+ },
+ { // Entry 160
+ (long int)0x1.p11,
+ 0x1.0p11
+ },
+ { // Entry 161
+ (long int)0x1.p11,
+ 0x1.0000000000001p11
+ },
+ { // Entry 162
+ (long int)0x1.p12,
+ 0x1.fffffffffffffp11
+ },
+ { // Entry 163
+ (long int)0x1.p12,
+ 0x1.0p12
+ },
+ { // Entry 164
+ (long int)0x1.p12,
+ 0x1.0000000000001p12
+ },
+ { // Entry 165
+ (long int)0x1.p2,
+ 0x1.1ffffffffffffp2
+ },
+ { // Entry 166
+ (long int)0x1.p2,
+ 0x1.2p2
+ },
+ { // Entry 167
+ (long int)0x1.40p2,
+ 0x1.2000000000001p2
+ },
+ { // Entry 168
+ (long int)0x1.p3,
+ 0x1.0ffffffffffffp3
+ },
+ { // Entry 169
+ (long int)0x1.p3,
+ 0x1.1p3
+ },
+ { // Entry 170
+ (long int)0x1.20p3,
+ 0x1.1000000000001p3
+ },
+ { // Entry 171
+ (long int)0x1.p4,
+ 0x1.07fffffffffffp4
+ },
+ { // Entry 172
+ (long int)0x1.p4,
+ 0x1.080p4
+ },
+ { // Entry 173
+ (long int)0x1.10p4,
+ 0x1.0800000000001p4
+ },
+ { // Entry 174
+ (long int)0x1.p5,
+ 0x1.03fffffffffffp5
+ },
+ { // Entry 175
+ (long int)0x1.p5,
+ 0x1.040p5
+ },
+ { // Entry 176
+ (long int)0x1.08p5,
+ 0x1.0400000000001p5
+ },
+ { // Entry 177
+ (long int)0x1.p6,
+ 0x1.01fffffffffffp6
+ },
+ { // Entry 178
+ (long int)0x1.p6,
+ 0x1.020p6
+ },
+ { // Entry 179
+ (long int)0x1.04p6,
+ 0x1.0200000000001p6
+ },
+ { // Entry 180
+ (long int)0x1.p7,
+ 0x1.00fffffffffffp7
+ },
+ { // Entry 181
+ (long int)0x1.p7,
+ 0x1.010p7
+ },
+ { // Entry 182
+ (long int)0x1.02p7,
+ 0x1.0100000000001p7
+ },
+ { // Entry 183
+ (long int)0x1.p8,
+ 0x1.007ffffffffffp8
+ },
+ { // Entry 184
+ (long int)0x1.p8,
+ 0x1.008p8
+ },
+ { // Entry 185
+ (long int)0x1.01p8,
+ 0x1.0080000000001p8
+ },
+ { // Entry 186
+ (long int)0x1.p9,
+ 0x1.003ffffffffffp9
+ },
+ { // Entry 187
+ (long int)0x1.p9,
+ 0x1.004p9
+ },
+ { // Entry 188
+ (long int)0x1.0080p9,
+ 0x1.0040000000001p9
+ },
+ { // Entry 189
+ (long int)0x1.p10,
+ 0x1.001ffffffffffp10
+ },
+ { // Entry 190
+ (long int)0x1.p10,
+ 0x1.002p10
+ },
+ { // Entry 191
+ (long int)0x1.0040p10,
+ 0x1.0020000000001p10
+ },
+ { // Entry 192
+ (long int)0x1.0040p10,
+ 0x1.005ffffffffffp10
+ },
+ { // Entry 193
+ (long int)0x1.0080p10,
+ 0x1.006p10
+ },
+ { // Entry 194
+ (long int)0x1.0080p10,
+ 0x1.0060000000001p10
+ },
+ { // Entry 195
+ (long int)0x1.p11,
+ 0x1.000ffffffffffp11
+ },
+ { // Entry 196
+ (long int)0x1.p11,
+ 0x1.001p11
+ },
+ { // Entry 197
+ (long int)0x1.0020p11,
+ 0x1.0010000000001p11
+ },
+ { // Entry 198
+ (long int)0x1.p12,
+ 0x1.0007fffffffffp12
+ },
+ { // Entry 199
+ (long int)0x1.p12,
+ 0x1.00080p12
+ },
+ { // Entry 200
+ (long int)0x1.0010p12,
+ 0x1.0008000000001p12
+ },
+ { // Entry 201
+ (long int)0x1.80p1,
+ 0x1.921fb54442d18p1
+ },
+ { // Entry 202
+ (long int)-0x1.80p1,
+ -0x1.921fb54442d18p1
+ },
+ { // Entry 203
+ (long int)0x1.p1,
+ 0x1.921fb54442d18p0
+ },
+ { // Entry 204
+ (long int)-0x1.p1,
+ -0x1.921fb54442d18p0
+ },
+ { // Entry 205
+ (long int)0x1.p0,
+ 0x1.0000000000001p0
+ },
+ { // Entry 206
+ (long int)-0x1.p0,
+ -0x1.0000000000001p0
+ },
+ { // Entry 207
+ (long int)0x1.p0,
+ 0x1.0p0
+ },
+ { // Entry 208
+ (long int)-0x1.p0,
+ -0x1.0p0
+ },
+ { // Entry 209
+ (long int)0x1.p0,
+ 0x1.fffffffffffffp-1
+ },
+ { // Entry 210
+ (long int)-0x1.p0,
+ -0x1.fffffffffffffp-1
+ },
+ { // Entry 211
+ (long int)0x1.p0,
+ 0x1.921fb54442d18p-1
+ },
+ { // Entry 212
+ (long int)-0x1.p0,
+ -0x1.921fb54442d18p-1
+ },
+ { // Entry 213
+ (long int)0.0,
+ 0x1.0000000000001p-1022
+ },
+ { // Entry 214
+ (long int)0.0,
+ -0x1.0000000000001p-1022
+ },
+ { // Entry 215
+ (long int)0.0,
+ 0x1.0p-1022
+ },
+ { // Entry 216
+ (long int)0.0,
+ -0x1.0p-1022
+ },
+ { // Entry 217
+ (long int)0.0,
+ 0x1.ffffffffffffep-1023
+ },
+ { // Entry 218
+ (long int)0.0,
+ -0x1.ffffffffffffep-1023
+ },
+ { // Entry 219
+ (long int)0.0,
+ 0x1.ffffffffffffcp-1023
+ },
+ { // Entry 220
+ (long int)0.0,
+ -0x1.ffffffffffffcp-1023
+ },
+ { // Entry 221
+ (long int)0.0,
+ 0x1.0p-1073
+ },
+ { // Entry 222
+ (long int)0.0,
+ -0x1.0p-1073
+ },
+ { // Entry 223
+ (long int)0.0,
+ 0x1.0p-1074
+ },
+ { // Entry 224
+ (long int)0.0,
+ -0x1.0p-1074
+ },
+ { // Entry 225
+ (long int)0.0,
+ 0.0
+ },
+ { // Entry 226
+ (long int)0.0,
+ -0.0
+ },
+ { // Entry 227
+ (long int)0x1.p1,
+ 0x1.8p0
+ },
+ { // Entry 228
+ (long int)-0x1.p1,
+ -0x1.8p0
+ },
+ { // Entry 229
+ (long int)0x1.p1,
+ 0x1.4p1
+ },
+ { // Entry 230
+ (long int)-0x1.p1,
+ -0x1.4p1
+ },
+ { // Entry 231
+ (long int)0.0,
+ 0x1.fffffp-2
+ },
+ { // Entry 232
+ (long int)0.0,
+ 0x1.0p-1
+ },
+ { // Entry 233
+ (long int)0x1.p0,
+ 0x1.00001p-1
+ },
+ { // Entry 234
+ (long int)0.0,
+ -0x1.fffffp-2
+ },
+ { // Entry 235
+ (long int)0.0,
+ -0x1.0p-1
+ },
+ { // Entry 236
+ (long int)-0x1.p0,
+ -0x1.00001p-1
+ },
+ { // Entry 237
+ (long int)0x1.p1,
+ 0x1.80001p0
+ },
+ { // Entry 238
+ (long int)0x1.p0,
+ 0x1.7ffffp0
+ },
+ { // Entry 239
+ (long int)-0x1.p1,
+ -0x1.80001p0
+ },
+ { // Entry 240
+ (long int)-0x1.p0,
+ -0x1.7ffffp0
+ }
+};
\ No newline at end of file
diff --git a/tests/math_data/lrintf_intel_data.h b/tests/math_data/lrintf_intel_data.h
new file mode 100644
index 0000000..bd771b2
--- /dev/null
+++ b/tests/math_data/lrintf_intel_data.h
@@ -0,0 +1,1002 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+static data_long_1_t<float> g_lrintf_intel_data[] = {
+ { // Entry 0
+ (long int)0.0,
+ -0x1.p-149
+ },
+ { // Entry 1
+ (long int)0.0,
+ 0.0
+ },
+ { // Entry 2
+ (long int)0.0,
+ 0x1.p-149
+ },
+ { // Entry 3
+ (long int)0.0,
+ 0x1.fffffep-2
+ },
+ { // Entry 4
+ (long int)0.0,
+ 0x1.p-1
+ },
+ { // Entry 5
+ (long int)0x1.p0,
+ 0x1.000002p-1
+ },
+ { // Entry 6
+ (long int)0x1.p0,
+ 0x1.fffffep-1
+ },
+ { // Entry 7
+ (long int)0x1.p0,
+ 0x1.p0
+ },
+ { // Entry 8
+ (long int)0x1.p0,
+ 0x1.000002p0
+ },
+ { // Entry 9
+ (long int)0x1.p0,
+ 0x1.7ffffep0
+ },
+ { // Entry 10
+ (long int)0x1.p1,
+ 0x1.80p0
+ },
+ { // Entry 11
+ (long int)0x1.p1,
+ 0x1.800002p0
+ },
+ { // Entry 12
+ (long int)0x1.p1,
+ 0x1.fffffep0
+ },
+ { // Entry 13
+ (long int)0x1.p1,
+ 0x1.p1
+ },
+ { // Entry 14
+ (long int)0x1.p1,
+ 0x1.000002p1
+ },
+ { // Entry 15
+ (long int)0x1.p1,
+ 0x1.3ffffep1
+ },
+ { // Entry 16
+ (long int)0x1.p1,
+ 0x1.40p1
+ },
+ { // Entry 17
+ (long int)0x1.80p1,
+ 0x1.400002p1
+ },
+ { // Entry 18
+ (long int)0x1.90p6,
+ 0x1.8ffffep6
+ },
+ { // Entry 19
+ (long int)0x1.90p6,
+ 0x1.90p6
+ },
+ { // Entry 20
+ (long int)0x1.90p6,
+ 0x1.900002p6
+ },
+ { // Entry 21
+ (long int)0x1.90p6,
+ 0x1.91fffep6
+ },
+ { // Entry 22
+ (long int)0x1.90p6,
+ 0x1.92p6
+ },
+ { // Entry 23
+ (long int)0x1.94p6,
+ 0x1.920002p6
+ },
+ { // Entry 24
+ (long int)0x1.f4p9,
+ 0x1.f3fffep9
+ },
+ { // Entry 25
+ (long int)0x1.f4p9,
+ 0x1.f4p9
+ },
+ { // Entry 26
+ (long int)0x1.f4p9,
+ 0x1.f40002p9
+ },
+ { // Entry 27
+ (long int)0x1.f4p9,
+ 0x1.f43ffep9
+ },
+ { // Entry 28
+ (long int)0x1.f4p9,
+ 0x1.f440p9
+ },
+ { // Entry 29
+ (long int)0x1.f480p9,
+ 0x1.f44002p9
+ },
+ { // Entry 30
+ (long int)0x1.p21,
+ 0x1.fffffep20
+ },
+ { // Entry 31
+ (long int)0x1.p21,
+ 0x1.p21
+ },
+ { // Entry 32
+ (long int)0x1.p21,
+ 0x1.000002p21
+ },
+ { // Entry 33
+ (long int)0x1.p22,
+ 0x1.fffffep21
+ },
+ { // Entry 34
+ (long int)0x1.p22,
+ 0x1.p22
+ },
+ { // Entry 35
+ (long int)0x1.p22,
+ 0x1.000002p22
+ },
+ { // Entry 36
+ (long int)0x1.p23,
+ 0x1.fffffep22
+ },
+ { // Entry 37
+ (long int)0x1.p23,
+ 0x1.p23
+ },
+ { // Entry 38
+ (long int)0x1.000002p23,
+ 0x1.000002p23
+ },
+ { // Entry 39
+ (long int)0x1.fffffep23,
+ 0x1.fffffep23
+ },
+ { // Entry 40
+ (long int)0x1.p24,
+ 0x1.p24
+ },
+ { // Entry 41
+ (long int)0x1.000002p24,
+ 0x1.000002p24
+ },
+ { // Entry 42
+ (long int)0x1.fffffep24,
+ 0x1.fffffep24
+ },
+ { // Entry 43
+ (long int)0x1.p25,
+ 0x1.p25
+ },
+ { // Entry 44
+ (long int)0x1.000002p25,
+ 0x1.000002p25
+ },
+ { // Entry 45
+ (long int)-0x1.p0,
+ -0x1.000002p-1
+ },
+ { // Entry 46
+ (long int)0.0,
+ -0x1.p-1
+ },
+ { // Entry 47
+ (long int)0.0,
+ -0x1.fffffep-2
+ },
+ { // Entry 48
+ (long int)-0x1.p0,
+ -0x1.000002p0
+ },
+ { // Entry 49
+ (long int)-0x1.p0,
+ -0x1.p0
+ },
+ { // Entry 50
+ (long int)-0x1.p0,
+ -0x1.fffffep-1
+ },
+ { // Entry 51
+ (long int)-0x1.p1,
+ -0x1.800002p0
+ },
+ { // Entry 52
+ (long int)-0x1.p1,
+ -0x1.80p0
+ },
+ { // Entry 53
+ (long int)-0x1.p0,
+ -0x1.7ffffep0
+ },
+ { // Entry 54
+ (long int)-0x1.p1,
+ -0x1.000002p1
+ },
+ { // Entry 55
+ (long int)-0x1.p1,
+ -0x1.p1
+ },
+ { // Entry 56
+ (long int)-0x1.p1,
+ -0x1.fffffep0
+ },
+ { // Entry 57
+ (long int)-0x1.80p1,
+ -0x1.400002p1
+ },
+ { // Entry 58
+ (long int)-0x1.p1,
+ -0x1.40p1
+ },
+ { // Entry 59
+ (long int)-0x1.p1,
+ -0x1.3ffffep1
+ },
+ { // Entry 60
+ (long int)-0x1.90p6,
+ -0x1.900002p6
+ },
+ { // Entry 61
+ (long int)-0x1.90p6,
+ -0x1.90p6
+ },
+ { // Entry 62
+ (long int)-0x1.90p6,
+ -0x1.8ffffep6
+ },
+ { // Entry 63
+ (long int)-0x1.94p6,
+ -0x1.920002p6
+ },
+ { // Entry 64
+ (long int)-0x1.90p6,
+ -0x1.92p6
+ },
+ { // Entry 65
+ (long int)-0x1.90p6,
+ -0x1.91fffep6
+ },
+ { // Entry 66
+ (long int)-0x1.f4p9,
+ -0x1.f40002p9
+ },
+ { // Entry 67
+ (long int)-0x1.f4p9,
+ -0x1.f4p9
+ },
+ { // Entry 68
+ (long int)-0x1.f4p9,
+ -0x1.f3fffep9
+ },
+ { // Entry 69
+ (long int)-0x1.f480p9,
+ -0x1.f44002p9
+ },
+ { // Entry 70
+ (long int)-0x1.f4p9,
+ -0x1.f440p9
+ },
+ { // Entry 71
+ (long int)-0x1.f4p9,
+ -0x1.f43ffep9
+ },
+ { // Entry 72
+ (long int)-0x1.p21,
+ -0x1.000002p21
+ },
+ { // Entry 73
+ (long int)-0x1.p21,
+ -0x1.p21
+ },
+ { // Entry 74
+ (long int)-0x1.p21,
+ -0x1.fffffep20
+ },
+ { // Entry 75
+ (long int)-0x1.p22,
+ -0x1.000002p22
+ },
+ { // Entry 76
+ (long int)-0x1.p22,
+ -0x1.p22
+ },
+ { // Entry 77
+ (long int)-0x1.p22,
+ -0x1.fffffep21
+ },
+ { // Entry 78
+ (long int)-0x1.000002p23,
+ -0x1.000002p23
+ },
+ { // Entry 79
+ (long int)-0x1.p23,
+ -0x1.p23
+ },
+ { // Entry 80
+ (long int)-0x1.p23,
+ -0x1.fffffep22
+ },
+ { // Entry 81
+ (long int)-0x1.000002p24,
+ -0x1.000002p24
+ },
+ { // Entry 82
+ (long int)-0x1.p24,
+ -0x1.p24
+ },
+ { // Entry 83
+ (long int)-0x1.fffffep23,
+ -0x1.fffffep23
+ },
+ { // Entry 84
+ (long int)-0x1.000002p25,
+ -0x1.000002p25
+ },
+ { // Entry 85
+ (long int)-0x1.p25,
+ -0x1.p25
+ },
+ { // Entry 86
+ (long int)-0x1.fffffep24,
+ -0x1.fffffep24
+ },
+ { // Entry 87
+ (long int)0x1.fffffep29,
+ 0x1.fffffep29
+ },
+ { // Entry 88
+ (long int)0x1.p30,
+ 0x1.p30
+ },
+ { // Entry 89
+ (long int)0x1.000002p30,
+ 0x1.000002p30
+ },
+ { // Entry 90
+ (long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 91
+ (long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 92
+ (long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 93
+ (long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 94
+ (long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 95
+ (long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 96
+ (long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 97
+ (long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 98
+ (long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 99
+ (long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 100
+ (long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 101
+ (long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 102
+ (long int)-0x1.000002p30,
+ -0x1.000002p30
+ },
+ { // Entry 103
+ (long int)-0x1.p30,
+ -0x1.p30
+ },
+ { // Entry 104
+ (long int)-0x1.fffffep29,
+ -0x1.fffffep29
+ },
+ { // Entry 105
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 106
+ (long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 107
+ (long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 108
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 109
+ (long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 110
+ (long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 111
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 112
+ (long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 113
+ (long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 114
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 115
+ (long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 116
+ (long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 117
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 118
+ (long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 119
+ (long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 120
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 121
+ (long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 122
+ (long int)-0x1.fffffcp30,
+ -0x1.fffffcp30
+ },
+ { // Entry 123
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 124
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 125
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 126
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 127
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 128
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 129
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 130
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 131
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 132
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 133
+ (long int)0x1.fffffcp30,
+ 0x1.fffffcp30
+ },
+ { // Entry 134
+ (long int)0x1.fffffep30,
+ 0x1.fffffep30
+ },
+ { // Entry 135
+ (long int)-0x1.p31,
+ -0x1.p31
+ },
+ { // Entry 136
+ (long int)-0x1.fffffep30,
+ -0x1.fffffep30
+ },
+ { // Entry 137
+ (long int)0x1.p2,
+ 0x1.fffffep1
+ },
+ { // Entry 138
+ (long int)0x1.p2,
+ 0x1.p2
+ },
+ { // Entry 139
+ (long int)0x1.p2,
+ 0x1.000002p2
+ },
+ { // Entry 140
+ (long int)0x1.p3,
+ 0x1.fffffep2
+ },
+ { // Entry 141
+ (long int)0x1.p3,
+ 0x1.p3
+ },
+ { // Entry 142
+ (long int)0x1.p3,
+ 0x1.000002p3
+ },
+ { // Entry 143
+ (long int)0x1.p4,
+ 0x1.fffffep3
+ },
+ { // Entry 144
+ (long int)0x1.p4,
+ 0x1.p4
+ },
+ { // Entry 145
+ (long int)0x1.p4,
+ 0x1.000002p4
+ },
+ { // Entry 146
+ (long int)0x1.p5,
+ 0x1.fffffep4
+ },
+ { // Entry 147
+ (long int)0x1.p5,
+ 0x1.p5
+ },
+ { // Entry 148
+ (long int)0x1.p5,
+ 0x1.000002p5
+ },
+ { // Entry 149
+ (long int)0x1.p6,
+ 0x1.fffffep5
+ },
+ { // Entry 150
+ (long int)0x1.p6,
+ 0x1.p6
+ },
+ { // Entry 151
+ (long int)0x1.p6,
+ 0x1.000002p6
+ },
+ { // Entry 152
+ (long int)0x1.p7,
+ 0x1.fffffep6
+ },
+ { // Entry 153
+ (long int)0x1.p7,
+ 0x1.p7
+ },
+ { // Entry 154
+ (long int)0x1.p7,
+ 0x1.000002p7
+ },
+ { // Entry 155
+ (long int)0x1.p8,
+ 0x1.fffffep7
+ },
+ { // Entry 156
+ (long int)0x1.p8,
+ 0x1.p8
+ },
+ { // Entry 157
+ (long int)0x1.p8,
+ 0x1.000002p8
+ },
+ { // Entry 158
+ (long int)0x1.p9,
+ 0x1.fffffep8
+ },
+ { // Entry 159
+ (long int)0x1.p9,
+ 0x1.p9
+ },
+ { // Entry 160
+ (long int)0x1.p9,
+ 0x1.000002p9
+ },
+ { // Entry 161
+ (long int)0x1.p10,
+ 0x1.fffffep9
+ },
+ { // Entry 162
+ (long int)0x1.p10,
+ 0x1.p10
+ },
+ { // Entry 163
+ (long int)0x1.p10,
+ 0x1.000002p10
+ },
+ { // Entry 164
+ (long int)0x1.p11,
+ 0x1.fffffep10
+ },
+ { // Entry 165
+ (long int)0x1.p11,
+ 0x1.p11
+ },
+ { // Entry 166
+ (long int)0x1.p11,
+ 0x1.000002p11
+ },
+ { // Entry 167
+ (long int)0x1.p12,
+ 0x1.fffffep11
+ },
+ { // Entry 168
+ (long int)0x1.p12,
+ 0x1.p12
+ },
+ { // Entry 169
+ (long int)0x1.p12,
+ 0x1.000002p12
+ },
+ { // Entry 170
+ (long int)0x1.p2,
+ 0x1.1ffffep2
+ },
+ { // Entry 171
+ (long int)0x1.p2,
+ 0x1.20p2
+ },
+ { // Entry 172
+ (long int)0x1.40p2,
+ 0x1.200002p2
+ },
+ { // Entry 173
+ (long int)0x1.p3,
+ 0x1.0ffffep3
+ },
+ { // Entry 174
+ (long int)0x1.p3,
+ 0x1.10p3
+ },
+ { // Entry 175
+ (long int)0x1.20p3,
+ 0x1.100002p3
+ },
+ { // Entry 176
+ (long int)0x1.p4,
+ 0x1.07fffep4
+ },
+ { // Entry 177
+ (long int)0x1.p4,
+ 0x1.08p4
+ },
+ { // Entry 178
+ (long int)0x1.10p4,
+ 0x1.080002p4
+ },
+ { // Entry 179
+ (long int)0x1.p5,
+ 0x1.03fffep5
+ },
+ { // Entry 180
+ (long int)0x1.p5,
+ 0x1.04p5
+ },
+ { // Entry 181
+ (long int)0x1.08p5,
+ 0x1.040002p5
+ },
+ { // Entry 182
+ (long int)0x1.p6,
+ 0x1.01fffep6
+ },
+ { // Entry 183
+ (long int)0x1.p6,
+ 0x1.02p6
+ },
+ { // Entry 184
+ (long int)0x1.04p6,
+ 0x1.020002p6
+ },
+ { // Entry 185
+ (long int)0x1.p7,
+ 0x1.00fffep7
+ },
+ { // Entry 186
+ (long int)0x1.p7,
+ 0x1.01p7
+ },
+ { // Entry 187
+ (long int)0x1.02p7,
+ 0x1.010002p7
+ },
+ { // Entry 188
+ (long int)0x1.p8,
+ 0x1.007ffep8
+ },
+ { // Entry 189
+ (long int)0x1.p8,
+ 0x1.0080p8
+ },
+ { // Entry 190
+ (long int)0x1.01p8,
+ 0x1.008002p8
+ },
+ { // Entry 191
+ (long int)0x1.p9,
+ 0x1.003ffep9
+ },
+ { // Entry 192
+ (long int)0x1.p9,
+ 0x1.0040p9
+ },
+ { // Entry 193
+ (long int)0x1.0080p9,
+ 0x1.004002p9
+ },
+ { // Entry 194
+ (long int)0x1.p10,
+ 0x1.001ffep10
+ },
+ { // Entry 195
+ (long int)0x1.p10,
+ 0x1.0020p10
+ },
+ { // Entry 196
+ (long int)0x1.0040p10,
+ 0x1.002002p10
+ },
+ { // Entry 197
+ (long int)0x1.0040p10,
+ 0x1.005ffep10
+ },
+ { // Entry 198
+ (long int)0x1.0080p10,
+ 0x1.0060p10
+ },
+ { // Entry 199
+ (long int)0x1.0080p10,
+ 0x1.006002p10
+ },
+ { // Entry 200
+ (long int)0x1.p11,
+ 0x1.000ffep11
+ },
+ { // Entry 201
+ (long int)0x1.p11,
+ 0x1.0010p11
+ },
+ { // Entry 202
+ (long int)0x1.0020p11,
+ 0x1.001002p11
+ },
+ { // Entry 203
+ (long int)0x1.p12,
+ 0x1.0007fep12
+ },
+ { // Entry 204
+ (long int)0x1.p12,
+ 0x1.0008p12
+ },
+ { // Entry 205
+ (long int)0x1.0010p12,
+ 0x1.000802p12
+ },
+ { // Entry 206
+ (long int)0x1.80p1,
+ 0x1.921fb6p1
+ },
+ { // Entry 207
+ (long int)-0x1.80p1,
+ -0x1.921fb6p1
+ },
+ { // Entry 208
+ (long int)0x1.p1,
+ 0x1.921fb6p0
+ },
+ { // Entry 209
+ (long int)-0x1.p1,
+ -0x1.921fb6p0
+ },
+ { // Entry 210
+ (long int)0x1.p0,
+ 0x1.000002p0
+ },
+ { // Entry 211
+ (long int)-0x1.p0,
+ -0x1.000002p0
+ },
+ { // Entry 212
+ (long int)0x1.p0,
+ 0x1.p0
+ },
+ { // Entry 213
+ (long int)-0x1.p0,
+ -0x1.p0
+ },
+ { // Entry 214
+ (long int)0x1.p0,
+ 0x1.fffffep-1
+ },
+ { // Entry 215
+ (long int)-0x1.p0,
+ -0x1.fffffep-1
+ },
+ { // Entry 216
+ (long int)0x1.p0,
+ 0x1.921fb6p-1
+ },
+ { // Entry 217
+ (long int)-0x1.p0,
+ -0x1.921fb6p-1
+ },
+ { // Entry 218
+ (long int)0.0,
+ 0x1.000002p-126
+ },
+ { // Entry 219
+ (long int)0.0,
+ -0x1.000002p-126
+ },
+ { // Entry 220
+ (long int)0.0,
+ 0x1.p-126
+ },
+ { // Entry 221
+ (long int)0.0,
+ -0x1.p-126
+ },
+ { // Entry 222
+ (long int)0.0,
+ 0x1.fffffcp-127
+ },
+ { // Entry 223
+ (long int)0.0,
+ -0x1.fffffcp-127
+ },
+ { // Entry 224
+ (long int)0.0,
+ 0x1.fffff8p-127
+ },
+ { // Entry 225
+ (long int)0.0,
+ -0x1.fffff8p-127
+ },
+ { // Entry 226
+ (long int)0.0,
+ 0x1.p-148
+ },
+ { // Entry 227
+ (long int)0.0,
+ -0x1.p-148
+ },
+ { // Entry 228
+ (long int)0.0,
+ 0x1.p-149
+ },
+ { // Entry 229
+ (long int)0.0,
+ -0x1.p-149
+ },
+ { // Entry 230
+ (long int)0.0,
+ 0.0f
+ },
+ { // Entry 231
+ (long int)0.0,
+ -0.0f
+ },
+ { // Entry 232
+ (long int)0x1.p1,
+ 0x1.80p0
+ },
+ { // Entry 233
+ (long int)-0x1.p1,
+ -0x1.80p0
+ },
+ { // Entry 234
+ (long int)0x1.p1,
+ 0x1.40p1
+ },
+ { // Entry 235
+ (long int)-0x1.p1,
+ -0x1.40p1
+ },
+ { // Entry 236
+ (long int)0.0,
+ 0x1.fffff0p-2
+ },
+ { // Entry 237
+ (long int)0.0,
+ 0x1.p-1
+ },
+ { // Entry 238
+ (long int)0x1.p0,
+ 0x1.000010p-1
+ },
+ { // Entry 239
+ (long int)0.0,
+ -0x1.fffff0p-2
+ },
+ { // Entry 240
+ (long int)0.0,
+ -0x1.p-1
+ },
+ { // Entry 241
+ (long int)-0x1.p0,
+ -0x1.000010p-1
+ },
+ { // Entry 242
+ (long int)0x1.p1,
+ 0x1.800010p0
+ },
+ { // Entry 243
+ (long int)0x1.p0,
+ 0x1.7ffff0p0
+ },
+ { // Entry 244
+ (long int)-0x1.p1,
+ -0x1.800010p0
+ },
+ { // Entry 245
+ (long int)-0x1.p0,
+ -0x1.7ffff0p0
+ }
+};
\ No newline at end of file
diff --git a/tests/math_data_test.h b/tests/math_data_test.h
index 8aa2bf1..0aba701 100644
--- a/tests/math_data_test.h
+++ b/tests/math_data_test.h
@@ -30,6 +30,18 @@
T1 input;
};
+template <typename T1>
+struct data_long_1_t {
+ long expected;
+ T1 input;
+};
+
+template <typename T1>
+struct data_llong_1_t {
+ long long expected;
+ T1 input;
+};
+
template <typename RT, typename T1, typename T2>
struct data_1_2_t {
RT expected;
@@ -157,6 +169,28 @@
}
}
+// Runs through the array 'data' applying 'f' to each of the input values
+// and asserting that the result is within ULP ulps of the expected value.
+// For testing a (double) -> long int function like lrint(3).
+template <size_t ULP, typename T, size_t N>
+void DoMathDataTest(data_long_1_t<T> (&data)[N], long f(T)) {
+ fesetenv(FE_DFL_ENV);
+ for (size_t i = 0; i < N; ++i) {
+ EXPECT_EQ(data[i].expected, f(data[i].input)) << "Failed on element " << i;
+ }
+}
+
+// Runs through the array 'data' applying 'f' to each of the input values
+// and asserting that the result is within ULP ulps of the expected value.
+// For testing a (double) -> long long int function like llrint(3).
+template <size_t ULP, typename T, size_t N>
+void DoMathDataTest(data_llong_1_t<T> (&data)[N], long long f(T)) {
+ fesetenv(FE_DFL_ENV);
+ for (size_t i = 0; i < N; ++i) {
+ EXPECT_EQ(data[i].expected, f(data[i].input)) << "Failed on element " << i;
+ }
+}
+
// Runs through the array 'data' applying 'f' to each of the pairs of input values
// and asserting that the result is within ULP ulps of the expected value.
// For testing a (double, double) -> double function like pow(3).
diff --git a/tests/math_test.cpp b/tests/math_test.cpp
index e616e9b..c805cc2 100644
--- a/tests/math_test.cpp
+++ b/tests/math_test.cpp
@@ -1639,6 +1639,16 @@
DoMathDataTest<1>(g_ldexpf_intel_data, ldexpf);
}
+#include "math_data/llrint_intel_data.h"
+TEST(math, llrint_intel) {
+ DoMathDataTest<1>(g_llrint_intel_data, llrint);
+}
+
+#include "math_data/llrintf_intel_data.h"
+TEST(math, llrintf_intel) {
+ DoMathDataTest<1>(g_llrintf_intel_data, llrintf);
+}
+
#include "math_data/log_intel_data.h"
TEST(math, log_intel) {
DoMathDataTest<1>(g_log_intel_data, log);
@@ -1689,6 +1699,16 @@
DoMathDataTest<1>(g_logbf_intel_data, logbf);
}
+#include "math_data/lrint_intel_data.h"
+TEST(math, lrint_intel) {
+ DoMathDataTest<1>(g_lrint_intel_data, lrint);
+}
+
+#include "math_data/lrintf_intel_data.h"
+TEST(math, lrintf_intel) {
+ DoMathDataTest<1>(g_lrintf_intel_data, lrintf);
+}
+
#include "math_data/modf_intel_data.h"
TEST(math, modf_intel) {
DoMathDataTest<1>(g_modf_intel_data, modf);