Skip to content

WasmGPU.compute.kernels.histogramF32

Summary

WasmGPU.compute.kernels.histogramF32 builds histogram bins for float values over a given numeric domain. Values outside [minValue, maxValue] are ignored by the accumulation kernel. You can reuse a bins buffer and choose whether to clear it before accumulation. Use this for scale analysis, percentile estimation support, and distribution visualization.

Syntax

WasmGPU.compute.kernels.histogramF32(values: StorageBuffer, binCount: number, opts: ScaleHistogramOptions): StorageBuffer
const bins = wgpu.compute.kernels.histogramF32(values, binCount, opts);

Parameters

Name Type Required Description
values StorageBuffer Yes Source f32 values to bin.
binCount number Yes Number of histogram bins.
opts ScaleHistogramOptions Yes Histogram config including domain (minValue, maxValue) and optional execution settings.

Returns

StorageBuffer - Histogram bins buffer (u32 counts).

Type Details

type ScaleHistogramOptions = {
    encoder?: GPUCommandEncoder;
    label?: string;
    validateLimits?: boolean;
    count?: number;
    bins?: StorageBuffer;
    clear?: boolean;
    minValue: number;
    maxValue: number;
};

Example

const canvas = document.querySelector("canvas");
const wgpu = await WasmGPU.create(canvas);

const values = wgpu.compute.createStorageBuffer({ data: new Float32Array([0.1, 0.2, 0.9, 1.2]), copySrc: true });
const bins = wgpu.compute.kernels.histogramF32(values, 4, { minValue: 0.0, maxValue: 1.0, clear: true });

console.log(Array.from(await wgpu.compute.readback.readU32(bins, 0, 4)));

See Also