Skip to main content

Module value

Module value 

Source
Expand description

A node of a program’s value graph (iridia::flow::Values) evaluated from the words of the leaves it reads, with the executor’s own operations: what a run of the program computes for that lane where it is given the same leaves, bit for bit. The caller answers the leaves (an input lane, a supplied value, a global’s word, a texel, a query) or leaves them unknown; a node that needs an unknown leaf is unknown, naming it. A select whose condition is unknown is known where both its values are and are the same bits.

Refused with an error, never guessed: an operation the graph states no kind for, a derivative, a subgroup operation, a loop’s value, a merge whose arms differ (the graph does not state which condition picks which arm), an element picked by a run-time index (Op::Index: the graph does not state which candidate an index picks), a math function that mixes lanes other than a dot product, and an operation the executor refuses.

Structs§

Evaluator
Evaluates nodes of one value graph, keeping what it has evaluated: the leaves are asked once each.

Enums§

Evaluated
What a node evaluates to.