akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
Loading...
Searching...
No Matches
convex::CanonicalNodeRecord Struct Reference

Structural atom emitted during canonicalization. More...

#include <canonical_trace.hpp>

Public Attributes

std::size_t node_id {}
 Stable index of this trace node.
 
std::size_t parent_id {canonical_no_parent}
 Parent trace node in a richer lineage DAG, or canonical_no_parent for root/flat emissions.
 
AtomType atom_type {}
 Canonicalization role that produced this node.
 
std::size_t child_index {}
 Index of this node within its parent's children.
 

Detailed Description

Structural atom emitted during canonicalization.

A node represents one canonicalization emission site, usually a convex atom or set operation. Cone and equality records reference node_id so downstream layers can group solver slices by the atom/set that produced them.

Definition at line 41 of file canonical_trace.hpp.

Member Data Documentation

◆ atom_type

AtomType convex::CanonicalNodeRecord::atom_type {}

Canonicalization role that produced this node.

Definition at line 49 of file canonical_trace.hpp.

◆ child_index

std::size_t convex::CanonicalNodeRecord::child_index {}

Index of this node within its parent's children.

Definition at line 52 of file canonical_trace.hpp.

◆ node_id

std::size_t convex::CanonicalNodeRecord::node_id {}

Stable index of this trace node.

Definition at line 42 of file canonical_trace.hpp.

◆ parent_id

std::size_t convex::CanonicalNodeRecord::parent_id {canonical_no_parent}

Parent trace node in a richer lineage DAG, or canonical_no_parent for root/flat emissions.

Definition at line 46 of file canonical_trace.hpp.


The documentation for this struct was generated from the following file: