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

Classes

struct  Multiplicity
 A multiplicity, possibly infinite; MATLAB's mult(i) = Inf. More...
struct  LsnInput
 The plain-data fields of a layered software network read by the algorithm. More...

Enumerations

enum class  LsnElementType {
  HOST = 0 , TASK = 1 , ENTRY = 2 , ACTIVITY = 3 ,
  CALL = 4
}
 Element kinds, with the values of MATLAB's LayeredNetworkElement. More...

Functions

template<class T>
Multiplicity< T > mult_add (const Multiplicity< T > &a, const Multiplicity< T > &b)
 a + b, with infinity absorbing.
template<class T>
Multiplicity< T > mult_min (const Multiplicity< T > &a, const Multiplicity< T > &b)
 min(a,b), with infinity as the top element.
template<class T>
std::vector< Multiplicity< T > > lsn_max_multiplicity (const LsnInput< T > &lsn)
 Maximum sustainable multiplicity (concurrency level) of every element of a layered software network.

Enumeration Type Documentation

◆ LsnElementType

enum class line::lsn::LsnElementType
strong

Element kinds, with the values of MATLAB's LayeredNetworkElement.

Enumerator
HOST 
TASK 
ENTRY 
ACTIVITY 
CALL 

Definition at line 57 of file lsn_max_multiplicity.h.

Function Documentation

◆ lsn_max_multiplicity()

template<class T>
std::vector< Multiplicity< T > > line::lsn::lsn_max_multiplicity ( const LsnInput< T > & lsn)

Maximum sustainable multiplicity (concurrency level) of every element of a layered software network.

Parameters
lsnthe call graph and the per-element attributes
Returns
(n) maximum multiplicity sustainable by each element

Definition at line 151 of file lsn_max_multiplicity.h.

References ENTRY, line::lsn::Multiplicity< T >::inf(), line::InputError::InputError(), lsn_max_multiplicity(), mult_add(), mult_min(), line::lsn::Multiplicity< T >::of(), and TASK.

Referenced by line::lqn::lqn_finalize(), and lsn_max_multiplicity().

◆ mult_add()

template<class T>
Multiplicity< T > line::lsn::mult_add ( const Multiplicity< T > & a,
const Multiplicity< T > & b )

◆ mult_min()

template<class T>
Multiplicity< T > line::lsn::mult_min ( const Multiplicity< T > & a,
const Multiplicity< T > & b )

min(a,b), with infinity as the top element.

Definition at line 90 of file lsn_max_multiplicity.h.

References line::lsn::Multiplicity< T >::infinite, mult_min(), and line::lsn::Multiplicity< T >::value.

Referenced by lsn_max_multiplicity(), and mult_min().