pi with 1000 digits

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

pi with 1000 digits

Alain rastoul
Hi,

Just for fun, to see how Smalltalk handles precision, 1000 decimals of pi in
10 lines of code.
(arctan is redefined not to use floats, change 1000  to 100 for quick
result, any variations welvome)
in a workspace:

| arctan pi |
"arctan(x) using Taylor formula"
arctan := [ :x :n | | r s |
 "x must be a fraction- n is the length of the serie"
 r := (0 to: n) inject: 0 into: [ :sum :k |
  sum +  ((-1 raisedTo: k) * ( x raisedTo: ((2*k) + 1)) / ((2*k) +1)) ] .
 r ].
"pi using Machin formula"
pi := (16* (arctan value: (1/5) value: 1000)) - (4*(arctan value: (1/239)
value: 1000) )  asScaledDecimal: 1000.
pi inspect.


Cheers
Alain