[GRASS-dev] r.mapcalc 32-bit ceiling

Rainer M Krug r.m.krug at gmail.com
Mon Nov 28 05:09:53 EST 2011

On Sun, Nov 27, 2011 at 4:57 AM, Andy Wickert <andrewwickert at gmail.com>wrote:

> > There can be a significant performance hit for doing this. Checking
> > whether the result of an addition overflowed is actually more
> > expensive than the addition itself. Checking whether a multiplication
> > overflowed can be even worse (particularly if you don't have a 64-bit
> > integer type available).
> >
> > --
> > Glynn Clements <glynn at gclements.plus.com>
> >
> Hm. If that's a debilitating issue,

I agree. And it should actualy not happen or at least a warning should be

> perhaps the overflow check could
> be triggered by a flag (e.g., if the user thinks there may be a
> problem)

That would be the minimum - I would even opt for an environmental variable
GRASS_CHECK_OVERFLOW which provides overflow checking globally for all
functions which can produce an overflow. r.mapcalc would be the obvious
candidate, but there are others which *can* produce overflow and which
should be checking for overflow as well.

GRASS_CHECK_OVERFLOW could have three values:
 - unset or "NO" (default): do not check for overflow (the default as it is
 - "error": check and raise an error if overflow occurs
 - "warning": check and produce a warning if overflow occurs.

or (easier) some information on typing and overflow could be
> placed on the man page.

I don't think that is enough - I solved the problem on my side by using
double instead of integer, but it took me some time to figure out why my
results were wrong. So: Yes, there should definitely be a warning in the
manual (highlighted and in Bold so that even I would have seen it...), but
the option to check and raise an error on overflow should be provided.

And as an environmental variable, it could be used by all modules.



> Andy

Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax (F):       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer at krugs.de

Skype:      RMkrug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/grass-dev/attachments/20111128/3c8686c2/attachment.html

More information about the grass-dev mailing list