real-part, imag-part - real and imaginary parts of a complex number
(import (rnrs)) ;R6RS
(import (rnrs base)) ;R6RS
(import (scheme r5rs)) ;R7RS
(import (scheme complex)) ;R7RS, optional library
(real-part z)
(imag-part z)
If z is the complex number a+bi, then the real-part
procedure returns a and imag-part returns b.
These procedures return a single value, a real number.
(real-part 1.1+2.2i) => 1.1 ;approximately
(imag-part 1.1+2.2i) => 2.2 ;approximately
(real-part -2+3i) => -2 or -2.0
(imag-part -2+3i) => 3 or 3.0
(imag-part 42) => 0 or 0.0
All R6RS implementations support complex numbers. Implementations of the other
RnRS reports may or may not support complex numbers. In such cases these
procedures will be missing.
This procedure can raise exceptions with the following condition types:
- &assertion (R6RS)
- The wrong number of arguments was passed or an argument was outside its
domain.
- R7RS
- The assertions described above are errors. Implementations may signal an
error, extend the procedure's domain of definition to include such
arguments, or fail catastrophically.
R4RS, IEEE Scheme, R5RS, R6RS, R7RS
These procedures first appeared in R2RS, which got them from Common Lisp, where
they are called realpart and imagpart.