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

Reply via email to