]>
Commit | Line | Data |
---|---|---|
e74335a4 | 1 | * $Id$ |
2 | C | |
3 | C | |
4 | C | |
5 | C | |
6 | C This generate random number between XMIN and XMAX | |
7 | FUNCTION HIRND2(I,XMIN,XMAX) | |
8 | #include "hijhb.inc" | |
9 | SAVE | |
10 | IF(XMIN.LT.XX(I,1)) XMIN=XX(I,1) | |
11 | IF(XMAX.GT.XX(I,201)) XMAX=XX(I,201) | |
12 | JMIN=1+200*(XMIN-XX(I,1))/(XX(I,201)-XX(I,1)) | |
13 | JMAX=1+200*(XMAX-XX(I,1))/(XX(I,201)-XX(I,1)) | |
14 | RX=RR(I,JMIN)+(RR(I,JMAX)-RR(I,JMIN))*RLU_HIJING(0) | |
15 | JL=0 | |
16 | JU=202 | |
17 | 10 IF(JU-JL.GT.1) THEN | |
18 | JM=(JU+JL)/2 | |
19 | IF((RR(I,201).GT.RR(I,1)).EQV.(RX.GT.RR(I,JM))) THEN | |
20 | JL=JM | |
21 | ELSE | |
22 | JU=JM | |
23 | ENDIF | |
24 | GO TO 10 | |
25 | ENDIF | |
26 | J=JL | |
27 | IF(J.LT.1) J=1 | |
28 | IF(J.GE.201) J=200 | |
29 | HIRND2=(XX(I,J)+XX(I,J+1))/2.0 | |
30 | RETURN | |
31 | END |