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

Variable layout: p2(j,nj,kj,i,ni,hi), then U(i,k,n) and Ueff(i,k,n) for n >= 1, then pb(i). More...

#include <line/api/mapqn/mapqn_qr_bounds_rsrd.h>

Collaboration diagram for line::mapqn::QrRsrdIndex:

Public Member Functions

 QrRsrdIndex ()
 QrRsrdIndex (int m, int n, const std::vector< int > &k, const std::vector< int > &f)
std::size_t half (int i, int ni, int h) const
std::size_t p2 (int j, int nj, int kj, int i, int ni, int hi) const
std::size_t U (int i, int k, int n) const
 n is 1-based here: U is only defined for a busy queue.
std::size_t Ueff (int i, int k, int n) const
std::size_t pb (int i) const
std::size_t num_vars () const

Public Attributes

int M = 0
int N = 0
std::vector< int > K
std::vector< int > F
std::vector< int > base
std::vector< int > cumU
std::size_t B = 0
std::size_t off_U = 0
std::size_t off_Ueff = 0
std::size_t off_pb = 0
std::size_t total = 0

Detailed Description

Variable layout: p2(j,nj,kj,i,ni,hi), then U(i,k,n) and Ueff(i,k,n) for n >= 1, then pb(i).

The half-index runs over (queue, population 0..F, phase), so its stride is F(i)+1 rather than the N+1 the rest of the mapqn family uses.

Definition at line 123 of file mapqn_qr_bounds_rsrd.h.

Constructor & Destructor Documentation

◆ QrRsrdIndex() [1/2]

line::mapqn::QrRsrdIndex::QrRsrdIndex ( )
inline

Definition at line 128 of file mapqn_qr_bounds_rsrd.h.

◆ QrRsrdIndex() [2/2]

line::mapqn::QrRsrdIndex::QrRsrdIndex ( int m,
int n,
const std::vector< int > & k,
const std::vector< int > & f )
inline

Definition at line 129 of file mapqn_qr_bounds_rsrd.h.

References B, base, cumU, F, K, M, N, off_pb, off_U, off_Ueff, and total.

Member Function Documentation

◆ half()

std::size_t line::mapqn::QrRsrdIndex::half ( int i,
int ni,
int h ) const
inline

Definition at line 144 of file mapqn_qr_bounds_rsrd.h.

References base, and K.

Referenced by p2().

◆ num_vars()

std::size_t line::mapqn::QrRsrdIndex::num_vars ( ) const
inline

Definition at line 164 of file mapqn_qr_bounds_rsrd.h.

References total.

Referenced by line::mapqn::mapqn_qr_bounds_rsrd().

◆ p2()

std::size_t line::mapqn::QrRsrdIndex::p2 ( int j,
int nj,
int kj,
int i,
int ni,
int hi ) const
inline

Definition at line 149 of file mapqn_qr_bounds_rsrd.h.

References B, and half().

Referenced by line::mapqn::mapqn_qr_bounds_rsrd().

◆ pb()

std::size_t line::mapqn::QrRsrdIndex::pb ( int i) const
inline

Definition at line 163 of file mapqn_qr_bounds_rsrd.h.

References off_pb.

Referenced by line::mapqn::mapqn_qr_bounds_rsrd().

◆ U()

std::size_t line::mapqn::QrRsrdIndex::U ( int i,
int k,
int n ) const
inline

n is 1-based here: U is only defined for a busy queue.

Definition at line 153 of file mapqn_qr_bounds_rsrd.h.

References cumU, F, and off_U.

Referenced by line::mapqn::mapqn_qr_bounds_rsrd().

◆ Ueff()

std::size_t line::mapqn::QrRsrdIndex::Ueff ( int i,
int k,
int n ) const
inline

Definition at line 158 of file mapqn_qr_bounds_rsrd.h.

References cumU, F, and off_Ueff.

Referenced by line::mapqn::mapqn_qr_bounds_rsrd().

Member Data Documentation

◆ B

std::size_t line::mapqn::QrRsrdIndex::B = 0

Definition at line 126 of file mapqn_qr_bounds_rsrd.h.

Referenced by p2(), and QrRsrdIndex().

◆ base

std::vector<int> line::mapqn::QrRsrdIndex::base

Definition at line 125 of file mapqn_qr_bounds_rsrd.h.

Referenced by half(), and QrRsrdIndex().

◆ cumU

std::vector<int> line::mapqn::QrRsrdIndex::cumU

Definition at line 125 of file mapqn_qr_bounds_rsrd.h.

Referenced by QrRsrdIndex(), U(), and Ueff().

◆ F

std::vector<int> line::mapqn::QrRsrdIndex::F

Definition at line 125 of file mapqn_qr_bounds_rsrd.h.

Referenced by QrRsrdIndex(), U(), and Ueff().

◆ K

std::vector<int> line::mapqn::QrRsrdIndex::K

Definition at line 125 of file mapqn_qr_bounds_rsrd.h.

Referenced by half(), and QrRsrdIndex().

◆ M

int line::mapqn::QrRsrdIndex::M = 0

Definition at line 124 of file mapqn_qr_bounds_rsrd.h.

Referenced by QrRsrdIndex().

◆ N

int line::mapqn::QrRsrdIndex::N = 0

Definition at line 124 of file mapqn_qr_bounds_rsrd.h.

Referenced by QrRsrdIndex().

◆ off_pb

std::size_t line::mapqn::QrRsrdIndex::off_pb = 0

Definition at line 126 of file mapqn_qr_bounds_rsrd.h.

Referenced by pb(), and QrRsrdIndex().

◆ off_U

std::size_t line::mapqn::QrRsrdIndex::off_U = 0

Definition at line 126 of file mapqn_qr_bounds_rsrd.h.

Referenced by QrRsrdIndex(), and U().

◆ off_Ueff

std::size_t line::mapqn::QrRsrdIndex::off_Ueff = 0

Definition at line 126 of file mapqn_qr_bounds_rsrd.h.

Referenced by QrRsrdIndex(), and Ueff().

◆ total

std::size_t line::mapqn::QrRsrdIndex::total = 0

Definition at line 126 of file mapqn_qr_bounds_rsrd.h.

Referenced by num_vars(), and QrRsrdIndex().


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