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.