NAME
bit.ops - Bitwise Opcodes Dynoplib
DESCRIPTION
Operations that deal with bits directly, either individually or in groups.
The variant with an appended s like bands work on strings.
- band(invar PMC, in INT)
- band(invar PMC, invar PMC) Set the bits of $1 according to the and of the corresponding bits from $1 and $2.
- band(invar PMC, invar PMC, in INT)
- band(invar PMC, invar PMC, invar PMC) Set the bits of $1 according to the and of the corresponding bits from $2 and $3.
- bands(invar PMC, in STR)
- bands(invar PMC, invar PMC) Set the bits of $1 according to the and of the corresponding bits from $1 and $2.
- bands(out STR, in STR, in STR)
- bands(invar PMC, invar PMC, in STR)
- bands(invar PMC, invar PMC, invar PMC) Set the bits of $1 according to the and of the corresponding bits from $2 and $3.
- bor(invar PMC, in INT)
- bor(invar PMC, invar PMC) Set the bits of $1 according to the or of the corresponding bits from $1 and $2.
- bor(invar PMC, invar PMC, in INT)
- bor(invar PMC, invar PMC, invar PMC) Set the bits of $1 according to the or of the corresponding bits from $2 and $3.
- bors(invar PMC, in STR)
- bors(invar PMC, invar PMC) Set the bits of $1 according to the or of the corresponding bits from $1 and $2.
- bors(out STR, in STR, in STR)
- bors(invar PMC, invar PMC, in STR)
- bors(invar PMC, invar PMC, invar PMC) Set the bits of $1 according to the or of the corresponding bits from $2 and $3.
- shl(invar PMC, in INT)
- shl(invar PMC, invar PMC) Shift left $1 by $2 bits.
- shl(invar PMC, invar PMC, in INT)
- shl(invar PMC, invar PMC, invar PMC) Set $1 to the value of $2 shifted left by $3 bits.
- shr(invar PMC, in INT)
- shr(invar PMC, invar PMC) Shift right $1 by $2 bits.
- shr(invar PMC, invar PMC, in INT)
- shr(invar PMC, invar PMC, invar PMC) Set $1 to the value of $2 shifted right by $3 bits.
- bnot(inout INT)
- bnot(invar PMC) Sets $1 to
- bnot(out INT, in INT)
- bnot(out PMC, invar PMC)
- bnots(invar PMC)
- bnots(out STR, in STR)
- bnots(out PMC, invar PMC)
- lsr(invar PMC, in INT)
- lsr(invar PMC, invar PMC) Shift $1 logically shifted right by $2 bits.
- lsr(invar PMC, invar PMC, in INT)
- lsr(invar PMC, invar PMC, invar PMC) Set $1 to the value of $2 logically shifted right by $3 bits.
- rot(out INT, in INT, in INT, inconst INT) Rotate $2 left or right by $3 and place result in $1. $4 is the the size of the word to rotate, max 32 on a 32-bit CPU and 64 on a 64-bit CPU. If the rotate count is negative a rotate right by abs($3) is performed.
- bxor(invar PMC, in INT)
- bxor(invar PMC, invar PMC) Set the bits of $1 according to the xor of the corresponding bits from $1 and $2.
- bxor(invar PMC, invar PMC, in INT)
- bxor(invar PMC, invar PMC, invar PMC) Set the bits of $1 according to the xor of the corresponding bits from $2 and $3.
- bxors(invar PMC, in STR)
- bxors(invar PMC, invar PMC) Set the bits of $1 according to the xor of the corresponding bits from $1 and $2.
- bxors(out STR, in STR, in STR)
- bxors(invar PMC, invar PMC, in STR)
- bxors(invar PMC, invar PMC, invar PMC) Set the bits of $1 according to the xor of the corresponding bits from $2 and $3.
bitwise not
$1 inplace.
COPYRIGHT
Copyright (C) 2001-2010, Parrot Foundation.
LICENSE
This program is free software. It is subject to the same license as the Parrot interpreter itself.