Skip to content

Commit

Permalink
refactor: Reduce unnecessary calculations
Browse files Browse the repository at this point in the history
  • Loading branch information
Apricot-S committed Sep 24, 2024
1 parent fbe9591 commit 515d55a
Showing 1 changed file with 8 additions and 14 deletions.
22 changes: 8 additions & 14 deletions src/standard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -484,14 +484,12 @@ fn calculate_replacement_number_inner(
);

if four_tiles_gulipai.any() {
let num_four_tiles_gulipai_shupai =
four_tiles_gulipai[0..27].count_ones() as u8;
let num_four_tiles_gulipai_zipai =
four_tiles_gulipai[27..34].count_ones() as u8;
// A tile that is held in a quantity of four
// cannot become a pair or a sequence candidate.
num_gulipai -= num_four_tiles_gulipai_shupai;
num_gulipai -= num_four_tiles_gulipai_zipai;
num_gulipai -= four_tiles_gulipai.count_ones() as u8;

let num_four_tiles_gulipai_shupai =
four_tiles_gulipai[0..27].count_ones() as u8;

if (has_jiangpai || num_duizi != 0) && num_four_tiles_gulipai_shupai >= 2 {
// One of the isolated suits can become a sequence candidate.
Expand Down Expand Up @@ -557,16 +555,12 @@ fn calculate_replacement_number_inner_3_player(
);

if four_tiles_gulipai.any() {
let num_four_tiles_gulipai_shupai =
four_tiles_gulipai[9..27].count_ones() as u8;
let num_four_tiles_gulipai_zipai_19m = four_tiles_gulipai[27..34].count_ones()
as u8
+ four_tiles_gulipai[0] as u8
+ four_tiles_gulipai[8] as u8;
// A tile that is held in a quantity of four
// cannot become a pair or a sequence candidate.
num_gulipai -= num_four_tiles_gulipai_shupai;
num_gulipai -= num_four_tiles_gulipai_zipai_19m;
num_gulipai -= four_tiles_gulipai.count_ones() as u8;

let num_four_tiles_gulipai_shupai =
four_tiles_gulipai[9..27].count_ones() as u8;

if (has_jiangpai || num_duizi != 0) && num_four_tiles_gulipai_shupai >= 2 {
// One of the isolated suits can become a sequence candidate.
Expand Down

0 comments on commit 515d55a

Please sign in to comment.