How do I get random numbers with ALC? 
Author Message
 How do I get random numbers with ALC?

In particular, I am looking for a random number generator routine for  a
blackjack program I am writing using the Donald Higgins PC cross assembler.

Thanks



Fri, 01 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?
RAND     TITLE '                        Random Number Generator from C ?
               Programming Language'
         SPACE 15
***********************************************************************
*                                                                     *
* Title -- RAND                                                       *
*                                                                     *
* Function / Operation -- RAND provides an implementation of the      *
*   rand and srand C langauge functions as defined in Kernighan &     *
*   Ritchie, _The C programming Lnaguage_.  This version is intended  *
*   to be a fortran function, or callable from Assembler Langauge.    *
*                                                                     *
* Status / Change Level --                                            *
*   V1L0 -- January 1997                                              *
*                                                                     *
* Copyright -- None.  The algorithm is public domain.                 *
*                                                                     *
* Calling Sequence --                                                 *
*   Assembler --                                                      *
*              CALL SRAND,(STARTVAL)                                  *
*              ST   R0,NUMBER                                         *
*              CALL RAND                                              *
*              .                                                      *
*              .                                                      *
*              .                                                      *
*     STARTVAL DC   F'101'                                            *
*     NUMBER   DC   F'0'                                              *
*                                                                     *
*   Fortran --                                                        *
*                                                                     *
*             CALL SRAND(101)                                         *
*             NUMBER = RAND()                                         *
*                                                                     *
***********************************************************************
         EJECT
         MACRO
         SETR
         LCLA  &A
L       AIF   (&A GT 15).X
R&A      EQU   &A
&A       SETA  &A+1
         AGO   .L
X       MEND
RAND     CSECT                     DEFINE CSECT
         USING *,R15               ESTABLISH ADDRESSABILITY
         SAVE  (14,3),,*           SAVE REGISTERS
         LM    R1,R3,=A(1103515245,12345,X'7FFF')
*        L     R1,=A(1103515245)   LOAD CONSTANT FROM C PGM LANGAUGE
         SR    R0,R0               SET R0 = 0
         M     R0,NEXT             COMPUTE NEW NEXT VALUE
         ALR   R1,R2               ADD A FUDGE FACTOR (DON'T ASK ME)
         ST    R1,NEXT             SAVE NEW NEXT VALUE
         SRL   R1,16               DIVIDE NEXT BY 64K
         NR    R1,R3               TURN OFF HIGH ORDER BIT IF IT IS    ?
                                    STILL ON
         ST    R1,20(,R13)         STORE RESULT IN R0 POSITION IN THE  ?
                                    CALLER'S SAVE AREA
         RETURN (14,3),T           RESTORE REGS AND RETURN TO CALLER
         SPACE 1
         DROP  R15
         SPACE 5
         CNOP  0,8
         ENTRY SRAND
         USING *,R15
SRAND    SAVE  (14,1)              SAVE REGISTERS
         L     R1,0(,R1)           LOAD ADDRESS OF DATA
         L     R1,0(,R1)           LOAD DATA
         ST    R1,NEXT             SAVE DATA IN NEXT
         RETURN (14,1),T           RESTORE REGS AND RETURN TO CALLER
         SPACE 1
         CNOP  4,8
NEXT     DC    F'1'
         SPACE 1
         DROP  R15
         LTORG ,
         SETR  ,
         END   ,


Quote:
>In particular, I am looking for a random number generator routine for  a
>blackjack program I am writing using the Donald Higgins PC cross assembler.

>Thanks

-- Steve Myers

The E-mail addresses in this message are private property.  Any use of them
to  send  unsolicited  E-mail  messages  of  a  commerical  nature  will be
considered trespassing,  and the originator of the message will be  sued in
small claims court in Camden County,  New Jersey,  for the  maximum penalty
allowed by law.



Fri, 01 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?
        Thanks, that might be the easiest.


Fri, 01 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?
Thanks, I will save that if the STCK concept from WOB doesn't work.


Fri, 01 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?

Thanks.  

See if you can find your code.  
* REGS
BJ101    BEGIN SAVE=YES,BASES=2
         BAL   R11,OPEN
         BAL   R11,PLAY
         BAL   R11,RESULTS
ENDALL   BAL   R11,CLOSE
         RETURN RC=0000,SAVE=YES
*********************************************************************
*****                  F I L E   O P E N E R                     ****
*********************************************************************
OPEN     BAL   R10,DATE
         MVC   NXT+3(1),DTH+1
         BAL   R10,CLR
*        OPEN  INFIL,INPUT
         OPEN  OUTFIL,EXTEND
         BAL   R10,PUTMACRO
         MVC   SYSLINE(24),=CL24'** BLACKJACK RESULTS ** '
         BAL   R10,PUTMACRO
         BAL   R10,PUTMACRO
         BR    R11
*********************************************************************
*****                  F I L E   R E A D E R                     ****
*********************************************************************
READ     DS    0H
*        GET   INFIL,CARD
*        TR    CARD,TOEBCDIC
*        AP    PLYCNTR,=P'1'
EOF      BR    R11
*********************************************************************
*****                  P L A Y   A   H A N D                     ****
*********************************************************************
PLAY     L     R1,=F'99'
PLAY1    DS    0H
         ST    R1,STR1
         BAL   R10,DLRFRST2
         BAL   R10,DOPLYR
         BAL   R10,DLRAGAIN
         BAL   R10,ANALYZE    ANALYZE THE HANDS
         BAL   R10,PUTMACRO   PRINT THE ANALYSIS
         L     R1,STR1
         BCT   R1,PLAY1
         BR    R11
STR1     DS    F
*********************************************************************
*****              D E A L E R'S   F I R S T  2
*********************************************************************
DLRFRST2 DS    0H
         MVC   SYSLINE+05(4),=C'DLR:'
         MVI   PACE11,C'N'
         MVI   DACE11,C'N'      RESET SOME FLAGS
         AP    PLYCNTR,=P'1'
         SR    R7,R7            RESET THE DEALER TOTAL VALUE REG
         BAL   R9,DRAW
         MVC   SYSLINE+09(1),NEXTCARD
         BAL   R9,DACEUP        IS AN ACE?
         BAL   R9,DRAW
         BAL   R9,DACEUP        IS AN ACE?
         BAL   R9,UPCARD        SAVE THE UPCARD
         MVC   SYSLINE+10(1),NEXTCARD
         CH    R7,=H'21'            CHECK FOR BLACKJACK
         BNER  R10
         MVC   SYSLINE+34(2),=C'BJ'
         AP    DBJCNTR,=P'1'     DEALER BJ COUNT
         BR    R10
*********************************************************************
*****            P L A Y E R   G O E S
*********************************************************************
DOPLYR   MVC   SYSLINE+15(5),=C'PLYR:'
         SR    R6,R6            RESET PLAYER TOTAL REG
         BAL   R9,DRAW          GET A CARD
         BAL   R9,PACEUP        IS AN ACE?
         MVC   SYSLINE+20(1),NEXTCARD
         BAL   R9,DRAW         GET A CARD
         BAL   R9,PACEUP        IS AN ACE?
         MVC   SYSLINE+21(1),NEXTCARD
         CH    R6,=H'21'        CHECK FOR BLACKJACK
         BNE   PLRCONT
         MVC   SYSLINE+44(2),=C'BJ'
         AP    PBJCNTR,=P'1'     PLAYER BJ COUNT
         BR    R10
PLRCONT  DS    0H
         LA    R8,6
         LA    R4,SYSLINE+11
P0       CLI   DACE11,C'Y'   CHECK FOR SOFT 17
         BNE   P1            NO ACE JUST ADD ANOTHER CARD
P00      CH    R6,=H'17'     NOT 17?
         BE    P2
P1       CH    R6,=H'16'     ARE WE ALREADY OVER 16?
         BHR   R10           YES, RETURN
P2       BAL   R9,DRAW       ELSE DRAW A CARD
         BAL   R9,PACEUP     CHECK THE CARD AND ADD TO R7
         CLI   DACE11,C'Y'   DID WE SET THE FLAG AND EXCEED 21?
         BNE   P3            NO CONTINUE.
         CH    R6,=H'22'     BUSTED WITH ACE?
         BL    P3            NO, JUST PRINT THE CARD AND CONTINUE
         WTO   'ACE REDUCTION P'
         MVI   DACE11,C'N'   YES, ERASE THE MARK
         SH    R6,=H'10'     AND SUBTRACT 10
P3       MVC   0(1,R4),NEXTCARD      PUT THE CARD ON OUR PRINT LINE
         LA    R4,1(,R4)     ADVANCE PRT LINE PTR
         BCT   R8,P0         DO IT ALL AGAIN
         BR    R10
*********************************************************************
*****           D E A L E R   G O E S   A G A I N
*********************************************************************
DLRAGAIN DS    0H
         LA    R8,6
         LA    R4,SYSLINE+11
D0       LA    R1,16         LOAD A LIMIT VALUE IF AN ACE PRESENT IS 18
         CLI   DACE11,C'Y'   CHECK FOR ACE
         BNE   D1            NO ACE BEING USED FOR 11 SO LIMIT IS 17
         LA    R1,1(,R1)     THIS WILL FORCE A HIT ON SOFT 17
D1       CR    R7,R1         ARE WE ALREADY OVER 16 OR 17?
         BHR   R10           YES, RETURN
D2       BAL   R9,DRAW       ELSE DRAW A CARD
         BAL   R9,DACEUP     CHECK THE CARD AND ADD TO R7
         CLI   DACE11,C'Y'   DID WE SET THE FLAG AND EXCEED 21?
         BNE   D3            NO CONTINUE.
         CH    R7,=H'22'     BUSTED WITH ACE?
         BL    D3            NO, JUST PRINT THE CARD AND CONTINUE
         WTO   'ACE REDUCTION D'
         MVI   DACE11,C'N'   YES, ERASE THE MARK
         SH    R7,=H'10'     AND SUBTRACT 10
D3       MVC   0(1,R4),NEXTCARD      PUT THE CARD ON OUR PRINT LINE
         LA    R4,1(,R4)     ADVANCE PRT LINE PTR
         BCT   R8,D0         DO IT ALL AGAIN
         BR    R10
*********************************************************************
*****          A N A L Y Z E   T H E   P I C T U R E
*********************************************************************
ANALYZE  CVD   R7,DBL        PRINT DEALER TOT ON LINE
         MVC   SYSLINE+30(4),PATTERN
         ED    SYSLINE+30(4),DBL+6
         CVD   R6,DBL        PRINT PLAYER 2 CARD TOTALS ON LINE
         MVC   SYSLINE+40(4),PATTERN
         ED    SYSLINE+40(4),DBL+6
         CH    R6,=H'21'
         BH    DLRWINS
         CH    R7,=H'21'
         BH    PLRWINS
         CR    R7,R6
         BH    DLRWINS
         BL    PLRWINS
         BE    PUSH
PUSH     MVC   SYSLINE+50(7),=C'PUSH   '
         AP    PSHCNTR,=P'1'
         B     AEND
DLRWINS  MVC   SYSLINE+50(7),=C'DLR WNS'
         AP    DWNCNTR,=P'1'
         B     AEND
PLRWINS  MVC   SYSLINE+50(7),=C'PLR WNS'
         AP    PWNCNTR,=P'1'
         B     AEND
AEND     DS    0H
         BR    R10
*********************************************************************
*****      D R A W   A   C A R D   F R O M   T H E   D E C K     ****
*********************************************************************
SAVE4    DS    F
DRAW     DS    0H                ENTRANCE TO ROUTINE
         ST    R4,SAVE4
         LM    R1,R3,=A(1103515245,12345,X'7FFF')
         SR    R0,R0
         M     R0,NXT            COMPUTE NEW NEXT VALUE
         ALR   R1,R2             ADD A FUDGE FACTOR (DON'T ASK ME)
         ST    R1,NXT            SAVE NEW NEXT VALUE
         SRL   R1,16             DIVIDE NEXT BY 64K
         ST    R1,NXT            SAVE NEW NEXT VALUE
         NR    R1,R3             TURN OFF HIGH ORDER BIT IF IT IS ?
         SRL   R1,9              DIVIDE NEXT BY 64K
         AP    LOKCNTR,=P'1'     HOW MANY TIMES DID WE DO SVC 18?
         CH    R1,=H'52'         DOES THIS NUMBER EXCEED 52?
         BH    DRAW              YES, GET A DIFFERENT TIME
         CLI   0(R4),X'00'      IS THAT VALUE TAKEN?
         BNE   CRDFND            NO, USE THAT VALUE
         LA    R4,DECK          NO, GET ADDR OF DECK
         AR    R4,R1            ADD THE DISP NBR
         CVD   R1,DBL
         MVC   SYSLINE(8),PATTERN
         ED    SYSLINE(8),DBL+4
         TR    SYSLINE,TOASCII
         PUT   OUTFIL,SYSAREA
         CLC   DECK(52),NULLS    DECK EMPTY?
         BNE   DRAW              NO, GET ANOTHER CARD
SHUFFLE  AP    SHFCNTR,=P'1'     ADD 1 TO SHUFFLE COUNT
         MVC   DECK(52),DECKPAT  YES, SHUFFLE THE DECK
         MVC   SYSLINE+70(3),=C'SHF'
         B     DRAW              NO, GET ANOTHER CARD
CRDFND   DS    0H
         AP    DRWCNTR,=P'1'     CARD FOUND!
         SR    R5,R5
         ICM   R5,1,0(R4)        SAVE THE VALUE IN R5
         MVC   NEXTCARD,0(R4)    AND NEXTCARD
         MVI   0(R4),X'00'       ERASE SO IT CANT BE USED AGAIN
         TR    NEXTCARD,CARDTBL  MAKE THE VALUE READABLE.
         L     R4,SAVE4
         BR    R9                LEAVE
*********************************************************************
*****              D E A L E R   U P   C A R D                   ****
*********************************************************************
UPCARD   DS    0H
         CLI   NEXTCARD,C'A'
         BE    SET16
         CLI   NEXTCARD,C'T'
         BE    SET16
         CLI   NEXTCARD,C'9'
         BE    SET16
         CLI   NEXTCARD,C'8'
         BE    SET16
         CLI   NEXTCARD,C'7'
         BE    SET16
         MVC   STANDPT,=X'000B'
         BR    R9
SET16    MVC   STANDPT,=X'0010'
         BR    R9
*********************************************************************
*****         P L A Y E R   A C E   P R O C E S S I N G          ****
*********************************************************************
PACEUP   DS    0H
         AR    R6,R5            ADD NEW CARD TO DEALER SCORE
         CH    R5,=H'01'        IS AN ACE?
         BNER  R9               NO, EXIT
         CH    R6,=H'11'        IS DEALER OVER 11?
         BHR   R9               YES, EXIT
         WTO   'ACE USED AS 10P'
         AH    R6,=H'10'         ADD 10
         MVI   PACE11,C'Y'
         BR    R9
*********************************************************************
*****         D E A L E R   A C E   P R O C E S S I N G          ****
*********************************************************************
DACEUP   DS    0H
         AR    R7,R5            ADD NEW CARD TO DEALER SCORE
         CH    R5,=H'01'        IS AN ACE?
         BNER  R9               NO, EXIT
         CH    R7,=H'11'        IS DEALER OVER 11?
         BHR   R9               YES, EXIT
         WTO   'ACE USED AS 10D'
         AH    R7,=H'10'         ADD 10
         MVI   DACE11,C'Y'
         BR  
...

read more »



Sat, 02 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?


Quote:
>In particular, I am looking for a random number generator routine for  a

[...]

This code apparently is as good as theoretically possible, according
to an article in the CACM (reference within comment below).
Enjoy.

Subject: random [PRNG] IBM SYST.J. 8, 2(1969)
RANDOM   TITLE 'LEWIS, GOODMAN, MILLER  A PSEUDO-RANDOM NUMBER GENERATOX
               R FOR THE SYSTEM/360   IBM SYST.J. 8, 2(1969)'
RANDOM   CSECT ,
*
* LEWIS, P. A. W.,  GOODMAN, A. S.,  AND MILLER, J. M.
* A PSEUDO-RANDOM NUMBER GENERATOR FOR THE SYSTEM/360
* IBM SYSTEMS JOURNAL VOLUME 8 NUMBER 2 (1969), PP.136-146.
*
* "THIS GENERATOR IS WRITTEN IN SYSTEM/360 BASIC ASSEMBLER LANGUAGE.
* THIS GENERATOR CAN BE USED BY ANY PROGRAM THAT CONFORMS TO THE
* SYSTEM/360 FORTRAN LINKAGE CONVENTIONS.  IN PARTICULAR, IT MAY
* BE INVOKED IN A FORTRAN PROGRAM (COMPILED ON SYSTEM/360) BY THE
* STATEMENT:
*             CALL RANDOM (INT, REAL)
* WHERE  INT  IS ANY FULL-WORD INTEGER VARIABLE AND  REAL  IS ANY
* FULL-WORD REAL VARIABLE (SINGLE PRECISION).  THE INTEGER VARIABLE,
* INT, SHOULD BE GIVEN AN INITIAL VALUE BEFORE THE FIRST USE OF THE
* GENERATOR.  THE GENERATOR RETURNS AN INTEGER RANDOM NUMBER IN  INT
* AND A REAL RANDOM NUMBER BETWEEN 0 AND 1 IN REAL."
*
*
* THE ARTICLE IS REFERRED-TO BY
*   PARK, STEPHEN K.  AND MILLER, KEITH W.
*   RANDOM NUMBER GENERATORS: GOOD ONES ARE HARD TO FIND
*   COMMUNICATIONS OF THE ACM  VOLUME 31 NUMBER 10 (OCTOBER 1988),
*                                                         PP.1192-1201
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
         SAVE  (14,12)
         LM    R2,R3,0(R1)   LOAD ADDRESSES OF VARIABLES PASSED
         L     R5,A          COMPUTE NEXT INTEGER
         M     R4,0(R2)      RANDOM NUMBER WITH X(I+1) = AX(I) (MOD P)
         D     R4,P
         ST    R4,0(R2)
         SRL   R4,7          COMPUTE NEXT REAL RANDOM NUMBER
         A     R4,CHAR
         ST    R4,0(R3)
         RETURN (14,12),RC=0
* CONSTANTS
CHAR     DC    F'1073741824'
         DS    0D
A        DC    F'16807'
P        DC    F'2147483647'
         END   ,
--



Tue, 05 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?
I uploaded the code to a 9672 system and tried it.

1)  The code required work to assemble.  In particular, no addressability
was established for the code.

2)  Examining the code quickly revealed the floating point random number
returned by the program is unnormalized.  This does not present a real
problem.  Indeed, in most cases, the value returned is a normalized
value, but not always.  As written, the program appears to be reentrant.
Updating the program to return a normalized value would either require a
work area from the calling program, or the program would no longer be
reentrant.

3)  A limited test run of the program showed it appeared to generate
fairly random numbers.  At this time, no formal test was performed.

4)  Assuming the random numbers are reasonably random, it appears to be a
better generator than the C language standard random number generator.

5)

CHAR     DC    F'1073741824'

generates

CHAR     DC    X'40000000'

Why people persist in doing this I cannot imagine.  This constant is used
in converting the fixed point generated number to unnormalized floating
point.

6)  Where

A        DC    F'16807'

comes from is anyone's guess.  Perhaps the referenced article provides a
clue.

7)

P        DC    F'2147483647'

is the maximum positive integer in the S/360 number scheme.


Quote:


>>In particular, I am looking for a random number generator routine for  a
>[...]

>This code apparently is as good as theoretically possible, according
>to an article in the CACM (reference within comment below).
>Enjoy.

[snip]

-- Steve Myers

The E-mail addresses in this message are private property.  Any use of them
to  send  unsolicited  E-mail  messages  of  a  commerical  nature  will be
considered trespassing,  and the originator of the message will be  sued in
small claims court in Camden County,  New Jersey,  for the  maximum penalty
allowed by law.



Fri, 08 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?

Quote:
>2)  Examining the code quickly revealed the floating point random number
>returned by the program is unnormalized.  This does not present a real
>problem.  Indeed, in most cases, the value returned is a normalized
>value, but not always.  As written, the program appears to be reentrant.
>Updating the program to return a normalized value would either require a

Call me an idiot, but I don't see any floating point instructions here.
Not that I would know how to work with them if I did.  I skipped that part.


Fri, 08 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?
         SRL   R4,7          COMPUTE NEXT REAL RANDOM NUMBER
         A     R4,CHAR
         ST    R4,0(R3)
         .
         .
         .
CHAR     DC    F'1073741824'  or X'40000000'

At the start of the fragment, R4 contains the integer random number
being returned.  The code shifts the value left by the size of the
floating point exponent, and adds the floating point +0 (well, not that,
but it's close enough).  The end result in register 4 is a floating
point value, unnormalized, between +0 and +1, that is stored in the
storage location pointed to by the 2nd parameter.  An integer value
below X'02000000' (2,097,152) results in a floating point value that
is unnormalized.


[snip]

Quote:

>Call me an idiot, but I don't see any floating point instructions here.
>Not that I would know how to work with them if I did.  I skipped that part.

-- Steve Myers

The E-mail addresses in this message are private property.  Any use of them
to  send  unsolicited  E-mail  messages  of  a  commerical  nature  will be
considered trespassing,  and the originator of the message will be  sued in
small claims court in Camden County,  New Jersey,  for the  maximum penalty
allowed by law.



Fri, 08 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?

Quote:

> 3)  A limited test run of the program showed it appeared to generate
> fairly random numbers.  At this time, no formal test was performed.

I ran the integer version test a long time ago, it has a period of
unknown value. That does not mean there isn't one, and that it is
truly random-X, (for all seed(S)), it just means that I did not
find it...

Quote:
> 4)  Assuming the random numbers are reasonably random, it appears to be a
> better generator than the C language standard random number generator.

This one was documented in the late 60's, I believe...

Quote:
> CHAR     DC    F'1073741824'

> generates

> CHAR     DC    X'40000000'

> Why people persist in doing this I cannot imagine.  This constant is used
> in converting the fixed point generated number to unnormalized floating
> point.

This is a terrific number of the normalization of floats. I would
suspect that the routine we were viewing was disassembled from a
binary stored somewhere. This number is a normalized floating point
zero.

Quote:
> 6)  Where

> A        DC    F'16807'

> comes from is anyone's guess.  Perhaps the referenced article provides a
> clue.

Now this little gem, is called the "magic" value within most
randomizers. Run a 10,000 point Monte Carlo test. Start with a
consistant seed (say, 1000) and interval from 0 - 1,000, and
count the frequency of occurance of each of the possible 1,000
return values.

Then change A, do it again...

I think it's like 7**5 - 1, or something like that...



Fri, 08 Jun 2001 03:00:00 GMT  
 How do I get random numbers with ALC?

: 2)  Examining the code quickly revealed the floating point random number
: returned by the program is unnormalized.

How about converting it to use binary floating point instead of hex
floating point?  There is no such thing as an unnormalized floating point
value in the IEEE standard.

--
| Edward E. Jaffe                | Voice:      (310) 338-0400 x318     |
| Mgr., Research & Development   | Facsimile:  (310) 338-0801          |

| 9841 Airport Blvd, Suite 700   | IBM Mail:   USS24J24 at IBMMAIL     |        
| Los Angeles, CA 90045          | Web page:   www.phoenixsoftware.com |



Fri, 08 Jun 2001 03:00:00 GMT  
 
 [ 27 post ]  Go to page: [1] [2]

 Relevant Pages 

1. Random Number Generator to produce SAME random number from 12:00am-11:59pm

2. Getting random numbers from a Pentium III or IV

3. Random number not random?

4. Pentium III processor number and random number generator

5. Getting a program to inform you when it's done

6. Doing emacs bindings or getting modifiers

7. HttpDist - getting errors, What I'm doing wrong

8. Doing emacs bindings or getting modifiers

9. Getting a random line.

10. Getting one element at random from a Python dictionary

11. J random-number generator: what is used?

12. Quasi Random numbers

 

 
Powered by phpBB® Forum Software