11 GINAC_IMPLEMENT_PRINT_CONTEXT(ExFormat, print_dflt)
30 void ExFormat::print_integer(
const ExFormat & c,
const cln::cl_I & x) {
31 c.s << cln::cl_I_to_int(x);
34 void ExFormat::print_real(
const ExFormat & c,
const cln::cl_R & x) {
35 if (cln::instanceof(x, cln::cl_I_ring)) {
36 print_integer(c, cln::the<cln::cl_I>(x));
37 }
else if (cln::instanceof(x, cln::cl_RA_ring)) {
38 const cln::cl_I numer = cln::numerator(cln::the<cln::cl_RA>(x));
39 const cln::cl_I denom = cln::denominator(cln::the<cln::cl_RA>(x));
42 print_integer(c, numer);
43 c.s <<
"/" << c.type <<
"(";
44 print_integer(c, denom);
48 print_integer(c, -numer);
49 c.s <<
"/" << c.type <<
"(";
50 print_integer(c, denom);
54 c.s << c.type <<
"(" << c.MQuote;
55 cln::cl_print_flags ourflags;
56 ourflags.default_float_format = cln::float_format(cln::the<cln::cl_F>(x));
57 cln::print_real(c.s, ourflags, x);
58 c.s << c.MQuote <<
")";
62 void ExFormat::print_numeric(
const numeric & p,
const ExFormat & c,
unsigned level) {
64 print_real(c, cln::the<cln::cl_R>(p.to_cl_N()));
66 c.s <<
"complex<" << c.type <<
">(";
67 print_real(c, cln::realpart(p.to_cl_N()));
69 print_real(c, cln::imagpart(p.to_cl_N()));
75 if (p.op(1).is_equal(ex(1)/2)) {
88 ExFormat::ExFormat(ostream &os,
const string & s,
unsigned opt) : print_dflt(os, opt), suffix(s) {
namespace for Numerical integration with Sector Decomposition method
void ex_print_power(const power &p, const ExFormat &c, unsigned level)