pi with 1000 digits

classic Classic list List threaded Threaded
1 message Options
Alain rastoul Alain rastoul
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

pi with 1000 digits

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




Loading...