mpfr_expr_cli チュートリアル

このチュートリアルでは、コマンドラインから MPFR のデータファイルに対して bin_float を検査する方法を説明します。ランナーは floating-conformance --backend mpfr として呼び出します。以下では mpfr でこのコマンドを略記します。

クイックスタート

just conformance build binary
_build/conformance/mpfr/native/release/build/mpfr-conformance.exe \
  --backend mpfr testdata/bin_float/mpfr-4.2.2-elementary.txt
MPFR elementary summary
cases: …
passed cases: …
failed cases: 0

日常的なタスク

各形式を実行する

ランナーはちょうど 1 つのファイルを読み込み、その内容から形式を判別します。

mpfr testdata/bin_float/mpfr-4.2.2-elementary.txt   # contains "mpfr-elementary-v1"
mpfr pow_si.txt                                     # header contains "input_coefficient_hex"
mpfr path/to/mpfr/tests/data/sqrt                   # anything else: sqrt data_check

スクリプト向けの JSON

mpfr --json testdata/bin_float/mpfr-4.2.2-elementary.txt

corpus、totalCases、passedCases、failedCases、failedIds を持つオブジェクトを 1 つ出力します。

さらに進んで

  • just conformance run binary は、固定された MPFR の平方根データと初等関数マトリクスを、TestFloat マトリクスと合わせて実行します。
  • 新しい初等関数データは tools/generate_mpfr_elementary_oracle.c によって生成されます。ランナーが形式を検出できるよう、mpfr-elementary-v1 マーカー行を残してください。
  • 行の形式と合格規則については mpfr_expr チュートリアル で説明しています。

よくある落とし穴

  • 1 回の呼び出しにつき 1 ファイル。 余分なパス、パスの欠落、シャードオプションはいずれも使用法の行を表示して 2 で終了します。
  • 形式の検出はテキストベースです。 コメント中にたまたま input_coefficient_hex を含む平方根ファイルは、べき乗データとして解析されます。

次のステップ