schema_version = 1
id = "workgroup.queue_priority"
archetype = "workgroup-coordinated-sequential"
display_name = "workgroup.queue_priority"
summary = "Bounded max-priority binary heap stored in workgroup SRAM."
category = "C"
[intrinsic]
wgsl = "workgroup_queue_priority_push"
operations = [
"workgroup_queue_priority_push",
"workgroup_queue_priority_pop_max",
"workgroup_queue_priority_peek_max",
]
[signature]
inputs = ["U32", "U32"]
outputs = ["U32", "U32"]
handle = "U32"
value_type = "U32"
priority_type = "U32"
laws = [
"Deterministic",
"WorkgroupInvariant",
"BoundedCapacity",
"PriorityQueuePopMaxReturnsMaximumPriority",
"PriorityQueuePeekDoesNotMutate",
]
equivalence_classes = ["empty", "single_push", "priority_order", "tie_break", "overflow"]
workgroup_size = [64, 1, 1]
capacity = 128
tags = ["workgroup", "queue", "priority", "heap", "sram", "category-c"]
fixtures_dir = "fixtures/"