def testPrefs(self): compiler = fc.Compiler() prefs = fractconfig.T("testprefs") prefs.set("compiler", "name", "x") prefs.set("compiler", "options", "foo") prefs.set_list("formula_path", ["fish"]) prefs.set_list("map_path", ["wibble"]) compiler.update_from_prefs(prefs) self.assertEqual("x", compiler.compiler_name) self.assertEqual("foo", compiler.flags) self.assertEqual(["fish"], compiler.path_lists[0]) self.assertEqual(["wibble"], compiler.path_lists[3])
def testFileTimeChecking(self): 'Check we notice when a file changes' try: f2 = fc.Compiler() formulas = ''' test_circle { loop: z = pixel bailout: |z| < @bailout default: float param bailout default = 4.0 endparam } test_square { loop: z = pixel bailout: abs(real(z)) > 2.0 || abs(imag(z)) > 2.0 } ''' f = open("fttest.frm", "w") f.write(formulas) f.close() f2.load_formula_file("fttest.frm") frm = f2.get_formula("fttest.frm", "test_circle") self.assertEqual(frm.symbols.default_params(), [0, 4.0]) formulas = formulas.replace('4.0', '6.0') time.sleep(1.0) # ensure filesystem will have a different time f = open("fttest.frm", "w") f.write(formulas) f.close() frm2 = f2.get_formula("fttest.frm", "test_circle") self.assertEqual(frm2.symbols.default_params(), [0, 6.0]) finally: os.remove("fttest.frm")
return self.param_display_name(name,param) def loadFctFile(self,f): old_gradient = self.get_gradient() line = f.readline() if line == None or not line.startswith("gnofract4d parameter file"): raise Exception("Not a valid parameter file") self.load(f) self.fix_bailout() #self.fix_gradients(old_gradient) self.saved = True if __name__ == '__main__': g_comp = fc.Compiler() g_comp.add_func_path("formulas") g_comp.add_func_path("../formulas") g_comp.add_func_path( os.path.join(sys.exec_prefix, "share/gnofract4d/formulas")) f = T(g_comp) for arg in sys.argv[1:]: file = open(arg) f.loadFctFile(file) f.compile() im = image.T(64,48) f.draw(im) im.save(os.path.basename(arg) + ".png")
def __init__(self): self.compiler = fc.Compiler() self.update_compiler_prefs(fractconfig.instance) self.f = fractal.T(self.compiler)
for k in range(0,runlength): ratio = (k+1.0) / runlength nratio = 1.0 - ratio col = [int(x_y[0] * nratio + x_y[1] * ratio) for x_y in pairs] colors.append(col) colors.append(rgb) i += 3 runlength = 0 return colors if __name__ == "__main__": import sys import fc import fractal g_comp = fc.Compiler(fractconfig.userConfig()) g_comp.add_func_path("../formulas") g_comp.load_formula_file("gf4d.frm") g_comp.load_formula_file("test.frm") g_comp.load_formula_file("gf4d.cfrm") f = fractal.T(g_comp) file = open(sys.argv[1]) parse(file,f) f.save(open("parfile.fct","w"))
def setUp(self): compiler = fc.Compiler() self.compiler = compiler self.gradient = gradient.Gradient()