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

日常任务

运行各种格式

运行器只读取一个文件,并根据其内容选择格式:

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 的对象。

深入了解

  • just conformance run binary 将固定版本的 MPFR 平方根数据、初等函数矩阵与 TestFloat 矩阵一起运行。
  • 新的初等函数数据由 tools/generate_mpfr_elementary_oracle.c 生成;请保留 mpfr-elementary-v1 标记行,以便运行器识别格式。
  • mpfr_expr 教程 解释了行格式与通过规则。

常见陷阱

  • 每次调用只处理一个文件。 多余的路径、缺失的路径以及分片选项,都会打印用法行并以 2 退出。
  • 格式检测基于文本。 若平方根文件恰好在注释中包含 input_coefficient_hex,它会被当作幂运算数据解析。

后续步骤