From: Steinar H. Gunderson Date: Sat, 6 Jan 2018 11:18:09 +0000 (+0100) Subject: Remove bitpacked_fen, which is only really in use for the book (which is forked off... X-Git-Url: https://git.sesse.net/?p=remoteglot;a=commitdiff_plain;h=064c1bd8e1689b614d75e005e5379fe4806ba15b Remove bitpacked_fen, which is only really in use for the book (which is forked off for now). --- diff --git a/Board.pm b/Board.pm index 3e0fd33..6df8eca 100644 --- a/Board.pm +++ b/Board.pm @@ -233,42 +233,6 @@ sub fen { # Returns a compact bit string describing the same data as fen(). # This is encoded using a Huffman-like encoding, and should be # typically about 1/3 the number of bytes. -sub bitpacked_fen { - my ($board) = @_; - my $bits = ""; - - for my $row (0..7) { - for my $col (0..7) { - my $piece = $board->[$row][$col]; - if ($piece eq '-') { - $bits .= "0"; - next; - } - - my $color = (lc($piece) eq $piece) ? 0 : 1; - $bits .= "1" . $color; - - if (lc($piece) eq 'p') { - $bits .= "0"; - } elsif (lc($piece) eq 'n') { - $bits .= "100"; - } elsif (lc($piece) eq 'b') { - $bits .= "101"; - } elsif (lc($piece) eq 'r') { - $bits .= "1110"; - } elsif (lc($piece) eq 'q') { - $bits .= "11110"; - } elsif (lc($piece) eq 'k') { - $bits .= "11111"; - } else { - die "Unknown piece $piece"; - } - } - } - - return pack('b*', $bits); -} - sub can_reach { my ($board, $piece, $from_row, $from_col, $to_row, $to_col) = @_; diff --git a/Position.pm b/Position.pm index c3dbcca..39b89ac 100644 --- a/Position.pm +++ b/Position.pm @@ -132,35 +132,6 @@ sub fen { return $fen; } -# Returns a compact bit string describing the same data as fen(), -# except for the half-move and full-move clock. -sub bitpacked_fen { - my $pos = shift; - my $board = $pos->{'board'}->bitpacked_fen(); - - my $bits = ""; - if ($pos->{'toplay'} eq 'W') { - $bits .= "0"; - } else { - $bits .= "1"; - } - - $bits .= $pos->{'white_castle_k'}; - $bits .= $pos->{'white_castle_q'}; - $bits .= $pos->{'black_castle_k'}; - $bits .= $pos->{'black_castle_q'}; - - my $col = $pos->{'ep_file_num'}; - if ($col == -1) { - $bits .= "0"; - } else { - $bits .= "1"; - $bits .= (qw(000 001 010 011 100 101 110 111))[$col]; - } - - return $board . pack('b*', $bits); -} - sub to_json_hash { my $pos = shift; my $json = { %$pos, fen => $pos->fen() };