Then explain yourself.
-------------------------------------------
For the rest of you all.
tinyPi.c seems to work.
Here is the output :
141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598253490428755468731159562863882353787593751957781857780532171226806613001927876611195909216420198938
Here is the code. I wasn't worried about the stdio thing I believe
main(j) was about. I admit I have not thought that way.
So for my contribution to the discussion on Pi. From my level of
understanding. In a way that I am able. I a tone that is appropriate.
Here is tinyPi by Gjerrit Meinsma.
From
g.me...@math.utwente.nl Mon Dec 11 00:32:03 2000
Date: Tue, 08 Aug 2000 14:28:37 -0100
From: gjerrit meinsma <
g.me...@math.utwente.nl>
To:
jas...@isr.umd.edu
Subject: pishort.c
I've read your pi-pages and it seems
you have been busy with getting tiny code
for pi. That's interesting.
Perhaps you have comments on my little C-program.
It takes 141 characters, so not as much as the
"standard" calculate-pi.c program. Of course
it is not as tiny as the assembler code on your page.
It calculates 1000 decimals of pi (could easily do more)
in about two seconds:
long k=4e3,p,a[337],q,t=1e3;
main(j){for(;a[j=q=0]+=2,--k;)
for(p=1+2*k;j<337;q=a[j]*k+q%p*t,a[j++]=q/p)
k!=j>2?:printf("%.3d",a[j-2]%t+q/p/t);}
Groeten,
Gjerrit Meinsma.
-------------------------------------------------------------
Here is how I modified it to run under GCC C
#include <stdio.h>
#include <stdlib.h>
main()
{
unsigned long long int j = 2000;
long k=4e3,p,a[337],q,t=1e3;
// main(j){
{ for(;a[j=q=0]+=2,--k;)
for(p=1+2*k;j<337;q=a[j]*k+q%p*t,a[j++]=q/p)
k!=j>2?:printf("%.3d",a[j-2]%t+q/p/t);}
}
/* tinyPi by gjerrit meinsma <
g.me...@math.utwente.nl>
* long k=4e3,p,a[337],q,t=1e3;
* main(j){for(;a[j=q=0]+=2,--k;)
* for(p=1+2*k;j<337;q=a[j]*k+q%p*t,a[j++]=q/p)
* k!=j>2?:printf("%.3d",a[j-2]%t+q/p/t);}
*/
~
Lets see now if the output matches another list for Pi.
141592653589793238462643383279502884197169399375105820974944592307816406286
208998628034825342117067982148086513282306647093844609550582231725359408128481
117450284102701938521105559644622948954930381964428810975665933446128475648233
786783165271201909145648566923460348610454326648213393607260249141273724587006
606315588174881520920962829254091715364367892590360011330530548820466521384146
951941511609433057270365759591953092186117381932611793105118548074462379962749
567351885752724891227938183011949129833673362440656643086021394946395224737190
702179860943702770539217176293176752384674818467669405132
My old eyes think it does.
Any comments on tinyPi.c?
I think Gjerrit Meinsma is brilliant. I thought the recursive
modulus loop was tight but that is wonderfully tight code.
On the lingering topic of I am not worthy.. Get lost.
On the utility of discussing Pi at this time for me, priceless.
Thanks for this wonderful topic and may all who read this enjoy
Gjerrit Meinsma's tinyPi.c
Ernst