metadata
library_name: kernels
license: apache-2.0
tags:
- kernel
- webgpu
- wgsl
ai.onnx.BitwiseNot
ai.onnx · standard ONNX operator · ONNX opset ≥ 18
Description
Applies a bitwise NOT to each element of the input tensor, flipping every bit. The output has the same shape and integer dtype as the input.
See the ONNX BitwiseNot spec for the reference semantics.
Inputs
| Name | Bind key | Logical dtype | Rank | Shape | Description | Presence |
|---|---|---|---|---|---|---|
X |
x |
T |
— | — | Input integer tensor. | required |
Outputs
| Name | Bind key | Logical dtype | Rank | Shape | Description | Presence |
|---|---|---|---|---|---|---|
Y |
y |
T |
same as X |
same as X |
Output tensor with each element bitwise-negated; same shape and dtype as X. |
required |
Type constraints
| Variable | Allowed dtypes |
|---|---|
T |
uint32, int32, int16, uint8, int8 |
Files
metadata.json— kernel metadata (id, digests, provenance)manifest.json— the op contract (source of truth)test.json— correctness casesbench.json— benchmark + tuning casesbitwise-not.wgsl.jinja
Use with @huggingface/kernels
The loader derives every required output's shape and logical dtype from the manifest contract and this call. It then allocates the result tensors automatically.
The version: 1 option selects the published kernel contract; it is independent of any operator opset, contrib since_version, or model version.
Replace each *Data placeholder with a typed array containing the corresponding input data.
import { getKernel } from "@huggingface/kernels";
const kernel = await getKernel("webgpu-kernels/ai.onnx.BitwiseNot", { version: 1 });
const { y } = await kernel({ x: { data: xData, shape: [3] } });