def test_unquote(self): self.run_legacy_test( '${e}', [[v.sym('quote'), [v.sym('unquote'), v.sym('e')]]], 'unquote') self.run_legacy_test( '$e', [[v.sym('quote'), [v.sym('unquote'), v.sym('e')]]], 'unquote') self.run_legacy_test( '${e + 1}', [[v.sym('quote'), [v.sym('unquote'), [v.sym('add'), v.sym('e'), v.num(1)]]]], 'unquote') self.run_legacy_test( '$e + 1', [[v.sym('add'), [v.sym('quote'), [v.sym('unquote'), v.sym('e')]], v.num(1)]], 'unquote')
def test_clear(self): inst1 = { 'instruction': 'predict', 'expression': ['add', v.num(1), v.num(2)], } o1 = self.sivm.execute_instruction(inst1) inst2 = { 'instruction': 'clear', } self.sivm.execute_instruction(inst2) inst = { 'instruction': 'report', 'directive_id': o1['directive_id'], } try: self.sivm.execute_instruction(inst) except VentureException as e: self.assertEquals(e.exception, 'invalid_argument')
def test_infer(self): inst = { 'instruction': 'infer', 'expression': [ v.sym("resimulation_mh"), v.sym("default"), v.sym("one"), v.num(2) ] } self.sivm.execute_instruction(inst)
def testBasicAnnotation(): sivm = get_ripl().sivm expr = v.app(v.sym("add"), v.num(1), v.sym("foo")) err.assert_sivm_annotation_succeeds(sivm.assume, v.sym("x"), expr)
def points_at(inferrer, i): import venture.value.dicts as val return [(x_to_pixels(i), y_to_pixels(y["value"])) for y in inferrer.engine.sample_all( [val.sym("position"), val.num(i)])]
def makeObserves(ripl, num_points): data = [ v.list([v.real(-2.4121470179012272), v.real(-4.0898807104175177)]), v.list([v.real(-3.5742473969392483), v.real(16.047761595206289)]), v.list([v.num(-0.44139814963230056), v.num(-4.366209321011203)]), v.list([v.num(-0.23258164982263235), v.num(-5.687017265835844)]), v.list([v.num(0.035565573263568961), v.num(-3.337136380872824)]), v.list([v.num(-4.3443008510924654), v.num(17.827515632039944)]), v.list([v.num(-0.19026889153157978), v.num(-3.6065264508558972)]), v.list([v.num(-4.8535236723040498), v.num(17.098870618931819)]), v.list([v.num(-1.1235421108040797), v.num(-5.261098458581845)]), v.list([v.num(1.1794444234381136), v.num(-3.630199721409284)]) ] for i in range(num_points): ripl.observe('(get_datapoint %d)' % i, data[i])