Ejemplo n.º 1
0
 def test_interval(self):
     """Test that bounds on variable."""
     dim = Dimension("yolo", "uniform", -3, 4)
     assert dim.interval(1.0) == (
         -3.0,
         1.0,
     )  # reminder that `scale` is not upper bound
Ejemplo n.º 2
0
    def test_simple_instance(self, seed):
        """Test Dimension.__init__."""
        dim = Dimension('yolo', 'norm', 0.9, 0.1)
        samples = dim.sample(seed=seed)
        assert len(samples) == 1
        assert dists.norm.rvs(0.9, 0.1) == samples[0]

        assert dists.norm.interval(1.0, 0.9, 0.1) == dim.interval()
        assert dists.norm.interval(0.5, 0.9, 0.1) == dim.interval(0.5)

        assert str(dim) == "Dimension(name=yolo, prior={norm: (0.9, 0.1), {}}, " \
                           "shape=(), default value=None)"

        assert dim.name == 'yolo'
        assert dim.type == 'dimension'
        assert dim.shape == ()
Ejemplo n.º 3
0
def _(dim: Dimension):
    lower, upper = dim.interval()
    if dim.shape:
        # Temporary fix pending [#800]
        # ng.p.Array expects an array with a shape or a float
        # an array with an empty shape is not valid
        # so we cast it to a float
        if hasattr(lower, "shape") and lower.shape == ():
            lower = float(lower)

        if hasattr(upper, "shape") and upper.shape == ():
            upper = float(upper)

        return ng.p.Array(lower=lower, upper=upper, shape=_intshape(dim.shape))
    else:
        return ng.p.Scalar(lower=lower, upper=upper)