lihongji
2024-07-09 5ed2c2076e3b8a907ac2d271ea627cc9f9c9b3f4
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;
  *]
}