├── .github └── workflows │ └── test.yml ├── .gitignore ├── .scalafmt.conf ├── LICENSE ├── README.md ├── benchmarks └── src │ └── main │ └── scala │ ├── BitOpsTest.scala │ ├── EncodingTestData.scala │ ├── HuffmanPgnBench.scala │ ├── LinearEstimateTest.scala │ ├── LowBitTruncTest.scala │ ├── OverallEncodingTest.scala │ └── VarIntEncodingTest.scala ├── jitpack.yml ├── project ├── build.properties └── plugins.sbt └── src ├── main └── scala │ ├── BitOps.scala │ ├── clock │ ├── Encoder.scala │ ├── EndTimeEstimator.scala │ ├── LinearEstimator.scala │ └── LowBitTruncator.scala │ └── game │ ├── Bitboard.scala │ ├── Board.scala │ ├── Encoder.scala │ ├── Huffman.scala │ ├── Magic.scala │ ├── Move.scala │ ├── MoveList.scala │ ├── ZobristHash.scala │ └── model.scala └── test └── scala ├── ClockHistoryTest.scala ├── HuffmanPgnTest.scala └── PerftTest.scala /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/.gitignore -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/src/main/scala/BitOpsTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/benchmarks/src/main/scala/BitOpsTest.scala -------------------------------------------------------------------------------- /benchmarks/src/main/scala/EncodingTestData.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/benchmarks/src/main/scala/EncodingTestData.scala -------------------------------------------------------------------------------- /benchmarks/src/main/scala/HuffmanPgnBench.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/benchmarks/src/main/scala/HuffmanPgnBench.scala -------------------------------------------------------------------------------- /benchmarks/src/main/scala/LinearEstimateTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/benchmarks/src/main/scala/LinearEstimateTest.scala -------------------------------------------------------------------------------- /benchmarks/src/main/scala/LowBitTruncTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/benchmarks/src/main/scala/LowBitTruncTest.scala -------------------------------------------------------------------------------- /benchmarks/src/main/scala/OverallEncodingTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/benchmarks/src/main/scala/OverallEncodingTest.scala -------------------------------------------------------------------------------- /benchmarks/src/main/scala/VarIntEncodingTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/benchmarks/src/main/scala/VarIntEncodingTest.scala -------------------------------------------------------------------------------- /jitpack.yml: -------------------------------------------------------------------------------- 1 | jdk: 2 | - openjdk21 3 | -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.10.7 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /src/main/scala/BitOps.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/BitOps.scala -------------------------------------------------------------------------------- /src/main/scala/clock/Encoder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/clock/Encoder.scala -------------------------------------------------------------------------------- /src/main/scala/clock/EndTimeEstimator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/clock/EndTimeEstimator.scala -------------------------------------------------------------------------------- /src/main/scala/clock/LinearEstimator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/clock/LinearEstimator.scala -------------------------------------------------------------------------------- /src/main/scala/clock/LowBitTruncator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/clock/LowBitTruncator.scala -------------------------------------------------------------------------------- /src/main/scala/game/Bitboard.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/Bitboard.scala -------------------------------------------------------------------------------- /src/main/scala/game/Board.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/Board.scala -------------------------------------------------------------------------------- /src/main/scala/game/Encoder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/Encoder.scala -------------------------------------------------------------------------------- /src/main/scala/game/Huffman.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/Huffman.scala -------------------------------------------------------------------------------- /src/main/scala/game/Magic.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/Magic.scala -------------------------------------------------------------------------------- /src/main/scala/game/Move.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/Move.scala -------------------------------------------------------------------------------- /src/main/scala/game/MoveList.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/MoveList.scala -------------------------------------------------------------------------------- /src/main/scala/game/ZobristHash.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/ZobristHash.scala -------------------------------------------------------------------------------- /src/main/scala/game/model.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/main/scala/game/model.scala -------------------------------------------------------------------------------- /src/test/scala/ClockHistoryTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/test/scala/ClockHistoryTest.scala -------------------------------------------------------------------------------- /src/test/scala/HuffmanPgnTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/test/scala/HuffmanPgnTest.scala -------------------------------------------------------------------------------- /src/test/scala/PerftTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lichess-org/compression/HEAD/src/test/scala/PerftTest.scala --------------------------------------------------------------------------------