/
(/ number &rest numbers)
最初の引数を残りの引数で左から右へ順に割ります。引数が 1 つの場合はその逆数を返します。整数の除算は正確で、結果が整数にならない場合は切り捨てずに約分した比として返し、割り切れる場合は整数を返します。いずれかの引数が浮動小数点数であれば結果は浮動小数点数になります。1 組ずつ割るので、最初の浮動小数点数より前の引数は正確に割られ、その商だけが浮動小数点数になります: (/ 1/10 1/3 1.0) は SBCL と同じく 0.3 です。正確な 0 での除算は、後に浮動小数点数が続く場合も ((/ 1 0 2.0)) division-by-zero を通知します。浮動小数点数の被演算数を含む組は IEEE 754 に従うので、(/ 1.5 0) と (/ 1 0.0) は無限大、(/ 0.0 0) は NaN です。
複素数の引数があっても 1 組ずつ割り、各組は SBCL と同じに計算します。複素数を実数で割ると各成分をその実数で割り ((/ #c(1d0 2d0) 3d0) の丸めは成分あたり 1 回で、(/ #c(1d0 2d0) 0d0) は実数の除算が返すとおり #C(Infinity Infinity) です)、複素数で割る商は除数の大きい方の成分を基準に畳み込むので、被演算数自体が表現できる範囲では途中の値が溢れません: (/ #c(1d200 1d200) #c(1d200 1d200)) は #C(1.0 0.0) です。正確な被演算数は浮動小数点数と出会う演算でだけ浮動小数点数になるので、正確な成分は正確な有理数のまま計算され、正確な段階は後に続く浮動小数点数に関係なく正確なままで、符号付きゼロは SBCL と一致します: (/ 1 #c(1.0 0.0)) は #C(1.0 -0.0) です。正確な 0 での除算は実数の場合と同じ 0 除算エラーを通知します。