Options
All
  • Public
  • Public/Protected
  • All
Menu

Module "swizzle"

Index

Variables

Const flipBytes

flipBytes: Fn<number, number> = flip8
deprecated

renamed to flip8

Functions

Const flip16

  • flip16(x: number): number
  • Swaps the highest & lowest 16 bits in x.

    example
    flip16(0x12345678)
    // 0x56781234

    Parameters

    • x: number

    Returns number

Const flip8

  • flip8(x: number): number
  • Same as swizzle8(x, 3, 2, 1, 0), but faster.

    Parameters

    • x: number

      -

    Returns number

Const lane16

  • lane16(x: number, lane: Lane16): number
  • Extracts 16-bit lane from given 32bit uint and returns as unsigned half word [0x0000 .. 0xffff].

    • Lane #0: bits 16-31
    • Lane #1: bits 0-15

    Parameters

    • x: number

      -

    • lane: Lane16

      lane ID enum

    Returns number

Const lane2

  • lane2(x: number, lane: Lane2): number

Const lane4

  • lane4(x: number, lane: Lane4): number
  • Extracts 4-bit lane from given 32bit uint and returns as unsigned nibble [0x00 .. 0x0f].

    • Lane #0: bits 28-31
    • Lane #1: bits 24-27
    • Lane #2: bits 20-23
    • Lane #3: bits 16-19
    • Lane #4: bits 12-15
    • Lane #5: bits 8-11
    • Lane #6: bits 4-7
    • Lane #7: bits 0-3

    Parameters

    • x: number

      -

    • lane: Lane4

      lane ID enum

    Returns number

Const lane8

  • lane8(x: number, lane: Lane8): number
  • Extracts 8-bit lane from given 32bit uint and returns as unsigned byte [0x00 .. 0xff].

    • Lane #0: bits 24-31
    • Lane #1: bits 16-23
    • Lane #2: bits 8-15
    • Lane #3: bits 0-7

    Parameters

    • x: number

      -

    • lane: Lane8

      lane ID enum

    Returns number

Const mux

  • mux(a: number, b: number, mask: number): number
  • Merges bits of a and b, selecting bits from b where mask bits are set.

    example
    mux(0x12345678, 0xaaaa5555, 0xffff0000)
    // 0xaaaa5678
    
    mux(0x12345678, 0xaaaa5555, 0x0000ffff)
    // 0x12345555

    Parameters

    • a: number
    • b: number
    • mask: number

    Returns number

Const setLane16

  • setLane16(x: number, y: number, lane: Lane16): number

Const setLane2

  • setLane2(x: number, y: number, lane: Lane2): number
  • Sets 2-bit lane with value y in x.

    lane2

    Parameters

    • x: number

      -

    • y: number

      -

    • lane: Lane2

      lane ID enum

    Returns number

Const setLane4

  • setLane4(x: number, y: number, lane: Lane4): number
  • Sets 4-bit lane with value y in x.

    lane4

    Parameters

    • x: number

      -

    • y: number

      -

    • lane: Lane4

      lane ID enum

    Returns number

Const setLane8

  • setLane8(x: number, y: number, lane: Lane8): number
  • Sets 8-bit lane with valuey in x.

    lane8

    Parameters

    • x: number

      -

    • y: number

      -

    • lane: Lane8

      lane ID enum

    Returns number

Const swizzle4

Const swizzle8

  • Re-orders byte lanes in given order (MSB).

    example
    swizzle(0x12345678, 3, 2, 1, 0) // 0x78563412
    swizzle(0x12345678, 1, 0, 3, 2) // 0x34127856
    swizzle(0x12345678, 2, 2, 0, 0) // 0x56561212

    Parameters

    Returns number

Generated using TypeDoc