On Sun, Nov 27, 2011 at 4:57 AM, Andy Wickert <[email protected]>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 <[email protected]> > > > > 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: [email protected] Skype: RMkrug
_______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
