[GRASS-dev] Overflow warning in r.mapcalc calculation

Glynn Clements glynn at gclements.plus.com
Fri May 17 07:38:27 PDT 2013


Rainer M. Krug wrote:

> > One option is to modify round() to take a second argument (defaulting
> > to 1), and have it return the first argument rounded to the nearest
> > multiple of the second. The return type would be that of the second
> > argument, i.e. round(x,1) rounds to the nearest integer and returns an
> > integer, round(x,1.0) rounds to the nearest integer and returns a
> > float, round(x,1e-3) would round to 3 decimal places (i.e. the nearest
> > multiple of 0.001), etc.
> 
> Sounds like a sensible approach without adding to many new
> functions. But I would actually split the two, i.e. have two more
> arguments, where one specifies the type, 
> and the other one the number of decimals to round to, i.e.
> 
> round(x, 0, "I") would be the default, rounding to whole number and
> return an integer

That interface isn't possible. r.mapcalc doesn't have a string type,
and there's no way that a function's return type can depend upon the
value of a parameter.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list