In [1]:
import apple
In [2]:
c=apple.jit('''
{ mseq ←
λz.
{
add ← λz0.λz1. (z0->1+z1->1, z0->2+z1->2);
sq ← λ(r,i). (r^2-i^2,2*r*i);
abs ← λ(r,i). r^2+i^2;
abs'gen. (0.0,0.0) [add (sq x) z] 64
};
[?((>4)@.mseq x)<0,.1.0,.0.0]`{0} ((frange _2.5 1 700) [(x,y)]⊗ (frange _1 1 400))
}
''')
In [3]:
%timeit c()
57 ms ± 1.17 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
In [4]:
import matplotlib.pyplot as plt
plt.imshow(c())
Out[4]:
<matplotlib.image.AxesImage at 0x10e8cfcb0>