View source code
Display the source code in core/bitop.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Module core.bitop
This module contains a collection of bit-level operations.
Functions
Name | Description |
---|---|
bitswap
|
Reverses the order of bits in a 32-bit integer. |
bsf
|
Scans the bits in v starting with bit 0, looking
for the first set bit.
|
bsr
|
Scans the bits in v from the most significant bit
to the least significant bit, looking
for the first set bit.
|
bswap
|
Swaps bytes in a 4 byte uint end-to-end, i.e. byte 0 becomes byte 3, byte 1 becomes byte 2, byte 2 becomes byte 1, byte 3 becomes byte 0. |
bt
|
Tests the bit. (No longer an intrisic - the compiler recognizes the patterns in the body.) |
btc
|
Tests and complements the bit. |
btr
|
Tests and resets (sets to 0) the bit. |
bts
|
Tests and sets the bit. |
inp
|
Reads I/O port at port_address .
|
inpl
|
Reads I/O port at port_address .
|
inpw
|
Reads I/O port at port_address .
|
outp
|
Writes and returns value to I/O port at port_address .
|
outpl
|
Writes and returns value to I/O port at port_address .
|
outpw
|
Writes and returns value to I/O port at port_address .
|
popcnt
|
Calculates the number of set bits in a 32-bit integer. |
volatileLoad
|
Read/write value from/to the memory location indicated by ptr .
|
volatileStore
|
Read/write value from/to the memory location indicated by ptr .
|
_popcnt
|
Calculates the number of set bits in a 32-bit integer using the X86 SSE4 POPCNT instruction. POPCNT is not available on all X86 CPUs. |
Authors
Don Clugston, Sean Kelly, Walter Bright, Alex Rønne Petersen