Multi-Precision Arithmetic by C++

with no use of assembler

SN library Ver 2.19 Copyright (C) 1999-2010 Kazuo Tsuru

Last updated : Sep 25, 2010


Please do not add this page to your bookmark. Its URL may be changed in the future. 


What's new.
Please read history.
I have a page photos of sceneries in the vicinity of my home. It opens a new window.


Firstly speaking I am neither a mathematician nor a professional programmer and not proficient in English. Therefore there are probably unsuitable terminologies in my documentations and programs. Please excuse me.
The 'S' of "SN" means "Super" or "Special" and the 'N' means "Number". This library has been tested on the following compilers and operating systems under ANSI C/C++.


gcc(MinGW32, msys1.0) on Windows XP Service Pack 3
gcc version 3.4.2 (mingw-special)

gcc(cygwin) on  Windows XP Service Pack 3
gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)

New
Microsoft Visual C++ 2008 Express Edition on  Windows XP Service Pack 3
since ver 2.19. This is a free compiler.
New

Borland C++ 5.5.1 on  Windows XP Service Pack 3
since ver 2.191. This is a free compiler.

When you have succeeded to run on other platforms please let me know.

Performance

This library can treat multiprecision numbers of which figures is less than about 4,000,000,000 digits, if you have enough time and memory. The kinds of number are

integer number(B, D)   floating point real number(D)   fixed point real number(B)   fraction number(D)   rational number(B)  complex number(D).

Where D and B denotes the decimal radix(10,000) and binary(32,768) one, respectively. For the real numbers you can freely set up the number of effective figures less than the above. The default is about 240 figures. The matrix class is not provided yet. Please try to make it yourself.


Library Reference (HTML form)
These HTML files are packed in "sn2191.zip" below. Please click "sn32/doc/libref/main.html" after melting it.


How to install and use

Please read the file sn2191.txt which is packed in the archive below.

Download source files from here

Source files (sn2191.zip, 469KB) Last updated :  Sep 25, 2010.
This is a tentative version whose documents are not completed.


Message from the author

About the convenience this library is simply no match for the expensive software or the free software UBASIC released by Y. Kida. But I am self-confident a little about its high-performance. I am glad that this library is useful for people who want to do some multi-precision calculations but an expensive software is not necessary or who try to study the advanced knowledge about the class of C++. Further I hope that by developing this library anyone comes to use a high-performance and convenient free software.

Please tell me your impressions or hope. When you found bugs, please let me know.

Welcome your questions.
When you make programs using my library and have any unclear points, please consult with me.

My address
751-0803
18-14 Mae-syouya-tyou Shimonoseki Yamaguchi Japan
Kazuo Tsuru
E-mail :
I'm sorry the upper mail-address is shown by an image to reject spam mails.


links

Mathematical constants(pi, e, log(2), etc.)
 I recommend that you use the Netscape Communicator to visit this page, because there are files translated from TEX by TTH, which cannot be correctly read by the Microsoft Internet Explorer.
the HFLOAT page
(for computations with very long (huge!) floating point numbers)
Ooura's Mathematical Software Packages (FFT program used in my library)
R. Matsumoto's home page (in Japanese) (formulas of pi and binary splitting algorithm) 
the PI WORLD of JA0HXV (Value of PI(12 billion digits), etc.)

THE HOMEPAGE OF THOMAS PAPANIKOLAOU
There is a PS file "Fast multiprecision evaluation of series of rational numbers".
Dev-C++ : Free IDE and compiler for the C and C++ languages. Delphi and C source code available.


About trademark

 Turbo C++ and Borland C++ Builder are the trademark of Borland Software Corporation. MS-DOS and Windows are the trademark of Microsoft Corporation. PC DOS is the trademark of IBM Corporation. Pentium is the trademark of Intel Corporation.