PAL CARD CATALOG ENTRY

SHORT DESCRIPTION

Random number generator for uniform or Gaussian


MOVEMENT WITHIN THE PAL CARD CATALOG
Move to top-level taxonomy
Move to keyword list

ASSET PROFILE

UNIT NAME
RAN3
VERSION
1.0
REVIEW CODE
CS(Verdix Ada/Sun); ES; AR; C1 1.0 A
INET ADDRESS
gralia@capsrv.jhuapl.edu
AUTHOR
Mars J. Gralia
Applied Physics Laboratory
The Johns Hopkins University
Laurel, Maryland 20723
RIGHTS
Released to Ada Community
COPYRIGHT
(c) 1991 Mars J. Gralia
DATE CREATED
23-Jan-88
DATE RELEASED
30-Jan-91
DATE LAST UPDATED
30-Jan-91
LOCATION
ASR
AdaNET
ENVIRONMENT
---- Host ----
Target Hardware O.S. Compiler-vendors
host DEC-VAX VMS DEC-Ada
host Sun-4 SunOS Verdix
host Sun-3 SunOS Alsys, Verdix
host IBM-PC (80286) DOS Alsys, Meridian
Motorola 68020 (bare) DEC-VAX VMS XD-Ada
Motorola 68030 (bare) DEC-VAX VMS XD-Ada
LIMITATIONS
Not documented in PAL database
CERTIFICATION
Ada System Certifier_1 1.0
Date/Time of Processing: Monday    30 May       1994 06:07:55Pm
Overall Assessment of System: OK
Classification of System: A
Basis of Classification --
Syntax Errors                               PASS
Completeness                                PASS
Independence from External Libraries        PASS
Independence from a Specific Ada Compiler   PASS

Number of ...
Files               4
Library Units       4
Lines            1597
Statements        170
Comments         1087

FILE LISTING

Directory Display


languages/ada/asr/components/ran3:
  File Name                 Size
  ---------                 ----
  ran3.zip                44,131


Totals
  ==============  ==============
    1 Files               44,131

ABSTRACT

    This is a collection of random "number" generator functions. 
    There are two principal packages: Random_Unit provides
floating point random numbers uniform on 0.0 .. 1.0.  Random_Pkg
generalizes that to produce random variables of many different types,
including enumeration sets.  The distribution from which the sample is
taken may be uniform or Gaussian. 
    A major design goal is machine/compiler independence. 
    Both packages are "sequential," to use Booch's lexicon: each
must be used by those programs which contain only a single thread of
control. 
    The algorithm used in Random_Unit was developed by George
Marsaglia.  It was then specifically programmed and tested and in Ada
before publication as ``An Ada Implementation of Marsaglia's
"Universal" Random Number Generator,'' M.G.  Harmon and T.P.  Baker,
ACM Ada Letters, volume 8, number 2 (pages 110-112), March/April 1988.
    Random_Pkg provides the generators:
         Name            Data Type          Range
    a) Even
         a1) Uniform      Float              [0.0,1.0)
         a2) Gen_Integer  Generic integer    (full)
         a3) Gen_Float    Generic float      (full; digits <= 6) 
         a4) Gen_Discrete Generic enumerated (full)
    b) Gaussian
         b1) Simplex      Float              (full)
         b2) Gen_Float    Generic float      (full; digits <=6)
Gaussian generators can have any range, mean and standard deviation.

   Several test programs are included.


REVISION HISTORY

DATE         VERSION	AUTHOR                  HISTORY
30-Jan-91      1.0   Gralia,Hubbs and Douglas Initial Release


RELEASE NOTICE

This prologue must be included in all copies of this software.

This software is copyright by the author.

This software is released to the Ada community.
Restrictions on use or distribution:  it may be freely copied
provided the author's name and copyright notice is retained 
intact.


DISCLAIMER

	This software and its documentation are provided "AS IS" and
without any expressed or implied warranties whatsoever.  No warranties
as to performance, merchantability, or fitness for a particular
purpose exist.
	The user is advised to test the software thoroughly before
relying on it.  The user must assume the entire risk and liability of
using this software.  In no event shall any person or organization of
people be held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.