Quick actions

cmd+k|ctrl+k

Navigation

Languages

Untitled

Snippet info

Language

Nim

Visibility

unlisted

Author

legacy-anonymous

Created

2018-01-15T10:47:51Z

Updated

2018-01-15T10:47:51Z

type
  CoefModifier* = tuple[plus: float, multiplier: float]
  MakeDecision = object
    name: string
    calc: proc(base:float, modifier: CoefModifier): float

proc calc_chance(base:float, modifier: CoefModifier): float =

  var off_chance = 1 - base # chance to fail
  off_chance /= modifier.multiplier
  off_chance /= (1+modifier.plus)

  return 1 - off_chance

var a = MakeDecision(name: "GoodDecision", calc:calc_chance)

echo $a.name
INFO