def _infer_value_domain(cls, **kwargs): instance = cls.dist_class(**{ k: dummy_numeric_array(domain) for k, domain in kwargs.items() }, validate_args=False) return Reals[instance.event_shape]
def _infer_value_domain(cls, **kwargs): # rely on the underlying distribution's logic to infer the event_shape given param domains instance = cls.dist_class(**{ k: dummy_numeric_array(domain) for k, domain in kwargs.items() }, validate_args=False) out_shape = instance.event_shape if type(instance.support).__name__ == "_IntegerInterval": out_dtype = int(instance.support.upper_bound + 1) else: out_dtype = 'real' return Array[out_dtype, out_shape]