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

Side by Side Diff: test/cctest/test-double.cc

Issue 813813003: Revert of Remove obsolete V8_INFINITY macro. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years 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
« no previous file with comments | « test/cctest/test-checks.cc ('k') | test/cctest/test-strtod.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 uint64_t min_double64 = V8_2PART_UINT64_C(0x00000000, 00000001); 96 uint64_t min_double64 = V8_2PART_UINT64_C(0x00000000, 00000001);
97 CHECK(Double(min_double64).IsDenormal()); 97 CHECK(Double(min_double64).IsDenormal());
98 uint64_t bits = V8_2PART_UINT64_C(0x000FFFFF, FFFFFFFF); 98 uint64_t bits = V8_2PART_UINT64_C(0x000FFFFF, FFFFFFFF);
99 CHECK(Double(bits).IsDenormal()); 99 CHECK(Double(bits).IsDenormal());
100 bits = V8_2PART_UINT64_C(0x00100000, 00000000); 100 bits = V8_2PART_UINT64_C(0x00100000, 00000000);
101 CHECK(!Double(bits).IsDenormal()); 101 CHECK(!Double(bits).IsDenormal());
102 } 102 }
103 103
104 104
105 TEST(IsSpecial) { 105 TEST(IsSpecial) {
106 CHECK(Double(std::numeric_limits<double>::infinity()).IsSpecial()); 106 CHECK(Double(V8_INFINITY).IsSpecial());
107 CHECK(Double(-std::numeric_limits<double>::infinity()).IsSpecial()); 107 CHECK(Double(-V8_INFINITY).IsSpecial());
108 CHECK(Double(v8::base::OS::nan_value()).IsSpecial()); 108 CHECK(Double(v8::base::OS::nan_value()).IsSpecial());
109 uint64_t bits = V8_2PART_UINT64_C(0xFFF12345, 00000000); 109 uint64_t bits = V8_2PART_UINT64_C(0xFFF12345, 00000000);
110 CHECK(Double(bits).IsSpecial()); 110 CHECK(Double(bits).IsSpecial());
111 // Denormals are not special: 111 // Denormals are not special:
112 CHECK(!Double(5e-324).IsSpecial()); 112 CHECK(!Double(5e-324).IsSpecial());
113 CHECK(!Double(-5e-324).IsSpecial()); 113 CHECK(!Double(-5e-324).IsSpecial());
114 // And some random numbers: 114 // And some random numbers:
115 CHECK(!Double(0.0).IsSpecial()); 115 CHECK(!Double(0.0).IsSpecial());
116 CHECK(!Double(-0.0).IsSpecial()); 116 CHECK(!Double(-0.0).IsSpecial());
117 CHECK(!Double(1.0).IsSpecial()); 117 CHECK(!Double(1.0).IsSpecial());
118 CHECK(!Double(-1.0).IsSpecial()); 118 CHECK(!Double(-1.0).IsSpecial());
119 CHECK(!Double(1000000.0).IsSpecial()); 119 CHECK(!Double(1000000.0).IsSpecial());
120 CHECK(!Double(-1000000.0).IsSpecial()); 120 CHECK(!Double(-1000000.0).IsSpecial());
121 CHECK(!Double(1e23).IsSpecial()); 121 CHECK(!Double(1e23).IsSpecial());
122 CHECK(!Double(-1e23).IsSpecial()); 122 CHECK(!Double(-1e23).IsSpecial());
123 CHECK(!Double(1.7976931348623157e308).IsSpecial()); 123 CHECK(!Double(1.7976931348623157e308).IsSpecial());
124 CHECK(!Double(-1.7976931348623157e308).IsSpecial()); 124 CHECK(!Double(-1.7976931348623157e308).IsSpecial());
125 } 125 }
126 126
127 127
128 TEST(IsInfinite) { 128 TEST(IsInfinite) {
129 CHECK(Double(std::numeric_limits<double>::infinity()).IsInfinite()); 129 CHECK(Double(V8_INFINITY).IsInfinite());
130 CHECK(Double(-std::numeric_limits<double>::infinity()).IsInfinite()); 130 CHECK(Double(-V8_INFINITY).IsInfinite());
131 CHECK(!Double(v8::base::OS::nan_value()).IsInfinite()); 131 CHECK(!Double(v8::base::OS::nan_value()).IsInfinite());
132 CHECK(!Double(0.0).IsInfinite()); 132 CHECK(!Double(0.0).IsInfinite());
133 CHECK(!Double(-0.0).IsInfinite()); 133 CHECK(!Double(-0.0).IsInfinite());
134 CHECK(!Double(1.0).IsInfinite()); 134 CHECK(!Double(1.0).IsInfinite());
135 CHECK(!Double(-1.0).IsInfinite()); 135 CHECK(!Double(-1.0).IsInfinite());
136 uint64_t min_double64 = V8_2PART_UINT64_C(0x00000000, 00000001); 136 uint64_t min_double64 = V8_2PART_UINT64_C(0x00000000, 00000001);
137 CHECK(!Double(min_double64).IsInfinite()); 137 CHECK(!Double(min_double64).IsInfinite());
138 } 138 }
139 139
140 140
141 TEST(Sign) { 141 TEST(Sign) {
142 CHECK_EQ(1, Double(1.0).Sign()); 142 CHECK_EQ(1, Double(1.0).Sign());
143 CHECK_EQ(1, Double(std::numeric_limits<double>::infinity()).Sign()); 143 CHECK_EQ(1, Double(V8_INFINITY).Sign());
144 CHECK_EQ(-1, Double(-std::numeric_limits<double>::infinity()).Sign()); 144 CHECK_EQ(-1, Double(-V8_INFINITY).Sign());
145 CHECK_EQ(1, Double(0.0).Sign()); 145 CHECK_EQ(1, Double(0.0).Sign());
146 CHECK_EQ(-1, Double(-0.0).Sign()); 146 CHECK_EQ(-1, Double(-0.0).Sign());
147 uint64_t min_double64 = V8_2PART_UINT64_C(0x00000000, 00000001); 147 uint64_t min_double64 = V8_2PART_UINT64_C(0x00000000, 00000001);
148 CHECK_EQ(1, Double(min_double64).Sign()); 148 CHECK_EQ(1, Double(min_double64).Sign());
149 } 149 }
150 150
151 151
152 TEST(NormalizedBoundaries) { 152 TEST(NormalizedBoundaries) {
153 DiyFp boundary_plus; 153 DiyFp boundary_plus;
154 DiyFp boundary_minus; 154 DiyFp boundary_minus;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 TEST(NextDouble) { 218 TEST(NextDouble) {
219 CHECK_EQ(4e-324, Double(0.0).NextDouble()); 219 CHECK_EQ(4e-324, Double(0.0).NextDouble());
220 CHECK_EQ(0.0, Double(-0.0).NextDouble()); 220 CHECK_EQ(0.0, Double(-0.0).NextDouble());
221 CHECK_EQ(-0.0, Double(-4e-324).NextDouble()); 221 CHECK_EQ(-0.0, Double(-4e-324).NextDouble());
222 Double d0(-4e-324); 222 Double d0(-4e-324);
223 Double d1(d0.NextDouble()); 223 Double d1(d0.NextDouble());
224 Double d2(d1.NextDouble()); 224 Double d2(d1.NextDouble());
225 CHECK_EQ(-0.0, d1.value()); 225 CHECK_EQ(-0.0, d1.value());
226 CHECK_EQ(0.0, d2.value()); 226 CHECK_EQ(0.0, d2.value());
227 CHECK_EQ(4e-324, d2.NextDouble()); 227 CHECK_EQ(4e-324, d2.NextDouble());
228 CHECK_EQ(-1.7976931348623157e308, 228 CHECK_EQ(-1.7976931348623157e308, Double(-V8_INFINITY).NextDouble());
229 Double(-std::numeric_limits<double>::infinity()).NextDouble()); 229 CHECK_EQ(V8_INFINITY,
230 CHECK_EQ(std::numeric_limits<double>::infinity(),
231 Double(V8_2PART_UINT64_C(0x7fefffff, ffffffff)).NextDouble()); 230 Double(V8_2PART_UINT64_C(0x7fefffff, ffffffff)).NextDouble());
232 } 231 }
OLDNEW
« no previous file with comments | « test/cctest/test-checks.cc ('k') | test/cctest/test-strtod.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698