Method `>>()


Method `>>

int `>>(int arg1, int(0..) arg2)
mixed `>>(object arg1, int(0..)|object arg2)
mixed `>>(int arg1, object arg2)
float `>>(float arg1, int(0..) arg2)

Description

Right shift.

Every expression with the >> operator becomes a call to this function, i.e. a>>b is the same as predef::`>>(a,b).

If arg1 is an object that implements lfun::`>>(), that function will be called with arg2 as the single argument.

If arg2 is an object that implements lfun::``>>(), that function will be called with arg1 as the single argument.

If arg1 is a float and arg2 is a non-negative integer, arg1 will be divided by 1<<arg2.

Otherwise arg1 will be shifted arg2 bits right.

See also

`<<()