Complex numbers are the set of numbers that describe all possible points in a two-dimensional space. The two coordinates of a particular point in this space are known as the real and imaginary parts of the complex number that describes that point.
In Guile, complex numbers are written in rectangular form as the sum of
their real and imaginary parts, using the symbol
i to indicate
the imaginary part.
3+4i ⇒ 3.0+4.0i (* 3-8i 2.3+0.3i) ⇒ 9.3-17.5i
Polar form can also be used, with an ‘@’ between magnitude and angle,
firstname.lastname@example.org ⇒ -1.0 (approx) -email@example.com ⇒ 0.0-1.0i (approx)
Guile represents a complex number as a pair of inexact reals, so the real and imaginary parts of a complex number have the same properties of inexactness and limited precision as single inexact real numbers.
Note that each part of a complex number may contain any inexact real value, including the special values ‘+nan.0’, ‘+inf.0’ and ‘-inf.0’, as well as either of the signed zeroes ‘0.0’ or ‘-0.0’.
#t if z is a complex number,
otherwise. Note that the sets of real, rational and integer
values form subsets of the set of complex numbers, i.e. the
predicate will also be fulfilled if z is a real,
rational or integer number.
scm_is_true (scm_complex_p (val)).