Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetRandomIndex (
|
RealVector vector
|
) as Number
|
{
|
TextBody:
|
[*
|
totalweight := vector.Sum();
|
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.Get( i );
|
}
|
}
|
return i;
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|