Markus Metz wrote: > > Happy to see this exchange of ideas. It would be great if this could be > > implemented. Do you think it is useful I make a feature request on the bug > > tracker (with link to this email thread) so the idea doesn't get lost? > > Instead of > > r.mapcalc "A = if(B==0, > (round(C/0.0001)-1175699902)/(3007966667-1175699902) *100.0, 1)" > --overwrite > > try > > r.mapcalc "A = if(B==0, > (round(C/0.0001)-1175699902.0)/(3007966667.0-1175699902.0) *100.0, 1)" > --overwrite > > or better with whitespaces > > r.mapcalc "A = if(B == 0, (round(C / 0.0001) - 1175699902.0) / > (3007966667.0 - 1175699902.0) * 100.0, 1)" --overwrite > > adding .0 to numbers forces all calculations to be done with floating > point double precision
That won't help; the problem is that round() returns an integer. It wouldn't be particularly hard to change it so that the return type is the same as the argument type, but that might break existing scripts. -- Glynn Clements <gl...@gclements.plus.com> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev