
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
      i960KerN.s        - Intel 80960 implementation of KerN
      sparcKerN.s       - SPARC implementation of KerN
      sparcfpuKerN.s    - SPARC implementation of KerN using FPU, may
                          give faster multiplication on SPARC
                          implementations with fast floating point
      supersparcKerN.s  - SPARC V8 implementation of KerN
                          (with hardware integer multiplication)

   Other Files:
      Makefile          - U*ix makefile
      VMSmakefile       - VMS makefile
      MSDOSmakefile     - MSDOS makefile


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 sparc      - to use sparc assembly code (SunOS 4)
        make sparcfpu   - to use sparc assembly code (with multiply in FPU)
        make supersparc - to use sparc V8 assembly code (Sun OS 4)
        make sparc-solaris
        make sparcfpu-solaris  same as above, for Solaris 2 instead of SunOS 4
        make supersparc-solaris
        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

   on MSDOS system: (copy MSDOSmakefile to Makefile, before)
        make makefile   - to use C code (16 bits digits)

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 MSDOS system:
        BigNum.lib      - 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 LaTeX command.
