This directory contains the C and assembler source code for BigNum.

   The subdirectory doc contains the documentation files:
      bn.tex        	- Document BigNum in LaTeX format
      bnf.tex       	- Document BigNum in French and LaTeX format
      makeidx.sty	- macro used in BigNum document

   The subdirectory h contains the C include files:
      BigZ.h		- Types and structures for clients of BigZ
      BigNum.h		- Types and structures for clients of BigNum

   The subdirectory c contains the C source files:
      KerN.c		- BigNum implementation ("kernel" routines)
      bn/bn*.c		- BigNum implementation ("non-kernel" routines), 
                          that is bnInit.c, bnMult.c, bnDivide.c and bnCmp.c
      bz.c		- BigZ implementation
      bzf.c		- Miscellaneous functions built on top of BigZ
      bztest.c		- Test program for verifying a BigNum implementation
      testKerN.c	- Test program for verifying KerN implementation

   The subdirectory s contains the assembler source files:
      vaxKerN.s		- Vax/U*ix implementation of KerN
      vaxKerN.mar	- Vax/VMS implementation of KerN
      68KerN.s		- 68020 implementation of KerN (MIT syntax)
      68KerN_mot.s	- 68020 implementation of KerN (Motorola syntax)
      nsKerN.s		- NS implementation of KerN
      mipsKerN.s	- MIPS implementation of KerN
      pyramidKerN.s	- Pyramid implementation of KerN

   Other Files:
      Makefile		- Creates U*ix bignum library and test programs
      VMSmakefile	- Creates VMS bignum library and test programs


Now, to build or modify the current version of the package, type one of:

   on U*ix system:
	make vax	- to use vax assembly code
	make 68K	- to use 68020 assembly code
	make ns		- to use NS assembly code
	make mips	- to use mips assembly code
	make pyramid	- to use pyramid assembly code
	make i960	- to use intel 80960 assembly code
	make C16	- to use C code with 16 bits digits
	make C32	- to use C code with 32 bits digits (default version)

   on VMS system: (copy VMSmakefile to Makefile, before)
	mms vax		- to use vax assembly code (default version)
	mms C32		- to use C code with 32 bits digits 
   we suppose you have defined the standard libraries of C-VMS with:
        define  lnk$library  sys$library:vaxccurse
        define  lnk$library_1  sys$library:vaxcrtlg
        define  lnk$library_2  sys$library:vaxcrtl


Each of these commands products the following files:

   on U*ix system:
	BigNum.a	- BigNum library
	testKerN	- Test program executable for KerN
	bztest		- Test program executable for BigZ

   on VMS system:
	BigNum.olb	- BigNum library
	testKerN.exe	- Test program executable for KerN
	bztest.exe	- Test program executable for BigZ


On U*ix system, if you have the tools LaTeX (L. Lamport's special version of Knuth's
famous TeX, as described in the Addison-Wesley book), makeindex and
dvips, type: 
	make doc	- to build the Postscript files of the documents, 

If you do not have dvips, use your local equivalent tool to print
the dvi file produced by the dvips command. 

When you have built a version of the package bignum, you can test it
by invoking the test programs:
	testKerN all	- Tests the functions in the kernel
	bztest		- Tests the generic functions at the Z level


We hope all is well !
Please, let us know if you have any problems. 
All reported bugs will be corrected. All improvements to the package
which you send back to us will be included in the successive releases,
with an author's acknowledgement.

     Merci! and have fun ...

This package was initially developed at INRIA by J. Vuillemin. The
following people have greatly contributed to bring it to it's present
state: Patrice Bertin, Hans Boehm, Jerome Chailloux, Michel Gangnet, 
Jean Claude Herve, Jim Lawton, Francois Morain, David Salesin, Mark Shand,
Bernard Serpette, Glenn Sills, Jean Vuillemin.  

    distribution: 
        librarian@decprl.dec.com

    installation, use, suggestions:
        herve@decprl.dec.com
        serpette@inria.inria.fr
