 ## [squeak-dev] Quadrangle >> exampleInViewer baby graphics bug

Igor Stasenko siguctua at gmail.com
Sun Apr 25 08:54:17 UTC 2010

```On 24 April 2010 10:55, Lawson English <lenglish5 at cox.net> wrote:
> Lawson English wrote:
>>
>> Thanks. I had gotten that far with John Dougan's help and tried to save
>> back to the repository but it wouldn't accept since I lack a password.   I
>> converted all references of Floats to Fractions just to see if there was an
>> easy way to give it higher precision but it slowed down to < Apple ][ speeds
>> when I did that.
>>
>>
>> Obviously the naive way isn't going to work. I gotta think there's some
>> glitch with what I did, or incompatibility with the algorithm and
>> Fractions....
>>
>>
> Or maybe  things like x^100/y^100   takes a rather long time to calculate...
>

you can optimize, rather than multiplying x*x*...*x 100 times in a row,

use a power of two numerics.
Given that:
x^y = (x^a)*(x^b)
where y = a+b

so,

x^100 = (x^64)*(x^32)*(x^4)

then, you can reuse an intermediate results of computation i.e:

x2 := x*x.
x4 := x2*x2.
x8 := x4*x4.
x16 := x8*x8.
x32 := x16*x16.
x64 := x32*x32.

result := x64*x32*x4.

so, totally 8 multiplications, instead of 100.

>
> sigh...
>
>
> So an arbitrary precision Mandelbrot generator in Squeak isn't going to be a
> cakewalk, apparently, or perhaps I'm missing something else obvious.
>
>
> Lawson
>

--
Best regards,
Igor Stasenko AKA sig.

```