cli/testfloat_expr_cli API

cli/testfloat_expr_cli は Berkeley TestFloat のベクタファイル用のコマンドラインランナーです。オプションから TestFloatSpec を構築し、frontend/testfloat_expr で 1 つのベクタファイルを構文解析し、bin_float に対して実行して要約を出力します。通常は floating-conformance --backend testfloat … として呼び出されます。チュートリアルと設計ページを参照してください。

run

run(arguments) は 1 回の呼び出しを実行し、終了コードを返します。

pub fn run(Array[String]) -> Int

arguments[0] はプログラム名で、無視されます。オプション:

オプション意味
--function NAMETestFloat の関数。例えば f64_mulAdd(必須)
--rounding NAME丸めモード。デフォルトは rnear_even
--tininess NAMEafter(デフォルト)または before
--exactroundToInt と整数変換の -exact 版
--jsonテキストの代わりに 1 つの JSON オブジェクトを出力する
--shard-count N、--shard-index I(= 形式も可)N 個中のシャード I を実行する
PATHちょうど 1 つのベクタファイル(必須)

名前は TestFloatSpec::parse によって解釈されます。--function is required、a TestFloat vector path is required、only one TestFloat vector file is accepted per invocation、unknown option: … などのエラーやサポートされない名前は出力され、2 を返します。ファイルの最初の構文解析診断(source:line:1: message)も同様です。

テキスト出力は関数、丸め、極小性、件数 cases、selected cases、passed cases、failed cases、および失敗ごとに 1 行の failed ID: MESSAGE を出力します。JSON 出力のキーは function、rounding、tininess、exact、totalCases、selectedCases、passedCases、failedCases、failedIds です。

戻り値:使用法・仕様・ファイル・構文解析のエラーでは 2。ベクタが失敗した場合は 1。それ以外は 0。

///|
test "testfloat runner usage errors" {
  inspect(@testfloat_expr_cli.run(["testfloat", "vectors.tv"]), content="2")
  inspect(
    @testfloat_expr_cli.run(["testfloat", "--function", "f64_mul", "--rounding", "rodd", "v.tv"]),
    content="2",
  )
}

公開インターフェース全体

// Generated using `moon info`, DON'T EDIT IT
package "Luna-Flow/floating/cli/testfloat_expr_cli"

// Values
pub fn run(Array[String]) -> Int

// Errors

// Types and methods

// Type aliases

// Traits