SofaBuffers TypeScript - v0.9.0
    Preparing search index...

    Interface Kernel

    Bulk, capacity-guaranteed transforms used on the encoder's fast path.

    Every method writes into out starting at pos, assuming the caller has already ensured enough room, and returns the position just past the last byte written. Headers, counts, flushing and validation stay in the stream classes; a kernel only moves bytes.

    interface Kernel {
        name: string;
        encodeSignedVarints(
            values: ArrayLike<number | bigint>,
            out: Uint8Array,
            pos: number,
        ): number;
        encodeUnsignedVarints(
            values: ArrayLike<number | bigint>,
            out: Uint8Array,
            pos: number,
        ): number;
        packFp32Array(
            values: ArrayLike<number>,
            out: Uint8Array,
            pos: number,
        ): number;
        packFp64Array(
            values: ArrayLike<number>,
            out: Uint8Array,
            pos: number,
        ): number;
    }
    Index
    name: string

    A short identifier, surfaced in diagnostics and the parity tests.

    • Zig-zag then varint-encode each element.

      Parameters

      • values: ArrayLike<number | bigint>
      • out: Uint8Array
      • pos: number

      Returns number

    • Encode each element as an unsigned varint.

      Parameters

      • values: ArrayLike<number | bigint>
      • out: Uint8Array
      • pos: number

      Returns number

    • Pack each element as a little-endian fp32 (4 bytes).

      Parameters

      • values: ArrayLike<number>
      • out: Uint8Array
      • pos: number

      Returns number

    • Pack each element as a little-endian fp64 (8 bytes).

      Parameters

      • values: ArrayLike<number>
      • out: Uint8Array
      • pos: number

      Returns number