1*-----------------------------------------------------------------------
2*     USPACK ROUND UMIN AND UMAX (LOG)               S. Sakai  90/03/04
3*-----------------------------------------------------------------------
4*     Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved.
5*-----------------------------------------------------------------------
6      SUBROUTINE USURDL(UMIN, UMAX, VMIN, VMAX)
7
8      LOGICAL LEPSL
9
10      REAL      SC(4)
11      DATA      SC / 1., 2., 5., 10./
12
13*------------------------- ARGUMENT CHECK ------------------------------
14
15      IF(UMIN.LE.0. .OR. UMAX.LE.0.)
16     &   CALL MSGDMP('E', 'USURDL', 'NEGATIVE UMIN OR UMAX.')
17
18      IF(UMIN.GT.UMAX)
19     &   CALL MSGDMP('E', 'USURDL', 'UMIN > UMAX.')
20
21*-----------------------------------------------------------------------
22
23      CALL GLLGET('LEPSL', LEPSL)
24      CALL GLLSET('LEPSL', .TRUE.)
25
26      RLMAX = LOG10(UMAX)
27      RLMIN = LOG10(UMIN)
28      NLOG  = IRGE(RLMAX) - IRLE(RLMIN)
29
30      IF(NLOG.GE.4) THEN
31        UMAX = 1.D1**IRGE(RLMAX)
32        UMIN = 1.D1**IRLE(RLMIN)
33      ELSE
34        CALL GNSAVE
35        CALL GNSBLK(SC, 4)
36        CALL GNGE(UMAX, BUMAX, IPMAX)
37        CALL GNLE(UMIN, BUMIN, IPMIN)
38        UMAX = BUMAX*1.D1**IPMAX
39        UMIN = BUMIN*1.D1**IPMIN
40        CALL GNRSET
41      ENDIF
42
43      CALL GLLSET('LEPSL', LEPSL)
44
45      RETURN
46      END
47