3
#include <gtest/gtest.h>
11
EXPECT_EQ(0, (int)i0);
13
Saturated<int> i1(100);
14
EXPECT_EQ(100, (int)i1);
16
Saturated<int> i2(100u);
17
EXPECT_EQ(100, (int)i2);
19
Saturated<unsigned> i3(-100);
20
EXPECT_EQ(0, (unsigned)i3);
22
Saturated<unsigned char> i4(-100);
23
EXPECT_EQ(0, (int)i4);
25
Saturated<signed char> i5(-100);
26
EXPECT_EQ(-100, (int)i5);
28
Saturated<signed char> i6(150);
29
EXPECT_EQ(127, (int)i6);
31
Saturated<signed char> i7(-150);
32
EXPECT_EQ(-128, (int)i7);
35
TEST(Saturated, PlusSigned)
37
Saturated<signed char> i1(100), i2(50), i3;
39
EXPECT_EQ(127, (int)i3);
41
EXPECT_EQ(120, (int)i3);
43
EXPECT_EQ(127, (int)i3);
46
EXPECT_EQ(-28, (int)i3);
48
EXPECT_EQ(-128, (int)i3);
51
TEST(Saturated, PlusUnsigned)
53
Saturated<unsigned char> i1(200), i2(60), i3;
55
EXPECT_EQ(255, (int)i3);
57
EXPECT_EQ(0, (int)i3);
60
TEST(Saturated, MinusSigned)
62
Saturated<signed char> i1(100), i2(50), i3;
64
EXPECT_EQ(50, (int)i3);
66
EXPECT_EQ(-128, (int)i3);
68
EXPECT_EQ(127, (int)i3);
71
EXPECT_EQ(-28, (int)i3);
73
EXPECT_EQ(-128, (int)i3);
76
TEST(Saturated, Multiply)