Function ImpRnd_DRVBankNormalize(NNBankHandle%)
Local Total%=0
Local i%
For i=0 To BankSize(NNBankHandle)-1 Step 4
Total=Total+PeekFloat(NNBankHandle,i)
Next
For i=0 To BankSize(NNBankHandle)-1 Step 4
Local v#=PeekFloat(NNBankHandle,i)
PokeFloat(NNBankHandle,i,v/Float(Total))
Next
End Function
Перерассчитывает коэффициенты в банке. На вход можно подать ненормированную веротяность (т.е. тупо кол-во реализаций события в серии экспериментов).
Для рассмотренного в 1ом посте, код можно переписать как:
Local B%=CreateBank(16)
PokeFloat(B,0,2)
PokeFloat(B,4,3)
PokeFloat(B,8,4)
PokeFloat(B,12,1)
ImpRnd_DRVBankNormalize(B)