cli/mpfr_expr_cli API
cli/mpfr_expr_cli は MPFR 参照データ用のコマンドラインランナーです。1 つのファイルを読み込み、その形式を判定し、frontend/mpfr_expr で構文解析・実行して要約を出力します。通常は floating-conformance --backend mpfr … として呼び出されます。チュートリアルと設計ページを参照してください。
run
run(arguments) は 1 回の呼び出しを実行し、終了コードを返します。
pub fn run(Array[String]) -> Int
arguments[0] はプログラム名で、無視されます。ランナーは --json とちょうど 1 つのパスを受け付けます。それ以外(このランナーでは無効化されているシャードオプションを含む)では usage: mpfr-expr [--json] <MPFR sqrt, pow, or elementary corpus> を出力します。
形式はファイルの内容から選ばれます。
| 内容に含まれるもの | 形式 | パーサとエグゼキュータ | JSON の corpus |
|---|---|---|---|
mpfr-elementary-v1 | 初等関数マトリクス | parse_elementary_data, execute_elementary_data | mpfr-4.2.2-elementary |
input_coefficient_hex(上記に該当しない場合) | 整数べき | parse_pow_data, execute_pow_data | mpfr-4.2.2-pow-si |
| いずれも含まない | 平方根の data_check | parse_sqrt_data, execute_sqrt_data | mpfr-4.2.2-sqrt |
構文解析エラーの場合、最初の診断が source:line:1: message として出力されます。テキスト出力はタイトル、cases、passed cases、failed cases、および失敗ごとに 1 行の failed ID: MESSAGE を出力します。JSON 出力のキーは corpus、totalCases、passedCases、failedCases、failedIds です。
戻り値:使用法・ファイル・構文解析のエラーでは 2。行が失敗した場合は 1。それ以外は 0。
///|
test "mpfr runner usage errors" {
inspect(@mpfr_expr_cli.run(["mpfr"]), content="2")
inspect(@mpfr_expr_cli.run(["mpfr", "--shard-count=2", "data.txt"]), content="2")
}
公開インターフェース全体
// Generated using `moon info`, DON'T EDIT IT
package "Luna-Flow/floating/cli/mpfr_expr_cli"
// Values
pub fn run(Array[String]) -> Int
// Errors
// Types and methods
// Type aliases
// Traits