Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: third_party/WebKit/Source/wtf/MathExtrasTest.cpp

Issue 1611343002: wtf reformat test Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pydent Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Intel Corporation 2 * Copyright (C) 2012 Intel Corporation
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 11 matching lines...) Expand all
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE. 23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #include "wtf/MathExtras.h" 26 #include "wtf/MathExtras.h"
27 27
28 #include "testing/gtest/include/gtest/gtest.h" 28 #include "testing/gtest/include/gtest/gtest.h"
29 29
30 namespace WTF { 30 namespace WTF {
31 31
32 TEST(MathExtrasTest, Lrint) 32 TEST(MathExtrasTest, Lrint) {
33 { 33 EXPECT_EQ(-8, lrint(-7.5));
34 EXPECT_EQ(-8, lrint(-7.5)); 34 EXPECT_EQ(-8, lrint(-8.5));
35 EXPECT_EQ(-8, lrint(-8.5)); 35 EXPECT_EQ(0, lrint(-0.5));
36 EXPECT_EQ(0, lrint(-0.5)); 36 EXPECT_EQ(0, lrint(0.5));
37 EXPECT_EQ(0, lrint(0.5)); 37 EXPECT_EQ(0, lrint(-0.5));
38 EXPECT_EQ(0, lrint(-0.5)); 38 EXPECT_EQ(1, lrint(1.3));
39 EXPECT_EQ(1, lrint(1.3)); 39 EXPECT_EQ(2, lrint(1.7));
40 EXPECT_EQ(2, lrint(1.7)); 40 EXPECT_EQ(0, lrint(0));
41 EXPECT_EQ(0, lrint(0)); 41 EXPECT_EQ(0, lrint(-0));
42 EXPECT_EQ(0, lrint(-0)); 42 if (sizeof(long int) == 8) {
43 if (sizeof(long int) == 8) { 43 // Largest double number with 0.5 precision and one halfway rounding case be low.
44 // Largest double number with 0.5 precision and one halfway rounding cas e below. 44 EXPECT_EQ(pow(2.0, 52), lrint(pow(2.0, 52) - 0.5));
45 EXPECT_EQ(pow(2.0, 52), lrint(pow(2.0, 52) - 0.5)); 45 EXPECT_EQ(pow(2.0, 52) - 2, lrint(pow(2.0, 52) - 1.5));
46 EXPECT_EQ(pow(2.0, 52) - 2, lrint(pow(2.0, 52) - 1.5)); 46 // Smallest double number with 0.5 precision and one halfway rounding case a bove.
47 // Smallest double number with 0.5 precision and one halfway rounding ca se above. 47 EXPECT_EQ(-pow(2.0, 52), lrint(-pow(2.0, 52) + 0.5));
48 EXPECT_EQ(-pow(2.0, 52), lrint(-pow(2.0, 52) + 0.5)); 48 EXPECT_EQ(-pow(2.0, 52) + 2, lrint(-pow(2.0, 52) + 1.5));
49 EXPECT_EQ(-pow(2.0, 52) + 2, lrint(-pow(2.0, 52) + 1.5)); 49 }
50 } 50 }
51 } 51
52 52 TEST(MathExtrasTest, clampToIntLong) {
53 TEST(MathExtrasTest, clampToIntLong) 53 if (sizeof(long) == sizeof(int))
54 { 54 return;
55 if (sizeof(long) == sizeof(int)) 55
56 return; 56 long maxInt = std::numeric_limits<int>::max();
57 57 long minInt = std::numeric_limits<int>::min();
58 long maxInt = std::numeric_limits<int>::max(); 58 long overflowInt = maxInt + 1;
59 long minInt = std::numeric_limits<int>::min(); 59 long underflowInt = minInt - 1;
60 long overflowInt = maxInt + 1; 60
61 long underflowInt = minInt - 1; 61 EXPECT_GT(overflowInt, maxInt);
62 62 EXPECT_LT(underflowInt, minInt);
63 EXPECT_GT(overflowInt, maxInt); 63
64 EXPECT_LT(underflowInt, minInt); 64 EXPECT_EQ(maxInt, clampTo<int>(maxInt));
65 65 EXPECT_EQ(minInt, clampTo<int>(minInt));
66 EXPECT_EQ(maxInt, clampTo<int>(maxInt)); 66
67 EXPECT_EQ(minInt, clampTo<int>(minInt)); 67 EXPECT_EQ(maxInt, clampTo<int>(overflowInt));
68 68 EXPECT_EQ(minInt, clampTo<int>(underflowInt));
69 EXPECT_EQ(maxInt, clampTo<int>(overflowInt)); 69 }
70 EXPECT_EQ(minInt, clampTo<int>(underflowInt)); 70
71 } 71 TEST(MathExtrasTest, clampToIntLongLong) {
72 72 long long maxInt = std::numeric_limits<int>::max();
73 TEST(MathExtrasTest, clampToIntLongLong) 73 long long minInt = std::numeric_limits<int>::min();
74 { 74 long long overflowInt = maxInt + 1;
75 long long maxInt = std::numeric_limits<int>::max(); 75 long long underflowInt = minInt - 1;
76 long long minInt = std::numeric_limits<int>::min(); 76
77 long long overflowInt = maxInt + 1; 77 EXPECT_GT(overflowInt, maxInt);
78 long long underflowInt = minInt - 1; 78 EXPECT_LT(underflowInt, minInt);
79 79
80 EXPECT_GT(overflowInt, maxInt); 80 EXPECT_EQ(maxInt, clampTo<int>(maxInt));
81 EXPECT_LT(underflowInt, minInt); 81 EXPECT_EQ(minInt, clampTo<int>(minInt));
82 82
83 EXPECT_EQ(maxInt, clampTo<int>(maxInt)); 83 EXPECT_EQ(maxInt, clampTo<int>(overflowInt));
84 EXPECT_EQ(minInt, clampTo<int>(minInt)); 84 EXPECT_EQ(minInt, clampTo<int>(underflowInt));
85 85 }
86 EXPECT_EQ(maxInt, clampTo<int>(overflowInt)); 86
87 EXPECT_EQ(minInt, clampTo<int>(underflowInt)); 87 TEST(MathExtrasTest, clampToIntFloat) {
88 } 88 float maxInt = static_cast<float>(std::numeric_limits<int>::max());
89 89 float minInt = static_cast<float>(std::numeric_limits<int>::min());
90 TEST(MathExtrasTest, clampToIntFloat) 90 float overflowInt = maxInt * 1.1f;
91 { 91 float underflowInt = minInt * 1.1f;
92 float maxInt = static_cast<float>(std::numeric_limits<int>::max()); 92
93 float minInt = static_cast<float>(std::numeric_limits<int>::min()); 93 EXPECT_GT(overflowInt, maxInt);
94 float overflowInt = maxInt * 1.1f; 94 EXPECT_LT(underflowInt, minInt);
95 float underflowInt = minInt * 1.1f; 95
96 96 EXPECT_EQ(maxInt, clampTo<int>(maxInt));
97 EXPECT_GT(overflowInt, maxInt); 97 EXPECT_EQ(minInt, clampTo<int>(minInt));
98 EXPECT_LT(underflowInt, minInt); 98
99 99 EXPECT_EQ(maxInt, clampTo<int>(overflowInt));
100 EXPECT_EQ(maxInt, clampTo<int>(maxInt)); 100 EXPECT_EQ(minInt, clampTo<int>(underflowInt));
101 EXPECT_EQ(minInt, clampTo<int>(minInt)); 101
102 102 // This value and the value one greater are typically represented the same
103 EXPECT_EQ(maxInt, clampTo<int>(overflowInt)); 103 // way when stored in a 32-bit float. Make sure clamping does not cause us
104 EXPECT_EQ(minInt, clampTo<int>(underflowInt)); 104 // to erroneously jump to the larger value.
105 105 int nearFloatPrecisionLimit = 2147483520;
106 // This value and the value one greater are typically represented the same 106 EXPECT_EQ(nearFloatPrecisionLimit,
107 // way when stored in a 32-bit float. Make sure clamping does not cause us 107 clampTo<int>(static_cast<float>(nearFloatPrecisionLimit), 0,
108 // to erroneously jump to the larger value. 108 nearFloatPrecisionLimit + 1));
109 int nearFloatPrecisionLimit = 2147483520; 109 EXPECT_EQ(-nearFloatPrecisionLimit,
110 EXPECT_EQ(nearFloatPrecisionLimit, clampTo<int>(static_cast<float>(nearFloat PrecisionLimit), 0, nearFloatPrecisionLimit + 1)); 110 clampTo<int>(static_cast<float>(-nearFloatPrecisionLimit),
111 EXPECT_EQ(-nearFloatPrecisionLimit, clampTo<int>(static_cast<float>(-nearFlo atPrecisionLimit), -nearFloatPrecisionLimit - 1, 0)); 111 -nearFloatPrecisionLimit - 1, 0));
112 } 112 }
113 113
114 TEST(MathExtrasTest, clampToIntDouble) 114 TEST(MathExtrasTest, clampToIntDouble) {
115 { 115 int maxInt = std::numeric_limits<int>::max();
116 int maxInt = std::numeric_limits<int>::max(); 116 int minInt = std::numeric_limits<int>::min();
117 int minInt = std::numeric_limits<int>::min(); 117 double almostOverflowInt = maxInt - 0.5;
118 double almostOverflowInt = maxInt - 0.5; 118 double overflowInt = maxInt + 0.5;
119 double overflowInt = maxInt + 0.5; 119 double almostUnderflowInt = minInt + 0.5;
120 double almostUnderflowInt = minInt + 0.5; 120 double underflowInt = minInt - 0.5;
121 double underflowInt = minInt - 0.5; 121
122 122 EXPECT_LT(almostOverflowInt, maxInt);
123 EXPECT_LT(almostOverflowInt, maxInt); 123 EXPECT_GT(overflowInt, maxInt);
124 EXPECT_GT(overflowInt, maxInt); 124 EXPECT_GT(almostUnderflowInt, minInt);
125 EXPECT_GT(almostUnderflowInt, minInt); 125 EXPECT_LT(underflowInt, minInt);
126 EXPECT_LT(underflowInt, minInt); 126
127 127 EXPECT_EQ(maxInt, clampTo<int>(static_cast<double>(maxInt)));
128 EXPECT_EQ(maxInt, clampTo<int>(static_cast<double>(maxInt))); 128 EXPECT_EQ(minInt, clampTo<int>(static_cast<double>(minInt)));
129 EXPECT_EQ(minInt, clampTo<int>(static_cast<double>(minInt))); 129
130 130 EXPECT_EQ(maxInt - 1, clampTo<int>(almostOverflowInt));
131 EXPECT_EQ(maxInt - 1, clampTo<int>(almostOverflowInt)); 131 EXPECT_EQ(maxInt, clampTo<int>(overflowInt));
132 EXPECT_EQ(maxInt, clampTo<int>(overflowInt)); 132 EXPECT_EQ(minInt + 1, clampTo<int>(almostUnderflowInt));
133 EXPECT_EQ(minInt + 1, clampTo<int>(almostUnderflowInt)); 133 EXPECT_EQ(minInt, clampTo<int>(underflowInt));
134 EXPECT_EQ(minInt, clampTo<int>(underflowInt)); 134 }
135 } 135
136 136 TEST(MathExtrasTest, clampToFloatDouble) {
137 TEST(MathExtrasTest, clampToFloatDouble) 137 double maxFloat = std::numeric_limits<float>::max();
138 { 138 double minFloat = -maxFloat;
139 double maxFloat = std::numeric_limits<float>::max(); 139 double overflowFloat = maxFloat * 1.1;
140 double minFloat = -maxFloat; 140 double underflowFloat = minFloat * 1.1;
141 double overflowFloat = maxFloat * 1.1; 141
142 double underflowFloat = minFloat * 1.1; 142 EXPECT_GT(overflowFloat, maxFloat);
143 143 EXPECT_LT(underflowFloat, minFloat);
144 EXPECT_GT(overflowFloat, maxFloat); 144
145 EXPECT_LT(underflowFloat, minFloat); 145 EXPECT_EQ(maxFloat, clampTo<float>(maxFloat));
146 146 EXPECT_EQ(minFloat, clampTo<float>(minFloat));
147 EXPECT_EQ(maxFloat, clampTo<float>(maxFloat)); 147
148 EXPECT_EQ(minFloat, clampTo<float>(minFloat)); 148 EXPECT_EQ(maxFloat, clampTo<float>(overflowFloat));
149 149 EXPECT_EQ(minFloat, clampTo<float>(underflowFloat));
150 EXPECT_EQ(maxFloat, clampTo<float>(overflowFloat)); 150
151 EXPECT_EQ(minFloat, clampTo<float>(underflowFloat)); 151 EXPECT_EQ(maxFloat, clampTo<float>(std::numeric_limits<float>::infinity()));
152 152 EXPECT_EQ(minFloat, clampTo<float>(-std::numeric_limits<float>::infinity()));
153 EXPECT_EQ(maxFloat, clampTo<float>(std::numeric_limits<float>::infinity())); 153 }
154 EXPECT_EQ(minFloat, clampTo<float>(-std::numeric_limits<float>::infinity())) ; 154
155 } 155 TEST(MathExtrasTest, clampToDouble) {
156 156 EXPECT_EQ(0.0, clampTo<double>(0));
157 TEST(MathExtrasTest, clampToDouble) 157 EXPECT_EQ(0.0, clampTo<double>(0.0f));
158 { 158 EXPECT_EQ(0.0, clampTo<double>(0ULL));
159 EXPECT_EQ(0.0, clampTo<double>(0)); 159 EXPECT_EQ(3.5, clampTo<double>(std::numeric_limits<unsigned long long>::max(),
160 EXPECT_EQ(0.0, clampTo<double>(0.0f)); 160 0.0, 3.5));
161 EXPECT_EQ(0.0, clampTo<double>(0ULL)); 161 }
162 EXPECT_EQ(3.5, clampTo<double>(std::numeric_limits<unsigned long long>::max( ), 0.0, 3.5)); 162
163 } 163 TEST(MathExtrasText, clampToLongLongDouble) {
164 164 double overflowLL =
165 TEST(MathExtrasText, clampToLongLongDouble) 165 static_cast<double>(std::numeric_limits<long long>::max()) * 2;
166 { 166 EXPECT_EQ(std::numeric_limits<long long>::max(),
167 double overflowLL = static_cast<double>(std::numeric_limits<long long>::max( )) * 2; 167 clampTo<long long>(overflowLL));
168 EXPECT_EQ(std::numeric_limits<long long>::max(), clampTo<long long>(overflow LL)); 168 EXPECT_EQ(std::numeric_limits<long long>::min(),
169 EXPECT_EQ(std::numeric_limits<long long>::min(), clampTo<long long>(-overflo wLL)); 169 clampTo<long long>(-overflowLL));
170 } 170 }
171 171
172 TEST(MathExtrasText, clampToUnsignedLongLongDouble) 172 TEST(MathExtrasText, clampToUnsignedLongLongDouble) {
173 { 173 double overflowULL =
174 double overflowULL = static_cast<double>(std::numeric_limits<unsigned long l ong>::max()) * 2; 174 static_cast<double>(std::numeric_limits<unsigned long long>::max()) * 2;
175 EXPECT_EQ(std::numeric_limits<unsigned long long>::max(), clampTo<unsigned l ong long>(overflowULL)); 175 EXPECT_EQ(std::numeric_limits<unsigned long long>::max(),
176 EXPECT_EQ(std::numeric_limits<unsigned long long>::min(), clampTo<unsigned l ong long>(-overflowULL)); 176 clampTo<unsigned long long>(overflowULL));
177 } 177 EXPECT_EQ(std::numeric_limits<unsigned long long>::min(),
178 178 clampTo<unsigned long long>(-overflowULL));
179 TEST(MathExtrasTest, clampToUnsignedUnsignedLong) 179 }
180 { 180
181 if (sizeof(unsigned long) == sizeof(unsigned)) 181 TEST(MathExtrasTest, clampToUnsignedUnsignedLong) {
182 return; 182 if (sizeof(unsigned long) == sizeof(unsigned))
183 183 return;
184 unsigned long maxUnsigned = std::numeric_limits<unsigned>::max(); 184
185 unsigned long overflowUnsigned = maxUnsigned + 1; 185 unsigned long maxUnsigned = std::numeric_limits<unsigned>::max();
186 186 unsigned long overflowUnsigned = maxUnsigned + 1;
187 EXPECT_GT(overflowUnsigned, maxUnsigned); 187
188 188 EXPECT_GT(overflowUnsigned, maxUnsigned);
189 EXPECT_EQ(maxUnsigned, clampTo<unsigned>(maxUnsigned)); 189
190 190 EXPECT_EQ(maxUnsigned, clampTo<unsigned>(maxUnsigned));
191 EXPECT_EQ(maxUnsigned, clampTo<unsigned>(overflowUnsigned)); 191
192 EXPECT_EQ(0u, clampTo<unsigned>(-1)); 192 EXPECT_EQ(maxUnsigned, clampTo<unsigned>(overflowUnsigned));
193 } 193 EXPECT_EQ(0u, clampTo<unsigned>(-1));
194 194 }
195 TEST(MathExtrasTest, clampToUnsignedUnsignedLongLong) 195
196 { 196 TEST(MathExtrasTest, clampToUnsignedUnsignedLongLong) {
197 unsigned long long maxUnsigned = std::numeric_limits<unsigned>::max(); 197 unsigned long long maxUnsigned = std::numeric_limits<unsigned>::max();
198 unsigned long long overflowUnsigned = maxUnsigned + 1; 198 unsigned long long overflowUnsigned = maxUnsigned + 1;
199 199
200 EXPECT_GT(overflowUnsigned, maxUnsigned); 200 EXPECT_GT(overflowUnsigned, maxUnsigned);
201 201
202 EXPECT_EQ(maxUnsigned, clampTo<unsigned>(maxUnsigned)); 202 EXPECT_EQ(maxUnsigned, clampTo<unsigned>(maxUnsigned));
203 203
204 EXPECT_EQ(maxUnsigned, clampTo<unsigned>(overflowUnsigned)); 204 EXPECT_EQ(maxUnsigned, clampTo<unsigned>(overflowUnsigned));
205 EXPECT_EQ(0u, clampTo<unsigned>(-1)); 205 EXPECT_EQ(0u, clampTo<unsigned>(-1));
206 } 206 }
207 207
208 TEST(MathExtrasTest, clampToLongLongUnsignedLongLong) 208 TEST(MathExtrasTest, clampToLongLongUnsignedLongLong) {
209 { 209 long long maxLongLongLL = std::numeric_limits<long long>::max();
210 long long maxLongLongLL = std::numeric_limits<long long>::max(); 210 unsigned long long maxLongLongULL = maxLongLongLL;
211 unsigned long long maxLongLongULL = maxLongLongLL; 211 unsigned long long overflowLongLong = maxLongLongULL + 1;
212 unsigned long long overflowLongLong = maxLongLongULL + 1; 212
213 213 EXPECT_GT(overflowLongLong, maxLongLongULL);
214 EXPECT_GT(overflowLongLong, maxLongLongULL); 214
215 215 EXPECT_EQ(maxLongLongLL, clampTo<long long>(maxLongLongULL));
216 EXPECT_EQ(maxLongLongLL, clampTo<long long>(maxLongLongULL)); 216 EXPECT_EQ(maxLongLongLL - 1, clampTo<long long>(maxLongLongULL - 1));
217 EXPECT_EQ(maxLongLongLL - 1, clampTo<long long>(maxLongLongULL - 1)); 217 EXPECT_EQ(maxLongLongLL, clampTo<long long>(overflowLongLong));
218 EXPECT_EQ(maxLongLongLL, clampTo<long long>(overflowLongLong)); 218
219 219 EXPECT_EQ(-3LL, clampTo<long long>(2ULL, -5LL, -3LL));
220 EXPECT_EQ(-3LL, clampTo<long long>(2ULL, -5LL, -3LL)); 220 }
221 } 221
222 222 TEST(MathExtrasTest, clampToUnsignedLongLongInt) {
223 TEST(MathExtrasTest, clampToUnsignedLongLongInt) 223 EXPECT_EQ(0ULL, clampTo<unsigned long long>(-1));
224 { 224 EXPECT_EQ(0ULL, clampTo<unsigned long long>(0));
225 EXPECT_EQ(0ULL, clampTo<unsigned long long>(-1)); 225 EXPECT_EQ(1ULL, clampTo<unsigned long long>(1));
226 EXPECT_EQ(0ULL, clampTo<unsigned long long>(0)); 226 }
227 EXPECT_EQ(1ULL, clampTo<unsigned long long>(1)); 227
228 } 228 TEST(MathExtrasTest, clampToUnsignedLongLongUnsignedLongLong) {
229 229 EXPECT_EQ(0ULL, clampTo<unsigned long long>(0ULL));
230 TEST(MathExtrasTest, clampToUnsignedLongLongUnsignedLongLong) 230 EXPECT_EQ(1ULL, clampTo<unsigned long long>(0ULL, 1ULL, 2ULL));
231 { 231 EXPECT_EQ(2ULL, clampTo<unsigned long long>(3ULL, 1ULL, 2ULL));
232 EXPECT_EQ(0ULL, clampTo<unsigned long long>(0ULL)); 232 EXPECT_EQ(0xFFFFFFFFFFFFFFF5ULL,
233 EXPECT_EQ(1ULL, clampTo<unsigned long long>(0ULL, 1ULL, 2ULL)); 233 clampTo<unsigned long long>(0xFFFFFFFFFFFFFFF5ULL));
234 EXPECT_EQ(2ULL, clampTo<unsigned long long>(3ULL, 1ULL, 2ULL));
235 EXPECT_EQ(0xFFFFFFFFFFFFFFF5ULL, clampTo<unsigned long long>(0xFFFFFFFFFFFFF FF5ULL));
236 } 234 }
237 235
238 // Make sure that various +-inf cases are handled properly (they aren't 236 // Make sure that various +-inf cases are handled properly (they aren't
239 // by default on VS). 237 // by default on VS).
240 TEST(MathExtrasTest, infinityMath) 238 TEST(MathExtrasTest, infinityMath) {
241 { 239 double posInf = std::numeric_limits<double>::infinity();
242 double posInf = std::numeric_limits<double>::infinity(); 240 double negInf = -std::numeric_limits<double>::infinity();
243 double negInf = -std::numeric_limits<double>::infinity(); 241 double nan = std::numeric_limits<double>::quiet_NaN();
244 double nan = std::numeric_limits<double>::quiet_NaN(); 242
245 243 EXPECT_EQ(M_PI_4, atan2(posInf, posInf));
246 EXPECT_EQ(M_PI_4, atan2(posInf, posInf)); 244 EXPECT_EQ(3.0 * M_PI_4, atan2(posInf, negInf));
247 EXPECT_EQ(3.0 * M_PI_4, atan2(posInf, negInf)); 245 EXPECT_EQ(-M_PI_4, atan2(negInf, posInf));
248 EXPECT_EQ(-M_PI_4, atan2(negInf, posInf)); 246 EXPECT_EQ(-3.0 * M_PI_4, atan2(negInf, negInf));
249 EXPECT_EQ(-3.0 * M_PI_4, atan2(negInf, negInf)); 247
250 248 EXPECT_EQ(0.0, fmod(0.0, posInf));
251 EXPECT_EQ(0.0, fmod(0.0, posInf)); 249 EXPECT_EQ(7.0, fmod(7.0, posInf));
252 EXPECT_EQ(7.0, fmod(7.0, posInf)); 250 EXPECT_EQ(-7.0, fmod(-7.0, posInf));
253 EXPECT_EQ(-7.0, fmod(-7.0, posInf)); 251 EXPECT_EQ(0.0, fmod(0.0, negInf));
254 EXPECT_EQ(0.0, fmod(0.0, negInf)); 252 EXPECT_EQ(7.0, fmod(7.0, negInf));
255 EXPECT_EQ(7.0, fmod(7.0, negInf)); 253 EXPECT_EQ(-7.0, fmod(-7.0, negInf));
256 EXPECT_EQ(-7.0, fmod(-7.0, negInf)); 254
257 255 EXPECT_EQ(1.0, pow(5.0, 0.0));
258 EXPECT_EQ(1.0, pow(5.0, 0.0)); 256 EXPECT_EQ(1.0, pow(-5.0, 0.0));
259 EXPECT_EQ(1.0, pow(-5.0, 0.0)); 257 EXPECT_EQ(1.0, pow(nan, 0.0));
260 EXPECT_EQ(1.0, pow(nan, 0.0)); 258 }
261 } 259
262 260 } // namespace WTF
263 } // namespace WTF
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/wtf/MathExtras.h ('k') | third_party/WebKit/Source/wtf/NonCopyingSort.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698