Re: Randomness of digits within pi



David Bernier wrote:
jonas.thornvall@xxxxxxxxxxx wrote:
On 9 Nov, 17:58, gr...@xxxxxxxxxxxxxxxxx (Daniel Grubb) wrote:
[...]
Here's a program that can calculate pi to 33 million places fairly quickly
on most modern machines.

http://www.geocities.com/hjsmithh/Pi/Super_Pi.html

Ok i admit i am being lazy anyone who can distribute it as file on
bittorent?
Someone must have run the program and burned it down?

You might want to send an e-mail to Xavier Gourdon, the author
of the program Pifast ...

I used Xavier Gourdon's PiFast43.exe program to compute
pi to 1 billion decimals. It took about 12 to 25 hours on a PC
with an Athlon XP 2200 32-bit processor and 1 GB of RAM.

The resulting file, at 1.28 GB, can be opened with Notepad
to see the first 50 or 100 lines or so, but it is so large that
it takes minutes to go down 2 pages.

I believe it would it would be easy to access the file
using C or C++ with fopen(), fscanf(), fclose().

I seem to remember that the file has line numbers,
line feeds/CR (the Windows CR+LF line breaks) and
some information about the start and finish of the
computation at the beginning of the file.

Cf.:
< http://numbers.computation.free.fr/Constants/PiProgram/pifast.html >

I wrote a program in C to read the 1.28 GB file, so as to ignore all characters that are spaces, line feeds,
carriage returns, whitespace, text, "3." and the line numbers (each line had 50 digits).

Up to 800 million decimals after the point, I got a distribution of:
0s: 79991897
1s: 79997003
2s: 80003316
3s: 79989651
4s: 80016073
5s: 79996120
6s: 80004148
7s: 79995109
8s: 80002933
9s: 80003750

This agrees with Yasumasa Kanada's data here:
< ftp://pi.super-computing.org/pub/pi/pi.all.freq.3b >

At 1000 million decimals, my counts were off by about 0 to 10.

Comparing with "Billion Digit Pi" at:
< http://web.ukonline.co.uk/home52365/pi.htm > ,
out of the last 300 digits, roughly the first 220 to 225 agree (when asking for last 1000 of the billion digits).

So it seems likely the first 999,999,900 decimals in my file are right.

I went looking for MD5 hash values and didn't have much success. By writing the first
1 million decimals to a file (and no other characters), I get an MD5 hash of
e668904c195521a2a2dfef948ac54c8e .

"The Starman" gets an MD5 hash of e668904c195521a2a2dfef948ac54c8e for
the same file (or file description ... ) here:
< http://www.geocities.com/tsrmath/pi/picalcs.htm#PMD5 > .

Quite interesting is his "PI Error at UCLA" page:
< http://www.geocities.com/tsrmath/pi/UCLApiError.html >

David Bernier





.



Relevant Pages

  • Re: Time Accuracy
    ... That means the 864,000 tenths of a second in one day can theoretically be handled by the available decimals. ... Perhaps I should have said unreliable digits rather than unreliable numbers. ... oddities of IEEE floating point representation. ... raised issues about the resolution of the Excel NOWfunction. ...
    (microsoft.public.excel.misc)
  • Re: Math issue
    ... <it is common to almost all computer software and hardware> ... There are implementations of the COBOL and other languages that do not suffer from this problem, because they use either scaled integer representations internally or true binary representations of numbers. ... We should be careful with descriptions like "digits beyond the 15th". ... If I re-format to number and expand the decimals ...
    (microsoft.public.excel)
  • Re: Randomness of digits within pi
    ... had 50 digits). ... Up to 800 million decimals after the point, I got a distribution of: ... output uniform distribution of output you should look for anomalies of ...
    (sci.math)
  • Re: a Fortran precision question
    ... in Fortran will be 0.1234568 //7 digits after decimal point ... approximately twice as much storage space to 'a' as single precision, ... It so happens that, when you convert back to decimals, single precision ...
    (comp.lang.fortran)
  • Re: Problems storing in a INTERVAL DAY(9) TO DAY field
    ... the actual digits. ... because it only gets one pair of digits (ndgts == 1) from dgts. ... there's also code in SQLCMD for dumping decimals and intervals ...
    (comp.databases.informix)