ArrayOfByte

Operations on ARRAY OF BYTE.

Procedures

FillWord

PROCEDURE FillWord* (VAR dst : ARRAY OF BYTE; val := {0,0,0,0} : ARRAY 4 OF BYTE; cnt := -1 : LONGINT);

Fill

Fill array with byte value

PROCEDURE Fill* (VAR dst : ARRAY OF BYTE; val := 0 : BYTE; cnt := -1 : LONGINT);

Zero

Fill array with zeros

PROCEDURE Zero* (VAR dst : ARRAY OF BYTE);

Copy

Copy from src to dst with optional cnt bytes, otherwise smallest size

PROCEDURE Copy* (VAR dst : ARRAY OF BYTE; src- : ARRAY OF BYTE; cnt := -1 : LONGINT);

Compare

Compare byte arrays returns

  • 0: if left = right

  • -1: if left < right

  • +1: if left > right

PROCEDURE Compare* (left-, right- : ARRAY OF BYTE): INTEGER;

Find

Index of byte in array. Return -1 if not found

PROCEDURE Find* (val : BYTE; arr- : ARRAY OF BYTE): LONGINT;

Hash

Hash value of array (32bit FNV-1a)

PROCEDURE Hash* (src- : ARRAY OF BYTE; cnt := -1 : LONGINT; hash :=  HSTART : Type.CARD32): Type.CARD32;