| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 | | Quintiq file version 2.0 |  | #parent: #root |  | StaticMethod GetRandomIndex ( |  |   Reals vector |  | ) as Number |  | { |  |   TextBody: |  |   [* |  |     totalweight := sum( vector, Elements, v, true, v ); |  |     r := Real::Random(0.0, totalweight );  |  |     i := -1; maxindex := vector.Size() - 1;   |  |     if (maxindex >= 0 ) // check for empty set |  |     { |  |       cumulativesum := 0.0;  |  |       while( i < maxindex and cumulativesum <= r )  |  |       { |  |         i++;  |  |         cumulativesum := cumulativesum + vector.Element(  i );  |  |       } |  |     } |  |     return i; |  |   *] |  |   InterfaceProperties { Accessibility: 'Module' } |  | } | 
 |