G. Allegri wrote: > Doing a logical operation with a DCELL raster within an if(x,a) statement > produces an error: "Incorrect argument types to function bitand()".
First, you're confusing bitwise operators and logical operators. & and | are bitwise operators, while && and || (and &&& and |||) are logical operators. Second, both bitwise and logical operators only work on integer values. If you want to use floating-point values as boolean values, you need to explicitly convert them to integers (either via int(x) or round(x), or x==0.0, or abs(x)<1e-30, or whatever). > This doesn't seem to be described inside the docs, is it? > > When the if() function is described it only states its behaviour in case of > NULL, 0 or "otherwise" values. This isn't about the if() function. The bitand() function (to which the error message refers) corresponds to the bitwise-and operator "&". The if() function accepts either integer or floating-point values for its arguments. -- Glynn Clements <gl...@gclements.plus.com> _______________________________________________ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user