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
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 == ()
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)