haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
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;
  *]
}