Function ABS

UP


Function ABS

Function ABS

構文

abs number => absolute-value

引数と戻り値

number - 数
absolute-value - 非負の実数

定義

absnumberの絶対値を返却します。

もしnumberが実数のとき、返却値はnumberと同じ型です。

もしnumberが複素数のとき、 返却値はnumberと同じ大きさの正の実数です。 もしnumberの要素が有理数であり、 返却値がちょうど有理数であることが可能であっても、 その返却値は浮動小数にすることができます。 したがって、(abs #c(3 4))55.0のどちらかになり、 実装に依存します。

例文

(abs 0) =>  0
(abs 12/13) =>  12/13
(abs -1.09) =>  1.09
(abs #c(5.0 -5.0)) =>  7.071068
(abs #c(5 5)) =>  7.071068
(abs #c(3/5 4/5)) =>  1 or approximately 1.0
(eql (abs -0.0) -0.0) =>  true

影響

なし。

例外

なし。

参考

12.1.3.3. 浮動小数の代替可能性の規則

備考

もしnumberが複素数のとき、 結果は次のものと等しくなります。

(sqrt (+ (expt (realpart number) 2) (expt (imagpart number) 2)))

実装はこの公式を全ての複素数に使うべきではありません。 そうではなく非常に大きい要素か非常に小さい要素に対して、 計算の途中でオーバーフローとアンダーフローが起きないよう 特別な処理を行うべきです。


TOP, Github