@@ -31,39 +31,11 @@ TEST_F(SumFinderTest, SmallValuesLargeCount) {
31
31
EXPECT_DOUBLE_EQ (find_sum (data.data (), data.size ()), expected);
32
32
}
33
33
34
- TEST_F (SumFinderTest, MixedSizedIntegers) {
35
- {
36
- std::vector<int8_t > data = {100 , 100 , 100 };
37
- EXPECT_DOUBLE_EQ (find_sum (data.data (), data.size ()), 300.0 );
38
- }
39
- {
40
- std::vector<int16_t > data = {10000 , 10000 , 10000 };
41
- EXPECT_DOUBLE_EQ (find_sum (data.data (), data.size ()), 30000.0 );
42
- }
43
- {
44
- std::vector<int32_t > data = {1000000 , 1000000 , 1000000 };
45
- EXPECT_DOUBLE_EQ (find_sum (data.data (), data.size ()), 3000000.0 );
46
- }
47
- {
48
- std::vector<int64_t > data = {1000000000000LL , 1000000000000LL };
49
- EXPECT_DOUBLE_EQ (find_sum (data.data (), data.size ()), 2000000000000.0 );
50
- }
51
- }
52
-
53
34
TEST_F (SumFinderTest, PrecisionTestSmallAndLarge) {
54
35
std::vector<double > data = {1e15 , 1.0 , -1e15 , 1.0 };
55
36
EXPECT_DOUBLE_EQ (find_sum (data.data (), data.size ()), 2.0 );
56
37
}
57
38
58
- TEST_F (SumFinderTest, LargeArrayOverflow) {
59
- // Would overflow int64_t, but works with double
60
- auto data = create_aligned_data<int32_t >(1000000 );
61
- std::fill (data.begin (), data.end (), 1000000 );
62
-
63
- double expected = 1000000.0 * 1000000.0 ;
64
- EXPECT_DOUBLE_EQ (find_sum (data.data (), data.size ()), expected);
65
- }
66
-
67
39
TEST_F (SumFinderTest, CompareWithStdAccumulate) {
68
40
auto data = create_aligned_data<int32_t >(1000 );
69
41
std::uniform_int_distribution<int32_t > dist (-1000 , 1000 );
@@ -77,12 +49,6 @@ TEST_F(SumFinderTest, CompareWithStdAccumulate) {
77
49
EXPECT_DOUBLE_EQ (simd_sum, std_sum);
78
50
}
79
51
80
- TEST_F (SumFinderTest, UnsignedOverflow) {
81
- std::vector<uint32_t > data (1000 , UINT32_MAX);
82
- double expected = 1000.0 * static_cast <double >(UINT32_MAX);
83
- EXPECT_DOUBLE_EQ (find_sum (data.data (), data.size ()), expected);
84
- }
85
-
86
52
class SumStressTest : public ::testing::Test {
87
53
protected:
88
54
std::mt19937_64 rng{std::random_device{}()};
0 commit comments