[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
given.


> 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
now)
 - "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.

Cheers,

Rainer


> 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