schema_version = 1
id = "workgroup.stack"
archetype = "workgroup-coordinated-sequential"
display_name = "workgroup.stack"
summary = "Bounded LIFO stack stored in workgroup SRAM with per-lane command sequencing."
category = "C"
[intrinsic]
wgsl = "workgroup_stack_push"
operations = [
"workgroup_stack_push",
"workgroup_stack_pop",
"workgroup_stack_peek",
"workgroup_stack_len",
"workgroup_stack_is_empty",
]
[signature]
inputs = ["U32", "U32"]
outputs = ["U32", "U32"]
handle = "U32"
value_type = "U32"
laws = [
"Deterministic",
"WorkgroupInvariant",
"BoundedCapacity",
"StackPushThenPopIdentity",
"StackPeekDoesNotMutate",
]
equivalence_classes = ["empty", "single_push", "overflow", "underflow", "multi_lane_barrier"]
workgroup_size = [64, 1, 1]
capacity = 256
tags = ["workgroup", "stack", "sram", "lifo", "category-c"]
fixtures_dir = "fixtures/"