Arithmetic ドキュメント
ここは arithmetic 0.5.0 の日本語ドキュメント入口です。過去のリリースノートと履歴は CHANGELOG.md を参照してください。
このリリースの要点
IntegralContextualは MoonBitIntを埋め込み diagnostics を返します。AdjacentContextualは next-plus、next-minus、next-toward を提供します。ConstantsContextualとHyperbolicContextualは、より豊かな数値 backend のために context に忠実な capability 境界を定義します。- certification failure は引き続き
ArithmeticErrorで明示されます。
Capability レイヤー
- unchecked elementary traits は後端の直接的な挙動を公開します。
- checked traits は定義域エラーや除算エラーを明示します。
- contextual traits は
ArithmeticContextを受け取り、値と diagnostics を返します。 - enclosure traits は包含、確定関係、可能関係を表します。
Context の契約
- precision は最低
1に補正されます。 e_minとe_maxを両方指定する場合、e_minはe_max以下である必要があります。- decimal プリセットは precision、指数範囲、clamp をまとめて定義します。
- diagnostics は論理 OR で合成され、通常の不変値として扱われます。
組み込みインスタンスの制約
組み込みの Float と Double の contextual 演算はネイティブ scalar の挙動を 維持します。任意の decimal 精度、方向付き丸め、指数 clamp、一般的な状態フラグ検出は 行いません。Float の整数埋め込みは検出可能な変換損失を報告します。隣接値演算は固定の IEEE バイナリ形式を使い、その表現集合での隣接選択は正確な操作なので空の diagnostics を 返します。contextual 除算と平方根は checked 経路で検証します。ネイティブ Float と Double は contextual 定数または双曲線関数を実装しません。