LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::mdd::MddStruct Struct Reference

Plain-array export of an MDD, the input contract of mdd_mcd. More...

#include <line/api/mdd/mdd.h>

Collaboration diagram for line::mdd::MddStruct:

Public Attributes

std::size_t K = 0
 Number of variable levels.
std::vector< int > domain
 domain[k] is the number of local states at level k.
int root = TERM_FALSE
 Id of the top (level-0) node; TERM_FALSE for the empty set.
std::vector< int > nnodes
 nnodes[k] is the live node count at level k.
std::vector< std::vector< std::vector< int > > > node
 node[k][p][v] is the child of arc v of level-k node id p+1: a level-(k+1) node id when k < K-1, or a terminal when k == K-1.

Detailed Description

Plain-array export of an MDD, the input contract of mdd_mcd.

Mirrors MDD.toStruct in MATLAB/JAR and MDD.to_struct in python.

Definition at line 57 of file mdd.h.

Member Data Documentation

◆ domain

std::vector<int> line::mdd::MddStruct::domain

domain[k] is the number of local states at level k.

Definition at line 61 of file mdd.h.

Referenced by line::mdd::mdd_mcd(), line::mdd::mdd_rec_marginal(), line::spn::spn_rec_enabled(), and line::mdd::MDD::to_struct().

◆ K

std::size_t line::mdd::MddStruct::K = 0

◆ nnodes

std::vector<int> line::mdd::MddStruct::nnodes

nnodes[k] is the live node count at level k.

Definition at line 65 of file mdd.h.

Referenced by line::mdd::mdd_mcd(), line::mdd::mdd_rec_masked(), and line::mdd::MDD::to_struct().

◆ node

std::vector<std::vector<std::vector<int> > > line::mdd::MddStruct::node

node[k][p][v] is the child of arc v of level-k node id p+1: a level-(k+1) node id when k < K-1, or a terminal when k == K-1.

Definition at line 70 of file mdd.h.

Referenced by line::mdd::mdd_mcd(), and line::mdd::MDD::to_struct().

◆ root

int line::mdd::MddStruct::root = TERM_FALSE

Id of the top (level-0) node; TERM_FALSE for the empty set.

Definition at line 63 of file mdd.h.

Referenced by line::mdd::mdd_rec_masked(), and line::mdd::MDD::to_struct().


The documentation for this struct was generated from the following file:
  • include/line/api/mdd/mdd.h