I would second that, it certainly would be handy to be able to round
numbers outside the integer range and in addition, rounding with a specific
number of decimal places, like e.g., the function round() in R. Is there a
specific reason the round() function results in an integer?

Paulo


On Wed, May 15, 2013 at 9:20 PM, Rainer M Krug <[email protected]> wrote:

>
>
> On Wednesday, May 15, 2013, Glynn Clements wrote:
>
>>
>> Paulo van Breugel wrote:
>>
>> > I am having trouble with the following computation, which gives me an
>> > overflow warning ("WARNING: Overflow occured in the calculation").
>> >
>> > r.mapcalc "A = if(B==0,
>> (round(C/0.0001)-1175699902)/(3007966667-1175699902) *100.0, 1)" --overwrite
>> >
>> >
>> > whereby C is a map with values between 1 and 31000. It seems to be
>> > related to the size of the numbers (no warning if I divide C by 0.001),
>> > but I am not clear what limit I am hitting here or how to avoid this.
>> >
>> > The warning does not stop the calculation, and the resulting map seems
>> > to be correct. However, I rather avoid this warning, also because the
>> > warning message causes problems when running in batch from within R.
>>
>> The round() function always returns an integer, regardless of its
>> argument types. Integers are always 32-bit, so the result is limited
>> to the range +/- 2147483647 (2^31-1).
>
>
> True - but is there an equivalent function to round numbers outside the
> integer range? Would be useful. Looking at the functions in r.mapcalc, I
> can't think of a way of doing this?
>
> Rainer
>
>
>>
>> --
>> Glynn Clements <[email protected]>
>> _______________________________________________
>> grass-dev mailing list
>> [email protected]
>> http://lists.osgeo.org/mailman/listinfo/grass-dev
>>
>
>
> --
> 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

Reply via email to