Exemplo n.º 1
0
class SmallGainStat(ListSlotPrimitiveConversion):
    __slots__ = ('win_given_any_gain', 
                 'win_given_no_gain',
                 'win_weighted_gain')

    def __init__(self):
        self.win_given_any_gain = MeanVarStat()
        self.win_given_no_gain = MeanVarStat()
        self.win_weighted_gain = MeanVarStat()

    def merge(self, other):
        self.win_given_any_gain.merge(other.win_given_any_gain)
        self.win_given_no_gain.merge(other.win_given_no_gain)
        self.win_weighted_gain.merge(other.win_weighted_gain)

    def avail(self):
        return self.win_given_any_gain.freq() + self.win_given_no_gain.freq()

    def __str__(self):
        return 'a <%s> n <%s> w <%s>' % (self.win_given_any_gain,
                                         self.win_given_no_gain,
                                         self.win_weighted_gain)

    def to_readable_primitive_object(self):
        ret = {}
        for name in self.__slots__:
            ret[name] = getattr(self, name).to_primitive_object()
        return ret
Exemplo n.º 2
0
class SmallGainStat(ListSlotPrimitiveConversion):
    __slots__ = ('win_given_any_gain', 'win_given_no_gain',
                 'win_weighted_gain')

    def __init__(self):
        self.win_given_any_gain = MeanVarStat()
        self.win_given_no_gain = MeanVarStat()
        self.win_weighted_gain = MeanVarStat()

    def merge(self, other):
        self.win_given_any_gain.merge(other.win_given_any_gain)
        self.win_given_no_gain.merge(other.win_given_no_gain)
        self.win_weighted_gain.merge(other.win_weighted_gain)

    def avail(self):
        return self.win_given_any_gain.freq() + self.win_given_no_gain.freq()

    def __str__(self):
        return 'a <%s> n <%s> w <%s>' % (self.win_given_any_gain,
                                         self.win_given_no_gain,
                                         self.win_weighted_gain)

    def to_readable_primitive_object(self):
        ret = {}
        for name in self.__slots__:
            ret[name] = getattr(self, name).to_primitive_object()
        return ret
Exemplo n.º 3
0
    def add_outcome(self, tracker_type, ratio, win_points):
        if tracker_type == 'final':
            tracker = self.final
        elif tracker_type == 'progressive':
            tracker = self.progressive
        else:
            raise

        if ratio not in tracker:
            tracker[ratio] = MeanVarStat()

        tracker[ratio].add_outcome(win_points)
Exemplo n.º 4
0
 def __init__(self):
     self.available = 0
     self.win_any_accum = MeanVarStat()
     self.win_weighted_accum = MeanVarStat()
     self.win_weighted_accum_turn = ConvertibleDefaultDict(MeanVarStat, int)
     self.win_diff_accum = ConvertibleDefaultDict(MeanVarStat, int)
Exemplo n.º 5
0
 def parse(key):
     ret = MeanVarStat()
     ret.from_primitive_object(stats[key])
     return ret
Exemplo n.º 6
0
 def parse(key):
     ret = MeanVarStat()
     ret.from_primitive_object(stats[key])
     return ret
Exemplo n.º 7
0
 def __init__(self):
     self.win_given_any_gain = MeanVarStat()
     self.win_given_no_gain = MeanVarStat()
     self.win_weighted_gain = MeanVarStat()
Exemplo n.º 8
0
 def __init__(self):
     self.win_given_any_gain = MeanVarStat()
     self.win_given_no_gain = MeanVarStat()
     self.win_weighted_gain = MeanVarStat()