'Initialize this object\'s probability.  This initializer should
be called by subclass constructors.  ``prob`` should generally be
the first argument for those constructors.
:param prob: The probability associated with the object.
:type prob: float
:param logprob: The log of the probability associated with
the object.
:type logprob: float'

def __init__(self, **kwargs):

    if (u'prob' in kwargs):
        if (u'logprob' in kwargs):
            raise TypeError(u'Must    specify    either    prob    or    logprob    (not    both)')
        else:
            ProbabilisticMixIn.set_prob(self, kwargs[u'prob'])
    elif (u'logprob' in kwargs):
        ProbabilisticMixIn.set_logprob(self, kwargs[u'logprob'])
    else:
        self.__prob = self.__logprob = None
