bit.ops - Bitwise Operations
Operations that deal with bits directly,
either individually or in groups.
The variant with an appended s like bands work on strings.
The variants with a prepended n_ like <n_bnot> generate a new target PMC.
If possible,
they use the appropriate language type,
specified with .HLL
.
- band(inout INT,
in INT)
- Set the bits of $1 according to the and of the corresponding bits from $1 and $2.
- band(out INT,
in INT,
in INT)
- Set the bits of $1 according to the and of the corresponding bits from $2 and $3.
- bands(inout STR,
in STR)
- Set the bits of $1 according to the and of the corresponding bits from $1 and $2.
- bands(out STR,
in STR,
in STR)
- Set the bits of $1 according to the and of the corresponding bits from $2 and $3.
- bnot(inout INT)
- bnot(invar PMC)
- Sets $1 to
bitwise not
$1 inplace.
- bnot(out INT,
in INT)
- bnot(out PMC,
invar PMC)
- n_bnot(out PMC,
invar PMC)
- Set the bits of $1 to the not of the corresponding bits from $2.
- bnots(inout STR)
- bnots(invar PMC)
- bnots(out STR,
in STR)
- bnots(out PMC,
invar PMC)
- n_bnots(out PMC,
invar PMC)
- Set the bits of $1 to the not of the corresponding bits from $2.
- bor(inout INT,
in INT)
- Set the bits of $1 according to the or of the corresponding bits from $1 and $2.
- bor(out INT,
in INT,
in INT)
- Set the bits of $1 according to the or of the corresponding bits from $2 and $3.
- bors(inout STR,
in STR)
- Set the bits of $1 according to the or of the corresponding bits from $1 and $2.
- bors(out STR,
in STR,
in STR)
- Set the bits of $1 according to the or of the corresponding bits from $2 and $3.
- shl(inout INT,
in INT)
- Shift left $1 by $2 bits.
- shl(out INT,
in INT,
in INT)
- Set $1 to the value of $2 shifted left by $3 bits.
- shr(inout INT,
in INT)
- Shift right $1 by $2 bits.
- shr(out INT,
in INT,
in INT)
- Set $1 to the value of $2 shifted right by $3 bits.
- lsr(out INT,
in INT)
- Shift $1 logically shifted right by $2 bits.
- lsr(out INT,
in INT,
in INT)
- 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 amount of bits to rotate,
32 bit on a 32-bit CPU and 32 or 64 on a 64-bit CPU.
If the rotate count is negative a rotate right by ($3+$4) is performed.
- bxor(inout INT,
in INT)
- Set the bits of $1 according to the xor of the corresponding bits from $1 and $2.
- bxor(out INT,
in INT,
in INT)
- Set the bits of $1 according to the xor of the corresponding bits from $2 and $3.
- bxors(inout STR,
in STR)
- Set the bits of $1 according to the xor of the corresponding bits from $1 and $2.
- bxors(out STR,
in STR,
in STR)
- Set the bits of $1 according to the xor of the corresponding bits from $2 and $3.
Copyright (C) 2001-2006,
The Perl Foundation.
This program is free software.
It is subject to the same license as the Parrot interpreter itself.