Hi Dieter,
(cc to grass5)
On Tue, May 15, 2001 at 03:01:36PM +0200, Dieter Lehmann wrote:
Hi,
r.mapcalc test='float(x)/10'
results in something like 0.0200000002.
what are the contents of "x"?
I need to round. The function round() in mapcalc gives only the next integer.
My problem might be solved in mapcalc or in r.stats (I need to export the
values through r.stats -1 test).
However, something is odd with r.mapcalc in my opinion:
r.mapcalc x1=1.4
EXECUTING x1 = ... 100%
CREATING SUPPORT FILES FOR x1
range: 1.3999999762 1.3999999762
r.stats x1
r.stats: 100%
1.4-1.4
but:
r.stats -1 x1
1.3999999762
1.3999999762
1.3999999762
1.3999999762
1.3999999762
[...]
-> not what I expect.
r.univar x1
[...]
Minimum: 1.3999999762
Maximum: 1.3999999762
Range: 0
Arithmetic Mean: 1.4
Variance: -2.49502e-12
awk: cmd. line:17: (FILENAME=- FNR=18894) warning: sqrt called with negative argument -2.49502e-12
Standarddeviation: nan
-> huh!
r.mapcalc x2=1.6
EXECUTING x2 = ... 100%
CREATING SUPPORT FILES FOR x2
range: 1.6000000238 1.6000000238
-> does not look very impressive.
r.mapcalc x0=1
EXECUTING x0 = ... 100%
CREATING SUPPORT FILES FOR x0
range: 1 1
-> o.k.
Starting to round:
r.mapcalc x1round="round(x1)"
EXECUTING x1round = ... 100%
CREATING SUPPORT FILES FOR x1round
range: 1 1
-> rounding is o.k.
r.mapcalc x2round="round(x2)"
EXECUTING x2round = ... 100%
CREATING SUPPORT FILES FOR x2round
range: 2 2
-> rounding is o.k.
r.mapcalc x3="1.6 + 1."
EXECUTING x3 = ... 100%
CREATING SUPPORT FILES FOR x3
range: 2.5999999046 2.5999999046
-> huh?
Perhaps someone could explain this behaviour. Or is it a precision bug?
Markus
----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'