-
(- number &rest numbers)
引数が1つの場合はその符号を反転した値を返します。複数の場合は、最初の引数から残りの引数を左から右へ順に減算します。結果の型は通常の数値の伝播規則に従います。整数同士なら整数のまま、浮動小数点数が1つでも含まれると結果は浮動小数点数になり、有理数は厳密に保たれます。整数結果は、どのバックエンドでもオーバーフロー時に多倍長整数へ昇格します。1 組ずつ減算するので、最初の浮動小数点数より前の引数は正確に減算され、その差だけが浮動小数点数になります: (- 1/10 -1/5 0.0) は SBCL と同じく 0.3 です。複素数の引数も同じく畳み込みます: 正確な複素数 z について (- z z 1.5) は -1.5 です。