home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / modula2 / library / queuem2 / normrng.def < prev    next >
Text File  |  1989-08-02  |  3KB  |  76 lines

  1. (* source: h:\modula\defs\NormRNG.DEF     v1.0a             revised: 88.06.09
  2.    author: G.Greene, AGCS D/429 (NS/TS), 312/681-7783       created: 88.06.09
  3.  
  4.    function:
  5.     This is the definition for a module which exports generators of pseudo-
  6.     random variates of the normal and related distributions.
  7.  
  8.    history:
  9.      88.06.09  1.0a  initial release.
  10. *)
  11.  
  12. DEFINITION MODULE  NormRNG;
  13.  
  14.  
  15. (*  Return as the function value a normally-distributed LongReal value, with
  16.     mean=0 and standard deviation=1.
  17. *)
  18.  
  19. PROCEDURE  StdNormalVariate ( ): LONGREAL;
  20.  
  21.  
  22.  
  23. (*  Return as the function value a normally-distributed real value, with
  24.    mean given by the first parameter, and standard deviation given by the
  25.    second parameter.
  26. *)
  27.  
  28. PROCEDURE  NormalVariate (
  29.                   (*in*)  Mean:   REAL;
  30.                   (*in*)  StdDev: REAL ): LONGREAL;
  31.  
  32. (*                                                                         [2]
  33.  source: h:\modula\defs\NormRNG.DEF     v1.0a             revised: 88.06.09 *)
  34.  
  35.  
  36. (*  Return as the function value a lognormally-distributed real value, with
  37.     location and shape parameters given by the function parameters.  More
  38.     commonly, one would want to specify the mean and standard deviation of
  39.     of the values.  Since the computations involved in providing that form
  40.     for the parameters would substantially slow the process of generating
  41.     variates, a separate procedure, LognormalParameters, is provided below
  42.     to do the conversion once for a given distribution.  The output values
  43.     from that procedure may then be used as the parameters for this one.
  44. *)
  45.  
  46. PROCEDURE  LognormalVariate (
  47.                      (*in*)  Location: REAL;
  48.                      (*in*)  Shape:    REAL ): LONGREAL;
  49.  
  50.  
  51.  
  52. (*  The expected value (variate mean) and standard deviation of values for a
  53.     lognormal distribution are given as the first and second parameters,
  54.     respectively.  Set the third and fourth parameters to the corresponding
  55.     location and shape parameters for use with procedure LognormalVariate,
  56.     above.
  57. *)
  58.  
  59. PROCEDURE  LognormalParameters (
  60.                    (*in*)       Mean:     REAL;
  61.                    (*in*)       StdDev:   REAL;
  62.                   (*out*)  VAR  Location: REAL;
  63.                   (*out*)  VAR  Shape:    REAL );
  64.  
  65.                     
  66.                     
  67. (*  Return as the function value a Cauchy-distributed real value, with
  68.     location (median) and scale parameters given by the function parameters.
  69. *)
  70.  
  71. PROCEDURE  CauchyVariate (
  72.                   (*in*)  Median: REAL;
  73.                   (*in*)  Scale:  REAL ): LONGREAL;
  74.  
  75. END  NormRNG.
  76.