SSPROG - a C-program Package ============================ Package version: 2.26 for DOS under Windows 98/2000/XP First version: Sometimes 1997 Latest update: 2008-07-26 Author ====== Stefan Spaennare, Lund, Sweden E-mail: stefan@spaennare.se Home page: http://www.spaennare.se/index.html Program page: http://www.spaennare.se/ssprog.html Contents ======== 1. References 2. General information 3. Disclaimer 4. How to run the programs under Windows 5. How to edit the files in Windows 6. Compiler 7. How to compile 8. Package history 1. References ============= 1. Some of the algorithms are found on the web-page "Mathematical constants and computation" by Xavier Gourdon and Pascal Sebah: http://numbers.computation.free.fr/Constants/constants.html 2. The web-page "Fast Algorithms and the FEE Method", by Ekatherina A. Karatsuba: http://www.ccas.ru/personal/karatsuba/algen.htm 3. The web-page "The Karatsuba Method 'Divide and Conquer'", by Ekatherina A. Karatsuba: http://www.ccas.ru/personal/karatsuba/divcen.htm 4. The article "Fast evaluation of transcendental functions", Problems of Information Transmission, vol. 27, (1991), p. 339-360, by Ekatherina A. Karatsuba. 5. The article "Fast multiprecision evaluation of series of rational numbers", by Bruno Haible and Thomas Papanikolaou, 1997. 6. The program now use a very fast FFT (fftsg_h.c) by Takuya Ooura: http://momonga.t.u-tokyo.ac.jp/~ooura/ 7. "CLN - Class Library for Numbers" by Bruno Haible et. al: http://www.ginac.de/CLN/ 8. The documentation "Programs to Calculate some Mathematical Constants to Large Precision", by Stefan Spaennare. 2. General information ====================== These C-programs are originally developed for Linux but changed to run in DOS (under Windows 98/2000/XP). See the header of each program C-code for information how to run the programs, algorithms etc. 3. Disclaimer ============= The following statement is valid for all the programs in this package: I make no warranties that this program is (1) free of errors, (2) consistent with any standard merchantability, or (3) meeting the requirements of a particular application. This software shall not, partly or as a whole, participate in a process, whose outcome can result in injury to a person or loss of property. It is solely designed for analytical work. Permission to use, copy, and distribute is hereby granted without fee, providing that the header above including this notice appears in all copies. 4. How to run the programs under Windows ======================================== The programs are run at the command line. I.e. in a DOS-window under Windows 98 and a CMD (command line interpreter windows) under Windows 2000/XP. Type the name of a program at the prompt to get more information how to use it. 5. How to edit the files in Windows =================================== The C-programs have Unix/Linux type end of lines. Therefore it is recommended to use WordPad (or WinVI) not NotePad to edit the files. Especially the first time before the files are saved. 6. Compiler =========== If you don't have a good C-compiler the free DJGPP GNU C/C++ compiler is highly recommended on the web-page: http://www.delorie.com/djgpp/ Use the "Zip-picker" and select only the C-compiler and to run under DOS in Windows 98/2000/XP, (NT, OS/2 and Linux). It will be about 8 Mbyte to download in total. This compiler generates very fast code and use extended memory (i.e. doesn't have the typical 640 kbyte memory limit for DOS). The compiler is command line based. 7. How to compile ================= Compile in a DOS window: >gcc -O3 -o program.exe program.c -lm Or to compile all the programs at one time run the file compall.bat. I.e: >compall.bat ------------------------------------------------------------------ 8. Package history ================== Whats new 2008-07-26 (2.26) --------------------------- All the programs in ssproge.zip are now recompiled with DJGPP (gcc) 4.2.3 (using the -O3 option) under Windows XP. Whats new 2007-08-13 (2.25) --------------------------- The disclaimer notice has been made prettier for all the programs in the package. Very minor updates to the programs esieve.c, ptwins.c, cbrun.c, cbrun2.c, cbrun3.c, cbrunl.c, cbrun2l.c and cbrun3l.c (in the PRIMES directory). The main code has been somewhat prettified and shorter for the programs sspi.c, sseln2.c, ssgamma.c, ssgam134.c, sscatal.c, sszeta3.c, sszeta.c and sspieln2.c (in the NUMBERS directory). The programs have the same speed as before. Minor updates also to digit.c. All the programs in ssproge.zip are now recompiled with DJGPP (gcc) 4.1.2 (using the -O3 option) under Windows XP. Whats new 2007-07-28 (2.24) --------------------------- Major updates to the program lotto.c. The program lotto2.c is removed from the package. Minor updates to the program marith.c and the file marith.cfg. These programs are located in the FUN directory. All the programs in ssproge.zip are now recompiled with DJGPP (gcc) 4.1.2 (using the -O3 option) under Windows XP. Whats new 2007-07-27 (2.23) --------------------------- Major updates to the programs marith.c and rndpw.c (in the FUN directory). All the programs in ssproge.zip are now recompiled with DJGPP (gcc) 4.1.2 (using the -O3 option) under Windows XP. Whats new 2006-04-27 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP (gcc) 4.1.0 (using the -O3 option) under Windows XP. Whats new 2006-01-01 -------------------- Minor changes to marith.c (in the FUN directory). All the programs in ssproge.zip are now recompiled with DJGPP (gcc) 4.0.1 (using the -O3 option) under Windows XP. Whats new 2005-07-23 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP (gcc) 4.0.1 (using the -O3 option) under Windows XP. Whats new 2005-07-17 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 4.00 (gcc) (using the -O3 option) under Windows XP. The e-mail address of the author changed to "stefan@spaennare.se" and web links changed to the new home page and program page of the author ("http://www.spaennare.se/index.html" and "http://www.spaennare.se/ssprog.html") in the header of each C-program source code. References updated in the programs in the NUMBERS directory. Major changes to all the programs in the PRIMES directory. The programs cbrun2.c, cbrun3.c, cbrun2l.c and cbrun3l.c added. Separate readme file (readme_p.txt) in the PRIMES directory. Note, "latest update" and version number (if present) are only updated for the programs in the PRIMES directory, not for other programs in the package despite the changes in e-mail address, web links and references. Whats new 2004-12-11 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.43 (gcc) (using the -O3 option) under Windows XP. Whats new 2004-10-08 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.42 (gcc) (using the -O3 option) under Windows XP. Whats new 2004-07-31 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.41 (gcc) (using the -O3 option) under Windows XP. Whats new 2004-06-23 -------------------- Minor changes to the text header of fac.c. All the programs in ssproge.zip are now recompiled with DJGPP 3.34 (gcc) (using the -O3 option) under Windows XP. Whats new 2004-03-20 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.33 (gcc) (using the -O3 option) under Windows XP. Whats new 2004-02-04 -------------------- Minor changes to sscatal.c (in the NUMBERS directory). Whats new 2004-02-03 -------------------- The program sscatal.c added (in the NUMBERS directory). All the programs in ssproge.zip are now recompiled with DJGPP 3.32 (gcc) (using the -O3 option) under Windows XP. Whats new 2004-01-09 -------------------- The name of the Pi program (that uses Chudnovsky or Ramanujan series) has been changed to sspi.c (in the NUMBERS directory). Whats new 2003-10-27 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.32 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-10-09 -------------------- Very minor changes to the programs in the NUMBERS directory. Major changes to the program acker.c in the FUN directory. All the programs in ssproge.zip are now recompiled with DJGPP 3.31 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-09-02 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.31 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-08-27 -------------------- The program sszeta.c added. Minor improvements to some procedures in the programs in the NUMBERS directory. Updated benchmarks. Minor changes to cbrun.c and cbrunl.c. All the programs in ssproge.zip are now recompiled with DJGPP 3.23 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-07-24 -------------------- The program sszeta3.c added. Very minor changes to the other programs in the NUMBERS directory. All the programs in ssproge.zip are now recompiled with an updated version of DJGPP 3.23 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-07-18 -------------------- These changes only affect the programs in the NUMBERS directory. The programs sseln2.c, ssgam134.c added. The program sspel2.c renamed to sspieln2.c. Extensive update of ssgamma.c and bug corrected. Functions for cube roots added. Multiplication version (mulversion) now set in the file "mulver.txt". Thus the programs ending with 'b' are removed. New or updated benchmarks for an Intel Celeron computer at 1400 MHz. Fast functions for calculating e=exp(1) are now moved from sspiel2.c to sseln2.c. All the programs in ssproge.zip are now recompiled with DJGPP 3.23 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-07-05 -------------------- All the programs in ssproge.zip are now once again recompiled with DJGPP 3.23 (gcc) (using the -O3 option) under Windows XP. The previous DJGPP 3.30 (gcc) release was probably only a beta release, perhaps not safe to use. Whats new 2003-07-01 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.30 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-06-30 -------------------- Improved FFT-multiplication (lmul) and up to 25 % faster inversions, divisions and square roots in sspibs.c, ssgamma.c and sspiel2.c. All the programs in ssproge.zip are now recompiled with DJGPP 3.23 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-06-24 -------------------- Minor changes to sspibs.c, ssgamma.c and sspiel2.c. All the programs in ssproge.zip are now recompiled with DJGPP 3.23 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-06-15 -------------------- The programs sspichu.c and ssgamma.c added. Some of the programs (sspichu.c, ssgamma.c, sspiel2.c, hexediv.c and fhex2dec.c) now use very fast FFT (fftsg_h.c) by Takuya Ooura. New benchmarks (for Intel Celeron CPU at 1400 MHz) added to these programs New references. The programs sspichu.c, ssgamma.c, sspiel2.c and digit.c are now located in the directory NUMBERS. The programs (ending with b - sspichub.c, ssgammab.c and sspiel2b.c) use mulversion=2 (in the C-code of each program) to make it possible to calculate more than 100 million digits (although slower and more memory consuming than mulversion=1). All the programs in ssproge.zip are now recompiled with DJGPP 3.23 (gcc) (using the -O3 option) under Windows XP. Whats new 2003-03-29 -------------------- The program rndpw.c added. Whats new 2003-03-23 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.22 (gcc) (using the -O3 option) under Windows XP. Minor changes to cbrun.c and cbrunl.c. Whats new 2003-02-19 -------------------- Unused variables removed from the source code in all the programs. Minor changes in some programs. All the programs in ssproge.zip are now recompiled with DJGPP 3.21 (gcc) (using the -O3 option) under Windows XP. Whats new 2002-10-27 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.20 (gcc) (using the -O3 option) under Windows XP. Whats new 2002-08-19 -------------------- Minor changes to the text header in sspiel2.c. Whats new 2002-08-05 -------------------- All the programs in ssproge.zip are now recompiled with DJGPP 3.1 (gcc) (using the -O3 option) under Windows XP. This should give somewhat faster code in most cases. Whats new 2002-07-15 -------------------- The programs cbrun.c and cbrunl.c added. New benchmarks for a 1200 MHz Celeron computer added to many of the programs. See the header of each C-program code. The programs in ssproge.zip are now recompiled with DJGPP 3.0.4 (gcc) under Windows XP. This gives somewhat faster code in many cases. The programs should work fine also under Windows 98. Please report problems! Whats new 2002-01-07 -------------------- The program marith.c added. Whats new 2000-09-02 -------------------- Very minor (non critical) canges to sspiel2.c. The program lotto.c now with automatic random seed generation. The old version is called lotto2.c. Whats new 1999-09-25 -------------------- Minor speed improvements to sspiel2.c. The C-code has also been a little bit "prettier" and the procedures easier to use (fewer temporary parameters). Whats new 1999-09-18 -------------------- Significant speed improvements to sspiel2.c. Improvements to inversions divisions and square roots. Borwein's 2-th order algorithm for pi added to sspiel2.c. New version of sspiel2.c called sspiel2b.c added with mulversion=2 for calculation of more than 2^22 (4 million) digits. This version is two times slower and requires more memory. Old benchmark results removed in sspiel2.c. New benchmarks for 600 MHz Pentium III added. Whats new 1999-08-08 -------------------- More information added to the header of the programs in the SSEHEX directory. Output filenames from ssehex.c, ssehex2.c and ssehex3.c changed to have less the 8 characters (that works with DOS). New benchmark results added to the header of the programs in the SSEDEC directory. To the files delfiles.bat is the extension .exe added to the program names. These files are used to remove the executables from each dirctory. Whats new 1999-08-05 -------------------- The programs are divided into different directories. The directory SSEHEX containing programs to calculate e=exp(1) hexadecimal is added. Whats new 1999-07-28 -------------------- The program sspie.c has been changed to sspiel2.c. Algorithms for e=exp(1) and ln(2) added. Whats new 1998-08-18 -------------------- Random number function (ran2) from Numerical Recipes in C, Second Edition now used by some of the programs. Whats new 1997 -------------- First version of the program package sometimes 1997. ------------------------------------------------------------------ End of readme_w.txt file.