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_datampfr-4.2.2-elementary
input_coefficient_hex(上記に該当しない場合)整数べきparse_pow_data, execute_pow_datampfr-4.2.2-pow-si
いずれも含まない平方根の data_checkparse_sqrt_data, execute_sqrt_datampfr-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