hongjli
2023-09-27 d2ecbce7e1f1974a5ac1331dca5d18e35ecc58de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Quintiq file version 2.0
#parent: #root
Method GetLink (Real rand) as LibOpt_Link
{
  TextBody:
  [*
    result := null( LibOpt_Link );
    cumulative_weight := 0.0;
    traverse( this, LinkProbability, link,
              isnull( result )
              and link.Weight() > 0 )
    {
      cumulative_weight := cumulative_weight + link.Weight();
      if( rand <= cumulative_weight )
      {
        result := link;
      }
    }
    
    return result;
  *]
}