AsymmetricScaler Class Reference

A scaler for asymmetric distribution. More...

#include <demands.h>

Inheritance diagram for AsymmetricScaler:
Scaler

Public Member Functions

FORCEINLINE void AddNode (const Node &node)
 Count a node's demand into the sum of demands.
FORCEINLINE void SetDemandPerNode (uint num_demands)
 Calculate the mean demand per node using the sum of demands.
FORCEINLINE uint EffectiveSupply (const Node &from, const Node &to)
 Get the effective supply of one node towards another one.
FORCEINLINE bool DemandLeft (Node &to)
 Check if there is any acceptance left for this node.

Private Attributes

uint demand_sum
 Sum of all demands in the component.

Detailed Description

A scaler for asymmetric distribution.

Definition at line 80 of file demands.h.


Member Function Documentation

FORCEINLINE void AsymmetricScaler::AddNode ( const Node node  )  [inline]

Count a node's demand into the sum of demands.

Parameters:
node The node to be counted.

Definition at line 88 of file demands.h.

References Node::demand, and demand_sum.

FORCEINLINE bool AsymmetricScaler::DemandLeft ( Node to  )  [inline]

Check if there is any acceptance left for this node.

In asymmetric distribution nodes always accept as long as their demand > 0.

Parameters:
to The node to be checked.

Definition at line 118 of file demands.h.

References Node::demand.

FORCEINLINE uint AsymmetricScaler::EffectiveSupply ( const Node from,
const Node to 
) [inline]

Get the effective supply of one node towards another one.

In asymmetric distribution the demand of the other node is weighed in.

Parameters:
from The supplying node.
to The receiving node.

Definition at line 108 of file demands.h.

References Node::demand, max(), and Node::supply.

FORCEINLINE void AsymmetricScaler::SetDemandPerNode ( uint  num_demands  )  [inline]

Calculate the mean demand per node using the sum of demands.

Parameters:
num_demands Number of accepting nodes.

Definition at line 97 of file demands.h.

References Scaler::demand_per_node, demand_sum, and max().


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

Generated on Fri May 27 04:20:30 2011 for OpenTTD by  doxygen 1.6.1