BitOperation Class

Bit operations. Create bit operations used by client operate command. Offset orientation is left-to-right. Negative offsets are supported. If the offset is negative, the offset starts backwards from end of the bitmap. If an offset is out of bounds, a parameter error will be returned.

Bit operations on bitmap items nested in lists/maps are not currently supported by the server.

Definition

Namespace: Aerospike.Client
Assembly: AerospikeClient (in AerospikeClient.dll) Version: 7.0.1
C#
public sealed class BitOperation
Inheritance
Object    BitOperation

Constructors

BitOperationInitializes a new instance of the BitOperation class

Methods

Add Create bit "add" operation. Server adds value to byte[] bin starting at bitOffset for bitSize. BitSize must be <= 64. Signed indicates if bits should be treated as a signed number. If add overflows/underflows, is used. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 24
  • bitSize = 16
  • value = 128
  • signed = false
  • bin result = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b10000101]
And Create bit "and" operation. Server performs bitwise "and" on value and byte[] bin at bitOffset for bitSize. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 23
  • bitSize = 9
  • value = [0b00111100, 0b10000000]
  • bin result = [0b00000001, 0b01000010, 0b00000010, 0b00000000, 0b00000101]
Count Create bit "count" operation. Server returns integer count of set bits from byte[] bin starting at bitOffset for bitSize. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 20
  • bitSize = 4
  • returns 2
Get Create bit "get" operation. Server returns bits from byte[] bin starting at bitOffset for bitSize. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 9
  • bitSize = 5
  • returns [0b10000000]
GetInt Create bit "get integer" operation. Server returns integer from byte[] bin starting at bitOffset for bitSize. Signed indicates if bits should be treated as a signed number. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 8
  • bitSize = 16
  • signed = false
  • returns 16899
Insert Create byte "insert" operation. Server inserts value bytes into byte[] bin at byteOffset. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • byteOffset = 1
  • value = [0b11111111, 0b11000111]
  • bin result = [0b00000001, 0b11111111, 0b11000111, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
Lscan Create bit "left scan" operation. Server returns integer bit offset of the first specified value bit in byte[] bin starting at bitOffset for bitSize. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 24
  • bitSize = 8
  • value = true
  • returns 5
Lshift Create bit "left shift" operation. Server shifts left byte[] bin starting at bitOffset for bitSize. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 32
  • bitSize = 8
  • shift = 3
  • bin result = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00101000]
Not Create bit "not" operation. Server negates byte[] bin starting at bitOffset for bitSize. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 25
  • bitSize = 6
  • bin result = [0b00000001, 0b01000010, 0b00000011, 0b01111010, 0b00000101]
Or Create bit "or" operation. Server performs bitwise "or" on value and byte[] bin at bitOffset for bitSize. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 17
  • bitSize = 6
  • value = [0b10101000]
  • bin result = [0b00000001, 0b01000010, 0b01010111, 0b00000100, 0b00000101]
Remove Create byte "remove" operation. Server removes bytes from byte[] bin at byteOffset for byteSize. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • byteOffset = 2
  • byteSize = 3
  • bin result = [0b00000001, 0b01000010]
Resize Create byte "resize" operation. Server resizes byte[] to byteSize according to resizeFlags. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010]
  • byteSize = 4
  • resizeFlags = 0
  • bin result = [0b00000001, 0b01000010, 0b00000000, 0b00000000]
Rscan Create bit "right scan" operation. Server returns integer bit offset of the last specified value bit in byte[] bin starting at bitOffset for bitSize. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 32
  • bitSize = 8
  • value = true
  • returns 7
Rshift Create bit "right shift" operation. Server shifts right byte[] bin starting at bitOffset for bitSize. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 0
  • bitSize = 9
  • shift = 1
  • bin result = [0b00000000, 0b11000010, 0b00000011, 0b00000100, 0b00000101]
Set Create bit "set" operation. Server sets value on byte[] bin at bitOffset for bitSize. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 13
  • bitSize = 3
  • value = [0b11100000]
  • bin result = [0b00000001, 0b01000111, 0b00000011, 0b00000100, 0b00000101]
SetInt Create bit "setInt" operation. Server sets value to byte[] bin starting at bitOffset for bitSize. Size must be <= 64. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 1
  • bitSize = 8
  • value = 127
  • bin result = [0b00111111, 0b11000010, 0b00000011, 0b0000100, 0b00000101]
Subtract Create bit "subtract" operation. Server subtracts value from byte[] bin starting at bitOffset for bitSize. BitSize must be <= 64. Signed indicates if bits should be treated as a signed number. If add overflows/underflows, is used. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 24
  • bitSize = 16
  • value = 128
  • signed = false
  • bin result = [0b00000001, 0b01000010, 0b00000011, 0b0000011, 0b10000101]
Xor Create bit "exclusive or" operation. Server performs bitwise "xor" on value and byte[] bin at bitOffset for bitSize. Server does not return a value. Example:
  • bin = [0b00000001, 0b01000010, 0b00000011, 0b00000100, 0b00000101]
  • bitOffset = 17
  • bitSize = 6
  • value = [0b10101100]
  • bin result = [0b00000001, 0b01000010, 0b01010101, 0b00000100, 0b00000101]

See Also