Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface SIMD

Hierarchy

  • SIMD

Index

Properties

f32

f32: Float32Array

Float32 view of WASM memory.

f64

f64: Float64Array

Float64 view of WASM memory.

i16

i16: Int16Array

Int16 view of WASM memory.

i32

i32: Int32Array

Int32 view of WASM memory.

i8

i8: Int8Array

Int8 view of WASM memory.

memory

memory: Memory

WASM memory instance given to init().

u16

u16: Uint16Array

Uint16 of WASM memory.

u32

u32: Uint32Array

Uint32 view of WASM memory.

u8

u8: Uint8Array

Uint8 view of WASM memory.

Methods

abs4_f32

  • abs4_f32(out: number, a: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • num: number
    • so: number
    • sa: number

    Returns number

add4_f32

  • add4_f32(out: number, a: number, b: number, num: number, so: number, sa: number, sb: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • num: number
    • so: number
    • sa: number
    • sb: number

    Returns number

addn4_f32

  • addn4_f32(out: number, a: number, n: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • n: number
    • num: number
    • so: number
    • sa: number

    Returns number

clamp4_f32

  • clamp4_f32(out: number, a: number, b: number, c: number, num: number, so: number, sa: number, sb: number, sc: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • c: number
    • num: number
    • so: number
    • sa: number
    • sb: number
    • sc: number

    Returns number

clampn4_f32

  • clampn4_f32(out: number, a: number, b: number, c: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • c: number
    • num: number
    • so: number
    • sa: number

    Returns number

div4_f32

  • div4_f32(out: number, a: number, b: number, num: number, so: number, sa: number, sb: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • num: number
    • so: number
    • sa: number
    • sb: number

    Returns number

divn4_f32

  • divn4_f32(out: number, a: number, n: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • n: number
    • num: number
    • so: number
    • sa: number

    Returns number

dot2_f32_aos

  • dot2_f32_aos(out: number, a: number, b: number, num: number): number
  • Takes two densely packed vec2 AOS buffers a and b, computes their 2D dot products and stores results in out. Computes two results per iteration, hence num must be an even number or else the last vector will not be processed.

    a & b should be aligned to 16.

    Parameters

    • out: number

      -

    • a: number

      -

    • b: number

      -

    • num: number

      -

    Returns number

dot4_f32_aos

  • dot4_f32_aos(out: number, a: number, b: number, num: number, so: number, sa: number, sb: number): number
  • Takes two vec4 AOS buffers, computes their dot products and stores results in out. so should be 1 for packed result buffer. sa and sb indicate the stride lengths (in floats) between each vector in each respective buffer and should be a multiple of 4.

    Parameters

    • out: number

      -

    • a: number

      -

    • b: number

      -

    • num: number

      -

    • so: number

      -

    • sa: number

      -

    • sb: number

      -

    Returns number

dot4_f32_soa

  • dot4_f32_soa(out: number, a: number, b: number, num: number, sa: number, sb: number): number
  • Takes two vec4 SOA buffers and computes their 4D dot products and writes results to out. sa and sb indicate the element stride size (in floats) of the respective vectors (should be multiple of 4). The results are always stored in a packed layout. Processes 4 vectors per iteration, hence num should be a multiple of 4 too.

    Parameters

    • out: number

      -

    • a: number

      -

    • b: number

      -

    • num: number

      -

    • sa: number

      -

    • sb: number

      -

    Returns number

invsqrt4_f32

  • invsqrt4_f32(out: number, a: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number

      -

    • a: number

      -

    • num: number

      -

    • so: number

      -

    • sa: number

      -

    Returns number

madd4_f32

  • madd4_f32(out: number, a: number, b: number, c: number, num: number, so: number, sa: number, sb: number, sc: number): number
  • Takes three vec4 buffers, computes componentwise a * b + c and stores results in out. Both AOS / SOA layouts are supported, as long as all buffers are using the same layout.

    All strides must by multiples of 4. All pointers should be aligned to multiples of 16. Returns out pointer.

    Parameters

    • out: number

      -

    • a: number

      -

    • b: number

      -

    • c: number

      -

    • num: number

      number of vec4

    • so: number

      out element stride

    • sa: number

      A element stride

    • sb: number

      B element stride

    • sc: number

      C element stride

    Returns number

maddn4_f32

  • maddn4_f32(out: number, a: number, b: number, c: number, num: number, so: number, sa: number, sc: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • c: number
    • num: number
    • so: number
    • sa: number
    • sc: number

    Returns number

mag2_f32_aos

  • mag2_f32_aos(out: number, a: number, num: number): number
  • Parameters

    • out: number
    • a: number
    • num: number

    Returns number

mag4_f32_aos

  • mag4_f32_aos(out: number, a: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • num: number
    • so: number
    • sa: number

    Returns number

magsq2_f32_aos

  • magsq2_f32_aos(out: number, a: number, num: number): number
  • Parameters

    • out: number
    • a: number
    • num: number

    Returns number

magsq4_f32_aos

  • magsq4_f32_aos(out: number, a: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • num: number
    • so: number
    • sa: number

    Returns number

max4_f32

  • max4_f32(out: number, a: number, b: number, num: number, so: number, sa: number, sb: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • num: number
    • so: number
    • sa: number
    • sb: number

    Returns number

min4_f32

  • min4_f32(out: number, a: number, b: number, num: number, so: number, sa: number, sb: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • num: number
    • so: number
    • sa: number
    • sb: number

    Returns number

mix4_f32

  • mix4_f32(out: number, a: number, b: number, t: number, num: number, so: number, sa: number, sb: number, st: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • t: number
    • num: number
    • so: number
    • sa: number
    • sb: number
    • st: number

    Returns number

mixn4_f32

  • mixn4_f32(out: number, a: number, b: number, t: number, num: number, so: number, sa: number, sb: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • t: number
    • num: number
    • so: number
    • sa: number
    • sb: number

    Returns number

msub4_f32

  • msub4_f32(out: number, a: number, b: number, c: number, num: number, so: number, sa: number, sb: number, sc: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • c: number
    • num: number
    • so: number
    • sa: number
    • sb: number
    • sc: number

    Returns number

msubn4_f32

  • msubn4_f32(out: number, a: number, b: number, c: number, num: number, so: number, sa: number, sc: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • c: number
    • num: number
    • so: number
    • sa: number
    • sc: number

    Returns number

mul4_f32

  • mul4_f32(out: number, a: number, b: number, num: number, so: number, sa: number, sb: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • num: number
    • so: number
    • sa: number
    • sb: number

    Returns number

mul_m22v2_aos

  • mul_m22v2_aos(out: number, mat: number, vec: number, num: number): number
  • Parameters

    • out: number
    • mat: number
    • vec: number
    • num: number

    Returns number

mul_m23v2_aos

  • mul_m23v2_aos(out: number, mat: number, vec: number, num: number): number
  • Parameters

    • out: number
    • mat: number
    • vec: number
    • num: number

    Returns number

mul_m44v4_aos

  • mul_m44v4_aos(out: number, mat: number, vec: number, num: number, so: number, sv: number): number
  • Parameters

    • out: number
    • mat: number
    • vec: number
    • num: number
    • so: number
    • sv: number

    Returns number

muln4_f32

  • muln4_f32(out: number, a: number, n: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • n: number
    • num: number
    • so: number
    • sa: number

    Returns number

neg4_f32

  • neg4_f32(out: number, a: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • num: number
    • so: number
    • sa: number

    Returns number

normalize2_f32_aos

  • normalize2_f32_aos(out: number, a: number, num: number, norm: number): number
  • Parameters

    • out: number
    • a: number
    • num: number
    • norm: number

    Returns number

normalize4_f32_aos

  • normalize4_f32_aos(out: number, a: number, num: number, norm: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • num: number
    • norm: number
    • so: number
    • sa: number

    Returns number

sqrt4_f32

  • sqrt4_f32(out: number, a: number, num: number, so: number, sa: number): number

sub4_f32

  • sub4_f32(out: number, a: number, b: number, num: number, so: number, sa: number, sb: number): number
  • Parameters

    • out: number
    • a: number
    • b: number
    • num: number
    • so: number
    • sa: number
    • sb: number

    Returns number

subn4_f32

  • subn4_f32(out: number, a: number, n: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • n: number
    • num: number
    • so: number
    • sa: number

    Returns number

sum4_f32

  • sum4_f32(a: number, num: number, sa: number): number
  • Parameters

    • a: number
    • num: number
    • sa: number

    Returns number

swizzle4_32_aos

  • swizzle4_32_aos(out: number, a: number, x: number, y: number, z: number, w: number, num: number, so: number, sa: number): number
  • Parameters

    • out: number
    • a: number
    • x: number
    • y: number
    • z: number
    • w: number
    • num: number
    • so: number
    • sa: number

    Returns number

Generated using TypeDoc