prelude.math
算術演算子を超える数値操作 — abs / min / max と floor / ceil / round の丸め三兄弟。
算術演算子 (+ - * / %) を超える数値操作。default import 経由で math. qualified に呼ぶ。
丸め三兄弟 (floor / ceil / round) は言語で唯一の number -> integer 変換であり (/ は常に
number を返す)、除算した量に対する整数演算はここを通る。
agent
math.abs
primitive agent abs[T extends number](value: T) -> T絶対値。integer を保つ。
math.min / math.max
primitive agent min[T extends number](left: T, right: T) -> T
primitive agent max[T extends number](left: T, right: T) -> T小さい方 / 大きい方。両オペランドが integer なら integer を保つ。
math.floor
primitive agent floor(value: number) -> integervalue 以下で最大の整数。non-finite な値は起こり得ない (除算が non-finite を生まないため)。
math.ceil
primitive agent ceil(value: number) -> integervalue 以上で最小の整数。
math.round
primitive agent round(value: number) -> integer最も近い整数 (0 から離れる方向への四捨五入 — 小学校で習う規則。銀行丸めではない)。