Repository navigation
Release v1.5.0 - #38
Merged
Merged
Conversation
- Native Book v4(RSSHGBK4)で部分参照、コメント付き編集、差分保存、復旧、別名救出とcompactionを追加。圧縮ブロックは1〜16,384局面を指定でき、既定と推奨は64局面 - 旧Book系APIとNativeの回数を削除。旧v2と固定長v3は元入力から再生成する。外部入力の回数欠落はstrict変換で拒否し、明示的なlossy変換で報告する - depth_kindは0が未指定、1が探索深さ、2が定跡内の後退解析距離。未知のu32値も保持する。BookErrorに3 variantを追加してnon_exhaustiveとし、利用側のmatchにはワイルドカード分岐が必要 - MoveとMove32の先後反転と左右反転、先後反転したPackedSfen出力を追加。Rustはflip()、Pythonはflip_side()、左右反転はmirror_file() - check_candidate_bbの駒種対応を修正し、非王手局面の王手生成、CapturePlusProの走査と王手中の一手詰めの局面複製を高速化 - 王手生成の独立参照テスト、release版の確保検査、feature単独のビルドとrustdoc検査を整備
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
定跡の編集原本とエンジン参照を共有する Native Book API を追加します。
部分参照、コメント付き編集、差分保存、保全付き復旧、別名救出と compaction を提供します。
保存形式は wire version 4(magic
RSSHGBK4)で、可変長整数と独立した Zstandard ブロック圧縮を採用します。ブロック局面数は 1..=16384 を指定でき、既定と推奨値は 64 です。圧縮後と展開後はそれぞれ 64MiB 以下に制限します。
depth の意味は文書単位の
depth_kindで指定し、0 は未指定、1 は探索深さ、2 は定跡内の後退解析距離、未知のu32値も保持します。Native 候補手の回数は保存せず、回数を持つ外部入力は既定の strict 変換で拒否し、明示的な lossy 変換で欠落を報告します。
BookErrorは 3 variant を追加して#[non_exhaustive]とするため、利用側のmatchにはワイルドカード分岐が必要です。bookfeature のビルドには Zstandard の C 実装をコンパイルする C コンパイラが必要です。Python の wheel 利用時には不要です。旧
Book、MemoryBook、StaticBook、BookBuilderとハッシュキー API は削除します。旧 v2 ファイルだけから局面を復元できないため、元の棋譜または外部定跡からの再生成が必要です。
固定長 v3 も新 reader では受理せず、入力から再生成します。
外部形式と所有 IR からは
write_native_bookとNativeBookImportOptionsで変換します。指し手の先後反転と左右反転、先後反転した PackedSfen の出力も追加します。
王手候補表の駒種対応を修正し、王手生成、捕獲候補の走査と一手詰めの局面複製を改善します。
検証:
make check(Rust 737 件、Python 246 件、doc-test 30 件)、release 確保検査、feature 単独を含む rustdoc と mdBook が成功しました。上限拡張を含む最終ソースから Windows の標準版と AVX2 版の配布物を再作成し、新規環境でそれぞれ 31 件成功しました。
展開した Rust crate を利用する外部 consumer の検査と、配布物内の Rust ソースの byte 単位の一致確認も成功しました。
両 sdist をリポジトリ外で再ビルドし、生成 wheel の隔離検査もそれぞれ 31 件成功しました。
実 YBB 全 17,000,703 局面、137,543,442 候補手で保持フィールドが一致し、ShogiLens での同一ファイル編集後に nnue と az が再参照できました。
これらはローカルの検証であり、公開 PR の各 OS CI と公開後のレジストリ取得は別途確認します。
公開候補の
python-release.yml手動実行で、標準版 5 環境と AVX2 版 3 環境、および両 sdist の build が成功しました。branch ref のため PyPI publish は実行していません。