>>>>> Richard Cotton <richiero...@gmail.com> >>>>> on Thu, 5 May 2016 09:37:42 +0300 writes:
> If you set the "digits17" control option in deparse, you get a lot of > unnecessary space in the representation of complex numbers. > > deparse(0 + 0i) > [1] "0+0i" > > deparse(0 + 0i, control = "digits17") > [1] "0 + 0i" > As far as I can tell, the logic for this comes from this piece of > /src/main/deparse.c: > if (TYPEOF(vector) == CPLXSXP && (d->opts & DIGITS16)) { > Rcomplex z = COMPLEX(vector)[i]; > if (R_FINITE(z.r) && R_FINITE(z.i)) { > snprintf(hex, 64, "%.17g + %17gi", z.r, z.i); > strp = hex; > } else > strp = EncodeElement(vector, i, quote, '.'); > } > I think this is a small bug, and that "%17gi" in the snprintf call > ought to be "%.17gi". > Also there shouldn't be any space around the plus sign for consistency > with the non-digits17 option. > Is this a real bug, or is it deliberate behaviour? > -- > Regards, > Richie Thank you, Richie! I agree it should be improved ... actually, there is even another improvement, so we don't get things like '2+-1i' but rather '2-1i' (namely to use the '+' format modifier option for printf). I have commited a change to R-devel (only, for now), svn rev 70601 specifically. Martin -- Martin <maech...@stat.math.ethz.ch> http://stat.ethz.ch/people/maechler Seminar für Statistik, ETH Zürich HG G 16 Rämistrasse 101 CH-8092 Zurich, SWITZERLAND phone: +41-44-632-3408 fax: ...-1228 <>< ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel