7 #include "cl_complex_io.h"
12 #include "cl_output.h"
13 #include "cl_complex.h"
15 #include "cl_real_io.h"
17 void print_complex (cl_ostream stream, const cl_print_number_flags& flags, const cl_N& z)
21 print_real(stream,flags,z);
24 var cl_R re = realpart(z);
25 var cl_R im = imagpart(z);
26 if (flags.complex_readably) {
27 // Common Lisp #C(re im) syntax
28 fprintchar(stream,'#');
29 fprintchar(stream,'C');
30 fprintchar(stream,'(');
31 print_real(stream,flags,re);
32 fprintchar(stream,' ');
33 print_real(stream,flags,im);
34 fprintchar(stream,')');
36 // Standard mathematical notation: re + im i
40 print_real(stream,flags,re);
42 fprintchar(stream,'-');
43 print_real(stream,flags,-im);
45 fprintchar(stream,'+');
46 print_real(stream,flags,im);
48 fprintchar(stream,'i');
51 print_real(stream,flags,im);
52 fprintchar(stream,'i');
56 print_real(stream,flags,re);