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