File tree Expand file tree Collapse file tree 4 files changed +28
-9
lines changed Expand file tree Collapse file tree 4 files changed +28
-9
lines changed Original file line number Diff line number Diff line change 4
4
run : zig-fmt
5
5
zig build run
6
6
7
- run- test: zig-fmt
8
- zig build test --verbose
7
+ test : zig-fmt
8
+ zig build test --summary all
Original file line number Diff line number Diff line change 1
1
const std = @import ("std" );
2
-
2
+ const util = @import ( "util.zig" );
3
3
pub fn print_board (bitboard : u64 ) ! void {
4
4
for (0.. 8) | rank | {
5
+ std .debug .print (" {} " , .{8 - rank });
5
6
for (0.. 8) | file | {
6
7
const square = rank * 8 + file ;
8
+ const squareEnum = util .Square .fromInt (square );
9
+
10
+ if (util .get_bit (bitboard , squareEnum )) {
11
+ std .debug .print (" 1" , .{});
12
+ } else {
13
+ std .debug .print (" 0" , .{});
14
+ }
7
15
8
- std .debug .print ("{d}" , .{( bitboard >> @enumFromInt ( square )) & 1 });
16
+ std .debug .print (" {d}" , .{square });
9
17
}
10
18
11
19
std .debug .print ("\n " , .{});
12
20
}
21
+
22
+ std .debug .print ("\n a b c d e f g h\n\n " , .{});
23
+ std .debug .print (" Bitboard: 0x{0x}\n " , .{bitboard });
24
+ std .debug .print (" Bitboard: 0b{b}\n\n " , .{bitboard });
13
25
}
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ const types = @import("types.zig");
4
4
5
5
pub fn main () ! void {
6
6
std .debug .print ("Hello NeroSpeed.\n " , .{});
7
- var bitboard_1 : u64 = 1 ;
8
- bitboard_1 |= 1 << 7 ;
7
+ const bitboard_1 : u64 = 0 ;
8
+ std . debug . print ( "{d}" , .{ bitboard_1 }) ;
9
9
try bitboard .print_board (bitboard_1 );
10
10
}
Original file line number Diff line number Diff line change 1
- pub inline fn get_bit (bitboard : u64 , square : Square ) bool {
2
- const mask = @as (u64 , 1 ) << square .toU6 ();
3
- return (bitboard & mask ) != 0 ;
1
+ const std = @import ("std" );
2
+
3
+ pub fn get_bit (bitboard : u64 , square : u16 ) bool {
4
+ return (bitboard & (1 << square )) != 0 ;
4
5
}
6
+
7
+ pub const Square = enum (u7 ) {
8
+ pub inline fn fromInt (square : usize ) Square {
9
+ return @enumFromInt (square );
10
+ }
11
+ };
You can’t perform that action at this time.
0 commit comments