4 #include "base/cl_sysdep.h"
7 #include "cln/complex_io.h"
12 #include "cln/output.h"
13 #include "cln/complex.h"
14 #include "complex/cl_C.h"
15 #include "cln/real_io.h"
19 void print_complex (std::ostream& stream, const cl_print_number_flags& flags, const cl_N& z)
23 print_real(stream,flags,z);
26 var cl_R re = realpart(z);
27 var cl_R im = imagpart(z);
28 if (flags.complex_readably) {
29 // Common Lisp #C(re im) syntax
30 fprintchar(stream,'#');
31 fprintchar(stream,'C');
32 fprintchar(stream,'(');
33 print_real(stream,flags,re);
34 fprintchar(stream,' ');
35 print_real(stream,flags,im);
36 fprintchar(stream,')');
38 // Standard mathematical notation: re + im i
42 print_real(stream,flags,re);
44 fprintchar(stream,'-');
45 print_real(stream,flags,-im);
47 fprintchar(stream,'+');
48 print_real(stream,flags,im);
50 fprintchar(stream,'i');
53 print_real(stream,flags,im);
54 fprintchar(stream,'i');
58 print_real(stream,flags,re);