From doc-server@prl.dec.com Mon Sep 23 16:19:22 1991
Return-Path: <doc-server@prl.dec.com>
Received: from corton.inria.fr by cornas.inria.fr (3.2/SMI-3.2)
	id AA24504; Mon, 23 Sep 91 16:19:11 +0200
Received: from prl.dec.com by corton.inria.fr (5.65c8d/90.0.9)
	via Fnet-EUnet id AA01886; Mon, 23 Sep 1991 14:26:16 +0200 (MET)
Received: from perle.prl.dec.com by decprl.prl.dec.com with SMTP (5.61++prl/05-Apr-90); id AA16874; Mon, 23 Sep 91 14:15:13 +0200 (MET)
Received: by perle.prl.dec.com (5.61++prl/27-May-90); id AA17648; Mon, 23 Sep 91 14:15:08 +0200 (MET)
Message-Id: <9109231215.AA17648@perle.prl.dec.com>
Date: Mon, 23 Sep 91 14:15:08 +0200
From: DECPRL archive server <doc-server@prl.dec.com>
Subject: PRL package bignum - part 00 
In-Reply-To: Request from serpette@cornas.inria.fr (bernard serpette) dated Mon Sep 23 13:37:06 MET DST 1991
To: serpette@cornas.inria.fr (bernard serpette)
Status: R

        Copyright 1991 Digital Equipment Corporation.
        Paris Research Laboratory.

This work may not be copied or reproduced in whole or in part for any
commercial purpose.  Permission to copy in whole or in part without
payment of fee is granted for non profit educational and research
purposes provided that all such whole or partial copies include the
following: a notice that such copying is by permission of the Paris
Research Laboratory of Digital Equipment Centre Technique Europe, in
Rueil Malmaison, France; an acknowledgment of the authors and individual
contributors to the work; and all applicable portions of the copyright
notice.  Copying, reproducing or republishing for any other purpose
shall require a license with payment of fee to the Paris Research
Laboratory.  All Rights reserved.

-- 8< ----Remove all lines before %!PS--------------------------------

Bonjour !

You have ordered our bignum package: you are going to receive 5 messages
(one would be too big for the mailer). These messages are named:
    BigNum - Part .01.shar
    BigNum - Part .02.shar
    BigNum - Part .03.shar
    BigNum - Part .04.shar
    BigNum - Part .05.shar

These messages are shell archives built with the tool "makekit" based on
the tool "shar" (as SHell ARchiver). 

The package bignum is now available on U*ix system, VMS system and MSDOS
system.

To install the package bignum on your disk, create a directory where
you want install this package, and go there:
on U*ix system:
	mkdir bignum
        cd bignum
on VMS system:
	create /dir [.bignum]
	set def [.bignum]
on MSDOS system:
	md bignum
	cd bignum
according to the system you use.

Copy the 5 messages from your mail system to this directory.
For this example, we assume you have copied the messages in files
    bignum.01.shar
    bignum.02.shar
    bignum.03.shar
    bignum.04.shar
    bignum.05.shar

Use your favorite text editor to strip from each of the 5 messages 
the header due to the mail system; each ends at the line:

    # Remove all text above and including this line. 

In the following, we are going to use the shell archiver shar. You
can get a copy of a working VMS version of shar on the node prlvms: 
	copy prlvms::shar.exe []
	shar := $disk:[dir]shar.exe;

In the directory bignum, invoke the shell on these files:
    /bin/sh bignum.01.shar
    /bin/sh bignum.02.shar
    /bin/sh bignum.03.shar
    /bin/sh bignum.04.shar
    /bin/sh bignum.05.shar
or
    shar -u bignum.01.shar
    shar -u bignum.02.shar
    shar -u bignum.03.shar
    shar -u bignum.04.shar
    shar -u bignum.05.shar
according to the system you use.

The order in which you perform these 5 commands must be preserved.

When you are finished, the package will have been installed in the
directory bignum. 


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

   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 1	- to use 1 assembly code
	make pyramid	- to use pyramid assembly code
	make i960	- to use intel 80960 assembly code
	make sparc	- to use sparc assembly code
	make sparcfpu	- to use sparc assembly code (with multiply in FPU)
	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. 

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

On VMS system, we suppose you have defined:
	testKerN := $disk:[dir]testKerN.exe
	bztest := $disk:[dir]bztest.exe


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, Roger Wolff. 

    distribution: 
        librarian@prl.dec.com
        decprl::librarian

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

