Since version 2.1


lshift!(<byte expression> [, <byte positions>])


lshift(<int expression> [, <byte positions>])

The LSHIFT() function shifts each bit in expression to the left by the number of positions and returns the result of the operation.

The second argument can be omitted and it defaults to 1.

Warning: passing positions bigger than 127 will lead to undefined results.

Performance tip

Shifting the bits to the left is equivalent to multiplying with powers of two, however much faster. Example:

rem -- this is slow
x = 75
y = x * 4

rem -- this is fast
x = 75
y = lshift(x, 2)