13 using namespace v8::internal;
51 CHECK_EQ(0x12 - 0x3FF - 52 - 11, diy_fp.
e());
57 CHECK_EQ(-0x3FF - 52 + 1 - 63, diy_fp.
e());
63 CHECK_EQ(0x7FE - 0x3FF - 52 - 11, diy_fp.
e());
98 CHECK(!
Double(-1.7976931348623157e308).IsSpecial());
128 DiyFp boundary_minus;
135 CHECK(diy_fp.
f() - boundary_minus.
f() == boundary_plus.
f() - diy_fp.
f());
136 CHECK((1 << 10) == diy_fp.
f() - boundary_minus.
f());
140 CHECK_EQ(diy_fp.e(), boundary_minus.
e());
144 CHECK_GT(boundary_plus.
f() - diy_fp.f(), diy_fp.f() - boundary_minus.
f());
145 CHECK((1 << 9) == diy_fp.f() - boundary_minus.
f());
146 CHECK((1 << 10) == boundary_plus.
f() - diy_fp.f());
151 CHECK_EQ(diy_fp.e(), boundary_minus.
e());
155 CHECK(diy_fp.f() - boundary_minus.
f() == boundary_plus.
f() - diy_fp.f());
157 CHECK((static_cast<uint64_t>(1) << 62) ==
158 diy_fp.f() - boundary_minus.
f());
164 CHECK_EQ(diy_fp.e(), boundary_minus.
e());
168 CHECK(diy_fp.f() - boundary_minus.
f() == boundary_plus.
f() - diy_fp.f());
169 CHECK((1 << 10) == diy_fp.f() - boundary_minus.
f());
175 CHECK_EQ(diy_fp.e(), boundary_minus.
e());
177 CHECK(diy_fp.f() - boundary_minus.
f() == boundary_plus.
f() - diy_fp.f());
178 CHECK((1 << 11) == diy_fp.f() - boundary_minus.
f());
183 CHECK_EQ(diy_fp.e(), boundary_minus.
e());
187 CHECK(diy_fp.f() - boundary_minus.
f() == boundary_plus.
f() - diy_fp.f());
188 CHECK((1 << 10) == diy_fp.f() - boundary_minus.
f());
#define CHECK_EQ(expected, value)
double NextDouble() const
#define V8_2PART_UINT64_C(a, b)
DiyFp AsNormalizedDiyFp() const
static double nan_value()
void NormalizedBoundaries(DiyFp *out_m_minus, DiyFp *out_m_plus) const