HooverChessUtils_PgnReader 0.9.0
Loading...
Searching...
No Matches
Static Public Member Functions | Private Member Functions | List of all members
hoover_chess_utils::pgn_reader::PositionCompressor_FixedLength Class Reference

Position compressor that produces fixed-length output (192 bits). More...

#include <position-compress-fixed.h>

Static Public Member Functions

static void compress (const ChessBoard &board, CompressedPosition_FixedLength &out_compressedPosition)
 Compresses a chess position with at most 32 pieces.
 
static void decompress (const CompressedPosition_FixedLength &compressedPosition, std::uint8_t halfMoveClock, std::uint32_t moveNum, pgn_reader::ChessBoard &out_board)
 Compresses a chess position with at most 32 pieces.
 

Private Member Functions

 PositionCompressor_FixedLength ()=delete
 
 ~PositionCompressor_FixedLength ()=delete
 

Detailed Description

Position compressor that produces fixed-length output (192 bits).

The position compressor can compress/decompress all legal positions with 32 pieces or less.

Constructor & Destructor Documentation

◆ PositionCompressor_FixedLength()

hoover_chess_utils::pgn_reader::PositionCompressor_FixedLength::PositionCompressor_FixedLength ( )
privatedelete

◆ ~PositionCompressor_FixedLength()

hoover_chess_utils::pgn_reader::PositionCompressor_FixedLength::~PositionCompressor_FixedLength ( )
privatedelete

Member Function Documentation

◆ compress()

static void hoover_chess_utils::pgn_reader::PositionCompressor_FixedLength::compress ( const ChessBoard board,
CompressedPosition_FixedLength out_compressedPosition 
)
static

Compresses a chess position with at most 32 pieces.

Parameters
[in]boardPosition
[out]out_compressedPositionCompressed position
Exceptions
std::out_of_rangeThe position has more than 32 pieces.

See CompressedPosition_FixedLength for the specication of position encoding.

◆ decompress()

static void hoover_chess_utils::pgn_reader::PositionCompressor_FixedLength::decompress ( const CompressedPosition_FixedLength compressedPosition,
std::uint8_t  halfMoveClock,
std::uint32_t  moveNum,
pgn_reader::ChessBoard out_board 
)
static

Compresses a chess position with at most 32 pieces.

Parameters
[in]compressedPositionCompressed position
[in]halfMoveClockHalf-move clock
[in]moveNumMove number
[out]out_boardChessBoard to be set with position represented by compressedPosition
Exceptions
std::out_of_rangeBad compressed format
PgnErrorIllegal position

See CompressedPosition_FixedLength for the specication of position encoding.


The documentation for this class was generated from the following file: