5 * Revision 1.1.1.1 1995/10/24 10:19:54 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.41 by S.Giani
15 *=== betarn ===========================================================*
17 FUNCTION BETARN(GAM,ETA)
19 #include "geant321/dblprc.inc"
20 #include "geant321/dimpar.inc"
21 #include "geant321/iounit.inc"
23 *----------------------------------------------------------------------*
26 * Created on 20 february 1991 by Alfredo Ferrari & Paola Sala *
29 * Last change on 20-feb-91 by Alfredo Ferrari *
31 * Sampling from beta distribution in [0,1) : *
33 * P(X) = X**(GAM-1.D0)*(1.D0-X)**(ETA-1)*GAMM(ETA+GAM) *
34 * / (GAMM(GAM*GAMM(ETA)) *
36 *----------------------------------------------------------------------*
42 NTAM1 = NINT (ETA - 1.D+00)
43 * +-------------------------------------------------------------------*
45 IF ( ETAM1 - NTAM1 .NE. 0.D+00 ) THEN
46 * | +----------------------------------------------------------------*
47 * | | First sample from X**(gam-1) and then reject according to
51 BETARN = RNDM (1)**GAMI
52 REJE = ( 1.D+00 - BETARN )**ETAM1
53 IF ( RNDM (2) .GE. REJE ) GO TO 100
55 * | +----------------------------------------------------------------*
57 * +-------------------------------------------------------------------*
60 * | +----------------------------------------------------------------*
61 * | | First sample from X**(gam-1) and then reject according to
65 BETARN = RNDM (1)**GAMI
66 REJE = ( 1.D+00 - BETARN )**NTAM1
67 IF ( RNDM (2) .GE. REJE ) GO TO 200
69 * | +----------------------------------------------------------------*
72 * +-------------------------------------------------------------------*
74 *=== End of function betarn ===========================================*