@@ -2532,38 +2532,72 @@ TEST(APIntTest, clearLowBits) {
2532
2532
EXPECT_EQ (16u , i32hi16.popcount ());
2533
2533
}
2534
2534
2535
- TEST (APIntTest, AbsDiff ) {
2536
- using APIntOps::absdiff ;
2535
+ TEST (APIntTest, abds ) {
2536
+ using APIntOps::abds ;
2537
2537
2538
2538
APInt MaxU1 (1 , 1 , false );
2539
2539
APInt MinU1 (1 , 0 , false );
2540
- EXPECT_EQ (1u , absdiff (MaxU1, MinU1).getZExtValue ());
2541
- EXPECT_EQ (1u , absdiff (MinU1, MaxU1).getZExtValue ());
2540
+ EXPECT_EQ (1u , abds (MaxU1, MinU1).getZExtValue ());
2541
+ EXPECT_EQ (1u , abds (MinU1, MaxU1).getZExtValue ());
2542
2542
2543
2543
APInt MaxU4 (4 , 15 , false );
2544
2544
APInt MinU4 (4 , 0 , false );
2545
- EXPECT_EQ (15u , absdiff (MaxU4, MinU4).getZExtValue ());
2546
- EXPECT_EQ (15u , absdiff (MinU4, MaxU4).getZExtValue ());
2545
+ EXPECT_EQ (1 , abds (MaxU4, MinU4).getSExtValue ());
2546
+ EXPECT_EQ (1 , abds (MinU4, MaxU4).getSExtValue ());
2547
2547
2548
2548
APInt MaxS8 (8 , 127 , true );
2549
2549
APInt MinS8 (8 , -128 , true );
2550
- EXPECT_EQ (1u , absdiff (MaxS8, MinS8).getZExtValue ());
2551
- EXPECT_EQ (1u , absdiff (MinS8, MaxS8).getZExtValue ());
2550
+ EXPECT_EQ (- 1 , abds (MaxS8, MinS8).getSExtValue ());
2551
+ EXPECT_EQ (- 1 , abds (MinS8, MaxS8).getSExtValue ());
2552
2552
2553
2553
APInt MaxU16 (16 , 65535 , false );
2554
2554
APInt MinU16 (16 , 0 , false );
2555
- EXPECT_EQ (65535u , absdiff (MaxU16, MinU16).getZExtValue ());
2556
- EXPECT_EQ (65535u , absdiff (MinU16, MaxU16).getZExtValue ());
2555
+ EXPECT_EQ (1 , abds (MaxU16, MinU16).getSExtValue ());
2556
+ EXPECT_EQ (1 , abds (MinU16, MaxU16).getSExtValue ());
2557
2557
2558
2558
APInt MaxS16 (16 , 32767 , true );
2559
2559
APInt MinS16 (16 , -32768 , true );
2560
2560
APInt ZeroS16 (16 , 0 , true );
2561
- EXPECT_EQ (1u , absdiff (MaxS16, MinS16).getZExtValue ());
2562
- EXPECT_EQ (1u , absdiff (MinS16, MaxS16).getZExtValue ());
2563
- EXPECT_EQ (32768u , absdiff (ZeroS16, MinS16));
2564
- EXPECT_EQ (32768u , absdiff (MinS16, ZeroS16));
2565
- EXPECT_EQ (32767u , absdiff (ZeroS16, MaxS16));
2566
- EXPECT_EQ (32767u , absdiff (MaxS16, ZeroS16));
2561
+ EXPECT_EQ (-1 , abds (MaxS16, MinS16).getSExtValue ());
2562
+ EXPECT_EQ (-1 , abds (MinS16, MaxS16).getSExtValue ());
2563
+ EXPECT_EQ (32768u , abds (ZeroS16, MinS16));
2564
+ EXPECT_EQ (32768u , abds (MinS16, ZeroS16));
2565
+ EXPECT_EQ (32767u , abds (ZeroS16, MaxS16));
2566
+ EXPECT_EQ (32767u , abds (MaxS16, ZeroS16));
2567
+ }
2568
+
2569
+ TEST (APIntTest, abdu) {
2570
+ using APIntOps::abdu;
2571
+
2572
+ APInt MaxU1 (1 , 1 , false );
2573
+ APInt MinU1 (1 , 0 , false );
2574
+ EXPECT_EQ (1u , abdu (MaxU1, MinU1).getZExtValue ());
2575
+ EXPECT_EQ (1u , abdu (MinU1, MaxU1).getZExtValue ());
2576
+
2577
+ APInt MaxU4 (4 , 15 , false );
2578
+ APInt MinU4 (4 , 0 , false );
2579
+ EXPECT_EQ (15u , abdu (MaxU4, MinU4).getZExtValue ());
2580
+ EXPECT_EQ (15u , abdu (MinU4, MaxU4).getZExtValue ());
2581
+
2582
+ APInt MaxS8 (8 , 127 , true );
2583
+ APInt MinS8 (8 , -128 , true );
2584
+ EXPECT_EQ (1u , abdu (MaxS8, MinS8).getZExtValue ());
2585
+ EXPECT_EQ (1u , abdu (MinS8, MaxS8).getZExtValue ());
2586
+
2587
+ APInt MaxU16 (16 , 65535 , false );
2588
+ APInt MinU16 (16 , 0 , false );
2589
+ EXPECT_EQ (65535u , abdu (MaxU16, MinU16).getZExtValue ());
2590
+ EXPECT_EQ (65535u , abdu (MinU16, MaxU16).getZExtValue ());
2591
+
2592
+ APInt MaxS16 (16 , 32767 , true );
2593
+ APInt MinS16 (16 , -32768 , true );
2594
+ APInt ZeroS16 (16 , 0 , true );
2595
+ EXPECT_EQ (1u , abdu (MaxS16, MinS16).getZExtValue ());
2596
+ EXPECT_EQ (1u , abdu (MinS16, MaxS16).getZExtValue ());
2597
+ EXPECT_EQ (32768u , abdu (ZeroS16, MinS16));
2598
+ EXPECT_EQ (32768u , abdu (MinS16, ZeroS16));
2599
+ EXPECT_EQ (32767u , abdu (ZeroS16, MaxS16));
2600
+ EXPECT_EQ (32767u , abdu (MaxS16, ZeroS16));
2567
2601
}
2568
2602
2569
2603
TEST (APIntTest, GCD) {
0 commit comments