def main(args): pc = PC() pc.add_func_path("../formulas") pc.load_formula_file("gf4d.frm") pc.load_formula_file("gf4d.cfrm") pc.compiler_name = "g++" pc.leave_dirty = True f = fractal.T(pc) f.loadFctFile(open(args[0])) outfile = f.compile() cfile = outfile[:-2] + "c" # compile the stub and the c file to create a program to profile files = " ".join(pc.cfiles + [cfile]) cmd = "%s %s %s -o %s %s" % \ (pc.compiler_name, files, "-g -pg -O3 -Ic -lpthread", "proftest", "") print cmd (status, output) = commands.getstatusoutput(cmd) if status != 0: raise Exception("Error reported by C compiler:%s" % output) print output # compiled - hurrah! run it (status, output) = commands.getstatusoutput("./proftest") if status != 0: raise Exception("Error reported by program:%s" % output) print output
def testParseParams(self): f = fractal.T(g_comp) parfile.parse_maxiter("72000", f) self.assertEqual(f.maxiter, 72000) parfile.parse_colors( '0000qJ0mP0iX0eb0di0`o0Xu0Tz2Pz2NzRTzoZqzbRzdTzdTzeTzeTzeTzgVzgVzgVziVziVzkXzkXzkXzmXzmXzmXzgVzdTu`RkXP`TNRNNGJL6GJ0CH08K04U0GcAWdPdkehvpmuxrzzxzzzuzzqzzmzzizzezzbzzZzzVzzTzzRzzRxzPozPexNZvNPsLGqL8oLEkNJiNNgNTeNXdN``PbXPeTPgPPkLPmHPqEPsARv6Rx2Rz0Rz0Rz0Rz0RzzLzzPzgTzLXz0`z0Xz0Vz0Rz0Pz0Lz0Jz0Gz0Ez0Az08z04z02z00z00z00s2GNV`0uu0so6qiCodJo`PmVXkPdkLiiGqgAvg6Lzb0zz2zgJzJ`z0Tz2Nz8HzECxJ6vP0sV0q`0me0kk0io0os0su0xx4zzCzzHzzPzzVzzXzzXzzXzzXzzXzzXzxXxvXvuXssXqqXmoXkmbizVdzPZyHTsCNh6HZ0CS06Q00S00U00W00Y00_00a40cC4eJ6hR8kZAneEqmGtuHwzJzzLzz0Hz0Gz0Gz0Ez0Ez0Ez0Cz0Cz0Cz0Ax0Av08u08q08o06m06k06s0Cgz0TZzz0zz0zz2zq6ziAz`GzRJxHNvARuLGko0CV4de0Vo0NgVzkHzo6ss0ev0TmCbq2Xs0Tu0Nv0J0z02z0Cs0Lb0XL2e46o0CiZpoRmqGec4`h0Tc0LGzzRdxbHim0VPJob2bm0R60AP0Cg0EzzzzzzzdqxHdx0RzzLzmJzNHx0G0z00v60uE', f) self.assertEqual(len(f.get_gradient().segments), 255) parfile.parse_center_mag( "-0.74999655467724592903865/0.01712692163034049041486/5.51789e+018", f) self.assertEqual(f.params[f.XCENTER], -0.74999655467724592903865) self.assertEqual(f.params[f.YCENTER], -0.01712692163034049041486) self.assertEqual(f.params[f.MAGNITUDE], 2.0 / 5.51789e+018 * 1.33)
def setUp(self): global g_comp self.compiler = g_comp self.f = fractal.T(self.compiler) self.f.render_type = 2 self.f.set_formula("test.frm", "test_hypersphere") self.f.compile() handle = fract4dc.pf_load(self.f.outputfile) self.pfunc = fract4dc.pf_create(handle) self.cmap = fract4dc.cmap_create_gradient( self.f.get_gradient().segments) (r, g, b, a) = self.f.solids[0] fract4dc.cmap_set_solid(self.cmap, 0, r, g, b, a) (r, g, b, a) = self.f.solids[1] fract4dc.cmap_set_solid(self.cmap, 1, r, g, b, a) initparams = self.f.all_params() fract4dc.pf_init(self.pfunc, self.f.params, initparams) self.im = image.T(40, 30) siteobj = FractalSite() self.fw = fract4dc.fw_create(1, self.pfunc, self.cmap, self.im._img, self.f.site) self.ff = fract4dc.ff_create( [0.0, 0.0, 0.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 2, 100, 0, 1, self.pfunc, self.cmap, 0, 1, 2, # 3D self.im._img, self.f.site, self.fw, False, 1.0E-9)
def __init__(self): self.compiler = fc.Compiler() self.update_compiler_prefs(fractconfig.instance) self.f = fractal.T(self.compiler)
ratio = (k + 1.0) / runlength nratio = 1.0 - ratio col = map(lambda (x, y): int(x * nratio + y * ratio), 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() 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 testLoadFOTD1(self): fotd_file = StringIO.StringIO(fotd) f = fractal.T(g_comp) parfile.parse(fotd_file, f) self.assertEqual(f.maxiter, 72000)