Lines Matching refs:Real

17 template <int KIND> using Real = CppTypeFor<TypeCategory::Real, KIND>;  typedef
22 EXPECT_EQ(RTNAME(Ceiling4_4)(Real<4>{3.7}), 4); in TEST()
23 EXPECT_EQ(RTNAME(Ceiling8_8)(Real<8>{-3.7}), -3); in TEST()
24 EXPECT_EQ(RTNAME(Ceiling4_1)(Real<4>{0}), 0); in TEST()
28 EXPECT_EQ(RTNAME(Floor4_4)(Real<4>{3.7}), 3); in TEST()
29 EXPECT_EQ(RTNAME(Floor8_8)(Real<8>{-3.7}), -4); in TEST()
30 EXPECT_EQ(RTNAME(Floor4_1)(Real<4>{0}), 0); in TEST()
34 EXPECT_EQ(RTNAME(Exponent4_4)(Real<4>{0}), 0); in TEST()
35 EXPECT_EQ(RTNAME(Exponent4_8)(Real<4>{1.0}), 1); in TEST()
36 EXPECT_EQ(RTNAME(Exponent8_4)(Real<8>{4.1}), 3); in TEST()
37 EXPECT_EQ(RTNAME(Exponent8_8)(std::numeric_limits<Real<8>>::infinity()), in TEST()
39 EXPECT_EQ(RTNAME(Exponent8_8)(std::numeric_limits<Real<8>>::quiet_NaN()), in TEST()
44 EXPECT_EQ(RTNAME(Fraction4)(Real<4>{0}), 0); in TEST()
45 EXPECT_EQ(RTNAME(Fraction8)(Real<8>{3.0}), 0.75); in TEST()
47 std::isnan(RTNAME(Fraction4)(std::numeric_limits<Real<4>>::infinity()))); in TEST()
49 std::isnan(RTNAME(Fraction8)(std::numeric_limits<Real<8>>::quiet_NaN()))); in TEST()
53 EXPECT_FALSE(RTNAME(IsNaN4)(Real<4>{0})); in TEST()
54 EXPECT_FALSE(RTNAME(IsNaN8)(std::numeric_limits<Real<8>>::infinity())); in TEST()
55 EXPECT_TRUE(RTNAME(IsNaN8)(std::numeric_limits<Real<8>>::quiet_NaN())); in TEST()
63 EXPECT_EQ(RTNAME(ModReal4)(Real<4>{8.0}, Real<4>(5.0)), 3.0); in TEST()
64 EXPECT_EQ(RTNAME(ModReal4)(Real<4>{-8.0}, Real<4>(5.0)), -3.0); in TEST()
65 EXPECT_EQ(RTNAME(ModReal8)(Real<8>{8.0}, Real<8>(-5.0)), 3.0); in TEST()
66 EXPECT_EQ(RTNAME(ModReal8)(Real<8>{-8.0}, Real<8>(-5.0)), -3.0); in TEST()
74 EXPECT_EQ(RTNAME(ModuloReal4)(Real<4>{8.0}, Real<4>(5.0)), 3.0); in TEST()
75 EXPECT_EQ(RTNAME(ModuloReal4)(Real<4>{-8.0}, Real<4>(5.0)), 2.0); in TEST()
76 EXPECT_EQ(RTNAME(ModuloReal8)(Real<8>{8.0}, Real<8>(-5.0)), -2.0); in TEST()
77 EXPECT_EQ(RTNAME(ModuloReal8)(Real<8>{-8.0}, Real<8>(-5.0)), -3.0); in TEST()
81 EXPECT_EQ(RTNAME(Nearest4)(Real<4>{0}, true), in TEST()
82 std::numeric_limits<Real<4>>::denorm_min()); in TEST()
83 EXPECT_EQ(RTNAME(Nearest4)(Real<4>{3.0}, true), in TEST()
84 Real<4>{3.0} + std::ldexp(Real<4>{1.0}, -22)); in TEST()
85 EXPECT_EQ(RTNAME(Nearest8)(Real<8>{1.0}, true), in TEST()
86 Real<8>{1.0} + std::ldexp(Real<8>{1.0}, -52)); in TEST()
87 EXPECT_EQ(RTNAME(Nearest8)(Real<8>{1.0}, false), in TEST()
88 Real<8>{1.0} - std::ldexp(Real<8>{1.0}, -52)); in TEST()
92 EXPECT_EQ(RTNAME(Nint4_4)(Real<4>{2.783}), 3); in TEST()
93 EXPECT_EQ(RTNAME(Nint8_4)(Real<8>{-2.783}), -3); in TEST()
94 EXPECT_EQ(RTNAME(Nint4_4)(Real<4>{2.5}), 3); in TEST()
95 EXPECT_EQ(RTNAME(Nint8_4)(Real<8>{-2.5}), -3); in TEST()
96 EXPECT_EQ(RTNAME(Nint8_8)(Real<8>{0}), 0); in TEST()
100 EXPECT_EQ(RTNAME(RRSpacing8)(Real<8>{0}), 0); in TEST()
101 EXPECT_EQ(RTNAME(RRSpacing4)(Real<4>{-3.0}), 0.75 * (1 << 24)); in TEST()
102 EXPECT_EQ(RTNAME(RRSpacing8)(Real<8>{-3.0}), 0.75 * (std::int64_t{1} << 53)); in TEST()
104 std::isnan(RTNAME(RRSpacing4)(std::numeric_limits<Real<4>>::infinity()))); in TEST()
106 RTNAME(RRSpacing8)(std::numeric_limits<Real<8>>::quiet_NaN()))); in TEST()
110 EXPECT_EQ(RTNAME(Scale4)(Real<4>{0}, 0), 0); in TEST()
111 EXPECT_EQ(RTNAME(Scale4)(Real<4>{1.0}, 0), 1.0); in TEST()
112 EXPECT_EQ(RTNAME(Scale4)(Real<4>{1.0}, 1), 2.0); in TEST()
113 EXPECT_EQ(RTNAME(Scale4)(Real<4>{1.0}, -1), 0.5); in TEST()
115 std::isinf(RTNAME(Scale4)(std::numeric_limits<Real<4>>::infinity(), 1))); in TEST()
117 std::isnan(RTNAME(Scale8)(std::numeric_limits<Real<8>>::quiet_NaN(), 1))); in TEST()
121 EXPECT_EQ(RTNAME(SetExponent4)(Real<4>{0}, 0), 0); in TEST()
122 EXPECT_EQ(RTNAME(SetExponent8)(Real<8>{0}, 666), 0); in TEST()
123 EXPECT_EQ(RTNAME(SetExponent8)(Real<8>{3.0}, 0), 0.75); in TEST()
124 EXPECT_EQ(RTNAME(SetExponent4)(Real<4>{1.0}, 0), 0.5); in TEST()
125 EXPECT_EQ(RTNAME(SetExponent4)(Real<4>{1.0}, 1), 1.0); in TEST()
126 EXPECT_EQ(RTNAME(SetExponent4)(Real<4>{1.0}, -1), 0.25); in TEST()
128 RTNAME(SetExponent4)(std::numeric_limits<Real<4>>::infinity(), 1))); in TEST()
130 RTNAME(SetExponent8)(std::numeric_limits<Real<8>>::quiet_NaN(), 1))); in TEST()
201 EXPECT_EQ(RTNAME(Spacing8)(Real<8>{0}), std::numeric_limits<Real<8>>::min()); in TEST()
202 EXPECT_EQ(RTNAME(Spacing4)(Real<4>{3.0}), std::ldexp(Real<4>{1.0}, -22)); in TEST()
204 std::isnan(RTNAME(Spacing4)(std::numeric_limits<Real<4>>::infinity()))); in TEST()
206 std::isnan(RTNAME(Spacing8)(std::numeric_limits<Real<8>>::quiet_NaN()))); in TEST()