No subject
    Charles Ehlschlaeger 
    chuck at geog.GEOG.UCSB.EDU
       
    Fri Sep  3 17:15:19 EDT 1993
    
    
  
I have heard over grassu that r.watershed (version 4.1) is not working. After
looking into the code, I realized that a bug was introduced into the code I
wrote to speed up execution of large DEM surfaces. I am sending this note to
OGI, but it is an easy fix for those of you in a hurry:
Line 8-10 of .../src/raster/r.watershed/ram/ramseg.h reads:
>#define SEG_INDEX(s,r,c) (int) \
>   ((((r) >> RAMSEGBITS) * (s) + ((((c) >> RAMSEGBITS)) << DOUBLEBITS)) \
>    + ((((r) & SEGLENLESS) << RAMSEGBITS) + ((c) & SEGLENLESS)))
The parenthesis are all in the wrong places. They should be located:
>#define SEG_INDEX(s,r,c) (int) \
>   ((((r) >> RAMSEGBITS) * (s) + ((c) >> RAMSEGBITS)) << DOUBLEBITS) \
>    + (((r) & SEGLENLESS) << RAMSEGBITS) + ((c) & SEGLENLESS)
If you replace lines 9 and 10 in ramseg.h (without the ">"s) and re-compile,
r.watershed 4.1 should work as well (or as poorly) as older versions of
r.watershed.
Chuck Ehlschlaeger
    
    
More information about the grass-user
mailing list