Expand description
Vocabulary of the NIR HDF5 wire format.
Everything here is pure Rust and always compiled, with or without the
hdf5 feature: it is the shared agreement between the reader and the
writer, and it is useful on its own to tooling that inspects .nir files
without going through crate::io::read.
The structural layout these names describe:
/version scalar string, e.g. "0.2.0"
/node group — the root NIRGraph
type scalar string "NIRGraph"
edges (E, 2) string dataset
nodes/<name>/ one group per node
type scalar string, e.g. "LIF"
<field> one dataset per wire field
metadata/ group; omitted when empty
metadata/ group; omitted when emptyConstants§
- KEY_
EDGES - Dataset holding a graph’s
(E, 2)edge list. - KEY_
METADATA - Group holding free-form metadata; omitted from the file when empty.
- KEY_
NODE - Group holding the root graph.
- KEY_
NODES - Group holding a graph’s named nodes.
- KEY_
TYPE - Dataset holding a node’s wire
typestring. - KEY_
VERSION - Dataset holding the NIR format version at the root of the file.
- WIRE_
TYPES - Every node
typestring that can appear in a.nirfile.
Functions§
- check_
hdf5_ string - Check that
valuecan be stored in an HDF5 string dataset. - check_
link_ name - Check that
namecan be used as an HDF5 link name. - is_
wire_ type - Whether
nameis a NIR wire node type this crate understands. - padding_
as_ wire_ str - Wire spelling of the symbolic padding modes.
- padding_
from_ wire_ str - Parse a symbolic padding mode from its wire spelling.