diff options
Diffstat (limited to 'src/fractal.jl')
-rw-r--r-- | src/fractal.jl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/fractal.jl b/src/fractal.jl new file mode 100644 index 0000000..41977c1 --- /dev/null +++ b/src/fractal.jl @@ -0,0 +1,15 @@ +type Fractal{T <: FloatingPoint} + z::Array{Complex{T}, 2} + c::Array{Complex{T}, 2} + step::Function + + function Fractal(imgsize, make_c = z -> z, step = (z, c) -> z.^2 + c) + line = linspace(-2.0, 2.0, imgsize) + plane = [ complex(x, y) for x=line, y=line ] + new(plane, make_c(plane), step) + end +end + +function step{T <: FloatingPoint}(f::Fractal{T}) + f.z = f.step(f.z, f.c) +end |