File tree Expand file tree Collapse file tree 2 files changed +20
-10
lines changed Expand file tree Collapse file tree 2 files changed +20
-10
lines changed Original file line number Diff line number Diff line change @@ -2736,12 +2736,10 @@ impl BigUint {
2736
2736
self . data . resize ( digit_index + 1 , 0 ) ;
2737
2737
}
2738
2738
self . data [ digit_index] |= bit_mask;
2739
- } else {
2740
- if digit_index < self . data . len ( ) {
2741
- self . data [ digit_index] &= !bit_mask;
2742
- // the top bit may have been cleared, so normalize
2743
- self . normalize ( ) ;
2744
- }
2739
+ } else if digit_index < self . data . len ( ) {
2740
+ self . data [ digit_index] &= !bit_mask;
2741
+ // the top bit may have been cleared, so normalize
2742
+ self . normalize ( ) ;
2745
2743
}
2746
2744
}
2747
2745
}
Original file line number Diff line number Diff line change @@ -1342,15 +1342,27 @@ fn test_set_bit() {
1342
1342
x. set_bit ( 200 , true ) ;
1343
1343
assert_eq ! ( x, BigInt :: from( -12i8 ) ) ;
1344
1344
x. set_bit ( 200 , false ) ;
1345
- assert_eq ! ( x, BigInt :: from_biguint( Minus , BigUint :: from( 12u8 ) | ( BigUint :: one( ) << 200 ) ) ) ;
1345
+ assert_eq ! (
1346
+ x,
1347
+ BigInt :: from_biguint( Minus , BigUint :: from( 12u8 ) | ( BigUint :: one( ) << 200 ) )
1348
+ ) ;
1346
1349
x. set_bit ( 6 , false ) ;
1347
- assert_eq ! ( x, BigInt :: from_biguint( Minus , BigUint :: from( 76u8 ) | ( BigUint :: one( ) << 200 ) ) ) ;
1350
+ assert_eq ! (
1351
+ x,
1352
+ BigInt :: from_biguint( Minus , BigUint :: from( 76u8 ) | ( BigUint :: one( ) << 200 ) )
1353
+ ) ;
1348
1354
x. set_bit ( 6 , true ) ;
1349
- assert_eq ! ( x, BigInt :: from_biguint( Minus , BigUint :: from( 12u8 ) | ( BigUint :: one( ) << 200 ) ) ) ;
1355
+ assert_eq ! (
1356
+ x,
1357
+ BigInt :: from_biguint( Minus , BigUint :: from( 12u8 ) | ( BigUint :: one( ) << 200 ) )
1358
+ ) ;
1350
1359
x. set_bit ( 200 , true ) ;
1351
1360
assert_eq ! ( x, BigInt :: from( -12i8 ) ) ;
1352
1361
1353
1362
x = BigInt :: from_biguint ( Minus , BigUint :: one ( ) << 200 ) ;
1354
1363
x. set_bit ( 40 , true ) ;
1355
- assert_eq ! ( x, BigInt :: from_biguint( Minus , ( BigUint :: one( ) << 200 ) - ( BigUint :: one( ) << 40 ) ) ) ;
1364
+ assert_eq ! (
1365
+ x,
1366
+ BigInt :: from_biguint( Minus , ( BigUint :: one( ) << 200 ) - ( BigUint :: one( ) << 40 ) )
1367
+ ) ;
1356
1368
}
You can’t perform that action at this time.
0 commit comments