• Converts a buffer of 32-bit aligned integers into a Set of numbers. Each integer is stored in 4 bytes:

    • Byte 1: Sign byte (0x00 for positive, 0xFF for negative)
    • Bytes 2-4: 24-bit big-endian integer value

    The entire set can also be marked as negative using the IS_NEGATIVE property, which is separate from individual number signs in the buffer.

    Parameters

    • buffer: Uint8Array<ArrayBufferLike>

      Uint8Array containing 4-byte aligned integers

    • isNegative: boolean = false

      Optional flag to mark entire set as negative

    Returns IdSet

    IdSet containing decoded integers with isNegative property

    Example buffer values:
    [0x00, 0x30, 0x23, 0x27] represents +3147559
    [0xFF, 0x30, 0x23, 0x27] represents -3147559

    If buffer length is not a multiple of 4