<- previous    index    next ->

Lecture 15, Multiple precision


When 64-bit floating point is not accurate enough 
When 64-bit integers are way too small 

"C" has gmp, gnu multiple precision. 

Java has a bignum package.

Ada has arbitrary decimal digit precision floating point.

Fortran has a multiple precision library.

Hmmm? Multiple precision must be important and have a use.

Computing Pi to a million places is a demonstration, but there
are more reasonable uses.

Types of multiple precision:
  Unlimited length integers
  Unlimited length fractions  1/integer
  Unlimited length rationals  integer/integer
  Unlimited length floating point
  Arbitrary yet fixed number of digits floating point


for "C" get gmp, GNU Multiple Precision!
download gmp from www.swox.com/gmp
gmp.guide

Here are a few simple gmp samples

test_mpf.c
test_mpf.out
test_mpq.c
test_mpq.out
test_mpz.c
test_mpz.out
gmp fact.c
fact_gmp.out


Java big integers
Big_pi.java test program
Big_pi.out test results

Fortran 95 module that implements big integers
big_integers_module.f90
test_big.f90  test program
test_big_f90.out  test results

Ada 95 precise, rational and digits arithmetic
directory of Ada 95 files

A quick conversion of simeq.c to mpf_simeq.c solves simultaneous
equations with 50 digits, could be many more digits using gmp mpf_t.

Using the very difficult to get accurate answers matrix:

test_mpf_simeq.c
mpf_simeq.c
mpf_simeq.h
test_mpf_simeq.out
test_mpf_simeq_300.out

    <- previous    index    next ->

Other links

Go to top