*
* $Id: mran.inc,v 1.1.1.1 1996/02/15 17:48:05 mclareni Exp $
*
* $Log: mran.inc,v $
* Revision 1.1.1.1  1996/02/15 17:48:05  mclareni
* Kernlib
*
*
*
* mran.inc
*
*CALL     BASIC
*CALL     RAN
 MAIN     MACRO     TYPE,M,N,Z,IZ,JZ,I,J
          SETYPE    TYPE
 NAME     MICRO     1,,*"P"_MRAN*
          HEADER    "NAME"              A0 IS NEITHER USED NOR SAVED
          EXT       RANDOM.             FTN SYSTEM LOCATION OF SEED
          EXIT      "NAME"              (M,N,A,B,Z,Z12,Z21)
          PROLOG    EXIT,M,N,Z,IZ,JZ,I
          "P"MRAN   M,N,Z,IZ,JZ,I,J
          BX6       X4                  X6=SEED
          SA6       RANDOM.
          EPILOG
          ENDM
 PROLOG   MACRO     EX,MM,NN,Z,IZ,JZ,ONE  X0=A, X3=C, X4=SEED, X5=MULT
          BSS       0                   X1=(M)    A1=((M))
 +        S_ONE     1         0                             ONE=1
          SA2       X1        1         X2=M      M2=(A)
          SA3       A1+ONE    2         X3=(N)    A3=((N))
*                             3
 +        SA4       A3+ONE    4         X4=(A)    A4=((A))
          SA5       A3+3      5         X5=(Z)    A5=((Z))
          SA1       A4+ONE    6         X1=(B)    A1=((B))
*                             7
*                             8 X2
 +        S_MM      X2        9 X3                          MM=M
          SA3       X3       10         X3=N      A3=(N)
          SA2       A5+ONE   11 X4      X2=(Z12)  A2=((Z12))
          SA4       X4       12 X5      X4=A      A4=(A)
 +        BX6       X5       13 X1      X6=(Z)
          S_Z       X5       14                             Z=(Z)
          SA5       A2+ONE   15         X5=(Z21)  A5=((Z21))
          SA1       X1       16         X1=B      A1=(B)
*                            17 X3
 +        LE        MM,B0,EX 18 X2      IF M.LE.0 EXIT WITH A0 PRESERVED
          S_NN      X3       19 X4                          NN=N
          IX7       X2-X6    20         X7=(Z12)-(Z)
*                            21 X7
*                            22 X5
 +        LE        NN,B0,EX 23 X1      IF N.LE.0 EXIT WITH A0 PRESERVED
          FX3       X1-X4    24         X3=B-A=C
          BX0       X4       25         X0=A
 +        SA4       RANDOM.  26 X0      X4=SEED   A4=(SEED)
          S_JZ      X7       27 X3                          JZ=(Z12)-(Z)
          IX7       X5-X6    28         X7=(Z21)-(Z)
 +        SA5       A4+ONE   29 X7      X5=MULT   A5=(MULT)
          NX3       X3       30         X3=C=B-A
          S_IZ      X7       31                             IZ=(Z21)-(Z)
 PROLOG   ENDM