Module triangular

Module triangular 

Source
Expand description

Triangular lattice mapping module.

Maps arbitrary graphs to weighted triangular lattice graphs.

§Example

use problemreductions::rules::unitdiskmapping::triangular;

let edges = vec![(0, 1), (1, 2), (0, 2)];

// Weighted triangular mapping
let result = triangular::map_weighted(3, &edges);

Re-exports§

pub use gadgets::apply_crossing_gadgets;
pub use gadgets::apply_simplifier_gadgets;
pub use gadgets::tape_entry_mis_overhead;
pub use gadgets::SourceCell;
pub use gadgets::WeightedTriBranch;
pub use gadgets::WeightedTriBranchFix;
pub use gadgets::WeightedTriBranchFixB;
pub use gadgets::WeightedTriCross;
pub use gadgets::WeightedTriEndTurn;
pub use gadgets::WeightedTriTConDown;
pub use gadgets::WeightedTriTConLeft;
pub use gadgets::WeightedTriTConUp;
pub use gadgets::WeightedTriTapeEntry;
pub use gadgets::WeightedTriTrivialTurnLeft;
pub use gadgets::WeightedTriTrivialTurnRight;
pub use gadgets::WeightedTriTurn;
pub use gadgets::WeightedTriWTurn;
pub use gadgets::WeightedTriangularGadget;
pub use mapping::map_weighted;
pub use mapping::map_weighted_with_method;
pub use mapping::map_weighted_with_order;
pub use mapping::map_weights;
pub use mapping::trace_centers;
pub use mapping::weighted_ruleset;

Modules§

gadgets
Weighted triangular lattice gadgets with WeightedTri prefix.
mapping
Mapping functions for weighted triangular lattice.

Structs§

TriBranch
Triangular branch gadget - matches Julia’s Branch gadget with weights.
TriBranchFix
Triangular branch fix gadget.
TriBranchFixB
Triangular branch fix B gadget.
TriCross
Triangular cross gadget - matches Julia’s Cross gadget with weights.
TriEndTurn
Triangular end turn gadget - matches Julia’s EndTurn gadget with weights.
TriTConDown
Triangular T-connection down gadget.
TriTConLeft
Triangular T-connection left gadget - matches Julia’s TCon gadget with weights.
TriTConUp
Triangular T-connection up gadget.
TriTrivialTurnLeft
Triangular trivial turn left gadget.
TriTrivialTurnRight
Triangular trivial turn right gadget.
TriTurn
Triangular turn gadget - matches Julia’s TriTurn gadget.
TriWTurn
Triangular W-turn gadget - matches Julia’s WTurn gadget with weights.
TriangularTapeEntry
Tape entry recording a triangular gadget application.

Enums§

LegacySourceCell
Cell type for source matrix pattern matching (legacy).

Constants§

PADDING
Padding around the grid for triangular mapping.
SPACING
Spacing between copy lines for triangular mapping.
TRIANGULAR_PADDING
TRIANGULAR_SPACING

Traits§

TriangularGadget
Trait for triangular lattice gadgets (simplified interface).

Functions§

apply_triangular_crossing_gadgets
Apply all triangular crossing gadgets to resolve crossings. Returns the tape of applied gadgets.
apply_triangular_simplifier_gadgets
Apply simplifier gadgets to the triangular grid. This matches Julia’s apply_simplifier_gadgets! for TriangularWeighted mode.
map_graph_triangular
Map a graph to a triangular lattice grid graph using optimal path decomposition.
map_graph_triangular_with_method
Map a graph to triangular lattice using a specific path decomposition method.
map_graph_triangular_with_order
Map a graph to triangular lattice with specific vertex ordering.
triangular_tape_entry_mis_overhead
Get MIS overhead for a triangular tape entry. For triangular mode, crossing gadgets use their native overhead, but simplifiers (DanglingLeg) use weighted overhead = unweighted * 2. Julia: mis_overhead(w::WeightedGadget) = mis_overhead(w.gadget) * 2