From 515d55aa77318002d00c55bbc65213aa2bf156ac Mon Sep 17 00:00:00 2001 From: Apricot-S Date: Tue, 24 Sep 2024 19:35:05 +0000 Subject: [PATCH] refactor: Reduce unnecessary calculations --- src/standard.rs | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/standard.rs b/src/standard.rs index 7a2aba2..7619563 100644 --- a/src/standard.rs +++ b/src/standard.rs @@ -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. @@ -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.