@@ -229,8 +229,7 @@ const MAPMOVEIDX: [[i32; 239]; 4] = [ [// Direction 0
229
229
/// The first dimension is color: Black, White and Empty.\
230
230
/// The second and third one are 2 x 512-bit. Direction 0 and 2 use the first 512-bit. Direction 1 and
231
231
/// 3 use the second 512-bit.\
232
- /// Each 512-bit is a 32-bit x 16 array. Direction 0 and 1 store at bit 31-16 and Direction 2 and 3 store at bit 15-0.
233
-
232
+ /// Each 512-bit is a 32-bit x 16 array. Direction 0 and 1 store at bit 31-16 and Direction 2 and 3 store at bit 15-0.
234
233
pub struct Pos {
235
234
// position
236
235
state : [ Color ; SQUARE_SIZE as usize ] ,
@@ -556,7 +555,7 @@ fn search(pos: &Pos, alpha: i32, beta: i32, depth: i32, _ply: i32) -> i32 {
556
555
}
557
556
558
557
assert_ne ! ( bm, MOVE_NONE ) ;
559
- assert ! ( bs >= -EVAL_INF && bs <= EVAL_INF ) ;
558
+ assert ! ( ( -EVAL_INF ..= EVAL_INF ) . contains ( & bs ) ) ;
560
559
561
560
if _ply == 0 { bm } else { bs } //best move at the root node, best score elsewhere
562
561
}
@@ -724,12 +723,12 @@ fn check_pattern5(pos: &Pos, sd: Side) -> bool {
724
723
for fl in 0 ..FILE_SIZE {
725
724
let sq: Square = square_make ( fl, rk) ;
726
725
727
- for pat in 0 .. 4 {
726
+ for direction in & DIRECTION {
728
727
let idx0 = sq;
729
- let idx1 = sq + DIRECTION [ pat ] [ 0 ] ;
730
- let idx2 = sq + DIRECTION [ pat ] [ 1 ] ;
731
- let idx3 = sq + DIRECTION [ pat ] [ 2 ] ;
732
- let idx4 = sq + DIRECTION [ pat ] [ 3 ] ;
728
+ let idx1 = sq + direction [ 0 ] ;
729
+ let idx2 = sq + direction [ 1 ] ;
730
+ let idx3 = sq + direction [ 2 ] ;
731
+ let idx4 = sq + direction [ 3 ] ;
733
732
734
733
let val0 = pos. state [ idx0 as usize ] ;
735
734
let val1 = pos. state [ idx1 as usize ] ;
@@ -754,13 +753,13 @@ fn check_patternlive4(pos: &Pos, sd: Side) -> bool {
754
753
for fl in 0 ..FILE_SIZE {
755
754
let sq: Square = square_make ( fl, rk) ;
756
755
757
- for pat in 0 .. 4 {
756
+ for direction in & DIRECTION {
758
757
let idx0 = sq;
759
- let idx1 = sq + DIRECTION [ pat ] [ 0 ] ;
760
- let idx2 = sq + DIRECTION [ pat ] [ 1 ] ;
761
- let idx3 = sq + DIRECTION [ pat ] [ 2 ] ;
762
- let idx4 = sq + DIRECTION [ pat ] [ 3 ] ;
763
- let idx5 = sq + DIRECTION [ pat ] [ 4 ] ;
758
+ let idx1 = sq + direction [ 0 ] ;
759
+ let idx2 = sq + direction [ 1 ] ;
760
+ let idx3 = sq + direction [ 2 ] ;
761
+ let idx4 = sq + direction [ 3 ] ;
762
+ let idx5 = sq + direction [ 4 ] ;
764
763
765
764
let val0 = pos. state [ idx0 as usize ] ;
766
765
let val1 = pos. state [ idx1 as usize ] ;
@@ -786,12 +785,12 @@ fn check_patterndead4(pos: &Pos, sd: Side) -> i32 {
786
785
for fl in 0 ..FILE_SIZE {
787
786
let sq: Square = square_make ( fl, rk) ;
788
787
789
- for dir in 0 .. 4 {
788
+ for direction in & DIRECTION {
790
789
let idx0 = sq;
791
- let idx1 = sq + DIRECTION [ dir ] [ 0 ] ;
792
- let idx2 = sq + DIRECTION [ dir ] [ 1 ] ;
793
- let idx3 = sq + DIRECTION [ dir ] [ 2 ] ;
794
- let idx4 = sq + DIRECTION [ dir ] [ 3 ] ;
790
+ let idx1 = sq + direction [ 0 ] ;
791
+ let idx2 = sq + direction [ 1 ] ;
792
+ let idx3 = sq + direction [ 2 ] ;
793
+ let idx4 = sq + direction [ 3 ] ;
795
794
796
795
let val0 = pos. state [ idx0 as usize ] ;
797
796
let val1 = pos. state [ idx1 as usize ] ;
@@ -824,13 +823,13 @@ fn check_patternlive3(pos: &Pos, sd: Side) -> i32 {
824
823
for fl in 0 ..FILE_SIZE {
825
824
let sq: Square = square_make ( fl, rk) ;
826
825
827
- for dir in 0 .. 4 {
826
+ for direction in & DIRECTION {
828
827
let idx0 = sq;
829
- let idx1 = sq + DIRECTION [ dir ] [ 0 ] ;
830
- let idx2 = sq + DIRECTION [ dir ] [ 1 ] ;
831
- let idx3 = sq + DIRECTION [ dir ] [ 2 ] ;
832
- let idx4 = sq + DIRECTION [ dir ] [ 3 ] ;
833
- let idx5 = sq + DIRECTION [ dir ] [ 4 ] ;
828
+ let idx1 = sq + direction [ 0 ] ;
829
+ let idx2 = sq + direction [ 1 ] ;
830
+ let idx3 = sq + direction [ 2 ] ;
831
+ let idx4 = sq + direction [ 3 ] ;
832
+ let idx5 = sq + direction [ 4 ] ;
834
833
835
834
let val0 = pos. state [ idx0 as usize ] ;
836
835
let val1 = pos. state [ idx1 as usize ] ;
0 commit comments