% Function COMPLEX
Function COMPLEX
complex
realpart &optional
imagpart => complex
realpart - 実数
imagpart - 実数
complex - 有理数か複素数
complex
は、
実部がrealpart、虚部がimagpartの数を返却します。
もしrealpartが有理数であり、imagpartがゼロのとき、
complex
の結果はrealpartであり、有理数です。
それ以外のとき、結果は複素数です。
realpartかimagpartが浮動小数のとき、
複素数が生成される前に浮動小数ではない値は浮動小数に変換されます。
もしimagpartが指定されなかったとき、
虚部はrealpartと同じ型のゼロになり、
例えば(coerce 0 (type-of realpart))
が効果的に使用されます。
型のアップグレードとは、
その型の階層的な格子の情報に移動することを意味します。
複素数の場合は、その実部と虚部を表す型type-specierは、
(upgraded-complex-part-type type-specifier)
の
サブタイプで無ければなりません。
type-specifier1がtype-specifier2のサブタイプのとき、
(upgraded-complex-element-type 'type-specifier1)
もまた
(upgraded-complex-element-type 'type-specifier2)
のサブタイプでなければなりません。
2つの疎の型は、同じものへアップグレードすることができます。
(complex 0) => 0
(complex 0.0) => #C(0.0 0.0)
(complex 1 1/2) => #C(1 1/2)
(complex 1 .99) => #C(1.0 0.99)
(complex 3/2 0.0) => #C(1.5 0.0)
なし。
なし。
なし。
realpart
,
imagpart
,
2.4.8.11. シャープサイン C
なし。