1 SUBROUTINE DQAG(F,A,B,EPSABS,EPSREL,KEY,RESULT,ABSERR,NEVAL,IER, 2 1 LIMIT,LENW,LAST,IWORK,WORK) 3C 4C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 5C DATAPLOT USAGE. 6C 7C***BEGIN PROLOGUE DQAG 8C***DATE WRITTEN 800101 (YYMMDD) 9C***REVISION DATE 830518 (YYMMDD) 10C***CATEGORY NO. H2A1A1 11C***KEYWORDS AUTOMATIC INTEGRATOR,GAUSS-KRONROD,GENERAL-PURPOSE, 12C GLOBALLY ADAPTIVE,INTEGRAND EXAMINATOR 13C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 14C K. U. LEUVEN 15C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 16C K. U. LEUVEN 17C***PURPOSE The routine calculates an approximation result to a given 18C definite integral I = integral of F over (A,B), 19C hopefully satisfying following claim for accuracy 20C ABS(I-RESULT)LE.MAX(EPSABS,EPSREL*ABS(I)). 21C***DESCRIPTION 22C 23C Computation of a definite integral 24C Standard fortran subroutine 25C Double precision version 26C 27C F - Double precision 28C Function subprogam defining the integrand 29C Function F(X). The actual name for F needs to be 30C Declared E X T E R N A L in the driver program. 31C 32C A - Double precision 33C Lower limit of integration 34C 35C B - Double precision 36C Upper limit of integration 37C 38C EPSABS - Double precision 39C Absolute accoracy requested 40C EPSREL - Double precision 41C Relative accuracy requested 42C If EPSABS.LE.0 43C And EPSREL.LT.MAX(50*REL.MACH.ACC.,0.5D-28), 44C The routine will end with IER = 6. 45C 46C KEY - Integer 47C Key for choice of local integration rule 48C A GAUSS-KRONROD PAIR is used with 49C 7 - 15 POINTS If KEY.LT.2, 50C 10 - 21 POINTS If KEY = 2, 51C 15 - 31 POINTS If KEY = 3, 52C 20 - 41 POINTS If KEY = 4, 53C 25 - 51 POINTS If KEY = 5, 54C 30 - 61 POINTS If KEY.GT.5. 55C 56C ON RETURN 57C RESULT - Double precision 58C Approximation to the integral 59C 60C ABSERR - Double precision 61C Estimate of the modulus of the absolute error, 62C Which should EQUAL or EXCEED ABS(I-RESULT) 63C 64C NEVAL - Integer 65C Number of integrand evaluations 66C 67C IER - Integer 68C IER = 0 Normal and reliable termination of the 69C routine. It is assumed that the requested 70C accuracy has been achieved. 71C IER.GT.0 Abnormal termination of the routine 72C The estimates for RESULT and ERROR are 73C Less reliable. It is assumed that the 74C requested accuracy has not been achieved. 75C ERROR MESSAGES 76C IER = 1 Maximum number of subdivisions allowed 77C has been achieved. One can allow more 78C subdivisions by increasing the value of 79C LIMIT (and taking the according dimension 80C adjustments into account). HOWEVER, If 81C this yield no improvement it is advised 82C to analyze the integrand in order to 83C determine the integration difficulaties. 84C If the position of a local difficulty can 85C be determined (I.E.SINGULARITY, 86C DISCONTINUITY WITHIN THE INTERVAL) One 87C will probably gain from splitting up the 88C interval at this point and calling the 89C INTEGRATOR on the SUBRANGES. If possible, 90C AN APPROPRIATE SPECIAL-PURPOSE INTEGRATOR 91C should be used which is designed for 92C handling the type of difficulty involved. 93C = 2 The occurrence of roundoff error is 94C detected, which prevents the requested 95C tolerance from being achieved. 96C = 3 Extremely bad integrand behaviour occurs 97C at some points of the integration 98C interval. 99C = 6 The input is invalid, because 100C (EPSABS.LE.0 AND 101C EPSREL.LT.MAX(50*REL.MACH.ACC.,0.5D-28)) 102C OR LIMIT.LT.1 OR LENW.LT.LIMIT*4. 103C RESULT, ABSERR, NEVAL, LAST are set 104C to zero. 105C EXCEPT when LENW is invalid, IWORK(1), 106C WORK(LIMIT*2+1) and WORK(LIMIT*3+1) are 107C set to zero, WORK(1) is set to A and 108C WORK(LIMIT+1) to B. 109C 110C DIMENSIONING PARAMETERS 111C LIMIT - Integer 112C Dimensioning parameter for IWORK 113C Limit determines the maximum number of subintervals 114C in the partition of the given integration interval 115C (A,B), LIMIT.GE.1. 116C If LIMIT.LT.1, the routine will end with IER = 6. 117C 118C LENW - Integer 119C Dimensioning parameter for work 120C LENW must be at least LIMIT*4. 121C IF LENW.LT.LIMIT*4, the routine will end with 122C IER = 6. 123C 124C LAST - Integer 125C On return, LAST equals the number of subintervals 126C produced in the subdiviosion process, which 127C determines the number of significant elements 128C actually in the WORK ARRAYS. 129C 130C WORK ARRAYS 131C IWORK - Integer 132C Vector of dimension at least limit, the first K 133C elements of which contain pointers to the error 134C estimates over the subintervals, such that 135C WORK(LIMIT*3+IWORK(1)),... , WORK(LIMIT*3+IWORK(K)) 136C form a decreasing sequence with K = LAST If 137C LAST.LE.(LIMIT/2+2), and K = LIMIT+1-LAST otherwise 138C 139C WORK - Double precision 140C Vector of dimension at least LENW 141C on return 142C WORK(1), ..., WORK(LAST) contain the left end 143C points of the subintervals in the partition of 144C (A,B), 145C WORK(LIMIT+1), ..., WORK(LIMIT+LAST) contain the 146C right end points, 147C WORK(LIMIT*2+1), ..., WORK(LIMIT*2+LAST) contain 148C the integral approximations over the subintervals, 149C WORK(LIMIT*3+1), ..., WORK(LIMIT*3+LAST) contain 150C the error estimates. 151C***REFERENCES (NONE) 152C***ROUTINES CALLED DQAGE,XERROR 153C***END PROLOGUE DQAG 154C 155 INCLUDE 'DPCOMC.INC' 156 INCLUDE 'DPCOP2.INC' 157C 158 DOUBLE PRECISION A,ABSERR,B,EPSABS,EPSREL,F,RESULT,WORK 159 INTEGER IER,IWORK,KEY,LAST,LENW,LIMIT,LVL,L1,L2,L3,NEVAL 160C 161 DIMENSION IWORK(LIMIT),WORK(LENW) 162C 163 EXTERNAL F 164C 165C CHECK VALIDITY OF LENW. 166C 167C***FIRST EXECUTABLE STATEMENT DQAG 168 IER = 6 169 NEVAL = 0 170 LAST = 0 171 RESULT = 0.0D+00 172 ABSERR = 0.0D+00 173 IF(LIMIT.LT.1.OR.LENW.LT.LIMIT*4) GO TO 10 174C 175C PREPARE CALL FOR DQAGE. 176C 177 L1 = LIMIT+1 178 L2 = LIMIT+L1 179 L3 = LIMIT+L2 180C 181 CALL DQAGE(F,A,B,EPSABS,EPSREL,KEY,LIMIT,RESULT,ABSERR,NEVAL, 182 1 IER,WORK(1),WORK(L1),WORK(L2),WORK(L3),IWORK,LAST) 183C 184C CALL ERROR HANDLER IF NECESSARY. 185C 186 LVL = 0 18710 IF(IER.EQ.6) LVL = 1 188 IF(IER.NE.0) THEN 189CCCCC CALL XERROR( 'ABNORMAL RETURN FROM DQAG ',26,IER,LVL) 190 WRITE(ICOUT,999) 191 999 FORMAT(1X) 192 CALL DPWRST('XXX','BUG ') 193 WRITE(ICOUT,901) 194 901 FORMAT('***** ERROR--ABNORMAL RETURN FROM DQAG INTEGRATION ', 195 1 'ROUTINE.') 196 CALL DPWRST('XXX','BUG ') 197 ENDIF 198 RETURN 199 END 200 SUBROUTINE DQAGE(F,A,B,EPSABS,EPSREL,KEY,LIMIT,RESULT,ABSERR, 201 1 NEVAL,IER,ALIST,BLIST,RLIST,ELIST,IORD,LAST) 202C 203C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 204C DATAPLOT USAGE. 205C 206C***BEGIN PROLOGUE DQAGE 207C***DATE WRITTEN 800101 (YYMMDD) 208C***REVISION DATE 830518 (YYMMDD) 209C***REVISION HISTORY (YYMMDD) 210C 000601 Changed DMAX1/DABS to generic MAX/ABS 211C***CATEGORY NO. H2A1A1 212C***KEYWORDS AUTOMATIC INTEGRATOR,GAUSS-KRONROD,GENERAL-PURPOSE, 213C GLOBALLY ADAPTIVE,INTEGRAND EXAMINATOR 214C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 215C K. U. LEUVEN 216C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 217C K. U. LEUVEN 218C***PURPOSE The routine calculates an approximation result to a given 219C definite integral I = Integral of F over (A,B), 220C hopefully satisfying following claim for accuracy 221C ABS(I-RESLT).LE.MAX(EPSABS,EPSREL*ABS(I)). 222C***DESCRIPTION 223C 224C Computation of a definite integral 225C Standard fortran subroutine 226C Double precision version 227C 228C PARAMETERS 229C ON ENTRY 230C F - Double precision 231C Function subprogram defining the integrand 232C function F(X). The actual name for F needs to be 233C declared E X T E R N A L in the driver program. 234C 235C A - Double precision 236C Lower limit of integration 237C 238C B - Double precision 239C Upper limit of integration 240C 241C EPSABS - Double precision 242C Absolute accuracy requested 243C EPSREL - Double precision 244C Relative accuracy requested 245C If EPSABS.LE.0 246C and EPSREL.LT.MAX(50*REL.MACH.ACC.,0.5D-28), 247C the routine will end with IER = 6. 248C 249C KEY - Integer 250C Key for choice of local integration rule 251C A Gauss-Kronrod pair is used with 252C 7 - 15 points if KEY.LT.2, 253C 10 - 21 points if KEY = 2, 254C 15 - 31 points if KEY = 3, 255C 20 - 41 points if KEY = 4, 256C 25 - 51 points if KEY = 5, 257C 30 - 61 points if KEY.GT.5. 258C 259C LIMIT - Integer 260C Gives an upperbound on the number of subintervals 261C in the partition of (A,B), LIMIT.GE.1. 262C 263C ON RETURN 264C RESULT - Double precision 265C Approximation to the integral 266C 267C ABSERR - Double precision 268C Estimate of the modulus of the absolute error, 269C which should equal or exceed ABS(I-RESULT) 270C 271C NEVAL - Integer 272C Number of integrand evaluations 273C 274C IER - Integer 275C IER = 0 Normal and reliable termination of the 276C routine. It is assumed that the requested 277C accuracy has been achieved. 278C IER.GT.0 Abnormal termination of the routine 279C The estimates for result and error are 280C less reliable. It is assumed that the 281C requested accuracy has not been achieved. 282C ERROR MESSAGES 283C IER = 1 Maximum number of subdivisions allowed 284C has been achieved. One can allow more 285C subdivisions by increasing the value 286C of LIMIT. 287C However, if this yields no improvement it 288C is rather advised to analyze the integrand 289C in order to determine the integration 290C difficulties. If the position of a local 291C difficulty can be determined(e.g. 292C SINGULARITY, DISCONTINUITY within the 293C interval) one will probably gain from 294C splitting up the interval at this point 295C and calling the integrator on the 296C subranges. If possible, an appropriate 297C special-purpose integrator should be used 298C which is designed for handling the type of 299C difficulty involved. 300C = 2 The occurrence of roundoff error is 301C detected, which prevents the requested 302C tolerance from being achieved. 303C = 3 Extremely bad integrand behaviour occurs 304C at some points of the integration 305C interval. 306C = 6 The input is invalid, because 307C (EPSABS.LE.0 and 308C EPSREL.LT.MAX(50*REL.MACH.ACC.,0.5D-28), 309C RESULT, ABSERR, NEVAL, LAST, RLIST(1) , 310C ELIST(1) and IORD(1) are set to zero. 311C ALIST(1) and BLIST(1) are set to A and B 312C respectively. 313C 314C ALIST - Double precision 315C Vector of dimension at least LIMIT, the first 316C LAST elements of which are the left 317C end points of the subintervals in the partition 318C of the given integration range (A,B) 319C 320C BLIST - Double precision 321C Vector of dimension at least LIMIT, the first 322C LAST elements of which are the right 323C end points of the subintervals in the partition 324C of the given integration range (A,B) 325C 326C RLIST - Double precision 327C Vector of dimension at least LIMIT, the first 328C LAST elements of which are the 329C integral approximations on the subintervals 330C 331C ELIST - Double precision 332C Vector of dimension at least LIMIT, the first 333C LAST elements of which are the moduli of the 334C absolute error estimates on the subintervals 335C 336C IORD - Integer 337C Vector of dimension at least LIMIT, the first K 338C elements of which are pointers to the 339C error estimates over the subintervals, 340C such that ELIST(IORD(1)), ..., 341C ELIST(IORD(K)) form a decreasing sequence, 342C with K = LAST if LAST.LE.(LIMIT/2+2), and 343C K = LIMIT+1-LAST otherwise 344C 345C LAST - Integer 346C Number of subintervals actually produced in the 347C subdivision process 348C***REFERENCES (NONE) 349C***ROUTINES CALLED D1MACH,DQK15,DQK21,DQK31,DQK41,DQK51,DQK61,DQPSRT 350C***END PROLOGUE DQAGE 351C 352 INCLUDE 'DPCOMC.INC' 353 INCLUDE 'DPCOP2.INC' 354C 355 DOUBLE PRECISION A,ABSERR,ALIST,AREA,AREA1,AREA12,AREA2,A1,A2,B, 356 1 BLIST,B1,B2,DEFABS,DEFAB1,DEFAB2,ELIST,EPMACH, 357 2 EPSABS,EPSREL,ERRBND,ERRMAX,ERROR1,ERROR2,ERRO12,ERRSUM,F, 358 3 RESABS,RESULT,RLIST,UFLOW 359 INTEGER IER,IORD,IROFF1,IROFF2,K,KEY,KEYF,LAST,LIMIT,MAXERR,NEVAL, 360 1 NRMAX 361C 362 DIMENSION ALIST(LIMIT),BLIST(LIMIT),ELIST(LIMIT),IORD(LIMIT), 363 1 RLIST(LIMIT) 364C 365 EXTERNAL F 366C 367C LIST OF MAJOR VARIABLES 368C ----------------------- 369C 370C ALIST - LIST OF LEFT END POINTS OF ALL SUBINTERVALS 371C CONSIDERED UP TO NOW 372C BLIST - LIST OF RIGHT END POINTS OF ALL SUBINTERVALS 373C CONSIDERED UP TO NOW 374C RLIST(I) - APPROXIMATION TO THE INTEGRAL OVER 375C (ALIST(I),BLIST(I)) 376C ELIST(I) - ERROR ESTIMATE APPLYING TO RLIST(I) 377C MAXERR - POINTER TO THE INTERVAL WITH LARGEST 378C ERROR ESTIMATE 379C ERRMAX - ELIST(MAXERR) 380C AREA - SUM OF THE INTEGRALS OVER THE SUBINTERVALS 381C ERRSUM - SUM OF THE ERRORS OVER THE SUBINTERVALS 382C ERRBND - REQUESTED ACCURACY MAX(EPSABS,EPSREL* 383C ABS(RESULT)) 384C *****1 - VARIABLE FOR THE LEFT SUBINTERVAL 385C *****2 - VARIABLE FOR THE RIGHT SUBINTERVAL 386C LAST - INDEX FOR SUBDIVISION 387C 388C 389C MACHINE DEPENDENT CONSTANTS 390C --------------------------- 391C 392C EPMACH IS THE LARGEST RELATIVE SPACING. 393C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 394C 395C***FIRST EXECUTABLE STATEMENT DQAGE 396 EPMACH = D1MACH(4) 397 UFLOW = D1MACH(1) 398C 399C TEST ON VALIDITY OF PARAMETERS 400C ------------------------------ 401C 402 IER = 0 403 NEVAL = 0 404 LAST = 0 405 RESULT = 0.0D+00 406 ABSERR = 0.0D+00 407 ALIST(1) = A 408 BLIST(1) = B 409 RLIST(1) = 0.0D+00 410 ELIST(1) = 0.0D+00 411 IORD(1) = 0 412 IF(EPSABS.LE.0.0D+00.AND. 413 1 EPSREL.LT.MAX(0.5D+02*EPMACH,0.5D-28)) IER = 6 414 IF(IER.EQ.6) GO TO 999 415C 416C FIRST APPROXIMATION TO THE INTEGRAL 417C ----------------------------------- 418C 419 KEYF = KEY 420 IF(KEY.LE.0) KEYF = 1 421 IF(KEY.GE.7) KEYF = 6 422 NEVAL = 0 423 IF(KEYF.EQ.1) CALL DQK15(F,A,B,RESULT,ABSERR,DEFABS,RESABS) 424 IF(KEYF.EQ.2) CALL DQK21(F,A,B,RESULT,ABSERR,DEFABS,RESABS) 425 IF(KEYF.EQ.3) CALL DQK31(F,A,B,RESULT,ABSERR,DEFABS,RESABS) 426 IF(KEYF.EQ.4) CALL DQK41(F,A,B,RESULT,ABSERR,DEFABS,RESABS) 427 IF(KEYF.EQ.5) CALL DQK51(F,A,B,RESULT,ABSERR,DEFABS,RESABS) 428 IF(KEYF.EQ.6) CALL DQK61(F,A,B,RESULT,ABSERR,DEFABS,RESABS) 429 LAST = 1 430 RLIST(1) = RESULT 431 ELIST(1) = ABSERR 432 IORD(1) = 1 433C 434C TEST ON ACCURACY. 435C 436 ERRBND = MAX(EPSABS,EPSREL*ABS(RESULT)) 437 IF(ABSERR.LE.0.5D+02*EPMACH*DEFABS.AND.ABSERR.GT.ERRBND) IER = 2 438 IF(LIMIT.EQ.1) IER = 1 439 IF(IER.NE.0.OR.(ABSERR.LE.ERRBND.AND.ABSERR.NE.RESABS) 440 1 .OR.ABSERR.EQ.0.0D+00) GO TO 60 441C 442C INITIALIZATION 443C -------------- 444C 445C 446 ERRMAX = ABSERR 447 MAXERR = 1 448 AREA = RESULT 449 ERRSUM = ABSERR 450 NRMAX = 1 451 IROFF1 = 0 452 IROFF2 = 0 453C 454C MAIN DO-LOOP 455C ------------ 456C 457 DO 30 LAST = 2,LIMIT 458C 459C BISECT THE SUBINTERVAL WITH THE LARGEST ERROR ESTIMATE. 460C 461 A1 = ALIST(MAXERR) 462 B1 = 0.5D+00*(ALIST(MAXERR)+BLIST(MAXERR)) 463 A2 = B1 464 B2 = BLIST(MAXERR) 465 IF(KEYF.EQ.1) CALL DQK15(F,A1,B1,AREA1,ERROR1,RESABS,DEFAB1) 466 IF(KEYF.EQ.2) CALL DQK21(F,A1,B1,AREA1,ERROR1,RESABS,DEFAB1) 467 IF(KEYF.EQ.3) CALL DQK31(F,A1,B1,AREA1,ERROR1,RESABS,DEFAB1) 468 IF(KEYF.EQ.4) CALL DQK41(F,A1,B1,AREA1,ERROR1,RESABS,DEFAB1) 469 IF(KEYF.EQ.5) CALL DQK51(F,A1,B1,AREA1,ERROR1,RESABS,DEFAB1) 470 IF(KEYF.EQ.6) CALL DQK61(F,A1,B1,AREA1,ERROR1,RESABS,DEFAB1) 471 IF(KEYF.EQ.1) CALL DQK15(F,A2,B2,AREA2,ERROR2,RESABS,DEFAB2) 472 IF(KEYF.EQ.2) CALL DQK21(F,A2,B2,AREA2,ERROR2,RESABS,DEFAB2) 473 IF(KEYF.EQ.3) CALL DQK31(F,A2,B2,AREA2,ERROR2,RESABS,DEFAB2) 474 IF(KEYF.EQ.4) CALL DQK41(F,A2,B2,AREA2,ERROR2,RESABS,DEFAB2) 475 IF(KEYF.EQ.5) CALL DQK51(F,A2,B2,AREA2,ERROR2,RESABS,DEFAB2) 476 IF(KEYF.EQ.6) CALL DQK61(F,A2,B2,AREA2,ERROR2,RESABS,DEFAB2) 477C 478C IMPROVE PREVIOUS APPROXIMATIONS TO INTEGRAL 479C AND ERROR AND TEST FOR ACCURACY. 480C 481 NEVAL = NEVAL+1 482 AREA12 = AREA1+AREA2 483 ERRO12 = ERROR1+ERROR2 484 ERRSUM = ERRSUM+ERRO12-ERRMAX 485 AREA = AREA+AREA12-RLIST(MAXERR) 486 IF(DEFAB1.EQ.ERROR1.OR.DEFAB2.EQ.ERROR2) GO TO 5 487 IF(ABS(RLIST(MAXERR)-AREA12).LE.0.1D-04*ABS(AREA12) 488 1 .AND.ERRO12.GE.0.99D+00*ERRMAX) IROFF1 = IROFF1+1 489 IF(LAST.GT.10.AND.ERRO12.GT.ERRMAX) IROFF2 = IROFF2+1 490 5 RLIST(MAXERR) = AREA1 491 RLIST(LAST) = AREA2 492 ERRBND = MAX(EPSABS,EPSREL*ABS(AREA)) 493 IF(ERRSUM.LE.ERRBND) GO TO 8 494C 495C TEST FOR ROUNDOFF ERROR AND EVENTUALLY SET ERROR FLAG. 496C 497 IF(IROFF1.GE.6.OR.IROFF2.GE.20) IER = 2 498C 499C SET ERROR FLAG IN THE CASE THAT THE NUMBER OF SUBINTERVALS 500C EQUALS LIMIT. 501C 502 IF(LAST.EQ.LIMIT) IER = 1 503C 504C SET ERROR FLAG IN THE CASE OF BAD INTEGRAND BEHAVIOUR 505C AT A POINT OF THE INTEGRATION RANGE. 506C 507 IF(MAX(ABS(A1),ABS(B2)).LE.(0.1D+01+0.1D+03* 508 1 EPMACH)*(ABS(A2)+0.1D+04*UFLOW)) IER = 3 509C 510C APPEND THE NEWLY-CREATED INTERVALS TO THE LIST. 511C 512 8 IF(ERROR2.GT.ERROR1) GO TO 10 513 ALIST(LAST) = A2 514 BLIST(MAXERR) = B1 515 BLIST(LAST) = B2 516 ELIST(MAXERR) = ERROR1 517 ELIST(LAST) = ERROR2 518 GO TO 20 519 10 ALIST(MAXERR) = A2 520 ALIST(LAST) = A1 521 BLIST(LAST) = B1 522 RLIST(MAXERR) = AREA2 523 RLIST(LAST) = AREA1 524 ELIST(MAXERR) = ERROR2 525 ELIST(LAST) = ERROR1 526C 527C CALL SUBROUTINE DQPSRT TO MAINTAIN THE DESCENDING ORDERING 528C IN THE LIST OF ERROR ESTIMATES AND SELECT THE SUBINTERVAL 529C WITH THE LARGEST ERROR ESTIMATE (TO BE BISECTED NEXT). 530C 531 20 CALL DQPSRT(LIMIT,LAST,MAXERR,ERRMAX,ELIST,IORD,NRMAX) 532C ***JUMP OUT OF DO-LOOP 533 IF(IER.NE.0.OR.ERRSUM.LE.ERRBND) GO TO 40 534 30 CONTINUE 535C 536C COMPUTE FINAL RESULT. 537C --------------------- 538C 539 40 RESULT = 0.0D+00 540 DO 50 K=1,LAST 541 RESULT = RESULT+RLIST(K) 542 50 CONTINUE 543 ABSERR = ERRSUM 544 60 IF(KEYF.NE.1) NEVAL = (10*KEYF+1)*(2*NEVAL+1) 545 IF(KEYF.EQ.1) NEVAL = 30*NEVAL+15 546 999 RETURN 547 END 548 SUBROUTINE DQAGI(F,BOUND,INF,EPSABS,EPSREL,RESULT,ABSERR,NEVAL, 549 1 IER,LIMIT,LENW,LAST,IWORK,WORK) 550C 551C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 552C DATAPLOT USAGE. 553C 554C***BEGIN PROLOGUE DQAGI 555C***DATE WRITTEN 800101 (YYMMDD) 556C***REVISION DATE 830518 (YYMMDD) 557C***CATEGORY NO. H2A3A1,H2A4A1 558C***KEYWORDS AUTOMATIC INTEGRATOR,EXTRAPOLATION,GENERAL-PURPOSE, 559C GLOBALLY ADAPTIVE,INFINITE INTERVALS,TRANSFORMATION 560C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 561C K. U. LEUVEN 562C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 563C K. U. LEUVEN 564C***PURPOSE The routine calculates an approximation result to a given 565C INTEGRAL I = Integral of F over (BOUND,+INFINITY) 566C OR I = Integral of F over (-INFINITY,BOUND) 567C OR I = Integral of F over (-INFINITY,+INFINITY) 568C Hopefully satisfying following claim for accuracy 569C ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)). 570C***DESCRIPTION 571C 572C Integration over infinite intervals 573C Standard fortran subroutine 574C 575C PARAMETERS 576C ON ENTRY 577C F - Double precision 578C Function subprogram defining the integrand 579C function F(X). The actual name for F needs to be 580C declared E X T E R N A L in the driver program. 581C 582C BOUND - Double precision 583C Finite bound of integration range 584C (has no meaning if interval is doubly-infinite) 585C 586C INF - Integer 587C indicating the kind of integration range involved 588C INF = 1 corresponds to (BOUND,+INFINITY), 589C INF = -1 to (-INFINITY,BOUND), 590C INF = 2 to (-INFINITY,+INFINITY). 591C 592C EPSABS - Double precision 593C Absolute accuracy requested 594C EPSREL - Double precision 595C Relative accuracy requested 596C If EPSABS.LE.0 597C and EPSREL.LT.MAX(50*REL.MACH.ACC.,0.5D-28), 598C the routine will end with IER = 6. 599C 600C 601C ON RETURN 602C RESULT - Double precision 603C Approximation to the integral 604C 605C ABSERR - Double precision 606C Estimate of the modulus of the absolute error, 607C which should equal or exceed ABS(I-RESULT) 608C 609C NEVAL - Integer 610C Number of integrand evaluations 611C 612C IER - Integer 613C IER = 0 normal and reliable termination of the 614C routine. It is assumed that the requested 615C accuracy has been achieved. 616C - IER.GT.0 abnormal termination of the routine. The 617C estimates for result and error are less 618C reliable. It is assumed that the requested 619C accuracy has not been achieved. 620C ERROR MESSAGES 621C IER = 1 Maximum number of subdivisions allowed 622C has been achieved. One can allow more 623C subdivisions by increasing the value of 624C LIMIT (and taking the according dimension 625C adjustments into account). However, if 626C this yields no improvement it is advised 627C to analyze the integrand in order to 628C determine the integration difficulties. If 629C the position of a local difficulty can be 630C determined (e.g. SINGULARITY, 631C DISCONTINUITY within the interval) one 632C will probably gain from splitting up the 633C interval at this point and calling the 634C integrator on the subranges. If possible, 635C an appropriate special-purpose integrator 636C should be used, which is designed for 637C handling the type of difficulty involved. 638C = 2 The occurrence of roundoff error is 639C detected, which prevents the requested 640C tolerance from being achieved. 641C The error may be under-estimated. 642C = 3 Extremely bad integrand behaviour occurs 643C at some points of the integration 644C interval. 645C = 4 The algorithm does not converge. 646C Roundoff error is detected in the 647C extrapolation table. 648C It is assumed that the requested tolerance 649C cannot be achieved, and that the returned 650C RESULT is the best which can be obtained. 651C = 5 The integral is probably divergent, or 652C slowly convergent. It must be noted that 653C divergence can occur with any other value 654C of IER. 655C = 6 The input is invalid, because 656C (EPSABS.LE.0 and 657C EPSREL.LT.MAX(50*REL.MACH.ACC.,0.5D-28)) 658C or LIMIT.LT.1 or LENIW.LT.LIMIT*4. 659C RESULT, ABSERR, NEVAL, LAST are set to 660C zero. Exept when LIMIT or LENIW is 661C invalid, IWORK(1), WORK(LIMIT*2+1) and 662C WORK(LIMIT*3+1) are set to ZERO, WORK(1) 663C is set to A and WORK(LIMIT+1) to B. 664C 665C DIMENSIONING PARAMETERS 666C LIMIT - Integer 667C Dimensioning parameter for IWORK 668C LIMIT determines the maximum number of subintervals 669C in the partition of the given integration interval 670C (A,B), LIMIT.GE.1. 671C If LIMIT.LT.1, the routine will end with IER = 6. 672C 673C LENW - Integer 674C Dimensioning parameter for WORK 675C LENW must be at least LIMIT*4. 676C If LENW.LT.LIMIT*4, the routine will end 677C with IER = 6. 678C 679C LAST - Integer 680C On return, LAST equals the number of subintervals 681C produced in the subdivision process, which 682C determines the number of significant elements 683C actually in the WORK ARRAYS. 684C 685C WORK ARRAYS 686C IWORK - Integer 687C Vector of dimension at least LIMIT, the first 688C K elements of which contain pointers 689C to the error estimates over the subintervals, 690C such that WORK(LIMIT*3+IWORK(1)),... , 691C WORK(LIMIT*3+IWORK(K)) form a decreasing 692C sequence, with K = LAST if LAST.LE.(LIMIT/2+2), and 693C K = LIMIT+1-LAST otherwise 694C 695C WORK - Double precision 696C Vector of dimension at least LENW 697C on return 698C WORK(1), ..., WORK(LAST) contain the left 699C end points of the subintervals in the 700C partition of (A,B), 701C WORK(LIMIT+1), ..., WORK(LIMIT+LAST) Contain 702C the right end points, 703C WORK(LIMIT*2+1), ...,WORK(LIMIT*2+LAST) contain the 704C integral approximations over the subintervals, 705C WORK(LIMIT*3+1), ..., WORK(LIMIT*3) 706C contain the error estimates. 707C***REFERENCES (NONE) 708C***ROUTINES CALLED DQAGIE,XERROR 709C***END PROLOGUE DQAGI 710C 711 DOUBLE PRECISION ABSERR,BOUND,EPSABS,EPSREL,F,RESULT,WORK 712 INTEGER IER,INF,IWORK,LAST,LENW,LIMIT,LVL,L1,L2,L3,NEVAL 713C 714 DIMENSION IWORK(LIMIT),WORK(LENW) 715C 716 INCLUDE 'DPCOMC.INC' 717 INCLUDE 'DPCOP2.INC' 718C 719 EXTERNAL F 720C 721C CHECK VALIDITY OF LIMIT AND LENW. 722C 723C***FIRST EXECUTABLE STATEMENT DQAGI 724 IER = 6 725 NEVAL = 0 726 LAST = 0 727 RESULT = 0.0D+00 728 ABSERR = 0.0D+00 729 IF(LIMIT.LT.1.OR.LENW.LT.LIMIT*4) GO TO 10 730C 731C PREPARE CALL FOR DQAGIE. 732C 733 L1 = LIMIT+1 734 L2 = LIMIT+L1 735 L3 = LIMIT+L2 736C 737 CALL DQAGIE(F,BOUND,INF,EPSABS,EPSREL,LIMIT,RESULT,ABSERR, 738 1 NEVAL,IER,WORK(1),WORK(L1),WORK(L2),WORK(L3),IWORK,LAST) 739C 740C CALL ERROR HANDLER IF NECESSARY. 741C 742 LVL = 0 74310 IF(IER.EQ.6) LVL = 1 744 IF(IER.NE.0) THEN 745CCCCC CALL XERROR( 'ABNORMAL RETURN FROM QAGI', 746CCCCC1 26,IER,LVL) 747 WRITE(ICOUT,999) 748 999 FORMAT(1X) 749 CALL DPWRST('XXX','BUG ') 750 WRITE(ICOUT,901) 751 901 FORMAT('***** ERROR--ABNORMAL RETURN FROM QAGI INTEGRATION ', 752 1 'ROUTINE.') 753 CALL DPWRST('XXX','BUG ') 754 ENDIF 755 RETURN 756 END 757 SUBROUTINE DQAGIE(F,BOUND,INF,EPSABS,EPSREL,LIMIT,RESULT,ABSERR, 758 1 NEVAL,IER,ALIST,BLIST,RLIST,ELIST,IORD,LAST) 759C 760C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 761C DATAPLOT USAGE. 762C 763C***BEGIN PROLOGUE DQAGIE 764C***DATE WRITTEN 800101 (YYMMDD) 765C***REVISION DATE 830518 (YYMMDD) 766C***REVISION DATE 980526 (YYMMDD) Fixed documentation of parameter INF 767C***REVISION HISTORY (YYMMDD) 768C 000601 Changed DMAX1/DABS to generic MAX/ABS 769C***CATEGORY NO. H2A3A1,H2A4A1 770C***KEYWORDS AUTOMATIC INTEGRATOR,EXTRAPOLATION,GENERAL-PURPOSE, 771C GLOBALLY ADAPTIVE,INFINITE INTERVALS,TRANSFORMATION 772C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 773C K. U. LEUVEN 774C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 775C K. U. LEUVEN 776C***PURPOSE The routine calculates an approximation result to a given 777C integral I = Integral of F over (BOUND,+INFINITY) 778C or I = Integral of F over (-INFINITY,BOUND) 779C or I = Integral of F over (-INFINITY,+INFINITY), 780C hopefully satisfying following claim for accuracy 781C ABS(I-RESULT).LE.MAX(EPSABS,EPSREL*ABS(I)) 782C***DESCRIPTION 783C 784C Integration over infinite intervals 785C Standard fortran subroutine 786C 787C F - Double precision 788C Function subprogram defining the integrand 789C function F(X). The actual name for F needs to be 790C declared E X T E R N A L in the driver program. 791C 792C BOUND - Double precision 793C Finite bound of integration range 794C (has no meaning if interval is doubly-infinite) 795C 796C INF - Integer 797C Indicating the kind of integration range involved 798C INF = 1 corresponds to (BOUND,+INFINITY), 799C INF = -1 to (-INFINITY,BOUND), 800C INF = 2 to (-INFINITY,+INFINITY). 801C 802C EPSABS - Double precision 803C Absolute accuracy requested 804C EPSREL - Double precision 805C Relative accuracy requested 806C If EPSABS.LE.0 807C and EPSREL.LT.MAX(50*REL.MACH.ACC.,0.5D-28), 808C the routine will end with IER = 6. 809C 810C LIMIT - Integer 811C Gives an upper bound on the number of subintervals 812C in the partition of (A,B), LIMIT.GE.1 813C 814C ON RETURN 815C RESULT - Double precision 816C Approximation to the integral 817C 818C ABSERR - Double precision 819C Estimate of the modulus of the absolute error, 820C which should equal or exceed ABS(I-RESULT) 821C 822C NEVAL - Integer 823C Number of integrand evaluations 824C 825C IER - Integer 826C IER = 0 Normal and reliable termination of the 827C routine. It is assumed that the requested 828C accuracy has been achieved. 829C - IER.GT.0 Abnormal termination of the routine. The 830C estimates for result and error are less 831C reliable. It is assumed that the requested 832C accuracy has not been achieved. 833C ERROR MESSAGES 834C IER = 1 Maximum number of subdivisions allowed 835C has been achieved. One can allow more 836C subdivisions by increasing the value of 837C LIMIT (and taking the according dimension 838C adjustments into account). However,if 839C this yields no improvement it is advised 840C to analyze the integrand in order to 841C determine the integration difficulties. 842C If the position of a local difficulty can 843C be determined (e.g. SINGULARITY, 844C DISCONTINUITY within the interval) one 845C will probably gain from splitting up the 846C interval at this point and calling the 847C integrator on the subranges. If possible, 848C an appropriate special-purpose integrator 849C should be used, which is designed for 850C handling the type of difficulty involved. 851C = 2 The occurrence of roundoff error is 852C detected, which prevents the requested 853C tolerance from being achieved. 854C The error may be under-estimated. 855C = 3 Extremely bad integrand behaviour occurs 856C at some points of the integration 857C interval. 858C = 4 The algorithm does not converge. 859C Roundoff error is detected in the 860C extrapolation table. 861C It is assumed that the requested tolerance 862C cannot be achieved, and that the returned 863C result is the best which can be obtained. 864C = 5 The integral is probably divergent, or 865C slowly convergent. It must be noted that 866C divergence can occur with any other value 867C of IER. 868C = 6 The input is invalid, because 869C (EPSABS.LE.0 and 870C EPSREL.LT.MAX(50*REL.MACH.ACC.,0.5D-28), 871C RESULT, ABSERR, NEVAL, LAST, RLIST(1), 872C ELIST(1) and IORD(1) are set to zero. 873C ALIST(1) and BLIST(1) are set to 0 874C and 1 respectively. 875C 876C ALIST - Double precision 877C Vector of dimension at least LIMIT, the first 878C LAST elements of which are the left 879C end points of the subintervals in the partition 880C of the transformed integration range (0,1). 881C 882C BLIST - Double precision 883C Vector of dimension at least LIMIT, the first 884C LAST elements of which are the right 885C end points of the subintervals in the partition 886C of the transformed integration range (0,1). 887C 888C RLIST - Double precision 889C Vector of dimension at least LIMIT, the first 890C LAST elements of which are the integral 891C approximations on the subintervals 892C 893C ELIST - Double precision 894C Vector of dimension at least LIMIT, the first 895C LAST elements of which are the moduli of the 896C absolute error estimates on the subintervals 897C 898C IORD - Integer 899C Vector of dimension LIMIT, the first K 900C elements of which are pointers to the 901C error estimates over the subintervals, 902C such that ELIST(IORD(1)), ..., ELIST(IORD(K)) 903C form a decreasing sequence, with K = LAST 904C If LAST.LE.(LIMIT/2+2), and K = LIMIT+1-LAST 905C otherwise 906C 907C LAST - Integer 908C Number of subintervals actually produced 909C in the subdivision process 910C***REFERENCES (NONE) 911C***ROUTINES CALLED D1MACH,DQELG,DQK15I,DQPSRT 912C***END PROLOGUE DQAGIE 913 DOUBLE PRECISION ABSEPS,ABSERR,ALIST,AREA,AREA1,AREA12,AREA2,A1, 914 1 A2,BLIST,BOUN,BOUND,B1,B2,CORREC,DEFABS,DEFAB1,DEFAB2, 915 2 DRES,ELIST,EPMACH,EPSABS,EPSREL,ERLARG,ERLAST, 916 3 ERRBND,ERRMAX,ERROR1,ERROR2,ERRO12,ERRSUM,ERTEST,F,OFLOW,RESABS, 917 4 RESEPS,RESULT,RES3LA,RLIST,RLIST2,SMALL,UFLOW 918 INTEGER ID,IER,IERRO,INF,IORD,IROFF1,IROFF2,IROFF3,JUPBND,K,KSGN, 919 1 KTMIN,LAST,LIMIT,MAXERR,NEVAL,NRES,NRMAX,NUMRL2 920 LOGICAL EXTRAP,NOEXT 921C 922 DIMENSION ALIST(LIMIT),BLIST(LIMIT),ELIST(LIMIT),IORD(LIMIT), 923 1 RES3LA(3),RLIST(LIMIT),RLIST2(52) 924C 925 INCLUDE 'DPCOMC.INC' 926 INCLUDE 'DPCOP2.INC' 927C 928 EXTERNAL F 929C 930C THE DIMENSION OF RLIST2 IS DETERMINED BY THE VALUE OF 931C LIMEXP IN SUBROUTINE DQELG. 932C 933C 934C LIST OF MAJOR VARIABLES 935C ----------------------- 936C 937C ALIST - LIST OF LEFT END POINTS OF ALL SUBINTERVALS 938C CONSIDERED UP TO NOW 939C BLIST - LIST OF RIGHT END POINTS OF ALL SUBINTERVALS 940C CONSIDERED UP TO NOW 941C RLIST(I) - APPROXIMATION TO THE INTEGRAL OVER 942C (ALIST(I),BLIST(I)) 943C RLIST2 - ARRAY OF DIMENSION AT LEAST (LIMEXP+2), 944C CONTAINING THE PART OF THE EPSILON TABLE 945C WICH IS STILL NEEDED FOR FURTHER COMPUTATIONS 946C ELIST(I) - ERROR ESTIMATE APPLYING TO RLIST(I) 947C MAXERR - POINTER TO THE INTERVAL WITH LARGEST ERROR 948C ESTIMATE 949C ERRMAX - ELIST(MAXERR) 950C ERLAST - ERROR ON THE INTERVAL CURRENTLY SUBDIVIDED 951C (BEFORE THAT SUBDIVISION HAS TAKEN PLACE) 952C AREA - SUM OF THE INTEGRALS OVER THE SUBINTERVALS 953C ERRSUM - SUM OF THE ERRORS OVER THE SUBINTERVALS 954C ERRBND - REQUESTED ACCURACY MAX(EPSABS,EPSREL* 955C ABS(RESULT)) 956C *****1 - VARIABLE FOR THE LEFT SUBINTERVAL 957C *****2 - VARIABLE FOR THE RIGHT SUBINTERVAL 958C LAST - INDEX FOR SUBDIVISION 959C NRES - NUMBER OF CALLS TO THE EXTRAPOLATION ROUTINE 960C NUMRL2 - NUMBER OF ELEMENTS CURRENTLY IN RLIST2. IF AN 961C APPROPRIATE APPROXIMATION TO THE COMPOUNDED 962C INTEGRAL HAS BEEN OBTAINED, IT IS PUT IN 963C RLIST2(NUMRL2) AFTER NUMRL2 HAS BEEN INCREASED 964C BY ONE. 965C SMALL - LENGTH OF THE SMALLEST INTERVAL CONSIDERED UP 966C TO NOW, MULTIPLIED BY 1.5 967C ERLARG - SUM OF THE ERRORS OVER THE INTERVALS LARGER 968C THAN THE SMALLEST INTERVAL CONSIDERED UP TO NOW 969C EXTRAP - LOGICAL VARIABLE DENOTING THAT THE ROUTINE 970C IS ATTEMPTING TO PERFORM EXTRAPOLATION. I.E. 971C BEFORE SUBDIVIDING THE SMALLEST INTERVAL WE 972C TRY TO DECREASE THE VALUE OF ERLARG. 973C NOEXT - LOGICAL VARIABLE DENOTING THAT EXTRAPOLATION 974C IS NO LONGER ALLOWED (TRUE-VALUE) 975C 976C MACHINE DEPENDENT CONSTANTS 977C --------------------------- 978C 979C EPMACH IS THE LARGEST RELATIVE SPACING. 980C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 981C OFLOW IS THE LARGEST POSITIVE MAGNITUDE. 982C 983C***FIRST EXECUTABLE STATEMENT DQAGIE 984 EPMACH = D1MACH(4) 985C 986C TEST ON VALIDITY OF PARAMETERS 987C ----------------------------- 988C 989 IER = 0 990 NEVAL = 0 991 LAST = 0 992 RESULT = 0.0D+00 993 ABSERR = 0.0D+00 994 ALIST(1) = 0.0D+00 995 BLIST(1) = 0.1D+01 996 RLIST(1) = 0.0D+00 997 ELIST(1) = 0.0D+00 998 SMALL = 0.0D0 999 CORREC = 0.0D0 1000 ERTEST = 0.0D0 1001 ERLARG = 0.0D0 1002 IORD(1) = 0 1003 IF(EPSABS.LE.0.0D+00.AND.EPSREL.LT.MAX(0.5D+02*EPMACH,0.5D-28)) 1004 1 IER = 6 1005 IF(IER.EQ.6) GO TO 999 1006C 1007C 1008C FIRST APPROXIMATION TO THE INTEGRAL 1009C ----------------------------------- 1010C 1011C DETERMINE THE INTERVAL TO BE MAPPED ONTO (0,1). 1012C IF INF = 2 THE INTEGRAL IS COMPUTED AS I = I1+I2, WHERE 1013C I1 = INTEGRAL OF F OVER (-INFINITY,0), 1014C I2 = INTEGRAL OF F OVER (0,+INFINITY). 1015C 1016 BOUN = BOUND 1017 IF(INF.EQ.2) BOUN = 0.0D+00 1018 CALL DQK15I(F,BOUN,INF,0.0D+00,0.1D+01,RESULT,ABSERR, 1019 1 DEFABS,RESABS) 1020C 1021C TEST ON ACCURACY 1022C 1023 LAST = 1 1024 RLIST(1) = RESULT 1025 ELIST(1) = ABSERR 1026 IORD(1) = 1 1027 DRES = ABS(RESULT) 1028 ERRBND = MAX(EPSABS,EPSREL*DRES) 1029 IF(ABSERR.LE.1.0D+02*EPMACH*DEFABS.AND.ABSERR.GT.ERRBND) IER = 2 1030 IF(LIMIT.EQ.1) IER = 1 1031 IF(IER.NE.0.OR.(ABSERR.LE.ERRBND.AND.ABSERR.NE.RESABS).OR. 1032 1 ABSERR.EQ.0.0D+00) GO TO 130 1033C 1034C INITIALIZATION 1035C -------------- 1036C 1037 UFLOW = D1MACH(1) 1038 OFLOW = D1MACH(2) 1039 RLIST2(1) = RESULT 1040 ERRMAX = ABSERR 1041 MAXERR = 1 1042 AREA = RESULT 1043 ERRSUM = ABSERR 1044 ABSERR = OFLOW 1045 NRMAX = 1 1046 NRES = 0 1047 KTMIN = 0 1048 NUMRL2 = 2 1049 EXTRAP = .FALSE. 1050 NOEXT = .FALSE. 1051 IERRO = 0 1052 IROFF1 = 0 1053 IROFF2 = 0 1054 IROFF3 = 0 1055 KSGN = -1 1056 IF(DRES.GE.(0.1D+01-0.5D+02*EPMACH)*DEFABS) KSGN = 1 1057C 1058C MAIN DO-LOOP 1059C ------------ 1060C 1061 DO 90 LAST = 2,LIMIT 1062C 1063C BISECT THE SUBINTERVAL WITH NRMAX-TH LARGEST ERROR ESTIMATE. 1064C 1065 A1 = ALIST(MAXERR) 1066 B1 = 0.5D+00*(ALIST(MAXERR)+BLIST(MAXERR)) 1067 A2 = B1 1068 B2 = BLIST(MAXERR) 1069 ERLAST = ERRMAX 1070 CALL DQK15I(F,BOUN,INF,A1,B1,AREA1,ERROR1,RESABS,DEFAB1) 1071 CALL DQK15I(F,BOUN,INF,A2,B2,AREA2,ERROR2,RESABS,DEFAB2) 1072C 1073C IMPROVE PREVIOUS APPROXIMATIONS TO INTEGRAL 1074C AND ERROR AND TEST FOR ACCURACY. 1075C 1076 AREA12 = AREA1+AREA2 1077 ERRO12 = ERROR1+ERROR2 1078 ERRSUM = ERRSUM+ERRO12-ERRMAX 1079 AREA = AREA+AREA12-RLIST(MAXERR) 1080 IF(DEFAB1.EQ.ERROR1.OR.DEFAB2.EQ.ERROR2)GO TO 15 1081 IF(ABS(RLIST(MAXERR)-AREA12).GT.0.1D-04*ABS(AREA12) 1082 1 .OR.ERRO12.LT.0.99D+00*ERRMAX) GO TO 10 1083 IF(EXTRAP) IROFF2 = IROFF2+1 1084 IF(.NOT.EXTRAP) IROFF1 = IROFF1+1 1085 10 IF(LAST.GT.10.AND.ERRO12.GT.ERRMAX) IROFF3 = IROFF3+1 1086 15 RLIST(MAXERR) = AREA1 1087 RLIST(LAST) = AREA2 1088 ERRBND = MAX(EPSABS,EPSREL*ABS(AREA)) 1089C 1090C TEST FOR ROUNDOFF ERROR AND EVENTUALLY SET ERROR FLAG. 1091C 1092 IF(IROFF1+IROFF2.GE.10.OR.IROFF3.GE.20) IER = 2 1093 IF(IROFF2.GE.5) IERRO = 3 1094C 1095C SET ERROR FLAG IN THE CASE THAT THE NUMBER OF 1096C SUBINTERVALS EQUALS LIMIT. 1097C 1098 IF(LAST.EQ.LIMIT) IER = 1 1099C 1100C SET ERROR FLAG IN THE CASE OF BAD INTEGRAND BEHAVIOUR 1101C AT SOME POINTS OF THE INTEGRATION RANGE. 1102C 1103 IF(MAX(ABS(A1),ABS(B2)).LE.(0.1D+01+0.1D+03*EPMACH)* 1104 1 (ABS(A2)+0.1D+04*UFLOW)) IER = 4 1105C 1106C APPEND THE NEWLY-CREATED INTERVALS TO THE LIST. 1107C 1108 IF(ERROR2.GT.ERROR1) GO TO 20 1109 ALIST(LAST) = A2 1110 BLIST(MAXERR) = B1 1111 BLIST(LAST) = B2 1112 ELIST(MAXERR) = ERROR1 1113 ELIST(LAST) = ERROR2 1114 GO TO 30 1115 20 ALIST(MAXERR) = A2 1116 ALIST(LAST) = A1 1117 BLIST(LAST) = B1 1118 RLIST(MAXERR) = AREA2 1119 RLIST(LAST) = AREA1 1120 ELIST(MAXERR) = ERROR2 1121 ELIST(LAST) = ERROR1 1122C 1123C CALL SUBROUTINE DQPSRT TO MAINTAIN THE DESCENDING ORDERING 1124C IN THE LIST OF ERROR ESTIMATES AND SELECT THE SUBINTERVAL 1125C WITH NRMAX-TH LARGEST ERROR ESTIMATE (TO BE BISECTED NEXT). 1126C 1127 30 CALL DQPSRT(LIMIT,LAST,MAXERR,ERRMAX,ELIST,IORD,NRMAX) 1128 IF(ERRSUM.LE.ERRBND) GO TO 115 1129 IF(IER.NE.0) GO TO 100 1130 IF(LAST.EQ.2) GO TO 80 1131 IF(NOEXT) GO TO 90 1132 ERLARG = ERLARG-ERLAST 1133 IF(ABS(B1-A1).GT.SMALL) ERLARG = ERLARG+ERRO12 1134 IF(EXTRAP) GO TO 40 1135C 1136C TEST WHETHER THE INTERVAL TO BE BISECTED NEXT IS THE 1137C SMALLEST INTERVAL. 1138C 1139 IF(ABS(BLIST(MAXERR)-ALIST(MAXERR)).GT.SMALL) GO TO 90 1140 EXTRAP = .TRUE. 1141 NRMAX = 2 1142 40 IF(IERRO.EQ.3.OR.ERLARG.LE.ERTEST) GO TO 60 1143C 1144C THE SMALLEST INTERVAL HAS THE LARGEST ERROR. 1145C BEFORE BISECTING DECREASE THE SUM OF THE ERRORS OVER THE 1146C LARGER INTERVALS (ERLARG) AND PERFORM EXTRAPOLATION. 1147C 1148 ID = NRMAX 1149 JUPBND = LAST 1150 IF(LAST.GT.(2+LIMIT/2)) JUPBND = LIMIT+3-LAST 1151 DO 50 K = ID,JUPBND 1152 MAXERR = IORD(NRMAX) 1153 ERRMAX = ELIST(MAXERR) 1154 IF(ABS(BLIST(MAXERR)-ALIST(MAXERR)).GT.SMALL) GO TO 90 1155 NRMAX = NRMAX+1 1156 50 CONTINUE 1157C 1158C PERFORM EXTRAPOLATION. 1159C 1160 60 NUMRL2 = NUMRL2+1 1161 RLIST2(NUMRL2) = AREA 1162 CALL DQELG(NUMRL2,RLIST2,RESEPS,ABSEPS,RES3LA,NRES) 1163 KTMIN = KTMIN+1 1164 IF(KTMIN.GT.5.AND.ABSERR.LT.0.1D-02*ERRSUM) IER = 5 1165 IF(ABSEPS.GE.ABSERR) GO TO 70 1166 KTMIN = 0 1167 ABSERR = ABSEPS 1168 RESULT = RESEPS 1169 CORREC = ERLARG 1170 ERTEST = MAX(EPSABS,EPSREL*ABS(RESEPS)) 1171 IF(ABSERR.LE.ERTEST) GO TO 100 1172C 1173C PREPARE BISECTION OF THE SMALLEST INTERVAL. 1174C 1175 70 IF(NUMRL2.EQ.1) NOEXT = .TRUE. 1176 IF(IER.EQ.5) GO TO 100 1177 MAXERR = IORD(1) 1178 ERRMAX = ELIST(MAXERR) 1179 NRMAX = 1 1180 EXTRAP = .FALSE. 1181 SMALL = SMALL*0.5D+00 1182 ERLARG = ERRSUM 1183 GO TO 90 1184 80 SMALL = 0.375D+00 1185 ERLARG = ERRSUM 1186 ERTEST = ERRBND 1187 RLIST2(2) = AREA 1188 90 CONTINUE 1189C 1190C SET FINAL RESULT AND ERROR ESTIMATE. 1191C ------------------------------------ 1192C 1193 100 IF(ABSERR.EQ.OFLOW) GO TO 115 1194 IF((IER+IERRO).EQ.0) GO TO 110 1195 IF(IERRO.EQ.3) ABSERR = ABSERR+CORREC 1196 IF(IER.EQ.0) IER = 3 1197 IF(RESULT.NE.0.0D+00.AND.AREA.NE.0.0D+00)GO TO 105 1198 IF(ABSERR.GT.ERRSUM)GO TO 115 1199 IF(AREA.EQ.0.0D+00) GO TO 130 1200 GO TO 110 1201 105 IF(ABSERR/ABS(RESULT).GT.ERRSUM/ABS(AREA))GO TO 115 1202C 1203C TEST ON DIVERGENCE 1204C 1205 110 IF(KSGN.EQ.(-1).AND.MAX(ABS(RESULT),ABS(AREA)).LE. 1206 1 DEFABS*0.1D-01) GO TO 130 1207 IF(0.1D-01.GT.(RESULT/AREA).OR.(RESULT/AREA).GT.0.1D+03. 1208 1OR.ERRSUM.GT.ABS(AREA)) IER = 6 1209 GO TO 130 1210C 1211C COMPUTE GLOBAL INTEGRAL SUM. 1212C 1213 115 RESULT = 0.0D+00 1214 DO 120 K = 1,LAST 1215 RESULT = RESULT+RLIST(K) 1216 120 CONTINUE 1217 ABSERR = ERRSUM 1218 130 NEVAL = 30*LAST-15 1219 IF(INF.EQ.2) NEVAL = 2*NEVAL 1220 IF(IER.GT.2) IER=IER-1 1221 999 RETURN 1222 END 1223 SUBROUTINE DQELG(N,EPSTAB,RESULT,ABSERR,RES3LA,NRES) 1224C 1225C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 1226C DATAPLOT USAGE. 1227C 1228C***BEGIN PROLOGUE DQELG 1229C***REFER TO DQAGIE,DQAGOE,DQAGPE,DQAGSE 1230C***ROUTINES CALLED D1MACH 1231C***REVISION DATE 830518 (YYMMDD) 1232C***REVISION HISTORY (YYMMDD) 1233C 000601 Changed DMAX1/DABS to generic MAX/ABS 1234C***KEYWORDS CONVERGENCE ACCELERATION,EPSILON ALGORITHM,EXTRAPOLATION 1235C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 1236C K. U. LEUVEN 1237C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 1238C K. U. LEUVEN 1239C***PURPOSE The routine determines the limit of a given sequence of 1240C approximations, by means of the Epsilon algorithm of 1241C P.Wynn. An estimate of the absolute error is also given. 1242C The condensed Epsilon table is computed. Only those 1243C elements needed for the computation of the next diagonal 1244C are preserved. 1245C***DESCRIPTION 1246C 1247C Epsilon algorithm 1248C Standard fortran subroutine 1249C Double precision version 1250C 1251C PARAMETERS 1252C N - Integer 1253C EPSTAB(N) contains the new element in the 1254C first column of the epsilon table. 1255C 1256C EPSTAB - Double precision 1257C Vector of dimension 52 containing the elements 1258C of the two lower diagonals of the triangular 1259C epsilon table. The elements are numbered 1260C starting at the right-hand corner of the 1261C triangle. 1262C 1263C RESULT - Double precision 1264C Resulting approximation to the integral 1265C 1266C ABSERR - Double precision 1267C Estimate of the absolute error computed from 1268C RESULT and the 3 previous results 1269C 1270C RES3LA - Double precision 1271C Vector of dimension 3 containing the last 3 1272C results 1273C 1274C NRES - Integer 1275C Number of calls to the routine 1276C (should be zero at first call) 1277C***END PROLOGUE DQELG 1278C 1279 DOUBLE PRECISION ABSERR,DELTA1,DELTA2,DELTA3, 1280 1 EPMACH,EPSINF,EPSTAB,ERROR,ERR1,ERR2,ERR3,E0,E1,E1ABS,E2,E3, 1281 2 OFLOW,RES,RESULT,RES3LA,SS,TOL1,TOL2,TOL3 1282 INTEGER I,IB,IB2,IE,INDX,K1,K2,K3,LIMEXP,N,NEWELM,NRES,NUM 1283 DIMENSION EPSTAB(52),RES3LA(3) 1284C 1285 INCLUDE 'DPCOMC.INC' 1286 INCLUDE 'DPCOP2.INC' 1287C 1288C LIST OF MAJOR VARIABLES 1289C ----------------------- 1290C 1291C E0 - THE 4 ELEMENTS ON WHICH THE COMPUTATION OF A NEW 1292C E1 ELEMENT IN THE EPSILON TABLE IS BASED 1293C E2 1294C E3 E0 1295C E3 E1 NEW 1296C E2 1297C NEWELM - NUMBER OF ELEMENTS TO BE COMPUTED IN THE NEW 1298C DIAGONAL 1299C ERROR - ERROR = ABS(E1-E0)+ABS(E2-E1)+ABS(NEW-E2) 1300C RESULT - THE ELEMENT IN THE NEW DIAGONAL WITH LEAST VALUE 1301C OF ERROR 1302C 1303C MACHINE DEPENDENT CONSTANTS 1304C --------------------------- 1305C 1306C EPMACH IS THE LARGEST RELATIVE SPACING. 1307C OFLOW IS THE LARGEST POSITIVE MAGNITUDE. 1308C LIMEXP IS THE MAXIMUM NUMBER OF ELEMENTS THE EPSILON 1309C TABLE CAN CONTAIN. IF THIS NUMBER IS REACHED, THE UPPER 1310C DIAGONAL OF THE EPSILON TABLE IS DELETED. 1311C 1312C***FIRST EXECUTABLE STATEMENT DQELG 1313 EPMACH = D1MACH(4) 1314 OFLOW = D1MACH(2) 1315 NRES = NRES+1 1316 ABSERR = OFLOW 1317 RESULT = EPSTAB(N) 1318 IF(N.LT.3) GO TO 100 1319 LIMEXP = 50 1320 EPSTAB(N+2) = EPSTAB(N) 1321 NEWELM = (N-1)/2 1322 EPSTAB(N) = OFLOW 1323 NUM = N 1324 K1 = N 1325 DO 40 I = 1,NEWELM 1326 K2 = K1-1 1327 K3 = K1-2 1328 RES = EPSTAB(K1+2) 1329 E0 = EPSTAB(K3) 1330 E1 = EPSTAB(K2) 1331 E2 = RES 1332 E1ABS = ABS(E1) 1333 DELTA2 = E2-E1 1334 ERR2 = ABS(DELTA2) 1335 TOL2 = MAX(ABS(E2),E1ABS)*EPMACH 1336 DELTA3 = E1-E0 1337 ERR3 = ABS(DELTA3) 1338 TOL3 = MAX(E1ABS,ABS(E0))*EPMACH 1339 IF(ERR2.GT.TOL2.OR.ERR3.GT.TOL3) GO TO 10 1340C 1341C IF E0, E1 AND E2 ARE EQUAL TO WITHIN MACHINE 1342C ACCURACY, CONVERGENCE IS ASSUMED. 1343C RESULT = E2 1344C ABSERR = ABS(E1-E0)+ABS(E2-E1) 1345C 1346 RESULT = RES 1347 ABSERR = ERR2+ERR3 1348C ***JUMP OUT OF DO-LOOP 1349 GO TO 100 1350 10 E3 = EPSTAB(K1) 1351 EPSTAB(K1) = E1 1352 DELTA1 = E1-E3 1353 ERR1 = ABS(DELTA1) 1354 TOL1 = MAX(E1ABS,ABS(E3))*EPMACH 1355C 1356C IF TWO ELEMENTS ARE VERY CLOSE TO EACH OTHER, OMIT 1357C A PART OF THE TABLE BY ADJUSTING THE VALUE OF N 1358C 1359 IF(ERR1.LE.TOL1.OR.ERR2.LE.TOL2.OR.ERR3.LE.TOL3) GO TO 20 1360 SS = 0.1D+01/DELTA1+0.1D+01/DELTA2-0.1D+01/DELTA3 1361 EPSINF = ABS(SS*E1) 1362C 1363C TEST TO DETECT IRREGULAR BEHAVIOUR IN THE TABLE, AND 1364C EVENTUALLY OMIT A PART OF THE TABLE ADJUSTING THE VALUE 1365C OF N. 1366C 1367 IF(EPSINF.GT.0.1D-03) GO TO 30 1368 20 N = I+I-1 1369C ***JUMP OUT OF DO-LOOP 1370 GO TO 50 1371C 1372C COMPUTE A NEW ELEMENT AND EVENTUALLY ADJUST 1373C THE VALUE OF RESULT. 1374C 1375 30 RES = E1+0.1D+01/SS 1376 EPSTAB(K1) = RES 1377 K1 = K1-2 1378 ERROR = ERR2+ABS(RES-E2)+ERR3 1379 IF(ERROR.GT.ABSERR) GO TO 40 1380 ABSERR = ERROR 1381 RESULT = RES 1382 40 CONTINUE 1383C 1384C SHIFT THE TABLE. 1385C 1386 50 IF(N.EQ.LIMEXP) N = 2*(LIMEXP/2)-1 1387 IB = 1 1388 IF((NUM/2)*2.EQ.NUM) IB = 2 1389 IE = NEWELM+1 1390 DO 60 I=1,IE 1391 IB2 = IB+2 1392 EPSTAB(IB) = EPSTAB(IB2) 1393 IB = IB2 1394 60 CONTINUE 1395 IF(NUM.EQ.N) GO TO 80 1396 INDX = NUM-N+1 1397 DO 70 I = 1,N 1398 EPSTAB(I)= EPSTAB(INDX) 1399 INDX = INDX+1 1400 70 CONTINUE 1401 80 IF(NRES.GE.4) GO TO 90 1402 RES3LA(NRES) = RESULT 1403 ABSERR = OFLOW 1404 GO TO 100 1405C 1406C COMPUTE ERROR ESTIMATE 1407C 1408 90 ABSERR = ABS(RESULT-RES3LA(3))+ABS(RESULT-RES3LA(2)) 1409 1 +ABS(RESULT-RES3LA(1)) 1410 RES3LA(1) = RES3LA(2) 1411 RES3LA(2) = RES3LA(3) 1412 RES3LA(3) = RESULT 1413 100 ABSERR = MAX(ABSERR,0.5D+01*EPMACH*ABS(RESULT)) 1414 RETURN 1415 END 1416 SUBROUTINE DQK15(F,A,B,RESULT,ABSERR,RESABS,RESASC) 1417C 1418C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 1419C DATAPLOT USAGE. 1420C 1421C***BEGIN PROLOGUE DQK15 1422C***DATE WRITTEN 800101 (YYMMDD) 1423C***REVISION DATE 830518 (YYMMDD) 1424C***REVISION HISTORY (YYMMDD) 1425C 000601 Changed DMAX1/DMIN1/DABS to generic MAX/MIN/ABS 1426C***CATEGORY NO. H2A1A2 1427C***KEYWORDS 15-POINT GAUSS-KRONROD RULES 1428C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 1429C K. U. LEUVEN 1430C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 1431C K. U. LEUVEN 1432C***PURPOSE To compute I = Integral of F over (A,B), with error 1433C estimate 1434C J = integral of ABS(F) over (A,B) 1435C***DESCRIPTION 1436C 1437C Integration rules 1438C Standard fortran subroutine 1439C Double precision version 1440C 1441C PARAMETERS 1442C ON ENTRY 1443C F - Double precision 1444C Function subprogram defining the integrand 1445C FUNCTION F(X). The actual name for F needs to be 1446C Declared E X T E R N A L in the calling program. 1447C 1448C A - Double precision 1449C Lower limit of integration 1450C 1451C B - Double precision 1452C Upper limit of integration 1453C 1454C ON RETURN 1455C RESULT - Double precision 1456C Approximation to the integral I 1457C Result is computed by applying the 15-POINT 1458C KRONROD RULE (RESK) obtained by optimal addition 1459C of abscissae to the7-POINT GAUSS RULE(RESG). 1460C 1461C ABSERR - Double precision 1462C Estimate of the modulus of the absolute error, 1463C which should not exceed ABS(I-RESULT) 1464C 1465C RESABS - Double precision 1466C Approximation to the integral J 1467C 1468C RESASC - Double precision 1469C Approximation to the integral of ABS(F-I/(B-A)) 1470C over (A,B) 1471C***REFERENCES (NONE) 1472C***ROUTINES CALLED D1MACH 1473C***END PROLOGUE DQK15 1474C 1475C 1476 INCLUDE 'DPCOMC.INC' 1477 INCLUDE 'DPCOP2.INC' 1478C 1479 DOUBLE PRECISION A,ABSC,ABSERR,B,CENTR,DHLGTH, 1480 1 EPMACH,F,FC,FSUM,FVAL1,FVAL2,FV1,FV2,HLGTH,RESABS,RESASC, 1481 2 RESG,RESK,RESKH,RESULT,UFLOW,WG,WGK,XGK 1482 INTEGER J,JTW,JTWM1 1483 EXTERNAL F 1484C 1485 DIMENSION FV1(7),FV2(7),WG(4),WGK(8),XGK(8) 1486C 1487C THE ABSCISSAE AND WEIGHTS ARE GIVEN FOR THE INTERVAL (-1,1). 1488C BECAUSE OF SYMMETRY ONLY THE POSITIVE ABSCISSAE AND THEIR 1489C CORRESPONDING WEIGHTS ARE GIVEN. 1490C 1491C XGK - ABSCISSAE OF THE 15-POINT KRONROD RULE 1492C XGK(2), XGK(4), ... ABSCISSAE OF THE 7-POINT 1493C GAUSS RULE 1494C XGK(1), XGK(3), ... ABSCISSAE WHICH ARE OPTIMALLY 1495C ADDED TO THE 7-POINT GAUSS RULE 1496C 1497C WGK - WEIGHTS OF THE 15-POINT KRONROD RULE 1498C 1499C WG - WEIGHTS OF THE 7-POINT GAUSS RULE 1500C 1501C 1502C GAUSS QUADRATURE WEIGHTS AND KRONRON QUADRATURE ABSCISSAE AND WEIGHTS 1503C AS EVALUATED WITH 80 DECIMAL DIGIT ARITHMETIC BY L. W. FULLERTON, 1504C BELL LABS, NOV. 1981. 1505C 1506 DATA WG ( 1) / 0.1294849661 6886969327 0611432679 082 D0 / 1507 DATA WG ( 2) / 0.2797053914 8927666790 1467771423 780 D0 / 1508 DATA WG ( 3) / 0.3818300505 0511894495 0369775488 975 D0 / 1509 DATA WG ( 4) / 0.4179591836 7346938775 5102040816 327 D0 / 1510C 1511 DATA XGK ( 1) / 0.9914553711 2081263920 6854697526 329 D0 / 1512 DATA XGK ( 2) / 0.9491079123 4275852452 6189684047 851 D0 / 1513 DATA XGK ( 3) / 0.8648644233 5976907278 9712788640 926 D0 / 1514 DATA XGK ( 4) / 0.7415311855 9939443986 3864773280 788 D0 / 1515 DATA XGK ( 5) / 0.5860872354 6769113029 4144838258 730 D0 / 1516 DATA XGK ( 6) / 0.4058451513 7739716690 6606412076 961 D0 / 1517 DATA XGK ( 7) / 0.2077849550 0789846760 0689403773 245 D0 / 1518 DATA XGK ( 8) / 0.0000000000 0000000000 0000000000 000 D0 / 1519C 1520 DATA WGK ( 1) / 0.0229353220 1052922496 3732008058 970 D0 / 1521 DATA WGK ( 2) / 0.0630920926 2997855329 0700663189 204 D0 / 1522 DATA WGK ( 3) / 0.1047900103 2225018383 9876322541 518 D0 / 1523 DATA WGK ( 4) / 0.1406532597 1552591874 5189590510 238 D0 / 1524 DATA WGK ( 5) / 0.1690047266 3926790282 6583426598 550 D0 / 1525 DATA WGK ( 6) / 0.1903505780 6478540991 3256402421 014 D0 / 1526 DATA WGK ( 7) / 0.2044329400 7529889241 4161999234 649 D0 / 1527 DATA WGK ( 8) / 0.2094821410 8472782801 2999174891 714 D0 / 1528C 1529C 1530C LIST OF MAJOR VARIABLES 1531C ----------------------- 1532C 1533C CENTR - MID POINT OF THE INTERVAL 1534C HLGTH - HALF-LENGTH OF THE INTERVAL 1535C ABSC - ABSCISSA 1536C FVAL* - FUNCTION VALUE 1537C RESG - RESULT OF THE 7-POINT GAUSS FORMULA 1538C RESK - RESULT OF THE 15-POINT KRONROD FORMULA 1539C RESKH - APPROXIMATION TO THE MEAN VALUE OF F OVER (A,B), 1540C I.E. TO I/(B-A) 1541C 1542C MACHINE DEPENDENT CONSTANTS 1543C --------------------------- 1544C 1545C EPMACH IS THE LARGEST RELATIVE SPACING. 1546C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 1547C 1548C***FIRST EXECUTABLE STATEMENT DQK15 1549 EPMACH = D1MACH(4) 1550 UFLOW = D1MACH(1) 1551C 1552 CENTR = 0.5D+00*(A+B) 1553 HLGTH = 0.5D+00*(B-A) 1554 DHLGTH = ABS(HLGTH) 1555C 1556C COMPUTE THE 15-POINT KRONROD APPROXIMATION TO 1557C THE INTEGRAL, AND ESTIMATE THE ABSOLUTE ERROR. 1558C 1559 FC = F(CENTR) 1560 RESG = FC*WG(4) 1561 RESK = FC*WGK(8) 1562 RESABS = ABS(RESK) 1563 DO 10 J=1,3 1564 JTW = J*2 1565 ABSC = HLGTH*XGK(JTW) 1566 FVAL1 = F(CENTR-ABSC) 1567 FVAL2 = F(CENTR+ABSC) 1568 FV1(JTW) = FVAL1 1569 FV2(JTW) = FVAL2 1570 FSUM = FVAL1+FVAL2 1571 RESG = RESG+WG(J)*FSUM 1572 RESK = RESK+WGK(JTW)*FSUM 1573 RESABS = RESABS+WGK(JTW)*(ABS(FVAL1)+ABS(FVAL2)) 1574 10 CONTINUE 1575 DO 15 J = 1,4 1576 JTWM1 = J*2-1 1577 ABSC = HLGTH*XGK(JTWM1) 1578 FVAL1 = F(CENTR-ABSC) 1579 FVAL2 = F(CENTR+ABSC) 1580 FV1(JTWM1) = FVAL1 1581 FV2(JTWM1) = FVAL2 1582 FSUM = FVAL1+FVAL2 1583 RESK = RESK+WGK(JTWM1)*FSUM 1584 RESABS = RESABS+WGK(JTWM1)*(ABS(FVAL1)+ABS(FVAL2)) 1585 15 CONTINUE 1586 RESKH = RESK*0.5D+00 1587 RESASC = WGK(8)*ABS(FC-RESKH) 1588 DO 20 J=1,7 1589 RESASC = RESASC+WGK(J)*(ABS(FV1(J)-RESKH)+ABS(FV2(J)-RESKH)) 1590 20 CONTINUE 1591 RESULT = RESK*HLGTH 1592 RESABS = RESABS*DHLGTH 1593 RESASC = RESASC*DHLGTH 1594 ABSERR = ABS((RESK-RESG)*HLGTH) 1595 IF(RESASC.NE.0.0D+00.AND.ABSERR.NE.0.0D+00) 1596 1 ABSERR = RESASC*MIN(0.1D+01,(0.2D+03*ABSERR/RESASC)**1.5D+00) 1597 IF(RESABS.GT.UFLOW/(0.5D+02*EPMACH)) ABSERR = MAX 1598 1 ((EPMACH*0.5D+02)*RESABS,ABSERR) 1599 RETURN 1600 END 1601 SUBROUTINE DQK15I(F,BOUN,INF,A,B,RESULT,ABSERR,RESABS,RESASC) 1602C 1603C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 1604C DATAPLOT USAGE. 1605C 1606C***BEGIN PROLOGUE DQK15I 1607C***DATE WRITTEN 800101 (YYMMDD) 1608C***REVISION DATE 830518 (YYMMDD) 1609C***REVISION HISTORY (YYMMDD) 1610C 000601 Changed DMAX1/DMIN1/DABS to generic MAX/MIN/ABS 1611C***CATEGORY NO. H2A3A2,H2A4A2 1612C***KEYWORDS 15-POINT TRANSFORMED GAUSS-KRONROD RULES 1613C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 1614C K. U. LEUVEN 1615C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 1616C K. U. LEUVEN 1617C***PURPOSE The original (infinite integration range is mapped 1618C onto the interval (0,1) and (A,B) is a part of (0,1). 1619C it is the purpose to compute 1620C I = Integral of transformed integrand over (A,B), 1621C J = Integral of ABS(Transformed Integrand) over (A,B). 1622C***DESCRIPTION 1623C 1624C Integration Rule 1625C Standard Fortran subroutine 1626C Double precision version 1627C 1628C PARAMETERS 1629C ON ENTRY 1630C F - Double precision 1631C Fuction subprogram defining the integrand 1632C FUNCTION F(X). The actual name for F needs to be 1633C Declared E X T E R N A L in the calling program. 1634C 1635C BOUN - Double precision 1636C Finite bound of original integration 1637C Range (SET TO ZERO IF INF = +2) 1638C 1639C INF - Integer 1640C If INF = -1, the original interval is 1641C (-INFINITY,BOUND), 1642C If INF = +1, the original interval is 1643C (BOUND,+INFINITY), 1644C If INF = +2, the original interval is 1645C (-INFINITY,+INFINITY) AND 1646C The integral is computed as the sum of two 1647C integrals, one over (-INFINITY,0) and one over 1648C (0,+INFINITY). 1649C 1650C A - Double precision 1651C Lower limit for integration over subrange 1652C of (0,1) 1653C 1654C B - Double precision 1655C Upper limit for integration over subrange 1656C of (0,1) 1657C 1658C ON RETURN 1659C RESULT - Double precision 1660C Approximation to the integral I 1661C Result is computed by applying the 15-POINT 1662C KRONROD RULE(RESK) obtained by optimal addition 1663C of abscissae to the 7-POINT GAUSS RULE(RESG). 1664C 1665C ABSERR - Double precision 1666C Estimate of the modulus of the absolute error, 1667C WHICH SHOULD EQUAL or EXCEED ABS(I-RESULT) 1668C 1669C RESABS - Double precision 1670C Approximation to the integral J 1671C 1672C RESASC - Double precision 1673C Approximation to the integral of 1674C ABS((TRANSFORMED INTEGRAND)-I/(B-A)) over (A,B) 1675C***REFERENCES (NONE) 1676C***ROUTINES CALLED D1MACH 1677C***END PROLOGUE DQK15I 1678C 1679 DOUBLE PRECISION A,ABSC,ABSC1,ABSC2,ABSERR,B,BOUN,CENTR,DINF, 1680 1 EPMACH,F,FC,FSUM,FVAL1,FVAL2,FV1,FV2,HLGTH, 1681 2 RESABS,RESASC,RESG,RESK,RESKH,RESULT,TABSC1,TABSC2,UFLOW,WG,WGK, 1682 3 XGK 1683 INTEGER INF,J 1684C 1685 INCLUDE 'DPCOMC.INC' 1686 INCLUDE 'DPCOP2.INC' 1687C 1688 EXTERNAL F 1689C 1690 DIMENSION FV1(7),FV2(7),XGK(8),WGK(8),WG(8) 1691C 1692C THE ABSCISSAE AND WEIGHTS ARE SUPPLIED FOR THE INTERVAL 1693C (-1,1). BECAUSE OF SYMMETRY ONLY THE POSITIVE ABSCISSAE AND 1694C THEIR CORRESPONDING WEIGHTS ARE GIVEN. 1695C 1696C XGK - ABSCISSAE OF THE 15-POINT KRONROD RULE 1697C XGK(2), XGK(4), ... ABSCISSAE OF THE 7-POINT 1698C GAUSS RULE 1699C XGK(1), XGK(3), ... ABSCISSAE WHICH ARE OPTIMALLY 1700C ADDED TO THE 7-POINT GAUSS RULE 1701C 1702C WGK - WEIGHTS OF THE 15-POINT KRONROD RULE 1703C 1704C WG - WEIGHTS OF THE 7-POINT GAUSS RULE, CORRESPONDING 1705C TO THE ABSCISSAE XGK(2), XGK(4), ... 1706C WG(1), WG(3), ... ARE SET TO ZERO. 1707C 1708 DATA XGK(1),XGK(2),XGK(3),XGK(4),XGK(5),XGK(6),XGK(7),XGK(8)/ 1709 1 0.9914553711208126D+00, 0.9491079123427585D+00, 1710 2 0.8648644233597691D+00, 0.7415311855993944D+00, 1711 3 0.5860872354676911D+00, 0.4058451513773972D+00, 1712 4 0.2077849550078985D+00, 0.0000000000000000D+00/ 1713C 1714 DATA WGK(1),WGK(2),WGK(3),WGK(4),WGK(5),WGK(6),WGK(7),WGK(8)/ 1715 1 0.2293532201052922D-01, 0.6309209262997855D-01, 1716 2 0.1047900103222502D+00, 0.1406532597155259D+00, 1717 3 0.1690047266392679D+00, 0.1903505780647854D+00, 1718 4 0.2044329400752989D+00, 0.2094821410847278D+00/ 1719C 1720 DATA WG(1),WG(2),WG(3),WG(4),WG(5),WG(6),WG(7),WG(8)/ 1721 1 0.0000000000000000D+00, 0.1294849661688697D+00, 1722 2 0.0000000000000000D+00, 0.2797053914892767D+00, 1723 3 0.0000000000000000D+00, 0.3818300505051189D+00, 1724 4 0.0000000000000000D+00, 0.4179591836734694D+00/ 1725C 1726C 1727C LIST OF MAJOR VARIABLES 1728C ----------------------- 1729C 1730C CENTR - MID POINT OF THE INTERVAL 1731C HLGTH - HALF-LENGTH OF THE INTERVAL 1732C ABSC* - ABSCISSA 1733C TABSC* - TRANSFORMED ABSCISSA 1734C FVAL* - FUNCTION VALUE 1735C RESG - RESULT OF THE 7-POINT GAUSS FORMULA 1736C RESK - RESULT OF THE 15-POINT KRONROD FORMULA 1737C RESKH - APPROXIMATION TO THE MEAN VALUE OF THE TRANSFORMED 1738C INTEGRAND OVER (A,B), I.E. TO I/(B-A) 1739C 1740C MACHINE DEPENDENT CONSTANTS 1741C --------------------------- 1742C 1743C EPMACH IS THE LARGEST RELATIVE SPACING. 1744C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 1745C 1746C***FIRST EXECUTABLE STATEMENT DQK15I 1747 EPMACH = D1MACH(4) 1748 UFLOW = D1MACH(1) 1749 DINF = MIN0(1,INF) 1750C 1751 CENTR = 0.5D+00*(A+B) 1752 HLGTH = 0.5D+00*(B-A) 1753 TABSC1 = BOUN+DINF*(0.1D+01-CENTR)/CENTR 1754 FVAL1 = F(TABSC1) 1755 IF(INF.EQ.2) FVAL1 = FVAL1+F(-TABSC1) 1756 FC = (FVAL1/CENTR)/CENTR 1757C 1758C COMPUTE THE 15-POINT KRONROD APPROXIMATION TO 1759C THE INTEGRAL, AND ESTIMATE THE ERROR. 1760C 1761 RESG = WG(8)*FC 1762 RESK = WGK(8)*FC 1763 RESABS = ABS(RESK) 1764 DO 10 J=1,7 1765 ABSC = HLGTH*XGK(J) 1766 ABSC1 = CENTR-ABSC 1767 ABSC2 = CENTR+ABSC 1768 TABSC1 = BOUN+DINF*(0.1D+01-ABSC1)/ABSC1 1769 TABSC2 = BOUN+DINF*(0.1D+01-ABSC2)/ABSC2 1770 FVAL1 = F(TABSC1) 1771 FVAL2 = F(TABSC2) 1772 IF(INF.EQ.2) FVAL1 = FVAL1+F(-TABSC1) 1773 IF(INF.EQ.2) FVAL2 = FVAL2+F(-TABSC2) 1774 FVAL1 = (FVAL1/ABSC1)/ABSC1 1775 FVAL2 = (FVAL2/ABSC2)/ABSC2 1776 FV1(J) = FVAL1 1777 FV2(J) = FVAL2 1778 FSUM = FVAL1+FVAL2 1779 RESG = RESG+WG(J)*FSUM 1780 RESK = RESK+WGK(J)*FSUM 1781 RESABS = RESABS+WGK(J)*(ABS(FVAL1)+ABS(FVAL2)) 1782 10 CONTINUE 1783 RESKH = RESK*0.5D+00 1784 RESASC = WGK(8)*ABS(FC-RESKH) 1785 DO 20 J=1,7 1786 RESASC = RESASC+WGK(J)*(ABS(FV1(J)-RESKH)+ABS(FV2(J)-RESKH)) 1787 20 CONTINUE 1788 RESULT = RESK*HLGTH 1789 RESASC = RESASC*HLGTH 1790 RESABS = RESABS*HLGTH 1791 ABSERR = ABS((RESK-RESG)*HLGTH) 1792 IF(RESASC.NE.0.0D+00.AND.ABSERR.NE.0.D0) ABSERR = RESASC* 1793 1 MIN(0.1D+01,(0.2D+03*ABSERR/RESASC)**1.5D+00) 1794 IF(RESABS.GT.UFLOW/(0.5D+02*EPMACH)) ABSERR = MAX 1795 1 ((EPMACH*0.5D+02)*RESABS,ABSERR) 1796 RETURN 1797 END 1798 SUBROUTINE DQK21(F,A,B,RESULT,ABSERR,RESABS,RESASC) 1799C 1800C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 1801C DATAPLOT USAGE. 1802C 1803C***BEGIN PROLOGUE DQK21 1804C***DATE WRITTEN 800101 (YYMMDD) 1805C***REVISION DATE 830518 (YYMMDD) 1806C***REVISION HISTORY (YYMMDD) 1807C 000601 Changed DMAX1/DMIN1/DABS to generic MAX/MIN/ABS 1808C***CATEGORY NO. H2A1A2 1809C***KEYWORDS 21-POINT GAUSS-KRONROD RULES 1810C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 1811C K. U. LEUVEN 1812C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 1813C K. U. LEUVEN 1814C***PURPOSE To compute I = Integral of F over (A,B), with error 1815C estimate 1816C J = Integral of ABS(F) over (A,B) 1817C***DESCRIPTION 1818C 1819C Integration rules 1820C Standard fortran subroutine 1821C Double precision version 1822C 1823C PARAMETERS 1824C ON ENTRY 1825C F - Double precision 1826C Function subprogram defining the integrand 1827C FUNCTION F(X). The actual name for F needs to be 1828C Declared E X T E R N A L in the driver program. 1829C 1830C A - Double precision 1831C Lower limit of integration 1832C 1833C B - Double precision 1834C Upper limit of integration 1835C 1836C ON RETURN 1837C RESULT - Double precision 1838C Approximation to the integral I 1839C RESULT is computed by applying the 21-POINT 1840C KRONROD RULE (RESK) obtained by optimal addition 1841C of abscissae to the 10-POINT GAUSS RULE (RESG). 1842C 1843C ABSERR - Double precision 1844C Estimate of the modulus of the absolute error, 1845C which should not exceed ABS(I-RESULT) 1846C 1847C RESABS - Double precision 1848C Approximation to the integral J 1849C 1850C RESASC - Double precision 1851C Approximation to the integral of ABS(F-I/(B-A)) 1852C over (A,B) 1853C***REFERENCES (NONE) 1854C***ROUTINES CALLED D1MACH 1855C***END PROLOGUE DQK21 1856C 1857 INCLUDE 'DPCOMC.INC' 1858 INCLUDE 'DPCOP2.INC' 1859C 1860 DOUBLE PRECISION A,ABSC,ABSERR,B,CENTR,DHLGTH, 1861 1 EPMACH,F,FC,FSUM,FVAL1,FVAL2,FV1,FV2,HLGTH,RESABS,RESASC, 1862 2 RESG,RESK,RESKH,RESULT,UFLOW,WG,WGK,XGK 1863 INTEGER J,JTW,JTWM1 1864 EXTERNAL F 1865C 1866 DIMENSION FV1(10),FV2(10),WG(5),WGK(11),XGK(11) 1867C 1868C THE ABSCISSAE AND WEIGHTS ARE GIVEN FOR THE INTERVAL (-1,1). 1869C BECAUSE OF SYMMETRY ONLY THE POSITIVE ABSCISSAE AND THEIR 1870C CORRESPONDING WEIGHTS ARE GIVEN. 1871C 1872C XGK - ABSCISSAE OF THE 21-POINT KRONROD RULE 1873C XGK(2), XGK(4), ... ABSCISSAE OF THE 10-POINT 1874C GAUSS RULE 1875C XGK(1), XGK(3), ... ABSCISSAE WHICH ARE OPTIMALLY 1876C ADDED TO THE 10-POINT GAUSS RULE 1877C 1878C WGK - WEIGHTS OF THE 21-POINT KRONROD RULE 1879C 1880C WG - WEIGHTS OF THE 10-POINT GAUSS RULE 1881C 1882C 1883C GAUSS QUADRATURE WEIGHTS AND KRONRON QUADRATURE ABSCISSAE AND WEIGHTS 1884C AS EVALUATED WITH 80 DECIMAL DIGIT ARITHMETIC BY L. W. FULLERTON, 1885C BELL LABS, NOV. 1981. 1886C 1887 DATA WG ( 1) / 0.0666713443 0868813759 3568809893 332 D0 / 1888 DATA WG ( 2) / 0.1494513491 5058059314 5776339657 697 D0 / 1889 DATA WG ( 3) / 0.2190863625 1598204399 5534934228 163 D0 / 1890 DATA WG ( 4) / 0.2692667193 0999635509 1226921569 469 D0 / 1891 DATA WG ( 5) / 0.2955242247 1475287017 3892994651 338 D0 / 1892C 1893 DATA XGK ( 1) / 0.9956571630 2580808073 5527280689 003 D0 / 1894 DATA XGK ( 2) / 0.9739065285 1717172007 7964012084 452 D0 / 1895 DATA XGK ( 3) / 0.9301574913 5570822600 1207180059 508 D0 / 1896 DATA XGK ( 4) / 0.8650633666 8898451073 2096688423 493 D0 / 1897 DATA XGK ( 5) / 0.7808177265 8641689706 3717578345 042 D0 / 1898 DATA XGK ( 6) / 0.6794095682 9902440623 4327365114 874 D0 / 1899 DATA XGK ( 7) / 0.5627571346 6860468333 9000099272 694 D0 / 1900 DATA XGK ( 8) / 0.4333953941 2924719079 9265943165 784 D0 / 1901 DATA XGK ( 9) / 0.2943928627 0146019813 1126603103 866 D0 / 1902 DATA XGK ( 10) / 0.1488743389 8163121088 4826001129 720 D0 / 1903 DATA XGK ( 11) / 0.0000000000 0000000000 0000000000 000 D0 / 1904C 1905 DATA WGK ( 1) / 0.0116946388 6737187427 8064396062 192 D0 / 1906 DATA WGK ( 2) / 0.0325581623 0796472747 8818972459 390 D0 / 1907 DATA WGK ( 3) / 0.0547558965 7435199603 1381300244 580 D0 / 1908 DATA WGK ( 4) / 0.0750396748 1091995276 7043140916 190 D0 / 1909 DATA WGK ( 5) / 0.0931254545 8369760553 5065465083 366 D0 / 1910 DATA WGK ( 6) / 0.1093871588 0229764189 9210590325 805 D0 / 1911 DATA WGK ( 7) / 0.1234919762 6206585107 7958109831 074 D0 / 1912 DATA WGK ( 8) / 0.1347092173 1147332592 8054001771 707 D0 / 1913 DATA WGK ( 9) / 0.1427759385 7706008079 7094273138 717 D0 / 1914 DATA WGK ( 10) / 0.1477391049 0133849137 4841515972 068 D0 / 1915 DATA WGK ( 11) / 0.1494455540 0291690566 4936468389 821 D0 / 1916C 1917C 1918C LIST OF MAJOR VARIABLES 1919C ----------------------- 1920C 1921C CENTR - MID POINT OF THE INTERVAL 1922C HLGTH - HALF-LENGTH OF THE INTERVAL 1923C ABSC - ABSCISSA 1924C FVAL* - FUNCTION VALUE 1925C RESG - RESULT OF THE 10-POINT GAUSS FORMULA 1926C RESK - RESULT OF THE 21-POINT KRONROD FORMULA 1927C RESKH - APPROXIMATION TO THE MEAN VALUE OF F OVER (A,B), 1928C I.E. TO I/(B-A) 1929C 1930C 1931C MACHINE DEPENDENT CONSTANTS 1932C --------------------------- 1933C 1934C EPMACH IS THE LARGEST RELATIVE SPACING. 1935C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 1936C 1937C***FIRST EXECUTABLE STATEMENT DQK21 1938 EPMACH = D1MACH(4) 1939 UFLOW = D1MACH(1) 1940C 1941 CENTR = 0.5D+00*(A+B) 1942 HLGTH = 0.5D+00*(B-A) 1943 DHLGTH = ABS(HLGTH) 1944C 1945C COMPUTE THE 21-POINT KRONROD APPROXIMATION TO 1946C THE INTEGRAL, AND ESTIMATE THE ABSOLUTE ERROR. 1947C 1948 RESG = 0.0D+00 1949 FC = F(CENTR) 1950 RESK = WGK(11)*FC 1951 RESABS = ABS(RESK) 1952 DO 10 J=1,5 1953 JTW = 2*J 1954 ABSC = HLGTH*XGK(JTW) 1955 FVAL1 = F(CENTR-ABSC) 1956 FVAL2 = F(CENTR+ABSC) 1957 FV1(JTW) = FVAL1 1958 FV2(JTW) = FVAL2 1959 FSUM = FVAL1+FVAL2 1960 RESG = RESG+WG(J)*FSUM 1961 RESK = RESK+WGK(JTW)*FSUM 1962 RESABS = RESABS+WGK(JTW)*(ABS(FVAL1)+ABS(FVAL2)) 1963 10 CONTINUE 1964 DO 15 J = 1,5 1965 JTWM1 = 2*J-1 1966 ABSC = HLGTH*XGK(JTWM1) 1967 FVAL1 = F(CENTR-ABSC) 1968 FVAL2 = F(CENTR+ABSC) 1969 FV1(JTWM1) = FVAL1 1970 FV2(JTWM1) = FVAL2 1971 FSUM = FVAL1+FVAL2 1972 RESK = RESK+WGK(JTWM1)*FSUM 1973 RESABS = RESABS+WGK(JTWM1)*(ABS(FVAL1)+ABS(FVAL2)) 1974 15 CONTINUE 1975 RESKH = RESK*0.5D+00 1976 RESASC = WGK(11)*ABS(FC-RESKH) 1977 DO 20 J=1,10 1978 RESASC = RESASC+WGK(J)*(ABS(FV1(J)-RESKH)+ABS(FV2(J)-RESKH)) 1979 20 CONTINUE 1980 RESULT = RESK*HLGTH 1981 RESABS = RESABS*DHLGTH 1982 RESASC = RESASC*DHLGTH 1983 ABSERR = ABS((RESK-RESG)*HLGTH) 1984 IF(RESASC.NE.0.0D+00.AND.ABSERR.NE.0.0D+00) 1985 1 ABSERR = RESASC*MIN(0.1D+01,(0.2D+03*ABSERR/RESASC)**1.5D+00) 1986 IF(RESABS.GT.UFLOW/(0.5D+02*EPMACH)) ABSERR = MAX 1987 1 ((EPMACH*0.5D+02)*RESABS,ABSERR) 1988 RETURN 1989 END 1990 SUBROUTINE DQK31(F,A,B,RESULT,ABSERR,RESABS,RESASC) 1991C 1992C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 1993C DATAPLOT USAGE. 1994C 1995C***BEGIN PROLOGUE DQK31 1996C***DATE WRITTEN 800101 (YYMMDD) 1997C***REVISION DATE 830518 (YYMMDD) 1998C***REVISION HISTORY (YYMMDD) 1999C 000601 Changed DMAX1/DMIN1/DABS to generic MAX/MIN/ABS 2000C***CATEGORY NO. H2A1A2 2001C***KEYWORDS 31-POINT GAUSS-KRONROD RULES 2002C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 2003C K. U. LEUVEN 2004C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 2005C K. U. LEUVEN 2006C***PURPOSE To compute I = Integral of F over (A,B) with error 2007C estimate 2008C J = Integral of ABS(F) over (A,B) 2009C***DESCRIPTION 2010C 2011C Integration rules 2012C Standard fortran subroutine 2013C Double precision version 2014C 2015C PARAMETERS 2016C ON ENTRY 2017C F - Double precision 2018C Function subprogram defining the integrand 2019C FUNCTION F(X). The actual name for F needs to be 2020C Declared E X T E R N A L in the calling program. 2021C 2022C A - Double precision 2023C Lower limit of integration 2024C 2025C B - Double precision 2026C Upper limit of integration 2027C 2028C ON RETURN 2029C RESULT - Double precision 2030C Approximation to the integral I 2031C RESULT is computed by applying the 31-POINT 2032C GAUSS-KRONROD RULE (RESK), obtained by optimal 2033C addition of abscissae to the 15-POINT GAUSS 2034C RULE (RESG). 2035C 2036C ABSERR - Double precison 2037C Estimate of the modulus of the modulus, 2038C which should not exceed ABS(I-RESULT) 2039C 2040C RESABS - Double precision 2041C Approximation to the integral J 2042C 2043C RESASC - Double precision 2044C Approximation to the integral of ABS(F-I/(B-A)) 2045C over (A,B) 2046C***REFERENCES (NONE) 2047C***ROUTINES CALLED D1MACH 2048C***END PROLOGUE DQK31 2049C 2050 INCLUDE 'DPCOMC.INC' 2051 INCLUDE 'DPCOP2.INC' 2052C 2053 DOUBLE PRECISION A,ABSC,ABSERR,B,CENTR,DHLGTH, 2054 1 EPMACH,F,FC,FSUM,FVAL1,FVAL2,FV1,FV2,HLGTH,RESABS,RESASC, 2055 2 RESG,RESK,RESKH,RESULT,UFLOW,WG,WGK,XGK 2056 INTEGER J,JTW,JTWM1 2057 EXTERNAL F 2058C 2059 DIMENSION FV1(15),FV2(15),XGK(16),WGK(16),WG(8) 2060C 2061C THE ABSCISSAE AND WEIGHTS ARE GIVEN FOR THE INTERVAL (-1,1). 2062C BECAUSE OF SYMMETRY ONLY THE POSITIVE ABSCISSAE AND THEIR 2063C CORRESPONDING WEIGHTS ARE GIVEN. 2064C 2065C XGK - ABSCISSAE OF THE 31-POINT KRONROD RULE 2066C XGK(2), XGK(4), ... ABSCISSAE OF THE 15-POINT 2067C GAUSS RULE 2068C XGK(1), XGK(3), ... ABSCISSAE WHICH ARE OPTIMALLY 2069C ADDED TO THE 15-POINT GAUSS RULE 2070C 2071C WGK - WEIGHTS OF THE 31-POINT KRONROD RULE 2072C 2073C WG - WEIGHTS OF THE 15-POINT GAUSS RULE 2074C 2075C 2076C GAUSS QUADRATURE WEIGHTS AND KRONRON QUADRATURE ABSCISSAE AND WEIGHTS 2077C AS EVALUATED WITH 80 DECIMAL DIGIT ARITHMETIC BY L. W. FULLERTON, 2078C BELL LABS, NOV. 1981. 2079C 2080 DATA WG ( 1) / 0.0307532419 9611726835 4628393577 204 D0 / 2081 DATA WG ( 2) / 0.0703660474 8810812470 9267416450 667 D0 / 2082 DATA WG ( 3) / 0.1071592204 6717193501 1869546685 869 D0 / 2083 DATA WG ( 4) / 0.1395706779 2615431444 7804794511 028 D0 / 2084 DATA WG ( 5) / 0.1662692058 1699393355 3200860481 209 D0 / 2085 DATA WG ( 6) / 0.1861610000 1556221102 6800561866 423 D0 / 2086 DATA WG ( 7) / 0.1984314853 2711157645 6118326443 839 D0 / 2087 DATA WG ( 8) / 0.2025782419 2556127288 0620199967 519 D0 / 2088C 2089 DATA XGK ( 1) / 0.9980022986 9339706028 5172840152 271 D0 / 2090 DATA XGK ( 2) / 0.9879925180 2048542848 9565718586 613 D0 / 2091 DATA XGK ( 3) / 0.9677390756 7913913425 7347978784 337 D0 / 2092 DATA XGK ( 4) / 0.9372733924 0070590430 7758947710 209 D0 / 2093 DATA XGK ( 5) / 0.8972645323 4408190088 2509656454 496 D0 / 2094 DATA XGK ( 6) / 0.8482065834 1042721620 0648320774 217 D0 / 2095 DATA XGK ( 7) / 0.7904185014 4246593296 7649294817 947 D0 / 2096 DATA XGK ( 8) / 0.7244177313 6017004741 6186054613 938 D0 / 2097 DATA XGK ( 9) / 0.6509967412 9741697053 3735895313 275 D0 / 2098 DATA XGK ( 10) / 0.5709721726 0853884753 7226737253 911 D0 / 2099 DATA XGK ( 11) / 0.4850818636 4023968069 3655740232 351 D0 / 2100 DATA XGK ( 12) / 0.3941513470 7756336989 7207370981 045 D0 / 2101 DATA XGK ( 13) / 0.2991800071 5316881216 6780024266 389 D0 / 2102 DATA XGK ( 14) / 0.2011940939 9743452230 0628303394 596 D0 / 2103 DATA XGK ( 15) / 0.1011420669 1871749902 7074231447 392 D0 / 2104 DATA XGK ( 16) / 0.0000000000 0000000000 0000000000 000 D0 / 2105C 2106 DATA WGK ( 1) / 0.0053774798 7292334898 7792051430 128 D0 / 2107 DATA WGK ( 2) / 0.0150079473 2931612253 8374763075 807 D0 / 2108 DATA WGK ( 3) / 0.0254608473 2671532018 6874001019 653 D0 / 2109 DATA WGK ( 4) / 0.0353463607 9137584622 2037948478 360 D0 / 2110 DATA WGK ( 5) / 0.0445897513 2476487660 8227299373 280 D0 / 2111 DATA WGK ( 6) / 0.0534815246 9092808726 5343147239 430 D0 / 2112 DATA WGK ( 7) / 0.0620095678 0067064028 5139230960 803 D0 / 2113 DATA WGK ( 8) / 0.0698541213 1872825870 9520077099 147 D0 / 2114 DATA WGK ( 9) / 0.0768496807 5772037889 4432777482 659 D0 / 2115 DATA WGK ( 10) / 0.0830805028 2313302103 8289247286 104 D0 / 2116 DATA WGK ( 11) / 0.0885644430 5621177064 7275443693 774 D0 / 2117 DATA WGK ( 12) / 0.0931265981 7082532122 5486872747 346 D0 / 2118 DATA WGK ( 13) / 0.0966427269 8362367850 5179907627 589 D0 / 2119 DATA WGK ( 14) / 0.0991735987 2179195933 2393173484 603 D0 / 2120 DATA WGK ( 15) / 0.1007698455 2387559504 4946662617 570 D0 / 2121 DATA WGK ( 16) / 0.1013300070 1479154901 7374792767 493 D0 / 2122C 2123C 2124C LIST OF MAJOR VARIABLES 2125C ----------------------- 2126C CENTR - MID POINT OF THE INTERVAL 2127C HLGTH - HALF-LENGTH OF THE INTERVAL 2128C ABSC - ABSCISSA 2129C FVAL* - FUNCTION VALUE 2130C RESG - RESULT OF THE 15-POINT GAUSS FORMULA 2131C RESK - RESULT OF THE 31-POINT KRONROD FORMULA 2132C RESKH - APPROXIMATION TO THE MEAN VALUE OF F OVER (A,B), 2133C I.E. TO I/(B-A) 2134C 2135C MACHINE DEPENDENT CONSTANTS 2136C --------------------------- 2137C EPMACH IS THE LARGEST RELATIVE SPACING. 2138C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 2139C***FIRST EXECUTABLE STATEMENT DQK31 2140 EPMACH = D1MACH(4) 2141 UFLOW = D1MACH(1) 2142C 2143 CENTR = 0.5D+00*(A+B) 2144 HLGTH = 0.5D+00*(B-A) 2145 DHLGTH = ABS(HLGTH) 2146C 2147C COMPUTE THE 31-POINT KRONROD APPROXIMATION TO 2148C THE INTEGRAL, AND ESTIMATE THE ABSOLUTE ERROR. 2149C 2150 FC = F(CENTR) 2151 RESG = WG(8)*FC 2152 RESK = WGK(16)*FC 2153 RESABS = ABS(RESK) 2154 DO 10 J=1,7 2155 JTW = J*2 2156 ABSC = HLGTH*XGK(JTW) 2157 FVAL1 = F(CENTR-ABSC) 2158 FVAL2 = F(CENTR+ABSC) 2159 FV1(JTW) = FVAL1 2160 FV2(JTW) = FVAL2 2161 FSUM = FVAL1+FVAL2 2162 RESG = RESG+WG(J)*FSUM 2163 RESK = RESK+WGK(JTW)*FSUM 2164 RESABS = RESABS+WGK(JTW)*(ABS(FVAL1)+ABS(FVAL2)) 2165 10 CONTINUE 2166 DO 15 J = 1,8 2167 JTWM1 = J*2-1 2168 ABSC = HLGTH*XGK(JTWM1) 2169 FVAL1 = F(CENTR-ABSC) 2170 FVAL2 = F(CENTR+ABSC) 2171 FV1(JTWM1) = FVAL1 2172 FV2(JTWM1) = FVAL2 2173 FSUM = FVAL1+FVAL2 2174 RESK = RESK+WGK(JTWM1)*FSUM 2175 RESABS = RESABS+WGK(JTWM1)*(ABS(FVAL1)+ABS(FVAL2)) 2176 15 CONTINUE 2177 RESKH = RESK*0.5D+00 2178 RESASC = WGK(16)*ABS(FC-RESKH) 2179 DO 20 J=1,15 2180 RESASC = RESASC+WGK(J)*(ABS(FV1(J)-RESKH)+ABS(FV2(J)-RESKH)) 2181 20 CONTINUE 2182 RESULT = RESK*HLGTH 2183 RESABS = RESABS*DHLGTH 2184 RESASC = RESASC*DHLGTH 2185 ABSERR = ABS((RESK-RESG)*HLGTH) 2186 IF(RESASC.NE.0.0D+00.AND.ABSERR.NE.0.0D+00) 2187 1 ABSERR = RESASC*MIN(0.1D+01,(0.2D+03*ABSERR/RESASC)**1.5D+00) 2188 IF(RESABS.GT.UFLOW/(0.5D+02*EPMACH)) ABSERR = MAX 2189 1 ((EPMACH*0.5D+02)*RESABS,ABSERR) 2190 RETURN 2191 END 2192 SUBROUTINE DQK41(F,A,B,RESULT,ABSERR,RESABS,RESASC) 2193C 2194C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 2195C DATAPLOT USAGE. 2196C 2197C***BEGIN PROLOGUE DQK41 2198C***DATE WRITTEN 800101 (YYMMDD) 2199C***REVISION DATE 830518 (YYMMDD) 2200C***REVISION HISTORY (YYMMDD) 2201C 000601 Changed DMAX1/DMIN1/DABS to generic MAX/MIN/ABS 2202C***CATEGORY NO. H2A1A2 2203C***KEYWORDS 41-POINT GAUSS-KRONROD RULES 2204C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 2205C K. U. LEUVEN 2206C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 2207C K. U. LEUVEN 2208C***PURPOSE To compute I = Integral of F over (A,B), with error 2209C estimate 2210C J = Integral of ABS(F) over (A,B) 2211C***DESCRIPTION 2212C 2213C Integration rules 2214C Standard fortran subroutine 2215C Double precision version 2216C 2217C PARAMETERS 2218C ON ENTRY 2219C F - Double precision 2220C Function subprogram defining the integrand 2221C FUNCTION F(X). The actual name for F needs to be 2222C declared E X T E R N A L in the calling program. 2223C 2224C A - Double precision 2225C Lower limit of integration 2226C 2227C B - Double precision 2228C Upper limit of integration 2229C 2230C ON RETURN 2231C RESULT - Double precision 2232C Approximation to the integral I 2233C RESULT is computed by applying the 41-POINT 2234C GAUSS-KRONROD RULE (RESK) obtained by optimal 2235C addition of abscissae to the 20-POINT GAUSS 2236C RULE (RESG). 2237C 2238C ABSERR - Double precision 2239C Estimate of the modulus of the absolute error, 2240C which should not exceed ABS(I-RESULT) 2241C 2242C RESABS - Double precision 2243C Approximation to the integral J 2244C 2245C RESASC - Double precision 2246C Approximation to the integal of ABS(F-I/(B-A)) 2247C over (A,B) 2248C***REFERENCES (NONE) 2249C***ROUTINES CALLED D1MACH 2250C***END PROLOGUE DQK41 2251C 2252 INCLUDE 'DPCOMC.INC' 2253 INCLUDE 'DPCOP2.INC' 2254C 2255 DOUBLE PRECISION A,ABSC,ABSERR,B,CENTR,DHLGTH, 2256 1 EPMACH,F,FC,FSUM,FVAL1,FVAL2,FV1,FV2,HLGTH,RESABS,RESASC, 2257 2 RESG,RESK,RESKH,RESULT,UFLOW,WG,WGK,XGK 2258 INTEGER J,JTW,JTWM1 2259 EXTERNAL F 2260C 2261 DIMENSION FV1(20),FV2(20),XGK(21),WGK(21),WG(10) 2262C 2263C THE ABSCISSAE AND WEIGHTS ARE GIVEN FOR THE INTERVAL (-1,1). 2264C BECAUSE OF SYMMETRY ONLY THE POSITIVE ABSCISSAE AND THEIR 2265C CORRESPONDING WEIGHTS ARE GIVEN. 2266C 2267C XGK - ABSCISSAE OF THE 41-POINT GAUSS-KRONROD RULE 2268C XGK(2), XGK(4), ... ABSCISSAE OF THE 20-POINT 2269C GAUSS RULE 2270C XGK(1), XGK(3), ... ABSCISSAE WHICH ARE OPTIMALLY 2271C ADDED TO THE 20-POINT GAUSS RULE 2272C 2273C WGK - WEIGHTS OF THE 41-POINT GAUSS-KRONROD RULE 2274C 2275C WG - WEIGHTS OF THE 20-POINT GAUSS RULE 2276C 2277C 2278C GAUSS QUADRATURE WEIGHTS AND KRONRON QUADRATURE ABSCISSAE AND WEIGHTS 2279C AS EVALUATED WITH 80 DECIMAL DIGIT ARITHMETIC BY L. W. FULLERTON, 2280C BELL LABS, NOV. 1981. 2281C 2282 DATA WG ( 1) / 0.0176140071 3915211831 1861962351 853 D0 / 2283 DATA WG ( 2) / 0.0406014298 0038694133 1039952274 932 D0 / 2284 DATA WG ( 3) / 0.0626720483 3410906356 9506535187 042 D0 / 2285 DATA WG ( 4) / 0.0832767415 7670474872 4758143222 046 D0 / 2286 DATA WG ( 5) / 0.1019301198 1724043503 6750135480 350 D0 / 2287 DATA WG ( 6) / 0.1181945319 6151841731 2377377711 382 D0 / 2288 DATA WG ( 7) / 0.1316886384 4917662689 8494499748 163 D0 / 2289 DATA WG ( 8) / 0.1420961093 1838205132 9298325067 165 D0 / 2290 DATA WG ( 9) / 0.1491729864 7260374678 7828737001 969 D0 / 2291 DATA WG ( 10) / 0.1527533871 3072585069 8084331955 098 D0 / 2292C 2293 DATA XGK ( 1) / 0.9988590315 8827766383 8315576545 863 D0 / 2294 DATA XGK ( 2) / 0.9931285991 8509492478 6122388471 320 D0 / 2295 DATA XGK ( 3) / 0.9815078774 5025025919 3342994720 217 D0 / 2296 DATA XGK ( 4) / 0.9639719272 7791379126 7666131197 277 D0 / 2297 DATA XGK ( 5) / 0.9408226338 3175475351 9982722212 443 D0 / 2298 DATA XGK ( 6) / 0.9122344282 5132590586 7752441203 298 D0 / 2299 DATA XGK ( 7) / 0.8782768112 5228197607 7442995113 078 D0 / 2300 DATA XGK ( 8) / 0.8391169718 2221882339 4529061701 521 D0 / 2301 DATA XGK ( 9) / 0.7950414288 3755119835 0638833272 788 D0 / 2302 DATA XGK ( 10) / 0.7463319064 6015079261 4305070355 642 D0 / 2303 DATA XGK ( 11) / 0.6932376563 3475138480 5490711845 932 D0 / 2304 DATA XGK ( 12) / 0.6360536807 2651502545 2836696226 286 D0 / 2305 DATA XGK ( 13) / 0.5751404468 1971031534 2946036586 425 D0 / 2306 DATA XGK ( 14) / 0.5108670019 5082709800 4364050955 251 D0 / 2307 DATA XGK ( 15) / 0.4435931752 3872510319 9992213492 640 D0 / 2308 DATA XGK ( 16) / 0.3737060887 1541956067 2548177024 927 D0 / 2309 DATA XGK ( 17) / 0.3016278681 1491300432 0555356858 592 D0 / 2310 DATA XGK ( 18) / 0.2277858511 4164507808 0496195368 575 D0 / 2311 DATA XGK ( 19) / 0.1526054652 4092267550 5220241022 678 D0 / 2312 DATA XGK ( 20) / 0.0765265211 3349733375 4640409398 838 D0 / 2313 DATA XGK ( 21) / 0.0000000000 0000000000 0000000000 000 D0 / 2314C 2315 DATA WGK ( 1) / 0.0030735837 1852053150 1218293246 031 D0 / 2316 DATA WGK ( 2) / 0.0086002698 5564294219 8661787950 102 D0 / 2317 DATA WGK ( 3) / 0.0146261692 5697125298 3787960308 868 D0 / 2318 DATA WGK ( 4) / 0.0203883734 6126652359 8010231432 755 D0 / 2319 DATA WGK ( 5) / 0.0258821336 0495115883 4505067096 153 D0 / 2320 DATA WGK ( 6) / 0.0312873067 7703279895 8543119323 801 D0 / 2321 DATA WGK ( 7) / 0.0366001697 5820079803 0557240707 211 D0 / 2322 DATA WGK ( 8) / 0.0416688733 2797368626 3788305936 895 D0 / 2323 DATA WGK ( 9) / 0.0464348218 6749767472 0231880926 108 D0 / 2324 DATA WGK ( 10) / 0.0509445739 2372869193 2707670050 345 D0 / 2325 DATA WGK ( 11) / 0.0551951053 4828599474 4832372419 777 D0 / 2326 DATA WGK ( 12) / 0.0591114008 8063957237 4967220648 594 D0 / 2327 DATA WGK ( 13) / 0.0626532375 5478116802 5870122174 255 D0 / 2328 DATA WGK ( 14) / 0.0658345971 3361842211 1563556969 398 D0 / 2329 DATA WGK ( 15) / 0.0686486729 2852161934 5623411885 368 D0 / 2330 DATA WGK ( 16) / 0.0710544235 5344406830 5790361723 210 D0 / 2331 DATA WGK ( 17) / 0.0730306903 3278666749 5189417658 913 D0 / 2332 DATA WGK ( 18) / 0.0745828754 0049918898 6581418362 488 D0 / 2333 DATA WGK ( 19) / 0.0757044976 8455667465 9542775376 617 D0 / 2334 DATA WGK ( 20) / 0.0763778676 7208073670 5502835038 061 D0 / 2335 DATA WGK ( 21) / 0.0766007119 1799965644 5049901530 102 D0 / 2336C 2337C 2338C LIST OF MAJOR VARIABLES 2339C ----------------------- 2340C 2341C CENTR - MID POINT OF THE INTERVAL 2342C HLGTH - HALF-LENGTH OF THE INTERVAL 2343C ABSC - ABSCISSA 2344C FVAL* - FUNCTION VALUE 2345C RESG - RESULT OF THE 20-POINT GAUSS FORMULA 2346C RESK - RESULT OF THE 41-POINT KRONROD FORMULA 2347C RESKH - APPROXIMATION TO MEAN VALUE OF F OVER (A,B), I.E. 2348C TO I/(B-A) 2349C 2350C MACHINE DEPENDENT CONSTANTS 2351C --------------------------- 2352C 2353C EPMACH IS THE LARGEST RELATIVE SPACING. 2354C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 2355C 2356C***FIRST EXECUTABLE STATEMENT DQK41 2357 EPMACH = D1MACH(4) 2358 UFLOW = D1MACH(1) 2359C 2360 CENTR = 0.5D+00*(A+B) 2361 HLGTH = 0.5D+00*(B-A) 2362 DHLGTH = ABS(HLGTH) 2363C 2364C COMPUTE THE 41-POINT GAUSS-KRONROD APPROXIMATION TO 2365C THE INTEGRAL, AND ESTIMATE THE ABSOLUTE ERROR. 2366C 2367 RESG = 0.0D+00 2368 FC = F(CENTR) 2369 RESK = WGK(21)*FC 2370 RESABS = ABS(RESK) 2371 DO 10 J=1,10 2372 JTW = J*2 2373 ABSC = HLGTH*XGK(JTW) 2374 FVAL1 = F(CENTR-ABSC) 2375 FVAL2 = F(CENTR+ABSC) 2376 FV1(JTW) = FVAL1 2377 FV2(JTW) = FVAL2 2378 FSUM = FVAL1+FVAL2 2379 RESG = RESG+WG(J)*FSUM 2380 RESK = RESK+WGK(JTW)*FSUM 2381 RESABS = RESABS+WGK(JTW)*(ABS(FVAL1)+ABS(FVAL2)) 2382 10 CONTINUE 2383 DO 15 J = 1,10 2384 JTWM1 = J*2-1 2385 ABSC = HLGTH*XGK(JTWM1) 2386 FVAL1 = F(CENTR-ABSC) 2387 FVAL2 = F(CENTR+ABSC) 2388 FV1(JTWM1) = FVAL1 2389 FV2(JTWM1) = FVAL2 2390 FSUM = FVAL1+FVAL2 2391 RESK = RESK+WGK(JTWM1)*FSUM 2392 RESABS = RESABS+WGK(JTWM1)*(ABS(FVAL1)+ABS(FVAL2)) 2393 15 CONTINUE 2394 RESKH = RESK*0.5D+00 2395 RESASC = WGK(21)*ABS(FC-RESKH) 2396 DO 20 J=1,20 2397 RESASC = RESASC+WGK(J)*(ABS(FV1(J)-RESKH)+ABS(FV2(J)-RESKH)) 2398 20 CONTINUE 2399 RESULT = RESK*HLGTH 2400 RESABS = RESABS*DHLGTH 2401 RESASC = RESASC*DHLGTH 2402 ABSERR = ABS((RESK-RESG)*HLGTH) 2403 IF(RESASC.NE.0.0D+00.AND.ABSERR.NE.0.D+00) 2404 1 ABSERR = RESASC*MIN(0.1D+01,(0.2D+03*ABSERR/RESASC)**1.5D+00) 2405 IF(RESABS.GT.UFLOW/(0.5D+02*EPMACH)) ABSERR = MAX 2406 1 ((EPMACH*0.5D+02)*RESABS,ABSERR) 2407 RETURN 2408 END 2409 SUBROUTINE DQK51(F,A,B,RESULT,ABSERR,RESABS,RESASC) 2410C 2411C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 2412C DATAPLOT USAGE. 2413C 2414C***BEGIN PROLOGUE DQK51 2415C***DATE WRITTEN 800101 (YYMMDD) 2416C***REVISION DATE 830518 (YYMMDD) 2417C 960627 Missing WGK(26) restored (RFB). 2418C 000601 Changed DMAX1/DMIN1/DABS to generic MAX/MIN/ABS 2419C***CATEGORY NO. H2A1A2 2420C***KEYWORDS 51-POINT GAUSS-KRONROD RULES 2421C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 2422C K. U. LEUVEN 2423C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 2424C K. U. LEUVEN 2425C***PURPOSE To compute I = Integral of F over (A,B) with error 2426C estimate 2427C J = Integral of ABS(F) over (A,B) 2428C***DESCRIPTION 2429C 2430C Integration rules 2431C Standard fortran subroutine 2432C Double precision version 2433C 2434C PARAMETERS 2435C ON ENTRY 2436C F - Double precision 2437C Function subroutine defining the integrand 2438C function F(X). The actual name for F needs to be 2439C declared E X T E R N A L in the calling program. 2440C 2441C A - Double precision 2442C Lower limit of integration 2443C 2444C B - Double precision 2445C Upper limit of integration 2446C 2447C ON RETURN 2448C RESULT - Double precision 2449C Approximation to the integral I 2450C RESULT is computed by applying the 51-point 2451C Kronrod rule (RESK) obtained by optimal addition 2452C of abscissae to the 25-point Gauss rule (RESG). 2453C 2454C ABSERR - Double precision 2455C Estimate of the modulus of the absolute error, 2456C which should not exceed ABS(I-RESULT) 2457C 2458C RESABS - Double precision 2459C Approximation to the integral J 2460C 2461C RESASC - Double precision 2462C Approximation to the integral of ABS(F-I/(B-A)) 2463C over (A,B) 2464C***REFERENCES (NONE) 2465C***ROUTINES CALLED D1MACH 2466C***END PROLOGUE DQK51 2467C 2468 INCLUDE 'DPCOMC.INC' 2469 INCLUDE 'DPCOP2.INC' 2470C 2471 DOUBLE PRECISION A,ABSC,ABSERR,B,CENTR,DHLGTH, 2472 1 EPMACH,F,FC,FSUM,FVAL1,FVAL2,FV1,FV2,HLGTH,RESABS,RESASC, 2473 2 RESG,RESK,RESKH,RESULT,UFLOW,WG,WGK,XGK 2474 INTEGER J,JTW,JTWM1 2475 EXTERNAL F 2476C 2477 DIMENSION FV1(25),FV2(25),XGK(26),WGK(26),WG(13) 2478C 2479C THE ABSCISSAE AND WEIGHTS ARE GIVEN FOR THE INTERVAL (-1,1). 2480C BECAUSE OF SYMMETRY ONLY THE POSITIVE ABSCISSAE AND THEIR 2481C CORRESPONDING WEIGHTS ARE GIVEN. 2482C 2483C XGK - ABSCISSAE OF THE 51-POINT KRONROD RULE 2484C XGK(2), XGK(4), ... ABSCISSAE OF THE 25-POINT 2485C GAUSS RULE 2486C XGK(1), XGK(3), ... ABSCISSAE WHICH ARE OPTIMALLY 2487C ADDED TO THE 25-POINT GAUSS RULE 2488C 2489C WGK - WEIGHTS OF THE 51-POINT KRONROD RULE 2490C 2491C WG - WEIGHTS OF THE 25-POINT GAUSS RULE 2492C 2493C 2494C GAUSS QUADRATURE WEIGHTS AND KRONRON QUADRATURE ABSCISSAE AND WEIGHTS 2495C AS EVALUATED WITH 80 DECIMAL DIGIT ARITHMETIC BY L. W. FULLERTON, 2496C BELL LABS, NOV. 1981. 2497C 2498 DATA WG ( 1) / 0.0113937985 0102628794 7902964113 235 D0 / 2499 DATA WG ( 2) / 0.0263549866 1503213726 1901815295 299 D0 / 2500 DATA WG ( 3) / 0.0409391567 0130631265 5623487711 646 D0 / 2501 DATA WG ( 4) / 0.0549046959 7583519192 5936891540 473 D0 / 2502 DATA WG ( 5) / 0.0680383338 1235691720 7187185656 708 D0 / 2503 DATA WG ( 6) / 0.0801407003 3500101801 3234959669 111 D0 / 2504 DATA WG ( 7) / 0.0910282619 8296364981 1497220702 892 D0 / 2505 DATA WG ( 8) / 0.1005359490 6705064420 2206890392 686 D0 / 2506 DATA WG ( 9) / 0.1085196244 7426365311 6093957050 117 D0 / 2507 DATA WG ( 10) / 0.1148582591 4571164833 9325545869 556 D0 / 2508 DATA WG ( 11) / 0.1194557635 3578477222 8178126512 901 D0 / 2509 DATA WG ( 12) / 0.1222424429 9031004168 8959518945 852 D0 / 2510 DATA WG ( 13) / 0.1231760537 2671545120 3902873079 050 D0 / 2511C 2512 DATA XGK ( 1) / 0.9992621049 9260983419 3457486540 341 D0 / 2513 DATA XGK ( 2) / 0.9955569697 9049809790 8784946893 902 D0 / 2514 DATA XGK ( 3) / 0.9880357945 3407724763 7331014577 406 D0 / 2515 DATA XGK ( 4) / 0.9766639214 5951751149 8315386479 594 D0 / 2516 DATA XGK ( 5) / 0.9616149864 2584251241 8130033660 167 D0 / 2517 DATA XGK ( 6) / 0.9429745712 2897433941 4011169658 471 D0 / 2518 DATA XGK ( 7) / 0.9207471152 8170156174 6346084546 331 D0 / 2519 DATA XGK ( 8) / 0.8949919978 7827536885 1042006782 805 D0 / 2520 DATA XGK ( 9) / 0.8658470652 9327559544 8996969588 340 D0 / 2521 DATA XGK ( 10) / 0.8334426287 6083400142 1021108693 570 D0 / 2522 DATA XGK ( 11) / 0.7978737979 9850005941 0410904994 307 D0 / 2523 DATA XGK ( 12) / 0.7592592630 3735763057 7282865204 361 D0 / 2524 DATA XGK ( 13) / 0.7177664068 1308438818 6654079773 298 D0 / 2525 DATA XGK ( 14) / 0.6735663684 7346836448 5120633247 622 D0 / 2526 DATA XGK ( 15) / 0.6268100990 1031741278 8122681624 518 D0 / 2527 DATA XGK ( 16) / 0.5776629302 4122296772 3689841612 654 D0 / 2528 DATA XGK ( 17) / 0.5263252843 3471918259 9623778158 010 D0 / 2529 DATA XGK ( 18) / 0.4730027314 4571496052 2182115009 192 D0 / 2530 DATA XGK ( 19) / 0.4178853821 9303774885 1814394594 572 D0 / 2531 DATA XGK ( 20) / 0.3611723058 0938783773 5821730127 641 D0 / 2532 DATA XGK ( 21) / 0.3030895389 3110783016 7478909980 339 D0 / 2533 DATA XGK ( 22) / 0.2438668837 2098843204 5190362797 452 D0 / 2534 DATA XGK ( 23) / 0.1837189394 2104889201 5969888759 528 D0 / 2535 DATA XGK ( 24) / 0.1228646926 1071039638 7359818808 037 D0 / 2536 DATA XGK ( 25) / 0.0615444830 0568507888 6546392366 797 D0 / 2537 DATA XGK ( 26) / 0.0000000000 0000000000 0000000000 000 D0 / 2538C 2539 DATA WGK ( 1) / 0.0019873838 9233031592 6507851882 843 D0 / 2540 DATA WGK ( 2) / 0.0055619321 3535671375 8040236901 066 D0 / 2541 DATA WGK ( 3) / 0.0094739733 8617415160 7207710523 655 D0 / 2542 DATA WGK ( 4) / 0.0132362291 9557167481 3656405846 976 D0 / 2543 DATA WGK ( 5) / 0.0168478177 0912829823 1516667536 336 D0 / 2544 DATA WGK ( 6) / 0.0204353711 4588283545 6568292235 939 D0 / 2545 DATA WGK ( 7) / 0.0240099456 0695321622 0092489164 881 D0 / 2546 DATA WGK ( 8) / 0.0274753175 8785173780 2948455517 811 D0 / 2547 DATA WGK ( 9) / 0.0307923001 6738748889 1109020215 229 D0 / 2548 DATA WGK ( 10) / 0.0340021302 7432933783 6748795229 551 D0 / 2549 DATA WGK ( 11) / 0.0371162714 8341554356 0330625367 620 D0 / 2550 DATA WGK ( 12) / 0.0400838255 0403238207 4839284467 076 D0 / 2551 DATA WGK ( 13) / 0.0428728450 2017004947 6895792439 495 D0 / 2552 DATA WGK ( 14) / 0.0455029130 4992178890 9870584752 660 D0 / 2553 DATA WGK ( 15) / 0.0479825371 3883671390 6392255756 915 D0 / 2554 DATA WGK ( 16) / 0.0502776790 8071567196 3325259433 440 D0 / 2555 DATA WGK ( 17) / 0.0523628858 0640747586 4366712137 873 D0 / 2556 DATA WGK ( 18) / 0.0542511298 8854549014 4543370459 876 D0 / 2557 DATA WGK ( 19) / 0.0559508112 2041231730 8240686382 747 D0 / 2558 DATA WGK ( 20) / 0.0574371163 6156783285 3582693939 506 D0 / 2559 DATA WGK ( 21) / 0.0586896800 2239420796 1974175856 788 D0 / 2560 DATA WGK ( 22) / 0.0597203403 2417405997 9099291932 562 D0 / 2561 DATA WGK ( 23) / 0.0605394553 7604586294 5360267517 565 D0 / 2562 DATA WGK ( 24) / 0.0611285097 1705304830 5859030416 293 D0 / 2563 DATA WGK ( 25) / 0.0614711898 7142531666 1544131965 264 D0 / 2564 DATA WGK ( 26) / 0.0615808180 6783293507 8759824240 055 D0 / 2565C 2566C 2567C LIST OF MAJOR VARIABLES 2568C ----------------------- 2569C 2570C CENTR - MID POINT OF THE INTERVAL 2571C HLGTH - HALF-LENGTH OF THE INTERVAL 2572C ABSC - ABSCISSA 2573C FVAL* - FUNCTION VALUE 2574C RESG - RESULT OF THE 25-POINT GAUSS FORMULA 2575C RESK - RESULT OF THE 51-POINT KRONROD FORMULA 2576C RESKH - APPROXIMATION TO THE MEAN VALUE OF F OVER (A,B), 2577C I.E. TO I/(B-A) 2578C 2579C MACHINE DEPENDENT CONSTANTS 2580C --------------------------- 2581C 2582C EPMACH IS THE LARGEST RELATIVE SPACING. 2583C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 2584C 2585C***FIRST EXECUTABLE STATEMENT DQK51 2586 EPMACH = D1MACH(4) 2587 UFLOW = D1MACH(1) 2588C 2589 CENTR = 0.5D+00*(A+B) 2590 HLGTH = 0.5D+00*(B-A) 2591 DHLGTH = ABS(HLGTH) 2592C 2593C COMPUTE THE 51-POINT KRONROD APPROXIMATION TO 2594C THE INTEGRAL, AND ESTIMATE THE ABSOLUTE ERROR. 2595C 2596 FC = F(CENTR) 2597 RESG = WG(13)*FC 2598 RESK = WGK(26)*FC 2599 RESABS = ABS(RESK) 2600 DO 10 J=1,12 2601 JTW = J*2 2602 ABSC = HLGTH*XGK(JTW) 2603 FVAL1 = F(CENTR-ABSC) 2604 FVAL2 = F(CENTR+ABSC) 2605 FV1(JTW) = FVAL1 2606 FV2(JTW) = FVAL2 2607 FSUM = FVAL1+FVAL2 2608 RESG = RESG+WG(J)*FSUM 2609 RESK = RESK+WGK(JTW)*FSUM 2610 RESABS = RESABS+WGK(JTW)*(ABS(FVAL1)+ABS(FVAL2)) 2611 10 CONTINUE 2612 DO 15 J = 1,13 2613 JTWM1 = J*2-1 2614 ABSC = HLGTH*XGK(JTWM1) 2615 FVAL1 = F(CENTR-ABSC) 2616 FVAL2 = F(CENTR+ABSC) 2617 FV1(JTWM1) = FVAL1 2618 FV2(JTWM1) = FVAL2 2619 FSUM = FVAL1+FVAL2 2620 RESK = RESK+WGK(JTWM1)*FSUM 2621 RESABS = RESABS+WGK(JTWM1)*(ABS(FVAL1)+ABS(FVAL2)) 2622 15 CONTINUE 2623 RESKH = RESK*0.5D+00 2624 RESASC = WGK(26)*ABS(FC-RESKH) 2625 DO 20 J=1,25 2626 RESASC = RESASC+WGK(J)*(ABS(FV1(J)-RESKH)+ABS(FV2(J)-RESKH)) 2627 20 CONTINUE 2628 RESULT = RESK*HLGTH 2629 RESABS = RESABS*DHLGTH 2630 RESASC = RESASC*DHLGTH 2631 ABSERR = ABS((RESK-RESG)*HLGTH) 2632 IF(RESASC.NE.0.0D+00.AND.ABSERR.NE.0.0D+00) 2633 1 ABSERR = RESASC*MIN(0.1D+01,(0.2D+03*ABSERR/RESASC)**1.5D+00) 2634 IF(RESABS.GT.UFLOW/(0.5D+02*EPMACH)) ABSERR = MAX 2635 1 ((EPMACH*0.5D+02)*RESABS,ABSERR) 2636 RETURN 2637 END 2638 SUBROUTINE DQK61(F,A,B,RESULT,ABSERR,RESABS,RESASC) 2639C 2640C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 2641C DATAPLOT USAGE. 2642C 2643C***BEGIN PROLOGUE DQK61 2644C***DATE WRITTEN 800101 (YYMMDD) 2645C***REVISION DATE 830518 (YYMMDD) 2646C***REVISION HISTORY (YYMMDD) 2647C 000601 Changed DMAX1/DMIN1/DABS to generic MAX/MIN/ABS 2648C***CATEGORY NO. H2A1A2 2649C***KEYWORDS 61-POINT GAUSS-KRONROD RULES 2650C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 2651C K. U. LEUVEN 2652C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 2653C K. U. LEUVEN 2654C***PURPOSE To compute I = Integral of F over (A,B) with error 2655C estimate 2656C J = Integral of DABS(F) over (A,B) 2657C***DESCRIPTION 2658C 2659C Integration rule 2660C Standard fortran subroutine 2661C Double precision version 2662C 2663C 2664C PARAMETERS 2665C ON ENTRY 2666C F - Double precision 2667C Function subprogram defining the integrand 2668C function F(X). The actual name for F needs to be 2669C declared E X T E R N A L in the calling program. 2670C 2671C A - Double precision 2672C Lower limit of integration 2673C 2674C B - Double precision 2675C Upper limit of integration 2676C 2677C ON RETURN 2678C RESULT - Double precision 2679C Approximation to the integral I 2680C RESULT is computed by applying the 61-point 2681C Kronrod rule (RESK) obtained by optimal addition of 2682C abscissae to the 30-point Gauss rule (RESG). 2683C 2684C ABSERR - Double precision 2685C Estimate of the modulus of the absolute error, 2686C which should equal or exceed DABS(I-RESULT) 2687C 2688C RESABS - Double precision 2689C Approximation to the integral J 2690C 2691C RESASC - Double precision 2692C Approximation to the integral of DABS(F-I/(B-A)) 2693C***REFERENCES (NONE) 2694C***ROUTINES CALLED D1MACH 2695C***END PROLOGUE DQK61 2696C 2697 INCLUDE 'DPCOMC.INC' 2698 INCLUDE 'DPCOP2.INC' 2699C 2700CCCCC DOUBLE PRECISION A,DABSC,ABSERR,B,CENTR,ABS,DHLGTH, 2701 DOUBLE PRECISION A,DABSC,ABSERR,B,CENTR,DHLGTH, 2702 1 EPMACH,F,FC,FSUM,FVAL1,FVAL2,FV1,FV2,HLGTH,RESABS,RESASC, 2703 2 RESG,RESK,RESKH,RESULT,UFLOW,WG,WGK,XGK 2704 INTEGER J,JTW,JTWM1 2705 EXTERNAL F 2706C 2707 DIMENSION FV1(30),FV2(30),XGK(31),WGK(31),WG(15) 2708C 2709C THE ABSCISSAE AND WEIGHTS ARE GIVEN FOR THE 2710C INTERVAL (-1,1). BECAUSE OF SYMMETRY ONLY THE POSITIVE 2711C ABSCISSAE AND THEIR CORRESPONDING WEIGHTS ARE GIVEN. 2712C 2713C XGK - ABSCISSAE OF THE 61-POINT KRONROD RULE 2714C XGK(2), XGK(4) ... ABSCISSAE OF THE 30-POINT 2715C GAUSS RULE 2716C XGK(1), XGK(3) ... OPTIMALLY ADDED ABSCISSAE 2717C TO THE 30-POINT GAUSS RULE 2718C 2719C WGK - WEIGHTS OF THE 61-POINT KRONROD RULE 2720C 2721C WG - WEIGTHS OF THE 30-POINT GAUSS RULE 2722C 2723C 2724C GAUSS QUADRATURE WEIGHTS AND KRONRON QUADRATURE ABSCISSAE AND WEIGHTS 2725C AS EVALUATED WITH 80 DECIMAL DIGIT ARITHMETIC BY L. W. FULLERTON, 2726C BELL LABS, NOV. 1981. 2727C 2728 DATA WG ( 1) / 0.0079681924 9616660561 5465883474 674 D0 / 2729 DATA WG ( 2) / 0.0184664683 1109095914 2302131912 047 D0 / 2730 DATA WG ( 3) / 0.0287847078 8332336934 9719179611 292 D0 / 2731 DATA WG ( 4) / 0.0387991925 6962704959 6801936446 348 D0 / 2732 DATA WG ( 5) / 0.0484026728 3059405290 2938140422 808 D0 / 2733 DATA WG ( 6) / 0.0574931562 1761906648 1721689402 056 D0 / 2734 DATA WG ( 7) / 0.0659742298 8218049512 8128515115 962 D0 / 2735 DATA WG ( 8) / 0.0737559747 3770520626 8243850022 191 D0 / 2736 DATA WG ( 9) / 0.0807558952 2942021535 4694938460 530 D0 / 2737 DATA WG ( 10) / 0.0868997872 0108297980 2387530715 126 D0 / 2738 DATA WG ( 11) / 0.0921225222 3778612871 7632707087 619 D0 / 2739 DATA WG ( 12) / 0.0963687371 7464425963 9468626351 810 D0 / 2740 DATA WG ( 13) / 0.0995934205 8679526706 2780282103 569 D0 / 2741 DATA WG ( 14) / 0.1017623897 4840550459 6428952168 554 D0 / 2742 DATA WG ( 15) / 0.1028526528 9355884034 1285636705 415 D0 / 2743C 2744 DATA XGK ( 1) / 0.9994844100 5049063757 1325895705 811 D0 / 2745 DATA XGK ( 2) / 0.9968934840 7464954027 1630050918 695 D0 / 2746 DATA XGK ( 3) / 0.9916309968 7040459485 8628366109 486 D0 / 2747 DATA XGK ( 4) / 0.9836681232 7974720997 0032581605 663 D0 / 2748 DATA XGK ( 5) / 0.9731163225 0112626837 4693868423 707 D0 / 2749 DATA XGK ( 6) / 0.9600218649 6830751221 6871025581 798 D0 / 2750 DATA XGK ( 7) / 0.9443744447 4855997941 5831324037 439 D0 / 2751 DATA XGK ( 8) / 0.9262000474 2927432587 9324277080 474 D0 / 2752 DATA XGK ( 9) / 0.9055733076 9990779854 6522558925 958 D0 / 2753 DATA XGK ( 10) / 0.8825605357 9205268154 3116462530 226 D0 / 2754 DATA XGK ( 11) / 0.8572052335 4606109895 8658510658 944 D0 / 2755 DATA XGK ( 12) / 0.8295657623 8276839744 2898119732 502 D0 / 2756 DATA XGK ( 13) / 0.7997278358 2183908301 3668942322 683 D0 / 2757 DATA XGK ( 14) / 0.7677774321 0482619491 7977340974 503 D0 / 2758 DATA XGK ( 15) / 0.7337900624 5322680472 6171131369 528 D0 / 2759 DATA XGK ( 16) / 0.6978504947 9331579693 2292388026 640 D0 / 2760 DATA XGK ( 17) / 0.6600610641 2662696137 0053668149 271 D0 / 2761 DATA XGK ( 18) / 0.6205261829 8924286114 0477556431 189 D0 / 2762 DATA XGK ( 19) / 0.5793452358 2636169175 6024932172 540 D0 / 2763 DATA XGK ( 20) / 0.5366241481 4201989926 4169793311 073 D0 / 2764 DATA XGK ( 21) / 0.4924804678 6177857499 3693061207 709 D0 / 2765 DATA XGK ( 22) / 0.4470337695 3808917678 0609900322 854 D0 / 2766 DATA XGK ( 23) / 0.4004012548 3039439253 5476211542 661 D0 / 2767 DATA XGK ( 24) / 0.3527047255 3087811347 1037207089 374 D0 / 2768 DATA XGK ( 25) / 0.3040732022 7362507737 2677107199 257 D0 / 2769 DATA XGK ( 26) / 0.2546369261 6788984643 9805129817 805 D0 / 2770 DATA XGK ( 27) / 0.2045251166 8230989143 8957671002 025 D0 / 2771 DATA XGK ( 28) / 0.1538699136 0858354696 3794672743 256 D0 / 2772 DATA XGK ( 29) / 0.1028069379 6673703014 7096751318 001 D0 / 2773 DATA XGK ( 30) / 0.0514718425 5531769583 3025213166 723 D0 / 2774 DATA XGK ( 31) / 0.0000000000 0000000000 0000000000 000 D0 / 2775C 2776 DATA WGK ( 1) / 0.0013890136 9867700762 4551591226 760 D0 / 2777 DATA WGK ( 2) / 0.0038904611 2709988405 1267201844 516 D0 / 2778 DATA WGK ( 3) / 0.0066307039 1593129217 3319826369 750 D0 / 2779 DATA WGK ( 4) / 0.0092732796 5951776342 8441146892 024 D0 / 2780 DATA WGK ( 5) / 0.0118230152 5349634174 2232898853 251 D0 / 2781 DATA WGK ( 6) / 0.0143697295 0704580481 2451432443 580 D0 / 2782 DATA WGK ( 7) / 0.0169208891 8905327262 7572289420 322 D0 / 2783 DATA WGK ( 8) / 0.0194141411 9394238117 3408951050 128 D0 / 2784 DATA WGK ( 9) / 0.0218280358 2160919229 7167485738 339 D0 / 2785 DATA WGK ( 10) / 0.0241911620 7808060136 5686370725 232 D0 / 2786 DATA WGK ( 11) / 0.0265099548 8233310161 0601709335 075 D0 / 2787 DATA WGK ( 12) / 0.0287540487 6504129284 3978785354 334 D0 / 2788 DATA WGK ( 13) / 0.0309072575 6238776247 2884252943 092 D0 / 2789 DATA WGK ( 14) / 0.0329814470 5748372603 1814191016 854 D0 / 2790 DATA WGK ( 15) / 0.0349793380 2806002413 7499670731 468 D0 / 2791 DATA WGK ( 16) / 0.0368823646 5182122922 3911065617 136 D0 / 2792 DATA WGK ( 17) / 0.0386789456 2472759295 0348651532 281 D0 / 2793 DATA WGK ( 18) / 0.0403745389 5153595911 1995279752 468 D0 / 2794 DATA WGK ( 19) / 0.0419698102 1516424614 7147541285 970 D0 / 2795 DATA WGK ( 20) / 0.0434525397 0135606931 6831728117 073 D0 / 2796 DATA WGK ( 21) / 0.0448148001 3316266319 2355551616 723 D0 / 2797 DATA WGK ( 22) / 0.0460592382 7100698811 6271735559 374 D0 / 2798 DATA WGK ( 23) / 0.0471855465 6929915394 5261478181 099 D0 / 2799 DATA WGK ( 24) / 0.0481858617 5708712914 0779492298 305 D0 / 2800 DATA WGK ( 25) / 0.0490554345 5502977888 7528165367 238 D0 / 2801 DATA WGK ( 26) / 0.0497956834 2707420635 7811569379 942 D0 / 2802 DATA WGK ( 27) / 0.0504059214 0278234684 0893085653 585 D0 / 2803 DATA WGK ( 28) / 0.0508817958 9874960649 2297473049 805 D0 / 2804 DATA WGK ( 29) / 0.0512215478 4925877217 0656282604 944 D0 / 2805 DATA WGK ( 30) / 0.0514261285 3745902593 3862879215 781 D0 / 2806 DATA WGK ( 31) / 0.0514947294 2945156755 8340433647 099 D0 / 2807C 2808C LIST OF MAJOR VARIABLES 2809C ----------------------- 2810C 2811C CENTR - MID POINT OF THE INTERVAL 2812C HLGTH - HALF-LENGTH OF THE INTERVAL 2813C DABSC - ABSCISSA 2814C FVAL* - FUNCTION VALUE 2815C RESG - RESULT OF THE 30-POINT GAUSS RULE 2816C RESK - RESULT OF THE 61-POINT KRONROD RULE 2817C RESKH - APPROXIMATION TO THE MEAN VALUE OF F 2818C OVER (A,B), I.E. TO I/(B-A) 2819C 2820C MACHINE DEPENDENT CONSTANTS 2821C --------------------------- 2822C 2823C EPMACH IS THE LARGEST RELATIVE SPACING. 2824C UFLOW IS THE SMALLEST POSITIVE MAGNITUDE. 2825C 2826C***FIRST EXECUTABLE STATEMENT DQK61 2827 EPMACH = D1MACH(4) 2828 UFLOW = D1MACH(1) 2829C 2830 CENTR = 0.5D+00*(B+A) 2831 HLGTH = 0.5D+00*(B-A) 2832 DHLGTH = DABS(HLGTH) 2833C 2834C COMPUTE THE 61-POINT KRONROD APPROXIMATION TO THE 2835C INTEGRAL, AND ESTIMATE THE ABSOLUTE ERROR. 2836C 2837 RESG = 0.0D+00 2838 FC = F(CENTR) 2839 RESK = WGK(31)*FC 2840 RESABS = DABS(RESK) 2841 DO 10 J=1,15 2842 JTW = J*2 2843 DABSC = HLGTH*XGK(JTW) 2844 FVAL1 = F(CENTR-DABSC) 2845 FVAL2 = F(CENTR+DABSC) 2846 FV1(JTW) = FVAL1 2847 FV2(JTW) = FVAL2 2848 FSUM = FVAL1+FVAL2 2849 RESG = RESG+WG(J)*FSUM 2850 RESK = RESK+WGK(JTW)*FSUM 2851 RESABS = RESABS+WGK(JTW)*(DABS(FVAL1)+DABS(FVAL2)) 2852 10 CONTINUE 2853 DO 15 J=1,15 2854 JTWM1 = J*2-1 2855 DABSC = HLGTH*XGK(JTWM1) 2856 FVAL1 = F(CENTR-DABSC) 2857 FVAL2 = F(CENTR+DABSC) 2858 FV1(JTWM1) = FVAL1 2859 FV2(JTWM1) = FVAL2 2860 FSUM = FVAL1+FVAL2 2861 RESK = RESK+WGK(JTWM1)*FSUM 2862 RESABS = RESABS+WGK(JTWM1)*(ABS(FVAL1)+DABS(FVAL2)) 2863 15 CONTINUE 2864 RESKH = RESK*0.5D+00 2865 RESASC = WGK(31)*DABS(FC-RESKH) 2866 DO 20 J=1,30 2867 RESASC = RESASC+WGK(J)*(DABS(FV1(J)-RESKH)+DABS(FV2(J)-RESKH)) 2868 20 CONTINUE 2869 RESULT = RESK*HLGTH 2870 RESABS = RESABS*DHLGTH 2871 RESASC = RESASC*DHLGTH 2872 ABSERR = DABS((RESK-RESG)*HLGTH) 2873 IF(RESASC.NE.0.0D+00.AND.ABSERR.NE.0.0D+00) 2874 1 ABSERR = RESASC*MIN(0.1D+01,(0.2D+03*ABSERR/RESASC)**1.5D+00) 2875 IF(RESABS.GT.UFLOW/(0.5D+02*EPMACH)) ABSERR = MAX 2876 1 ((EPMACH*0.5D+02)*RESABS,ABSERR) 2877 RETURN 2878 END 2879 SUBROUTINE DQPSRT(LIMIT,LAST,MAXERR,ERMAX,ELIST,IORD,NRMAX) 2880C 2881C ADDED TO DATAPLOT 12/2003. THIS ROUTINE ADDED FOR INTERNAL 2882C DATAPLOT USAGE. 2883C 2884C***BEGIN PROLOGUE DQPSRT 2885C***REFER TO DQAGE,DQAGIE,DQAGPE,DQAWSE 2886C***ROUTINES CALLED (NONE) 2887C***REVISION DATE 810101 (YYMMDD) 2888C***KEYWORDS SEQUENTIAL SORTING 2889C***AUTHOR PIESSENS, ROBERT, APPLIED MATH. AND PROGR. DIV. - 2890C K. U. LEUVEN 2891C DE DONCKER, ELISE, APPLIED MATH. AND PROGR. DIV. - 2892C K. U. LEUVEN 2893C***PURPOSE This routine maintains the descending ordering in the 2894C list of the local error estimated resulting from the 2895C interval subdivision process. At each call two error 2896C estimates are inserted using the sequential search 2897C method, top-down for the largest error estimate and 2898C bottom-up for the smallest error estimate. 2899C***DESCRIPTION 2900C 2901C Ordering routine 2902C Standard fortran subroutine 2903C Double precision version 2904C 2905C PARAMETERS (MEANING AT OUTPUT) 2906C LIMIT - Integer 2907C Maximum number of error estimates the list 2908C can contain 2909C 2910C LAST - Integer 2911C Number of error estimates currently in the list 2912C 2913C MAXERR - Integer 2914C Maxerr points to the NRMAX-th largest error 2915C estimate currently in the list 2916C 2917C ERMAX - Double precision 2918C NRMAX-th largest error estimate 2919C ERMAX = ELIST(MAXERR) 2920C 2921C ELIST - Double precision 2922C Vector of dimension LAST containing 2923C the error estimates 2924C 2925C IORD - Integer 2926C Vector of dimension LAST, the first K elements 2927C of which contain pointers to the error 2928C estimates, such that 2929C ELIST(IORD(1)),..., ELIST(IORD(K)) 2930C form a decreasing sequence, with 2931C K = LAST if LAST.LE.(LIMIT/2+2), and 2932C K = LIMIT+1-LAST otherwise 2933C 2934C NRMAX - Integer 2935C MAXERR = IORD(NRMAX) 2936C***END PROLOGUE DQPSRT 2937C 2938 DOUBLE PRECISION ELIST,ERMAX,ERRMAX,ERRMIN 2939 INTEGER I,IBEG,IDO,IORD,ISUCC,J,JBND,JUPBN,K,LAST,LIMIT,MAXERR, 2940 1 NRMAX 2941 DIMENSION ELIST(LAST),IORD(LAST) 2942C 2943 INCLUDE 'DPCOMC.INC' 2944 INCLUDE 'DPCOP2.INC' 2945C 2946C CHECK WHETHER THE LIST CONTAINS MORE THAN 2947C TWO ERROR ESTIMATES. 2948C 2949C***FIRST EXECUTABLE STATEMENT DQPSRT 2950 IF(LAST.GT.2) GO TO 10 2951 IORD(1) = 1 2952 IORD(2) = 2 2953 GO TO 90 2954C 2955C THIS PART OF THE ROUTINE IS ONLY EXECUTED IF, DUE TO A 2956C DIFFICULT INTEGRAND, SUBDIVISION INCREASED THE ERROR 2957C ESTIMATE. IN THE NORMAL CASE THE INSERT PROCEDURE SHOULD 2958C START AFTER THE NRMAX-TH LARGEST ERROR ESTIMATE. 2959C 2960 10 ERRMAX = ELIST(MAXERR) 2961 IF(NRMAX.EQ.1) GO TO 30 2962 IDO = NRMAX-1 2963 DO 20 I = 1,IDO 2964 ISUCC = IORD(NRMAX-1) 2965C ***JUMP OUT OF DO-LOOP 2966 IF(ERRMAX.LE.ELIST(ISUCC)) GO TO 30 2967 IORD(NRMAX) = ISUCC 2968 NRMAX = NRMAX-1 2969 20 CONTINUE 2970C 2971C COMPUTE THE NUMBER OF ELEMENTS IN THE LIST TO BE MAINTAINED 2972C IN DESCENDING ORDER. THIS NUMBER DEPENDS ON THE NUMBER OF 2973C SUBDIVISIONS STILL ALLOWED. 2974C 2975 30 JUPBN = LAST 2976 IF(LAST.GT.(LIMIT/2+2)) JUPBN = LIMIT+3-LAST 2977 ERRMIN = ELIST(LAST) 2978C 2979C INSERT ERRMAX BY TRAVERSING THE LIST TOP-DOWN, 2980C STARTING COMPARISON FROM THE ELEMENT ELIST(IORD(NRMAX+1)). 2981C 2982 JBND = JUPBN-1 2983 IBEG = NRMAX+1 2984 IF(IBEG.GT.JBND) GO TO 50 2985 DO 40 I=IBEG,JBND 2986 ISUCC = IORD(I) 2987C ***JUMP OUT OF DO-LOOP 2988 IF(ERRMAX.GE.ELIST(ISUCC)) GO TO 60 2989 IORD(I-1) = ISUCC 2990 40 CONTINUE 2991 50 IORD(JBND) = MAXERR 2992 IORD(JUPBN) = LAST 2993 GO TO 90 2994C 2995C INSERT ERRMIN BY TRAVERSING THE LIST BOTTOM-UP. 2996C 2997 60 IORD(I-1) = MAXERR 2998 K = JBND 2999 DO 70 J=I,JBND 3000 ISUCC = IORD(K) 3001C ***JUMP OUT OF DO-LOOP 3002 IF(ERRMIN.LT.ELIST(ISUCC)) GO TO 80 3003 IORD(K+1) = ISUCC 3004 K = K-1 3005 70 CONTINUE 3006 IORD(I) = LAST 3007 GO TO 90 3008 80 IORD(K+1) = LAST 3009C 3010C SET MAXERR AND ERMAX. 3011C 3012 90 MAXERR = IORD(NRMAX) 3013 ERMAX = ELIST(MAXERR) 3014 RETURN 3015 END 3016 SUBROUTINE DQRDC(X,LDX,N,P,QRAUX,JPVT,WORK,JOB) 3017C***BEGIN PROLOGUE DQRDC 3018C***DATE WRITTEN 780814 (YYMMDD) 3019C***REVISION DATE 820801 (YYMMDD) 3020C***REVISION HISTORY (YYMMDD) 3021C 000330 Modified array declarations. (JEC) 3022C***CATEGORY NO. D5 3023C***KEYWORDS DECOMPOSITION,DOUBLE PRECISION,LINEAR ALGEBRA,LINPACK, 3024C MATRIX,ORTHOGONAL TRIANGULAR 3025C***AUTHOR STEWART, G. W., (U. OF MARYLAND) 3026C***PURPOSE Uses Householder transformations to compute the Qr factori- 3027C zation of N by P matrix X. Column pivoting is optional. 3028C***DESCRIPTION 3029C 3030C DQRDC uses Householder transformations to compute the QR 3031C factorization of an N by P matrix X. Column pivoting 3032C based on the 2-norms of the reduced columns may be 3033C performed at the user's option. 3034C 3035C On Entry 3036C 3037C X DOUBLE PRECISION(LDX,P), where LDX .GE. N. 3038C X contains the matrix whose decomposition is to be 3039C computed. 3040C 3041C LDX INTEGER. 3042C LDX is the leading dimension of the array X. 3043C 3044C N INTEGER. 3045C N is the number of rows of the matrix X. 3046C 3047C P INTEGER. 3048C P is the number of columns of the matrix X. 3049C 3050C JPVT INTEGER(P). 3051C JPVT contains integers that control the selection 3052C of the pivot columns. The K-th column X(K) of X 3053C is placed in one of three classes according to the 3054C value of JPVT(K). 3055C 3056C If JPVT(K) .GT. 0, then X(K) is an initial 3057C column. 3058C 3059C If JPVT(K) .EQ. 0, then X(K) is a free column. 3060C 3061C If JPVT(K) .LT. 0, then X(K) is a final column. 3062C 3063C Before the decomposition is computed, initial columns 3064C are moved to the beginning of the array X and final 3065C columns to the end. Both initial and final columns 3066C are frozen in place during the computation and only 3067C free columns are moved. At the K-th stage of the 3068C reduction, if X(K) is occupied by a free column 3069C it is interchanged with the free column of largest 3070C reduced norm. JPVT is not referenced if 3071C JOB .EQ. 0. 3072C 3073C WORK DOUBLE PRECISION(P). 3074C WORK is a work array. WORK is not referenced if 3075C JOB .EQ. 0. 3076C 3077C JOB INTEGER. 3078C JOB is an integer that initiates column pivoting. 3079C If JOB .EQ. 0, no pivoting is done. 3080C If JOB .NE. 0, pivoting is done. 3081C 3082C On Return 3083C 3084C X X contains in its upper triangle the upper 3085C triangular matrix R of the QR factorization. 3086C Below its diagonal X contains information from 3087C which the orthogonal part of the decomposition 3088C can be recovered. Note that if pivoting has 3089C been requested, the decomposition is not that 3090C of the original matrix X but that of X 3091C with its columns permuted as described by JPVT. 3092C 3093C QRAUX DOUBLE PRECISION(P). 3094C QRAUX contains further information required to recover 3095C the orthogonal part of the decomposition. 3096C 3097C JPVT JPVT(K) contains the index of the column of the 3098C original matrix that has been interchanged into 3099C the K-th column, if pivoting was requested. 3100C 3101C LINPACK. This version dated 08/14/78 . 3102C G. W. Stewart, University of Maryland, Argonne National Lab. 3103C 3104C DQRDC uses the following functions and subprograms. 3105C 3106C BLAS DAXPY,DDOT,DSCAL,DSWAP,DNRM2 3107C Fortran DABS,DMAX1,MIN0,DSQRT 3108C***REFERENCES DONGARRA J.J., BUNCH J.R., MOLER C.B., STEWART G.W., 3109C *LINPACK USERS GUIDE*, SIAM, 1979. 3110C***ROUTINES CALLED DAXPY,DDOT,DNRM2,DSCAL,DSWAP 3111C***END PROLOGUE DQRDC 3112 INTEGER LDX,N,P,JOB 3113 INTEGER JPVT(*) 3114 DOUBLE PRECISION X(LDX,*),QRAUX(*),WORK(*) 3115C 3116 INTEGER J,JP,L,LP1,LUP,MAXJ,PL,PU 3117 DOUBLE PRECISION MAXNRM,DNRM2,TT 3118 DOUBLE PRECISION DDOT,NRMXL,T 3119 LOGICAL NEGJ,SWAPJ 3120C 3121C***FIRST EXECUTABLE STATEMENT DQRDC 3122 PL = 1 3123 PU = 0 3124 IF (JOB .EQ. 0) GO TO 60 3125C 3126C PIVOTING HAS BEEN REQUESTED. REARRANGE THE COLUMNS 3127C ACCORDING TO JPVT. 3128C 3129 DO 20 J = 1, P 3130 SWAPJ = JPVT(J) .GT. 0 3131 NEGJ = JPVT(J) .LT. 0 3132 JPVT(J) = J 3133 IF (NEGJ) JPVT(J) = -J 3134 IF (.NOT.SWAPJ) GO TO 10 3135 IF (J .NE. PL) CALL DSWAP(N,X(1,PL),1,X(1,J),1) 3136 JPVT(J) = JPVT(PL) 3137 JPVT(PL) = J 3138 PL = PL + 1 3139 10 CONTINUE 3140 20 CONTINUE 3141 PU = P 3142 DO 50 JJ = 1, P 3143 J = P - JJ + 1 3144 IF (JPVT(J) .GE. 0) GO TO 40 3145 JPVT(J) = -JPVT(J) 3146 IF (J .EQ. PU) GO TO 30 3147 CALL DSWAP(N,X(1,PU),1,X(1,J),1) 3148 JP = JPVT(PU) 3149 JPVT(PU) = JPVT(J) 3150 JPVT(J) = JP 3151 30 CONTINUE 3152 PU = PU - 1 3153 40 CONTINUE 3154 50 CONTINUE 3155 60 CONTINUE 3156C 3157C COMPUTE THE NORMS OF THE FREE COLUMNS. 3158C 3159 IF (PU .LT. PL) GO TO 80 3160 DO 70 J = PL, PU 3161 QRAUX(J) = DNRM2(N,X(1,J),1) 3162 WORK(J) = QRAUX(J) 3163 70 CONTINUE 3164 80 CONTINUE 3165C 3166C PERFORM THE HOUSEHOLDER REDUCTION OF X. 3167C 3168 LUP = MIN0(N,P) 3169 DO 200 L = 1, LUP 3170 IF (L .LT. PL .OR. L .GE. PU) GO TO 120 3171C 3172C LOCATE THE COLUMN OF LARGEST NORM AND BRING IT 3173C INTO THE PIVOT POSITION. 3174C 3175 MAXNRM = 0.0D0 3176 MAXJ = L 3177 DO 100 J = L, PU 3178 IF (QRAUX(J) .LE. MAXNRM) GO TO 90 3179 MAXNRM = QRAUX(J) 3180 MAXJ = J 3181 90 CONTINUE 3182 100 CONTINUE 3183 IF (MAXJ .EQ. L) GO TO 110 3184 CALL DSWAP(N,X(1,L),1,X(1,MAXJ),1) 3185 QRAUX(MAXJ) = QRAUX(L) 3186 WORK(MAXJ) = WORK(L) 3187 JP = JPVT(MAXJ) 3188 JPVT(MAXJ) = JPVT(L) 3189 JPVT(L) = JP 3190 110 CONTINUE 3191 120 CONTINUE 3192 QRAUX(L) = 0.0D0 3193 IF (L .EQ. N) GO TO 190 3194C 3195C COMPUTE THE HOUSEHOLDER TRANSFORMATION FOR COLUMN L. 3196C 3197 NRMXL = DNRM2(N-L+1,X(L,L),1) 3198 IF (NRMXL .EQ. 0.0D0) GO TO 180 3199 IF (X(L,L) .NE. 0.0D0) NRMXL = DSIGN(NRMXL,X(L,L)) 3200 CALL DSCAL(N-L+1,1.0D0/NRMXL,X(L,L),1) 3201 X(L,L) = 1.0D0 + X(L,L) 3202C 3203C APPLY THE TRANSFORMATION TO THE REMAINING COLUMNS, 3204C UPDATING THE NORMS. 3205C 3206 LP1 = L + 1 3207 IF (P .LT. LP1) GO TO 170 3208 DO 160 J = LP1, P 3209 T = -DDOT(N-L+1,X(L,L),1,X(L,J),1)/X(L,L) 3210 CALL DAXPY(N-L+1,T,X(L,L),1,X(L,J),1) 3211 IF (J .LT. PL .OR. J .GT. PU) GO TO 150 3212 IF (QRAUX(J) .EQ. 0.0D0) GO TO 150 3213 TT = 1.0D0 - (DABS(X(L,J))/QRAUX(J))**2 3214 TT = DMAX1(TT,0.0D0) 3215 T = TT 3216 TT = 1.0D0 + 0.05D0*TT*(QRAUX(J)/WORK(J))**2 3217 IF (TT .EQ. 1.0D0) GO TO 130 3218 QRAUX(J) = QRAUX(J)*DSQRT(T) 3219 GO TO 140 3220 130 CONTINUE 3221 QRAUX(J) = DNRM2(N-L,X(L+1,J),1) 3222 WORK(J) = QRAUX(J) 3223 140 CONTINUE 3224 150 CONTINUE 3225 160 CONTINUE 3226 170 CONTINUE 3227C 3228C SAVE THE TRANSFORMATION. 3229C 3230 QRAUX(L) = X(L,L) 3231 X(L,L) = -NRMXL 3232 180 CONTINUE 3233 190 CONTINUE 3234 200 CONTINUE 3235 RETURN 3236 END 3237 SUBROUTINE DQRSL(X,LDX,N,K,QRAUX,Y,QY,QTY,B,RSD,XB,JOB,INFO) 3238C***BEGIN PROLOGUE DQRSL 3239C***DATE WRITTEN 780814 (YYMMDD) 3240C***REVISION DATE 820801 (YYMMDD) 3241C***REVISION HISTORY (YYMMDD) 3242C 000330 Modified array declarations. (JEC) 3243C***CATEGORY NO. D9,D2A1 3244C***KEYWORDS DOUBLE PRECISION,LINEAR ALGEBRA,LINPACK,MATRIX, 3245C ORTHOGONAL TRIANGULAR,SOLVE 3246C***AUTHOR STEWART, G. W., (U. OF MARYLAND) 3247C***PURPOSE Applies the output of DQRDC to compute coordinate 3248C transformations, projections, and least squares solutions. 3249C***DESCRIPTION 3250C 3251C DQRSL applies the output of DQRDC to compute coordinate 3252C transformations, projections, and least squares solutions. 3253C For K .LE. MIN(N,P), let XK be the matrix 3254C 3255C XK = (X(JPVT(1)),X(JPVT(2)), ... ,X(JPVT(K))) 3256C 3257C formed from columnns JPVT(1), ... ,JPVT(K) of the original 3258C N X P matrix X that was input to DQRDC (if no pivoting was 3259C done, XK consists of the first K columns of X in their 3260C original order). DQRDC produces a factored orthogonal matrix Q 3261C and an upper triangular matrix R such that 3262C 3263C XK = Q * (R) 3264C (0) 3265C 3266C This information is contained in coded form in the arrays 3267C X and QRAUX. 3268C 3269C On Entry 3270C 3271C X DOUBLE PRECISION(LDX,P). 3272C X contains the output of DQRDC. 3273C 3274C LDX INTEGER. 3275C LDX is the leading dimension of the array X. 3276C 3277C N INTEGER. 3278C N is the number of rows of the matrix XK. It must 3279C have the same value as N in DQRDC. 3280C 3281C K INTEGER. 3282C K is the number of columns of the matrix XK. K 3283C must not be greater than MIN(N,P), where P is the 3284C same as in the calling sequence to DQRDC. 3285C 3286C QRAUX DOUBLE PRECISION(P). 3287C QRAUX contains the auxiliary output from DQRDC. 3288C 3289C Y DOUBLE PRECISION(N) 3290C Y contains an N-vector that is to be manipulated 3291C by DQRSL. 3292C 3293C JOB INTEGER. 3294C JOB specifies what is to be computed. JOB has 3295C the decimal expansion ABCDE, with the following 3296C meaning. 3297C 3298C If A .NE. 0, compute QY. 3299C If B,C,D, or E .NE. 0, compute QTY. 3300C If C .NE. 0, compute B. 3301C If D .NE. 0, compute RSD. 3302C If E .NE. 0, compute XB. 3303C 3304C Note that a request to compute B, RSD, or XB 3305C automatically triggers the computation of QTY, for 3306C which an array must be provided in the calling 3307C sequence. 3308C 3309C On Return 3310C 3311C QY DOUBLE PRECISION(N). 3312C QY contains Q*Y, if its computation has been 3313C requested. 3314C 3315C QTY DOUBLE PRECISION(N). 3316C QTY contains TRANS(Q)*Y, if its computation has 3317C been requested. Here TRANS(Q) is the 3318C transpose of the matrix Q. 3319C 3320C B DOUBLE PRECISION(K) 3321C B contains the solution of the least squares problem 3322C 3323C minimize norm2(Y - XK*B), 3324C 3325C if its computation has been requested. (Note that 3326C if pivoting was requested in DQRDC, the J-th 3327C component of B will be associated with column JPVT(J) 3328C of the original matrix X that was input into DQRDC.) 3329C 3330C RSD DOUBLE PRECISION(N). 3331C RSD contains the least squares residual Y - XK*B, 3332C if its computation has been requested. RSD is 3333C also the orthogonal projection of Y onto the 3334C orthogonal complement of the column space of XK. 3335C 3336C XB DOUBLE PRECISION(N). 3337C XB contains the least squares approximation XK*B, 3338C if its computation has been requested. XB is also 3339C the orthogonal projection of Y onto the column space 3340C of X. 3341C 3342C INFO INTEGER. 3343C INFO is zero unless the computation of B has 3344C been requested and R is exactly singular. In 3345C this case, INFO is the index of the first zero 3346C diagonal element of R and B is left unaltered. 3347C 3348C The parameters QY, QTY, B, RSD, and XB are not referenced 3349C if their computation is not requested and in this case 3350C can be replaced by dummy variables in the calling program. 3351C To save storage, the user may in some cases use the same 3352C array for different parameters in the calling sequence. A 3353C frequently occuring example is when one wishes to compute 3354C any of B, RSD, or XB and does not need Y or QTY. In this 3355C case one may identify Y, QTY, and one of B, RSD, or XB, while 3356C providing separate arrays for anything else that is to be 3357C computed. Thus the calling sequence 3358C 3359C CALL DQRSL(X,LDX,N,K,QRAUX,Y,DUM,Y,B,Y,DUM,110,INFO) 3360C 3361C will result in the computation of B and RSD, with RSD 3362C overwriting Y. More generally, each item in the following 3363C list contains groups of permissible identifications for 3364C a single calling sequence. 3365C 3366C 1. (Y,QTY,B) (RSD) (XB) (QY) 3367C 3368C 2. (Y,QTY,RSD) (B) (XB) (QY) 3369C 3370C 3. (Y,QTY,XB) (B) (RSD) (QY) 3371C 3372C 4. (Y,QY) (QTY,B) (RSD) (XB) 3373C 3374C 5. (Y,QY) (QTY,RSD) (B) (XB) 3375C 3376C 6. (Y,QY) (QTY,XB) (B) (RSD) 3377C 3378C In any group the value returned in the array allocated to 3379C the group corresponds to the last member of the group. 3380C 3381C LINPACK. This version dated 08/14/78 . 3382C G. W. Stewart, University of Maryland, Argonne National Lab. 3383C 3384C DQRSL uses the following functions and subprograms. 3385C 3386C BLAS DAXPY,DCOPY,DDOT 3387C Fortran DABS,MIN0,MOD 3388C***REFERENCES DONGARRA J.J., BUNCH J.R., MOLER C.B., STEWART G.W., 3389C *LINPACK USERS GUIDE*, SIAM, 1979. 3390C***ROUTINES CALLED DAXPY,DCOPY,DDOT 3391C***END PROLOGUE DQRSL 3392 INTEGER LDX,N,K,JOB,INFO 3393 DOUBLE PRECISION X(LDX,*),QRAUX(*),Y(*),QY(*),QTY(*),B(*),RSD(*), 3394 1 XB(*) 3395C 3396 INTEGER I,J,JJ,JU,KP1 3397 DOUBLE PRECISION DDOT,T,TEMP 3398 LOGICAL CB,CQY,CQTY,CR,CXB 3399C 3400C SET INFO FLAG. 3401C 3402C***FIRST EXECUTABLE STATEMENT DQRSL 3403 INFO = 0 3404C 3405C DETERMINE WHAT IS TO BE COMPUTED. 3406C 3407 CQY = JOB/10000 .NE. 0 3408 CQTY = MOD(JOB,10000) .NE. 0 3409 CB = MOD(JOB,1000)/100 .NE. 0 3410 CR = MOD(JOB,100)/10 .NE. 0 3411 CXB = MOD(JOB,10) .NE. 0 3412 JU = MIN0(K,N-1) 3413C 3414C SPECIAL ACTION WHEN N=1. 3415C 3416 IF (JU .NE. 0) GO TO 40 3417 IF (CQY) QY(1) = Y(1) 3418 IF (CQTY) QTY(1) = Y(1) 3419 IF (CXB) XB(1) = Y(1) 3420 IF (.NOT.CB) GO TO 30 3421 IF (X(1,1) .NE. 0.0D0) GO TO 10 3422 INFO = 1 3423 GO TO 20 3424 10 CONTINUE 3425 B(1) = Y(1)/X(1,1) 3426 20 CONTINUE 3427 30 CONTINUE 3428 IF (CR) RSD(1) = 0.0D0 3429 GO TO 250 3430 40 CONTINUE 3431C 3432C SET UP TO COMPUTE QY OR QTY. 3433C 3434 IF (CQY) CALL DCOPY(N,Y,1,QY,1) 3435 IF (CQTY) CALL DCOPY(N,Y,1,QTY,1) 3436 IF (.NOT.CQY) GO TO 70 3437C 3438C COMPUTE QY. 3439C 3440 DO 60 JJ = 1, JU 3441 J = JU - JJ + 1 3442 IF (QRAUX(J) .EQ. 0.0D0) GO TO 50 3443 TEMP = X(J,J) 3444 X(J,J) = QRAUX(J) 3445 T = -DDOT(N-J+1,X(J,J),1,QY(J),1)/X(J,J) 3446 CALL DAXPY(N-J+1,T,X(J,J),1,QY(J),1) 3447 X(J,J) = TEMP 3448 50 CONTINUE 3449 60 CONTINUE 3450 70 CONTINUE 3451 IF (.NOT.CQTY) GO TO 100 3452C 3453C COMPUTE TRANS(Q)*Y. 3454C 3455 DO 90 J = 1, JU 3456 IF (QRAUX(J) .EQ. 0.0D0) GO TO 80 3457 TEMP = X(J,J) 3458 X(J,J) = QRAUX(J) 3459 T = -DDOT(N-J+1,X(J,J),1,QTY(J),1)/X(J,J) 3460 CALL DAXPY(N-J+1,T,X(J,J),1,QTY(J),1) 3461 X(J,J) = TEMP 3462 80 CONTINUE 3463 90 CONTINUE 3464 100 CONTINUE 3465C 3466C SET UP TO COMPUTE B, RSD, OR XB. 3467C 3468 IF (CB) CALL DCOPY(K,QTY,1,B,1) 3469 KP1 = K + 1 3470 IF (CXB) CALL DCOPY(K,QTY,1,XB,1) 3471 IF (CR .AND. K .LT. N) CALL DCOPY(N-K,QTY(KP1),1,RSD(KP1),1) 3472 IF (.NOT.CXB .OR. KP1 .GT. N) GO TO 120 3473 DO 110 I = KP1, N 3474 XB(I) = 0.0D0 3475 110 CONTINUE 3476 120 CONTINUE 3477 IF (.NOT.CR) GO TO 140 3478 DO 130 I = 1, K 3479 RSD(I) = 0.0D0 3480 130 CONTINUE 3481 140 CONTINUE 3482 IF (.NOT.CB) GO TO 190 3483C 3484C COMPUTE B. 3485C 3486 DO 170 JJ = 1, K 3487 J = K - JJ + 1 3488 IF (X(J,J) .NE. 0.0D0) GO TO 150 3489 INFO = J 3490C ......EXIT 3491 GO TO 180 3492 150 CONTINUE 3493 B(J) = B(J)/X(J,J) 3494 IF (J .EQ. 1) GO TO 160 3495 T = -B(J) 3496 CALL DAXPY(J-1,T,X(1,J),1,B,1) 3497 160 CONTINUE 3498 170 CONTINUE 3499 180 CONTINUE 3500 190 CONTINUE 3501 IF (.NOT.CR .AND. .NOT.CXB) GO TO 240 3502C 3503C COMPUTE RSD OR XB AS REQUIRED. 3504C 3505 DO 230 JJ = 1, JU 3506 J = JU - JJ + 1 3507 IF (QRAUX(J) .EQ. 0.0D0) GO TO 220 3508 TEMP = X(J,J) 3509 X(J,J) = QRAUX(J) 3510 IF (.NOT.CR) GO TO 200 3511 T = -DDOT(N-J+1,X(J,J),1,RSD(J),1)/X(J,J) 3512 CALL DAXPY(N-J+1,T,X(J,J),1,RSD(J),1) 3513 200 CONTINUE 3514 IF (.NOT.CXB) GO TO 210 3515 T = -DDOT(N-J+1,X(J,J),1,XB(J),1)/X(J,J) 3516 CALL DAXPY(N-J+1,T,X(J,J),1,XB(J),1) 3517 210 CONTINUE 3518 X(J,J) = TEMP 3519 220 CONTINUE 3520 230 CONTINUE 3521 240 CONTINUE 3522 250 CONTINUE 3523 RETURN 3524 END 3525 SUBROUTINE DRAW0(X,Y,N,ID, 3526 1 XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3527 1 IBUGG3,ISUBRO,IERROR) 3528C 3529C PURPOSE--XX 3530C 3531C WRITTEN BY--DAVID W. BEHRINGER NOAA/AOML (MIAMI). 3532C AS PART OF NOAA'S CONCX V.3 MARCH 1988. 3533C ORIGINAL VERSION (IN DATAPLOT)--AUGUST 1988. 3534C 3535C 3536C--------------------------------------------------------------------- 3537C 3538 CHARACTER*4 IBUGG3 3539 CHARACTER*4 ISUBRO 3540 CHARACTER*4 IERROR 3541C 3542 DIMENSION X(*) 3543 DIMENSION Y(*) 3544C 3545 DIMENSION XTEMP(*) 3546 DIMENSION YTEMP(*) 3547 DIMENSION TATEMP(*) 3548C 3549 INCLUDE 'DPCOP2.INC' 3550C 3551C-----START POINT----------------------------------------------------- 3552C 3553 IF(IBUGG3.EQ.'ON' .OR. ISUBRO.EQ.'RAW0')THEN 3554 WRITE(ICOUT,52)ID 3555 52 FORMAT('FROM DRAW0: ID = ',I8) 3556 CALL DPWRST('XXX','BUG ') 3557 ENDIF 3558C 3559CCCCC IF (ID.NE.0) CALL GDASH(ID) AUGUST 1988 3560 IF (N.GT.1) CALL GVECT(X,Y,N, 3561 1XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3562 1IBUGG3,ISUBRO,IERROR) 3563 N=1 3564C 3565 RETURN 3566 END 3567 SUBROUTINE DRAWL(X,Y,DST,N,IDSH,CHR,NCHR,SZ,DL0, 3568 1XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3569 1IBUGG3,ISUBRO,IERROR) 3570C 3571C PURPOSE--XX 3572C 3573C WRITTEN BY--DAVID W. BEHRINGER NOAA/AOML (MIAMI). 3574C AS PART OF NOAA'S CONCX V.3 MARCH 1988. 3575C ORIGINAL VERSION (IN DATAPLOT)--AUGUST 1988. 3576C UPDATED MAY 1989. TRIG DEGREE FUNCTIONS 3577C 3578C--------------------------------------------------------------------- 3579C 3580CCCCC CHARACTER CHR(NCHR)*1 AUGUST 1988 3581 CHARACTER CHR(15)*1 3582C 3583 CHARACTER*4 IBUGG3 3584 CHARACTER*4 ISUBRO 3585 CHARACTER*4 IERROR 3586C 3587CCCCC DIMENSION X(N),Y(N),DST(N),XL(3),YL(3) 3588C 3589 DIMENSION X(*) 3590 DIMENSION Y(*) 3591 DIMENSION DST(*) 3592C 3593 DIMENSION XTEMP(*) 3594 DIMENSION YTEMP(*) 3595 DIMENSION TATEMP(*) 3596C 3597 DIMENSION XL(3) 3598 DIMENSION YL(3) 3599C 3600 DATA EPS,RSSX/0.01,1.15/ 3601C DATA EPS,RSSX/0.01,1.05/ 3602C 3603C-----START POINT----------------------------------------------------- 3604C 3605CCCCC THE FOLLOWING LINE WAS ADDED TO FIX MAY 1989 3606CCCCC THE TRIG DEGREES FUNCTIONS PROBLEM MAY 1989 3607 CONDR=3.1415926/180.0 3608C 3609 A=0.0 3610 SZ2=0.5*SZ 3611 SSZ=SZ*FLOAT(NCHR)+SZ2 3612 SSZ2=0.5*SSZ 3613 CHR(NCHR+1)='$' 3614 DST(1)=0. 3615 DO100I=2,N 3616 DST(I)=DST(I-1)+SQRT((X(I)-X(I-1))**2+(Y(I)-Y(I-1))**2) 3617 100 CONTINUE 3618 I=2 3619 200 CONTINUE 3620 IF(I.GT.N)GOTO299 3621CCCCC DO WHILE (I.LE.N) JANUARY 1989 3622 IF (DST(I).LE.DST(I-1)) THEN 3623 N=N-1 3624 DO210J=I,N 3625 DST(J)=DST(J+1) 3626 X(J)=X(J+1) 3627 Y(J)=Y(J+1) 3628 210 CONTINUE 3629 ELSE 3630 I=I+1 3631 END IF 3632 GOTO200 3633 299 CONTINUE 3634 IF (DST(N).LT.EPS.OR.N.EQ.1) THEN 3635 N=1 3636 GOTO9000 3637 END IF 3638 NLBL=MAX0(INT(DST(N)/DL0),1) 3639 SEP=SQRT((X(N)-X(1))**2+(Y(N)-Y(1))**2) 3640 DL=DST(N)/FLOAT(NLBL) 3641 IF (NLBL.EQ.1.AND.SEP.LT.EPS.AND.DST(N).LT.2.*SSZ) THEN 3642 IR=1 3643 DO300I=2,N 3644 IF(X(I).GT.X(IR)) IR=I 3645 300 CONTINUE 3646CCCCC CALL GCHARJ(4) AUGUST 1988 3647 CALL GCHAR(CHR,X(IR)+SSZ2,Y(IR),SZ, 3648 1IBUGG3,ISUBRO,IERROR) 3649 CALL DRAW0(X,Y,N,IDSH, 3650 1XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3651 1IBUGG3,ISUBRO,IERROR) 3652 GOTO9000 3653 END IF 3654 IE=2 3655 XE=X(1) 3656 YE=Y(1) 3657 DO400NL=1,NLBL 3658 L=0 3659 DLBL0=FLOAT(NL-1)*DL 3660 DLBL=(FLOAT(NL)-0.5)*DL-0.5*SSZ 3661 I0=IE 3662 IEO=IE 3663 XEO=XE 3664 YEO=YE 3665 500 CONTINUE 3666 IF(L.NE.0.OR.DLBL.LE.DLBL0)GOTO599 3667CCCCC DO WHILE (L.EQ.0.AND.DLBL.GT.DLBL0) JANAURY 1989 3668 I=I0-1 3669 600 CONTINUE 3670 IF(DST(I).GE.DLBL.OR.I.GE.N)GOTO699 3671CCCCC DO WHILE (DST(I).LT.DLBL.AND.I.LT.N) JANUARY 1989 3672 I=I+1 3673 GOTO600 3674 699 CONTINUE 3675 IF (DST(I).GE.DLBL) THEN 3676 IS=I-1 3677 R=(DLBL-DST(IS))/(DST(IS+1)-DST(IS)) 3678 XS=X(IS)+R*(X(IS+1)-X(IS)) 3679 YS=Y(IS)+R*(Y(IS+1)-Y(IS)) 3680 C=SQRT((X(I)-XS)**2+(Y(I)-YS)**2) 3681 A0=C 3682 700 CONTINUE 3683 IF(C.GE.SSZ.OR.I.GE.N)GOTO799 3684CCCCC DO WHILE (C.LT.SSZ.AND.I.LT.N) JANUARY 1989 3685 A=C 3686 I=I+1 3687 C=SQRT((X(I)-XS)**2+(Y(I)-YS)**2) 3688 GOTO700 3689 799 CONTINUE 3690 IF (C.GE.SSZ) THEN 3691 IE=I 3692 IF (IE.GT.IS+1) THEN 3693 B=DST(IE)-DST(IE-1) 3694 ACS=(A**2+B**2-C**2)/(2.0*B) 3695 D=ACS+SQRT(SSZ**2-A**2+ACS**2) 3696 ANG=ATAN2(Y(IE)-Y(IE-1),X(IE)-X(IE-1)) 3697 XE=D*COS(ANG)+X(IE-1) 3698 YE=D*SIN(ANG)+Y(IE-1) 3699 RSS=(A0+DST(IE-1)-DST(IS+1)+D)/SSZ 3700C RSS=(A+D)/SSZ 3701 ELSE 3702 R=SSZ/(DST(IE)-DLBL) 3703 XE=XS+R*(X(IE)-XS) 3704 YE=YS+R*(Y(IE)-YS) 3705 RSS=1.0 3706 END IF 3707 IF (RSS.LE.RSSX) THEN 3708 L=1 3709 N0=IS-I0+1 3710 XL(1)=XEO 3711 YL(1)=YEO 3712 IF (N0.GT.0) THEN 3713 XL(2)=X(IEO) 3714 YL(2)=Y(IEO) 3715 N2=2 3716 CALL DRAW0(XL,YL,N2,IDSH, 3717 1XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3718 1IBUGG3,ISUBRO,IERROR) 3719 XL(1)=X(IS) 3720 YL(1)=Y(IS) 3721 CALL DRAW0(X(I0),Y(I0),N0,IDSH, 3722 1XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3723 1IBUGG3,ISUBRO,IERROR) 3724 END IF 3725 XL(2)=XS 3726 YL(2)=YS 3727 N2=2 3728 CALL DRAW0(XL,YL,N2,IDSH, 3729 1XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3730 1IBUGG3,ISUBRO,IERROR) 3731CCCCC THE FOLLOWING LINE WAS FIXED BY THE MAY 1989 3732CCCCC SUCCEEDING 2 LINES MAY 1989 3733CCCCC ANG=ATAN2D(YE-YS,XE-XS) 3734 ANGR=ATAN2(YE-YS,XE-XS) 3735 ANG=ANGR/CONDR 3736 IF (ANG.GT.90.) THEN 3737 IANG=INT(ANG-180.499) 3738 JST=5 3739 ELSE IF (ANG.LT.-90.) THEN 3740 IANG=INT(ANG+180.499) 3741 JST=5 3742 ELSE 3743 IANG=INT(ANG+SIGN(0.499,ANG)) 3744 JST=3 3745 END IF 3746CCCCC CALL GCHARA(IANG) AUGUST 1988 3747CCCCC CALL GCHARJ(JST) AUGUST 1988 3748CCCCC THE FOLLOWING LINE WAS FIXED BY THE MAY 1989 3749CCCCC SUCCEEDING 2 LINES MAY 1989 3750CCCCC CALL GCHAR(CHR,XS+SZ2*COSD(ANG),YS+SZ2*SIND(ANG),SZ, 3751 ANGR=ANG*CONDR 3752 CALL GCHAR(CHR,XS+SZ2*COS(ANGR),YS+SZ2*SIN(ANGR),SZ, 3753 1IBUGG3,ISUBRO,IERROR) 3754 ELSE 3755 DLBL=DLBL-0.5*SSZ 3756 END IF 3757 ELSE 3758 DLBL=DLBL-0.5*SSZ 3759 END IF 3760 ELSE 3761 DLBL=DLBL-0.5*SSZ 3762 END IF 3763 GOTO500 3764 599 CONTINUE 3765 400 CONTINUE 3766 XL(1)=XE 3767 YL(1)=YE 3768 XL(2)=X(IE) 3769 YL(2)=Y(IE) 3770 N2=2 3771 CALL DRAW0(XL,YL,N2,IDSH, 3772 1XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3773 1IBUGG3,ISUBRO,IERROR) 3774 N0=N-IE+1 3775 CALL DRAW0(X(IE),Y(IE),N0,IDSH, 3776 1XTEMP,YTEMP,TATEMP,NTEMP,NTRACE, 3777 1IBUGG3,ISUBRO,IERROR) 3778 N=1 3779 GOTO9000 3780C 3781 9000 CONTINUE 3782 RETURN 3783 END 3784 SUBROUTINE DRCIL1(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 3785 1IBUGD2,IFOUND,IERROR) 3786C 3787C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 3788C FOR ROMAN COMPLEX ITALIC LOWER CASE (PART 1). 3789C WRITTEN BY--JAMES J. FILLIBEN 3790C STATISTICAL ENGINEERING DIVISION 3791C CENTER FOR APPLIED MATHEMATICS 3792C NATIONAL BUREAU OF STANDARDS 3793C WASHINGTON, D. C. 20234 3794C PHONE--301-921-3651 3795C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 3796C OF THE NATIONAL BUREAU OF STANDARDS. 3797C LANGUAGE--ANSI FORTRAN (1977) 3798C VERSION NUMBER--87/4 3799C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 3800C UPDATED --MAY 1982. 3801C UPDATED --MARCH 1987. 3802C 3803C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 3804C 3805 CHARACTER*4 IOP 3806 CHARACTER*4 IBUGD2 3807 CHARACTER*4 IFOUND 3808 CHARACTER*4 IERROR 3809C 3810 CHARACTER*4 IOPERA 3811C 3812C--------------------------------------------------------------------- 3813C 3814 DIMENSION IOP(*) 3815 DIMENSION X(*) 3816 DIMENSION Y(*) 3817C 3818 DIMENSION IOPERA(300) 3819 DIMENSION IX(300) 3820 DIMENSION IY(300) 3821C 3822 DIMENSION IXMIND(30) 3823 DIMENSION IXMAXD(30) 3824 DIMENSION IXDELD(30) 3825 DIMENSION ISTARD(30) 3826 DIMENSION NUMCOO(30) 3827C 3828C--------------------------------------------------------------------- 3829C 3830 INCLUDE 'DPCOP2.INC' 3831C 3832C-----DATA STATEMENTS------------------------------------------------- 3833C 3834C DEFINE CHARACTER 2151--LOWER CASE A 3835C 3836 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 6, 5/ 3837 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', 4, -2/ 3838 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', 3, -6/ 3839 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', 3, -8/ 3840 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', 4, -9/ 3841 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', 7, -9/ 3842 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', 9, -7/ 3843 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', 10, -5/ 3844 DATA IOPERA( 9),IX( 9),IY( 9)/'MOVE', 7, 5/ 3845 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', 5, -2/ 3846 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', 4, -6/ 3847 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 4, -8/ 3848 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 5, -9/ 3849 DATA IOPERA( 14),IX( 14),IY( 14)/'MOVE', 4, -2/ 3850 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 4, 1/ 3851 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 3, 4/ 3852 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 1, 5/ 3853 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', -1, 5/ 3854 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', -4, 4/ 3855 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', -6, 1/ 3856 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', -7, -2/ 3857 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', -7, -5/ 3858 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', -6, -7/ 3859 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -5, -8/ 3860 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -3, -9/ 3861 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -1, -9/ 3862 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 1, -8/ 3863 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 3, -5/ 3864 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', 4, -2/ 3865 DATA IOPERA( 30),IX( 30),IY( 30)/'MOVE', -1, 5/ 3866 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', -3, 4/ 3867 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -5, 1/ 3868 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', -6, -2/ 3869 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', -6, -6/ 3870 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', -5, -8/ 3871C 3872 DATA IXMIND( 1)/ -10/ 3873 DATA IXMAXD( 1)/ 11/ 3874 DATA IXDELD( 1)/ 21/ 3875 DATA ISTARD( 1)/ 1/ 3876 DATA NUMCOO( 1)/ 35/ 3877C 3878C DEFINE CHARACTER 2152--LOWER CASE B 3879C 3880 DATA IOPERA( 36),IX( 36),IY( 36)/'MOVE', -2, 12/ 3881 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -6, -1/ 3882 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -6, -4/ 3883 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -5, -7/ 3884 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -4, -8/ 3885 DATA IOPERA( 41),IX( 41),IY( 41)/'MOVE', -1, 12/ 3886 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -5, -1/ 3887 DATA IOPERA( 43),IX( 43),IY( 43)/'MOVE', -5, -1/ 3888 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', -4, 2/ 3889 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', -2, 4/ 3890 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', 0, 5/ 3891 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', 2, 5/ 3892 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', 4, 4/ 3893 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', 5, 3/ 3894 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', 6, 1/ 3895 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', 6, -2/ 3896 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', 5, -5/ 3897 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', 3, -8/ 3898 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', 0, -9/ 3899 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', -2, -9/ 3900 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', -4, -8/ 3901 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -5, -5/ 3902 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -5, -1/ 3903 DATA IOPERA( 59),IX( 59),IY( 59)/'MOVE', 4, 4/ 3904 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', 5, 2/ 3905 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', 5, -2/ 3906 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', 4, -5/ 3907 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', 2, -8/ 3908 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', 0, -9/ 3909 DATA IOPERA( 65),IX( 65),IY( 65)/'MOVE', -5, 12/ 3910 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -1, 12/ 3911C 3912 DATA IXMIND( 2)/ -10/ 3913 DATA IXMAXD( 2)/ 9/ 3914 DATA IXDELD( 2)/ 19/ 3915 DATA ISTARD( 2)/ 36/ 3916 DATA NUMCOO( 2)/ 31/ 3917C 3918C DEFINE CHARACTER 2153--LOWER CASE C 3919C 3920 DATA IOPERA( 67),IX( 67),IY( 67)/'MOVE', 5, 2/ 3921 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 5, 1/ 3922 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 6, 1/ 3923 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', 6, 2/ 3924 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 5, 4/ 3925 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', 3, 5/ 3926 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', 0, 5/ 3927 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -3, 4/ 3928 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -5, 1/ 3929 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -6, -2/ 3930 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', -6, -5/ 3931 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -5, -7/ 3932 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -4, -8/ 3933 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', -2, -9/ 3934 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 0, -9/ 3935 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 3, -8/ 3936 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', 5, -5/ 3937 DATA IOPERA( 84),IX( 84),IY( 84)/'MOVE', 0, 5/ 3938 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', -2, 4/ 3939 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', -4, 1/ 3940 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', -5, -2/ 3941 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', -5, -6/ 3942 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', -4, -8/ 3943C 3944 DATA IXMIND( 3)/ -9/ 3945 DATA IXMAXD( 3)/ 9/ 3946 DATA IXDELD( 3)/ 18/ 3947 DATA ISTARD( 3)/ 67/ 3948 DATA NUMCOO( 3)/ 23/ 3949C 3950C DEFINE CHARACTER 2154--LOWER CASE D 3951C 3952 DATA IOPERA( 90),IX( 90),IY( 90)/'MOVE', 8, 12/ 3953 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', 4, -2/ 3954 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', 3, -6/ 3955 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 3, -8/ 3956 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', 4, -9/ 3957 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', 7, -9/ 3958 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 9, -7/ 3959 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 10, -5/ 3960 DATA IOPERA( 98),IX( 98),IY( 98)/'MOVE', 9, 12/ 3961 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 5, -2/ 3962 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 4, -6/ 3963 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', 4, -8/ 3964 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 5, -9/ 3965 DATA IOPERA( 103),IX( 103),IY( 103)/'MOVE', 4, -2/ 3966 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', 4, 1/ 3967 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', 3, 4/ 3968 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 1, 5/ 3969 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', -1, 5/ 3970 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', -4, 4/ 3971 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', -6, 1/ 3972 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', -7, -2/ 3973 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', -7, -5/ 3974 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', -6, -7/ 3975 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', -5, -8/ 3976 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', -3, -9/ 3977 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', -1, -9/ 3978 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', 1, -8/ 3979 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 3, -5/ 3980 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', 4, -2/ 3981 DATA IOPERA( 119),IX( 119),IY( 119)/'MOVE', -1, 5/ 3982 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', -3, 4/ 3983 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', -5, 1/ 3984 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', -6, -2/ 3985 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -6, -6/ 3986 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', -5, -8/ 3987 DATA IOPERA( 125),IX( 125),IY( 125)/'MOVE', 5, 12/ 3988 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', 9, 12/ 3989C 3990 DATA IXMIND( 4)/ -10/ 3991 DATA IXMAXD( 4)/ 11/ 3992 DATA IXDELD( 4)/ 21/ 3993 DATA ISTARD( 4)/ 90/ 3994 DATA NUMCOO( 4)/ 37/ 3995C 3996C DEFINE CHARACTER 2155--LOWER CASE E 3997C 3998 DATA IOPERA( 127),IX( 127),IY( 127)/'MOVE', -5, -4/ 3999 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', -1, -3/ 4000 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', 2, -2/ 4001 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', 5, 0/ 4002 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 6, 2/ 4003 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', 5, 4/ 4004 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', 3, 5/ 4005 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', 0, 5/ 4006 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -3, 4/ 4007 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', -5, 1/ 4008 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', -6, -2/ 4009 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', -6, -5/ 4010 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', -5, -7/ 4011 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', -4, -8/ 4012 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', -2, -9/ 4013 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', 0, -9/ 4014 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', 3, -8/ 4015 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', 5, -6/ 4016 DATA IOPERA( 145),IX( 145),IY( 145)/'MOVE', 0, 5/ 4017 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', -2, 4/ 4018 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', -4, 1/ 4019 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', -5, -2/ 4020 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', -5, -6/ 4021 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', -4, -8/ 4022C 4023 DATA IXMIND( 5)/ -9/ 4024 DATA IXMAXD( 5)/ 9/ 4025 DATA IXDELD( 5)/ 18/ 4026 DATA ISTARD( 5)/ 127/ 4027 DATA NUMCOO( 5)/ 24/ 4028C 4029C DEFINE CHARACTER 2156--LOWER CASE F 4030C 4031 DATA IOPERA( 151),IX( 151),IY( 151)/'MOVE', 8, 11/ 4032 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', 7, 10/ 4033 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', 8, 9/ 4034 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 9, 10/ 4035 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', 9, 11/ 4036 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', 8, 12/ 4037 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', 6, 12/ 4038 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', 4, 11/ 4039 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', 3, 10/ 4040 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', 2, 8/ 4041 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', 1, 5/ 4042 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -2, -9/ 4043 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', -3, -13/ 4044 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -4, -15/ 4045 DATA IOPERA( 165),IX( 165),IY( 165)/'MOVE', 6, 12/ 4046 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', 4, 10/ 4047 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', 3, 8/ 4048 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', 2, 4/ 4049 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 0, -5/ 4050 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', -1, -9/ 4051 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', -2, -12/ 4052 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -3, -14/ 4053 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -4, -15/ 4054 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -6, -16/ 4055 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', -8, -16/ 4056 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', -9, -15/ 4057 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', -9, -14/ 4058 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', -8, -13/ 4059 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', -7, -14/ 4060 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', -8, -15/ 4061 DATA IOPERA( 181),IX( 181),IY( 181)/'MOVE', -3, 5/ 4062 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', 7, 5/ 4063C 4064 DATA IXMIND( 6)/ -7/ 4065 DATA IXMAXD( 6)/ 8/ 4066 DATA IXDELD( 6)/ 15/ 4067 DATA ISTARD( 6)/ 151/ 4068 DATA NUMCOO( 6)/ 32/ 4069C 4070C DEFINE CHARACTER 2157--LOWER CASE G 4071C 4072 DATA IOPERA( 183),IX( 183),IY( 183)/'MOVE', 7, 5/ 4073 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', 3, -9/ 4074 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', 2, -12/ 4075 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', 0, -15/ 4076 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', -3, -16/ 4077 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', -6, -16/ 4078 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', -8, -15/ 4079 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', -9, -14/ 4080 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -9, -13/ 4081 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', -8, -12/ 4082 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', -7, -13/ 4083 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', -8, -14/ 4084 DATA IOPERA( 195),IX( 195),IY( 195)/'MOVE', 6, 5/ 4085 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', 2, -9/ 4086 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 1, -12/ 4087 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', -1, -15/ 4088 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', -3, -16/ 4089 DATA IOPERA( 200),IX( 200),IY( 200)/'MOVE', 4, -2/ 4090 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', 4, 1/ 4091 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', 3, 4/ 4092 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', 1, 5/ 4093 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', -1, 5/ 4094 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', -4, 4/ 4095 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', -6, 1/ 4096 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -7, -2/ 4097 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', -7, -5/ 4098 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', -6, -7/ 4099 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -5, -8/ 4100 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -3, -9/ 4101 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', -1, -9/ 4102 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 1, -8/ 4103 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 3, -5/ 4104 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', 4, -2/ 4105 DATA IOPERA( 216),IX( 216),IY( 216)/'MOVE', -1, 5/ 4106 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', -3, 4/ 4107 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -5, 1/ 4108 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -6, -2/ 4109 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -6, -6/ 4110 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -5, -8/ 4111C 4112 DATA IXMIND( 7)/ -10/ 4113 DATA IXMAXD( 7)/ 10/ 4114 DATA IXDELD( 7)/ 20/ 4115 DATA ISTARD( 7)/ 183/ 4116 DATA NUMCOO( 7)/ 39/ 4117C 4118C DEFINE CHARACTER 2158--LOWER CASE H 4119C 4120 DATA IOPERA( 222),IX( 222),IY( 222)/'MOVE', -2, 12/ 4121 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', -8, -9/ 4122 DATA IOPERA( 224),IX( 224),IY( 224)/'MOVE', -1, 12/ 4123 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', -7, -9/ 4124 DATA IOPERA( 226),IX( 226),IY( 226)/'MOVE', -5, -2/ 4125 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', -3, 2/ 4126 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', -1, 4/ 4127 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', 1, 5/ 4128 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', 3, 5/ 4129 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', 5, 4/ 4130 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', 6, 3/ 4131 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', 6, 1/ 4132 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', 4, -5/ 4133 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', 4, -8/ 4134 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', 5, -9/ 4135 DATA IOPERA( 237),IX( 237),IY( 237)/'MOVE', 3, 5/ 4136 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', 5, 3/ 4137 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', 5, 1/ 4138 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', 3, -5/ 4139 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', 3, -8/ 4140 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', 4, -9/ 4141 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', 7, -9/ 4142 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', 9, -7/ 4143 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', 10, -5/ 4144 DATA IOPERA( 246),IX( 246),IY( 246)/'MOVE', -5, 12/ 4145 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -1, 12/ 4146C 4147 DATA IXMIND( 8)/ -10/ 4148 DATA IXMAXD( 8)/ 11/ 4149 DATA IXDELD( 8)/ 21/ 4150 DATA ISTARD( 8)/ 222/ 4151 DATA NUMCOO( 8)/ 26/ 4152C 4153C DEFINE CHARACTER 2159--LOWER CASE I 4154C 4155 DATA IOPERA( 248),IX( 248),IY( 248)/'MOVE', 3, 12/ 4156 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', 2, 11/ 4157 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', 3, 10/ 4158 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', 4, 11/ 4159 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', 3, 12/ 4160 DATA IOPERA( 253),IX( 253),IY( 253)/'MOVE', -5, 1/ 4161 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', -4, 3/ 4162 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', -2, 5/ 4163 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', 1, 5/ 4164 DATA IOPERA( 257),IX( 257),IY( 257)/'DRAW', 2, 4/ 4165 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 2, 1/ 4166 DATA IOPERA( 259),IX( 259),IY( 259)/'DRAW', 0, -5/ 4167 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', 0, -8/ 4168 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', 1, -9/ 4169 DATA IOPERA( 262),IX( 262),IY( 262)/'MOVE', 0, 5/ 4170 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', 1, 4/ 4171 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', 1, 1/ 4172 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', -1, -5/ 4173 DATA IOPERA( 266),IX( 266),IY( 266)/'DRAW', -1, -8/ 4174 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', 0, -9/ 4175 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', 3, -9/ 4176 DATA IOPERA( 269),IX( 269),IY( 269)/'DRAW', 5, -7/ 4177 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', 6, -5/ 4178C 4179 DATA IXMIND( 9)/ -6/ 4180 DATA IXMAXD( 9)/ 7/ 4181 DATA IXDELD( 9)/ 13/ 4182 DATA ISTARD( 9)/ 248/ 4183 DATA NUMCOO( 9)/ 23/ 4184C 4185C DEFINE CHARACTER 2160--LOWER CASE J 4186C 4187 DATA IOPERA( 271),IX( 271),IY( 271)/'MOVE', 4, 12/ 4188 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', 3, 11/ 4189 DATA IOPERA( 273),IX( 273),IY( 273)/'DRAW', 4, 10/ 4190 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', 5, 11/ 4191 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', 4, 12/ 4192 DATA IOPERA( 276),IX( 276),IY( 276)/'MOVE', -4, 1/ 4193 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', -3, 3/ 4194 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -1, 5/ 4195 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', 2, 5/ 4196 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', 3, 4/ 4197 DATA IOPERA( 281),IX( 281),IY( 281)/'DRAW', 3, 1/ 4198 DATA IOPERA( 282),IX( 282),IY( 282)/'DRAW', 0, -9/ 4199 DATA IOPERA( 283),IX( 283),IY( 283)/'DRAW', -1, -12/ 4200 DATA IOPERA( 284),IX( 284),IY( 284)/'DRAW', -2, -14/ 4201 DATA IOPERA( 285),IX( 285),IY( 285)/'DRAW', -3, -15/ 4202 DATA IOPERA( 286),IX( 286),IY( 286)/'DRAW', -5, -16/ 4203 DATA IOPERA( 287),IX( 287),IY( 287)/'DRAW', -7, -16/ 4204 DATA IOPERA( 288),IX( 288),IY( 288)/'DRAW', -8, -15/ 4205 DATA IOPERA( 289),IX( 289),IY( 289)/'DRAW', -8, -14/ 4206 DATA IOPERA( 290),IX( 290),IY( 290)/'DRAW', -7, -13/ 4207 DATA IOPERA( 291),IX( 291),IY( 291)/'DRAW', -6, -14/ 4208 DATA IOPERA( 292),IX( 292),IY( 292)/'DRAW', -7, -15/ 4209 DATA IOPERA( 293),IX( 293),IY( 293)/'MOVE', 1, 5/ 4210 DATA IOPERA( 294),IX( 294),IY( 294)/'DRAW', 2, 4/ 4211 DATA IOPERA( 295),IX( 295),IY( 295)/'DRAW', 2, 1/ 4212 DATA IOPERA( 296),IX( 296),IY( 296)/'DRAW', -1, -9/ 4213 DATA IOPERA( 297),IX( 297),IY( 297)/'DRAW', -2, -12/ 4214 DATA IOPERA( 298),IX( 298),IY( 298)/'DRAW', -3, -14/ 4215 DATA IOPERA( 299),IX( 299),IY( 299)/'DRAW', -5, -16/ 4216C 4217 DATA IXMIND( 10)/ -6/ 4218 DATA IXMAXD( 10)/ 7/ 4219 DATA IXDELD( 10)/ 13/ 4220 DATA ISTARD( 10)/ 271/ 4221 DATA NUMCOO( 10)/ 29/ 4222C 4223C-----START POINT----------------------------------------------------- 4224C 4225 IFOUND='YES' 4226 IERROR='NO' 4227C 4228 NUMCO=1 4229 ISTART=1 4230 ISTOP=1 4231 NC=1 4232C 4233C ****************************************** 4234C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 4235C ** HERSHEY CHARACTER SET CASE ** 4236C ****************************************** 4237C 4238C 4239 IF(IBUGD2.EQ.'OFF')GOTO90 4240 WRITE(ICOUT,999) 4241 999 FORMAT(1X) 4242 CALL DPWRST('XXX','BUG ') 4243 WRITE(ICOUT,51) 4244 51 FORMAT('***** AT THE BEGINNING OF DRCIL1--') 4245 CALL DPWRST('XXX','BUG ') 4246 WRITE(ICOUT,52)ICHARN 4247 52 FORMAT('ICHARN = ',I8) 4248 CALL DPWRST('XXX','BUG ') 4249 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 4250 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 4251 CALL DPWRST('XXX','BUG ') 4252 90 CONTINUE 4253C 4254C ************************************** 4255C ** STEP 2-- ** 4256C ** EXTRACT THE COORDINATES ** 4257C ** FOR THIS PARTICULAR CHARACTER. ** 4258C ************************************** 4259C 4260 ISTART=ISTARD(ICHARN) 4261 NC=NUMCOO(ICHARN) 4262 ISTOP=ISTART+NC-1 4263 J=0 4264 DO1100I=ISTART,ISTOP 4265 J=J+1 4266 IOP(J)=IOPERA(I) 4267 X(J)=IX(I) 4268 Y(J)=IY(I) 4269 1100 CONTINUE 4270 NUMCO=J 4271 IXMINS=IXMIND(ICHARN) 4272 IXMAXS=IXMAXD(ICHARN) 4273 IXDELS=IXDELD(ICHARN) 4274C 4275 GOTO9000 4276C 4277C ***************** 4278C ** STEP 90-- ** 4279C ** EXIT ** 4280C ***************** 4281C 4282 9000 CONTINUE 4283 IF(IBUGD2.EQ.'OFF')GOTO9090 4284 WRITE(ICOUT,999) 4285 CALL DPWRST('XXX','BUG ') 4286 WRITE(ICOUT,9011) 4287 9011 FORMAT('***** AT THE END OF DRCIL1--') 4288 CALL DPWRST('XXX','BUG ') 4289 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 4290 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 4291 CALL DPWRST('XXX','BUG ') 4292 WRITE(ICOUT,9013)ICHARN 4293 9013 FORMAT('ICHARN = ',I8) 4294 CALL DPWRST('XXX','BUG ') 4295 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 4296 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 4297 CALL DPWRST('XXX','BUG ') 4298 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 4299 DO9015I=1,NUMCO 4300 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 4301 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 4302 CALL DPWRST('XXX','BUG ') 4303 9015 CONTINUE 4304 9019 CONTINUE 4305 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 4306 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 4307 CALL DPWRST('XXX','BUG ') 4308 9090 CONTINUE 4309C 4310 RETURN 4311 END 4312 SUBROUTINE DRCIL2(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 4313 1IBUGD2,IFOUND,IERROR) 4314C 4315C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 4316C FOR ROMAN COMPLEX ITALIC LOWER CASE (PART 2). 4317C WRITTEN BY--JAMES J. FILLIBEN 4318C STATISTICAL ENGINEERING DIVISION 4319C CENTER FOR APPLIED MATHEMATICS 4320C NATIONAL BUREAU OF STANDARDS 4321C WASHINGTON, D. C. 20234 4322C PHONE--301-921-3651 4323C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 4324C OF THE NATIONAL BUREAU OF STANDARDS. 4325C LANGUAGE--ANSI FORTRAN (1977) 4326C VERSION NUMBER--87/4 4327C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 4328C UPDATED --MAY 1982. 4329C UPDATED --MARCH 1987. 4330C 4331C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 4332C 4333 CHARACTER*4 IOP 4334 CHARACTER*4 IBUGD2 4335 CHARACTER*4 IFOUND 4336 CHARACTER*4 IERROR 4337C 4338 CHARACTER*4 IOPERA 4339C 4340C--------------------------------------------------------------------- 4341C 4342 DIMENSION IOP(*) 4343 DIMENSION X(*) 4344 DIMENSION Y(*) 4345C 4346 DIMENSION IOPERA(300) 4347 DIMENSION IX(300) 4348 DIMENSION IY(300) 4349C 4350 DIMENSION IXMIND(30) 4351 DIMENSION IXMAXD(30) 4352 DIMENSION IXDELD(30) 4353 DIMENSION ISTARD(30) 4354 DIMENSION NUMCOO(30) 4355C 4356C--------------------------------------------------------------------- 4357C 4358 INCLUDE 'DPCOP2.INC' 4359C 4360C-----DATA STATEMENTS------------------------------------------------- 4361C 4362C DEFINE CHARACTER 2161--LOWER CASE K 4363C 4364 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -2, 12/ 4365 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -8, -9/ 4366 DATA IOPERA( 3),IX( 3),IY( 3)/'MOVE', -1, 12/ 4367 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -7, -9/ 4368 DATA IOPERA( 5),IX( 5),IY( 5)/'MOVE', 6, 4/ 4369 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', 5, 3/ 4370 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', 6, 2/ 4371 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', 7, 3/ 4372 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', 7, 4/ 4373 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', 6, 5/ 4374 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', 5, 5/ 4375 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 3, 4/ 4376 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -1, 0/ 4377 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -3, -1/ 4378 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', -5, -1/ 4379 DATA IOPERA( 16),IX( 16),IY( 16)/'MOVE', -3, -1/ 4380 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -1, -2/ 4381 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 1, -8/ 4382 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 2, -9/ 4383 DATA IOPERA( 20),IX( 20),IY( 20)/'MOVE', -3, -1/ 4384 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', -2, -2/ 4385 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 0, -8/ 4386 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 1, -9/ 4387 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 3, -9/ 4388 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', 5, -8/ 4389 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 7, -5/ 4390 DATA IOPERA( 27),IX( 27),IY( 27)/'MOVE', -5, 12/ 4391 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -1, 12/ 4392C 4393 DATA IXMIND( 11)/ -10/ 4394 DATA IXMAXD( 11)/ 10/ 4395 DATA IXDELD( 11)/ 20/ 4396 DATA ISTARD( 11)/ 1/ 4397 DATA NUMCOO( 11)/ 28/ 4398C 4399C DEFINE CHARACTER 2162--LOWER CASE L 4400C 4401 DATA IOPERA( 29),IX( 29),IY( 29)/'MOVE', 3, 12/ 4402 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', -1, -2/ 4403 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', -2, -6/ 4404 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -2, -8/ 4405 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', -1, -9/ 4406 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 2, -9/ 4407 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 4, -7/ 4408 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', 5, -5/ 4409 DATA IOPERA( 37),IX( 37),IY( 37)/'MOVE', 4, 12/ 4410 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', 0, -2/ 4411 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -1, -6/ 4412 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -1, -8/ 4413 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', 0, -9/ 4414 DATA IOPERA( 42),IX( 42),IY( 42)/'MOVE', 0, 12/ 4415 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', 4, 12/ 4416C 4417 DATA IXMIND( 12)/ -5/ 4418 DATA IXMAXD( 12)/ 7/ 4419 DATA IXDELD( 12)/ 12/ 4420 DATA ISTARD( 12)/ 29/ 4421 DATA NUMCOO( 12)/ 15/ 4422C 4423C DEFINE CHARACTER 2163--LOWER CASE M 4424C 4425 DATA IOPERA( 44),IX( 44),IY( 44)/'MOVE', -16, 1/ 4426 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', -15, 3/ 4427 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', -13, 5/ 4428 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -10, 5/ 4429 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -9, 4/ 4430 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -9, 2/ 4431 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -10, -2/ 4432 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -12, -9/ 4433 DATA IOPERA( 52),IX( 52),IY( 52)/'MOVE', -11, 5/ 4434 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -10, 4/ 4435 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', -10, 2/ 4436 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', -11, -2/ 4437 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', -13, -9/ 4438 DATA IOPERA( 57),IX( 57),IY( 57)/'MOVE', -10, -2/ 4439 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -8, 2/ 4440 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -6, 4/ 4441 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -4, 5/ 4442 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -2, 5/ 4443 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', 0, 4/ 4444 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', 1, 3/ 4445 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', 1, 1/ 4446 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -2, -9/ 4447 DATA IOPERA( 66),IX( 66),IY( 66)/'MOVE', -2, 5/ 4448 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', 0, 3/ 4449 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 0, 1/ 4450 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -3, -9/ 4451 DATA IOPERA( 70),IX( 70),IY( 70)/'MOVE', 0, -2/ 4452 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 2, 2/ 4453 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', 4, 4/ 4454 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', 6, 5/ 4455 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', 8, 5/ 4456 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', 10, 4/ 4457 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', 11, 3/ 4458 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', 11, 1/ 4459 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', 9, -5/ 4460 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', 9, -8/ 4461 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', 10, -9/ 4462 DATA IOPERA( 81),IX( 81),IY( 81)/'MOVE', 8, 5/ 4463 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 10, 3/ 4464 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', 10, 1/ 4465 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', 8, -5/ 4466 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 8, -8/ 4467 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 9, -9/ 4468 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', 12, -9/ 4469 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', 14, -7/ 4470 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', 15, -5/ 4471C 4472 DATA IXMIND( 13)/ -17/ 4473 DATA IXMAXD( 13)/ 16/ 4474 DATA IXDELD( 13)/ 33/ 4475 DATA ISTARD( 13)/ 44/ 4476 DATA NUMCOO( 13)/ 46/ 4477C 4478C DEFINE CHARACTER 2164--LOWER CASE N 4479C 4480 DATA IOPERA( 90),IX( 90),IY( 90)/'MOVE', -11, 1/ 4481 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', -10, 3/ 4482 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', -8, 5/ 4483 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', -5, 5/ 4484 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -4, 4/ 4485 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', -4, 2/ 4486 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', -5, -2/ 4487 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', -7, -9/ 4488 DATA IOPERA( 98),IX( 98),IY( 98)/'MOVE', -6, 5/ 4489 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', -5, 4/ 4490 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', -5, 2/ 4491 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', -6, -2/ 4492 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', -8, -9/ 4493 DATA IOPERA( 103),IX( 103),IY( 103)/'MOVE', -5, -2/ 4494 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', -3, 2/ 4495 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', -1, 4/ 4496 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 1, 5/ 4497 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', 3, 5/ 4498 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', 5, 4/ 4499 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 6, 3/ 4500 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', 6, 1/ 4501 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', 4, -5/ 4502 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 4, -8/ 4503 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 5, -9/ 4504 DATA IOPERA( 114),IX( 114),IY( 114)/'MOVE', 3, 5/ 4505 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', 5, 3/ 4506 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', 5, 1/ 4507 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 3, -5/ 4508 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', 3, -8/ 4509 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', 4, -9/ 4510 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', 7, -9/ 4511 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', 9, -7/ 4512 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', 10, -5/ 4513C 4514 DATA IXMIND( 14)/ -12/ 4515 DATA IXMAXD( 14)/ 11/ 4516 DATA IXDELD( 14)/ 23/ 4517 DATA ISTARD( 14)/ 90/ 4518 DATA NUMCOO( 14)/ 33/ 4519C 4520C DEFINE CHARACTER 2165--LOWER CASE O 4521C 4522 DATA IOPERA( 123),IX( 123),IY( 123)/'MOVE', 0, 5/ 4523 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', -3, 4/ 4524 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', -5, 1/ 4525 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', -6, -2/ 4526 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', -6, -5/ 4527 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', -5, -7/ 4528 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', -4, -8/ 4529 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', -2, -9/ 4530 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 0, -9/ 4531 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', 3, -8/ 4532 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', 5, -5/ 4533 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', 6, -2/ 4534 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', 6, 1/ 4535 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', 5, 3/ 4536 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', 4, 4/ 4537 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', 2, 5/ 4538 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', 0, 5/ 4539 DATA IOPERA( 140),IX( 140),IY( 140)/'MOVE', 0, 5/ 4540 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', -2, 4/ 4541 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -4, 1/ 4542 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -5, -2/ 4543 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', -5, -6/ 4544 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', -4, -8/ 4545 DATA IOPERA( 146),IX( 146),IY( 146)/'MOVE', 0, -9/ 4546 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 2, -8/ 4547 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', 4, -5/ 4548 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', 5, -2/ 4549 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', 5, 2/ 4550 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', 4, 4/ 4551C 4552 DATA IXMIND( 15)/ -9/ 4553 DATA IXMAXD( 15)/ 9/ 4554 DATA IXDELD( 15)/ 18/ 4555 DATA ISTARD( 15)/ 123/ 4556 DATA NUMCOO( 15)/ 29/ 4557C 4558C DEFINE CHARACTER 2166--LOWER CASE P 4559C 4560 DATA IOPERA( 152),IX( 152),IY( 152)/'MOVE', -10, 1/ 4561 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', -9, 3/ 4562 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', -7, 5/ 4563 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -4, 5/ 4564 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -3, 4/ 4565 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', -3, 2/ 4566 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', -4, -2/ 4567 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -8, -16/ 4568 DATA IOPERA( 160),IX( 160),IY( 160)/'MOVE', -5, 5/ 4569 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -4, 4/ 4570 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -4, 2/ 4571 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', -5, -2/ 4572 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -9, -16/ 4573 DATA IOPERA( 165),IX( 165),IY( 165)/'MOVE', -4, -2/ 4574 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', -3, 1/ 4575 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', -1, 4/ 4576 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', 1, 5/ 4577 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 3, 5/ 4578 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', 5, 4/ 4579 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', 6, 3/ 4580 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', 7, 1/ 4581 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', 7, -2/ 4582 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', 6, -5/ 4583 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', 4, -8/ 4584 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', 1, -9/ 4585 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', -1, -9/ 4586 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', -3, -8/ 4587 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', -4, -5/ 4588 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', -4, -2/ 4589 DATA IOPERA( 181),IX( 181),IY( 181)/'MOVE', 5, 4/ 4590 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', 6, 2/ 4591 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', 6, -2/ 4592 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', 5, -5/ 4593 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', 3, -8/ 4594 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', 1, -9/ 4595 DATA IOPERA( 187),IX( 187),IY( 187)/'MOVE', -12, -16/ 4596 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', -5, -16/ 4597C 4598 DATA IXMIND( 16)/ -11/ 4599 DATA IXMAXD( 16)/ 10/ 4600 DATA IXDELD( 16)/ 21/ 4601 DATA ISTARD( 16)/ 152/ 4602 DATA NUMCOO( 16)/ 37/ 4603C 4604C DEFINE CHARACTER 2167--LOWER CASE Q 4605C 4606 DATA IOPERA( 189),IX( 189),IY( 189)/'MOVE', 6, 5/ 4607 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', 0, -16/ 4608 DATA IOPERA( 191),IX( 191),IY( 191)/'MOVE', 7, 5/ 4609 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', 1, -16/ 4610 DATA IOPERA( 193),IX( 193),IY( 193)/'MOVE', 4, -2/ 4611 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 4, 1/ 4612 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 3, 4/ 4613 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', 1, 5/ 4614 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', -1, 5/ 4615 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', -4, 4/ 4616 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', -6, 1/ 4617 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', -7, -2/ 4618 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', -7, -5/ 4619 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', -6, -7/ 4620 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -5, -8/ 4621 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', -3, -9/ 4622 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', -1, -9/ 4623 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', 1, -8/ 4624 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', 3, -5/ 4625 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', 4, -2/ 4626 DATA IOPERA( 209),IX( 209),IY( 209)/'MOVE', -1, 5/ 4627 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -3, 4/ 4628 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -5, 1/ 4629 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', -6, -2/ 4630 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', -6, -6/ 4631 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', -5, -8/ 4632 DATA IOPERA( 215),IX( 215),IY( 215)/'MOVE', -3, -16/ 4633 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', 4, -16/ 4634C 4635 DATA IXMIND( 17)/ -10/ 4636 DATA IXMAXD( 17)/ 10/ 4637 DATA IXDELD( 17)/ 20/ 4638 DATA ISTARD( 17)/ 189/ 4639 DATA NUMCOO( 17)/ 28/ 4640C 4641C DEFINE CHARACTER 2168--LOWER CASE R 4642C 4643 DATA IOPERA( 217),IX( 217),IY( 217)/'MOVE', -8, 1/ 4644 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -7, 3/ 4645 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -5, 5/ 4646 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -2, 5/ 4647 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -1, 4/ 4648 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', -1, 2/ 4649 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', -2, -2/ 4650 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', -4, -9/ 4651 DATA IOPERA( 225),IX( 225),IY( 225)/'MOVE', -3, 5/ 4652 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', -2, 4/ 4653 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', -2, 2/ 4654 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', -3, -2/ 4655 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', -5, -9/ 4656 DATA IOPERA( 230),IX( 230),IY( 230)/'MOVE', -2, -2/ 4657 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', 0, 2/ 4658 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', 2, 4/ 4659 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', 4, 5/ 4660 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', 6, 5/ 4661 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', 7, 4/ 4662 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', 7, 3/ 4663 DATA IOPERA( 237),IX( 237),IY( 237)/'DRAW', 6, 2/ 4664 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', 5, 3/ 4665 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', 6, 4/ 4666C 4667 DATA IXMIND( 18)/ -9/ 4668 DATA IXMAXD( 18)/ 8/ 4669 DATA IXDELD( 18)/ 17/ 4670 DATA ISTARD( 18)/ 217/ 4671 DATA NUMCOO( 18)/ 23/ 4672C 4673C DEFINE CHARACTER 2169--LOWER CASE S 4674C 4675 DATA IOPERA( 240),IX( 240),IY( 240)/'MOVE', 6, 3/ 4676 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', 6, 2/ 4677 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', 7, 2/ 4678 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', 7, 3/ 4679 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', 6, 4/ 4680 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', 3, 5/ 4681 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', 0, 5/ 4682 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -3, 4/ 4683 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', -4, 3/ 4684 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', -4, 1/ 4685 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', -3, 0/ 4686 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', 4, -4/ 4687 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', 5, -5/ 4688 DATA IOPERA( 253),IX( 253),IY( 253)/'MOVE', -4, 2/ 4689 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', -3, 1/ 4690 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', 4, -3/ 4691 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', 5, -4/ 4692 DATA IOPERA( 257),IX( 257),IY( 257)/'DRAW', 5, -7/ 4693 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 4, -8/ 4694 DATA IOPERA( 259),IX( 259),IY( 259)/'DRAW', 1, -9/ 4695 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -2, -9/ 4696 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', -5, -8/ 4697 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', -6, -7/ 4698 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', -6, -6/ 4699 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', -5, -6/ 4700 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', -5, -7/ 4701C 4702 DATA IXMIND( 19)/ -8/ 4703 DATA IXMAXD( 19)/ 9/ 4704 DATA IXDELD( 19)/ 17/ 4705 DATA ISTARD( 19)/ 240/ 4706 DATA NUMCOO( 19)/ 26/ 4707C 4708C DEFINE CHARACTER 2170--LOWER CASE T 4709C 4710 DATA IOPERA( 266),IX( 266),IY( 266)/'MOVE', 2, 12/ 4711 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', -2, -2/ 4712 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', -3, -6/ 4713 DATA IOPERA( 269),IX( 269),IY( 269)/'DRAW', -3, -8/ 4714 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', -2, -9/ 4715 DATA IOPERA( 271),IX( 271),IY( 271)/'DRAW', 1, -9/ 4716 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', 3, -7/ 4717 DATA IOPERA( 273),IX( 273),IY( 273)/'DRAW', 4, -5/ 4718 DATA IOPERA( 274),IX( 274),IY( 274)/'MOVE', 3, 12/ 4719 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', -1, -2/ 4720 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', -2, -6/ 4721 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', -2, -8/ 4722 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -1, -9/ 4723 DATA IOPERA( 279),IX( 279),IY( 279)/'MOVE', -4, 5/ 4724 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', 5, 5/ 4725C 4726 DATA IXMIND( 20)/ -7/ 4727 DATA IXMAXD( 20)/ 7/ 4728 DATA IXDELD( 20)/ 14/ 4729 DATA ISTARD( 20)/ 266/ 4730 DATA NUMCOO( 20)/ 15/ 4731C 4732C-----START POINT----------------------------------------------------- 4733C 4734 IFOUND='YES' 4735 IERROR='NO' 4736C 4737 NUMCO=1 4738 ISTART=1 4739 ISTOP=1 4740 NC=1 4741C 4742C ****************************************** 4743C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 4744C ** HERSHEY CHARACTER SET CASE ** 4745C ****************************************** 4746C 4747C 4748 IF(IBUGD2.EQ.'OFF')GOTO90 4749 WRITE(ICOUT,999) 4750 999 FORMAT(1X) 4751 CALL DPWRST('XXX','BUG ') 4752 WRITE(ICOUT,51) 4753 51 FORMAT('***** AT THE BEGINNING OF DRCIL2--') 4754 CALL DPWRST('XXX','BUG ') 4755 WRITE(ICOUT,52)ICHARN 4756 52 FORMAT('ICHARN = ',I8) 4757 CALL DPWRST('XXX','BUG ') 4758 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 4759 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 4760 CALL DPWRST('XXX','BUG ') 4761 90 CONTINUE 4762C 4763C ************************************** 4764C ** STEP 2-- ** 4765C ** EXTRACT THE COORDINATES ** 4766C ** FOR THIS PARTICULAR CHARACTER. ** 4767C ************************************** 4768C 4769 ISTART=ISTARD(ICHARN) 4770 NC=NUMCOO(ICHARN) 4771 ISTOP=ISTART+NC-1 4772 J=0 4773 DO1100I=ISTART,ISTOP 4774 J=J+1 4775 IOP(J)=IOPERA(I) 4776 X(J)=IX(I) 4777 Y(J)=IY(I) 4778 1100 CONTINUE 4779 NUMCO=J 4780 IXMINS=IXMIND(ICHARN) 4781 IXMAXS=IXMAXD(ICHARN) 4782 IXDELS=IXDELD(ICHARN) 4783C 4784 GOTO9000 4785C 4786C ***************** 4787C ** STEP 90-- ** 4788C ** EXIT ** 4789C ***************** 4790C 4791 9000 CONTINUE 4792 IF(IBUGD2.EQ.'OFF')GOTO9090 4793 WRITE(ICOUT,999) 4794 CALL DPWRST('XXX','BUG ') 4795 WRITE(ICOUT,9011) 4796 9011 FORMAT('***** AT THE END OF DRCIL2--') 4797 CALL DPWRST('XXX','BUG ') 4798 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 4799 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 4800 CALL DPWRST('XXX','BUG ') 4801 WRITE(ICOUT,9013)ICHARN 4802 9013 FORMAT('ICHARN = ',I8) 4803 CALL DPWRST('XXX','BUG ') 4804 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 4805 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 4806 CALL DPWRST('XXX','BUG ') 4807 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 4808 DO9015I=1,NUMCO 4809 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 4810 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 4811 CALL DPWRST('XXX','BUG ') 4812 9015 CONTINUE 4813 9019 CONTINUE 4814 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 4815 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 4816 CALL DPWRST('XXX','BUG ') 4817 9090 CONTINUE 4818C 4819 RETURN 4820 END 4821 SUBROUTINE DRCIL3(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 4822 1IBUGD2,IFOUND,IERROR) 4823C 4824C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 4825C FOR ROMAN COMPLEX ITALIC LOWER CASE (PART 3). 4826C WRITTEN BY--JAMES J. FILLIBEN 4827C STATISTICAL ENGINEERING DIVISION 4828C CENTER FOR APPLIED MATHEMATICS 4829C NATIONAL BUREAU OF STANDARDS 4830C WASHINGTON, D. C. 20234 4831C PHONE--301-921-3651 4832C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 4833C OF THE NATIONAL BUREAU OF STANDARDS. 4834C LANGUAGE--ANSI FORTRAN (1977) 4835C VERSION NUMBER--87/4 4836C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 4837C UPDATED --MAY 1982. 4838C UPDATED --MARCH 1987. 4839C 4840C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 4841C 4842 CHARACTER*4 IOP 4843 CHARACTER*4 IBUGD2 4844 CHARACTER*4 IFOUND 4845 CHARACTER*4 IERROR 4846C 4847 CHARACTER*4 IOPERA 4848C 4849C--------------------------------------------------------------------- 4850C 4851 DIMENSION IOP(*) 4852 DIMENSION X(*) 4853 DIMENSION Y(*) 4854C 4855 DIMENSION IOPERA(300) 4856 DIMENSION IX(300) 4857 DIMENSION IY(300) 4858C 4859 DIMENSION IXMIND(30) 4860 DIMENSION IXMAXD(30) 4861 DIMENSION IXDELD(30) 4862 DIMENSION ISTARD(30) 4863 DIMENSION NUMCOO(30) 4864C 4865C--------------------------------------------------------------------- 4866C 4867 INCLUDE 'DPCOP2.INC' 4868C 4869C-----DATA STATEMENTS------------------------------------------------- 4870C 4871C DEFINE CHARACTER 2171--LOWER CASE U 4872C 4873 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -11, 1/ 4874 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -10, 3/ 4875 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -8, 5/ 4876 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -5, 5/ 4877 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -4, 4/ 4878 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -4, 1/ 4879 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -6, -5/ 4880 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -6, -7/ 4881 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -4, -9/ 4882 DATA IOPERA( 10),IX( 10),IY( 10)/'MOVE', -6, 5/ 4883 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -5, 4/ 4884 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -5, 1/ 4885 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -7, -5/ 4886 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -7, -7/ 4887 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', -6, -8/ 4888 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', -4, -9/ 4889 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -2, -9/ 4890 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 0, -8/ 4891 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 2, -6/ 4892 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 4, -2/ 4893 DATA IOPERA( 21),IX( 21),IY( 21)/'MOVE', 6, 5/ 4894 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 4, -2/ 4895 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 3, -6/ 4896 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 3, -8/ 4897 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', 4, -9/ 4898 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 7, -9/ 4899 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 9, -7/ 4900 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 10, -5/ 4901 DATA IOPERA( 29),IX( 29),IY( 29)/'MOVE', 7, 5/ 4902 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', 5, -2/ 4903 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', 4, -6/ 4904 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 4, -8/ 4905 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 5, -9/ 4906C 4907 DATA IXMIND( 21)/ -12/ 4908 DATA IXMAXD( 21)/ 11/ 4909 DATA IXDELD( 21)/ 23/ 4910 DATA ISTARD( 21)/ 1/ 4911 DATA NUMCOO( 21)/ 33/ 4912C 4913C DEFINE CHARACTER 2172--LOWER CASE V 4914C 4915 DATA IOPERA( 34),IX( 34),IY( 34)/'MOVE', -9, 1/ 4916 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', -8, 3/ 4917 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', -6, 5/ 4918 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -3, 5/ 4919 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -2, 4/ 4920 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -2, 1/ 4921 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -4, -5/ 4922 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -4, -7/ 4923 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -2, -9/ 4924 DATA IOPERA( 43),IX( 43),IY( 43)/'MOVE', -4, 5/ 4925 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', -3, 4/ 4926 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', -3, 1/ 4927 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', -5, -5/ 4928 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -5, -7/ 4929 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -4, -8/ 4930 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -2, -9/ 4931 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -1, -9/ 4932 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', 2, -8/ 4933 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', 4, -6/ 4934 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', 6, -3/ 4935 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', 7, 1/ 4936 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 7, 5/ 4937 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', 6, 5/ 4938 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', 7, 3/ 4939C 4940 DATA IXMIND( 22)/ -10/ 4941 DATA IXMAXD( 22)/ 10/ 4942 DATA IXDELD( 22)/ 20/ 4943 DATA ISTARD( 22)/ 34/ 4944 DATA NUMCOO( 22)/ 24/ 4945C 4946C DEFINE CHARACTER 2173--LOWER CASE W 4947C 4948 DATA IOPERA( 58),IX( 58),IY( 58)/'MOVE', -14, 1/ 4949 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -13, 3/ 4950 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -11, 5/ 4951 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -8, 5/ 4952 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -7, 4/ 4953 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -7, 1/ 4954 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -9, -5/ 4955 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -9, -7/ 4956 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -7, -9/ 4957 DATA IOPERA( 67),IX( 67),IY( 67)/'MOVE', -9, 5/ 4958 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', -8, 4/ 4959 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -8, 1/ 4960 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', -10, -5/ 4961 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -10, -7/ 4962 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -9, -8/ 4963 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -7, -9/ 4964 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -5, -9/ 4965 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -3, -8/ 4966 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -1, -6/ 4967 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', 0, -4/ 4968 DATA IOPERA( 78),IX( 78),IY( 78)/'MOVE', 2, 5/ 4969 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', 0, -4/ 4970 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', 0, -7/ 4971 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 1, -8/ 4972 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 3, -9/ 4973 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', 5, -9/ 4974 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', 7, -8/ 4975 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 9, -6/ 4976 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 10, -4/ 4977 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', 11, 0/ 4978 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', 11, 5/ 4979 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', 10, 5/ 4980 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', 11, 3/ 4981 DATA IOPERA( 91),IX( 91),IY( 91)/'MOVE', 3, 5/ 4982 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', 1, -4/ 4983 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 1, -7/ 4984 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', 3, -9/ 4985C 4986 DATA IXMIND( 23)/ -15/ 4987 DATA IXMAXD( 23)/ 14/ 4988 DATA IXDELD( 23)/ 29/ 4989 DATA ISTARD( 23)/ 58/ 4990 DATA NUMCOO( 23)/ 37/ 4991C 4992C DEFINE CHARACTER 2174--LOWER CASE X 4993C 4994 DATA IOPERA( 95),IX( 95),IY( 95)/'MOVE', -7, 1/ 4995 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', -5, 4/ 4996 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', -3, 5/ 4997 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 0, 5/ 4998 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 1, 3/ 4999 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 1, 0/ 5000 DATA IOPERA( 101),IX( 101),IY( 101)/'MOVE', -1, 5/ 5001 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 0, 3/ 5002 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 0, 0/ 5003 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', -1, -4/ 5004 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', -2, -6/ 5005 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', -4, -8/ 5006 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', -6, -9/ 5007 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', -7, -9/ 5008 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', -8, -8/ 5009 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', -8, -7/ 5010 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', -7, -6/ 5011 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', -6, -7/ 5012 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', -7, -8/ 5013 DATA IOPERA( 114),IX( 114),IY( 114)/'MOVE', -1, -4/ 5014 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', -1, -7/ 5015 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', 0, -9/ 5016 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 3, -9/ 5017 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', 5, -8/ 5018 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', 7, -5/ 5019 DATA IOPERA( 120),IX( 120),IY( 120)/'MOVE', 7, 4/ 5020 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', 6, 3/ 5021 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', 7, 2/ 5022 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', 8, 3/ 5023 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', 8, 4/ 5024 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', 7, 5/ 5025 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', 6, 5/ 5026 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', 4, 4/ 5027 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', 2, 2/ 5028 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', 1, 0/ 5029 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', 0, -4/ 5030 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 0, -7/ 5031 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', 1, -9/ 5032C 5033 DATA IXMIND( 24)/ -10/ 5034 DATA IXMAXD( 24)/ 10/ 5035 DATA IXDELD( 24)/ 20/ 5036 DATA ISTARD( 24)/ 95/ 5037 DATA NUMCOO( 24)/ 38/ 5038C 5039C DEFINE CHARACTER 2175--LOWER CASE Y 5040C 5041 DATA IOPERA( 133),IX( 133),IY( 133)/'MOVE', -10, 1/ 5042 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', -9, 3/ 5043 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -7, 5/ 5044 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', -4, 5/ 5045 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', -3, 4/ 5046 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', -3, 1/ 5047 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', -5, -5/ 5048 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', -5, -7/ 5049 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', -3, -9/ 5050 DATA IOPERA( 142),IX( 142),IY( 142)/'MOVE', -5, 5/ 5051 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -4, 4/ 5052 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', -4, 1/ 5053 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', -6, -5/ 5054 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', -6, -7/ 5055 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', -5, -8/ 5056 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', -3, -9/ 5057 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', -1, -9/ 5058 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', 1, -8/ 5059 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', 3, -6/ 5060 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', 5, -2/ 5061 DATA IOPERA( 153),IX( 153),IY( 153)/'MOVE', 8, 5/ 5062 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 4, -9/ 5063 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', 3, -12/ 5064 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', 1, -15/ 5065 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', -2, -16/ 5066 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', -5, -16/ 5067 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -7, -15/ 5068 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -8, -14/ 5069 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -8, -13/ 5070 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -7, -12/ 5071 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', -6, -13/ 5072 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -7, -14/ 5073 DATA IOPERA( 165),IX( 165),IY( 165)/'MOVE', 7, 5/ 5074 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', 3, -9/ 5075 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', 2, -12/ 5076 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', 0, -15/ 5077 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', -2, -16/ 5078C 5079 DATA IXMIND( 25)/ -11/ 5080 DATA IXMAXD( 25)/ 10/ 5081 DATA IXDELD( 25)/ 21/ 5082 DATA ISTARD( 25)/ 133/ 5083 DATA NUMCOO( 25)/ 37/ 5084C 5085C DEFINE CHARACTER 2176--LOWER CASE Z 5086C 5087 DATA IOPERA( 170),IX( 170),IY( 170)/'MOVE', 7, 5/ 5088 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', 6, 3/ 5089 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', 4, 1/ 5090 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -4, -5/ 5091 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -6, -7/ 5092 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', -7, -9/ 5093 DATA IOPERA( 176),IX( 176),IY( 176)/'MOVE', -6, 1/ 5094 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', -5, 3/ 5095 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', -3, 5/ 5096 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', 0, 5/ 5097 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', 4, 3/ 5098 DATA IOPERA( 181),IX( 181),IY( 181)/'MOVE', -5, 3/ 5099 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', -3, 4/ 5100 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', 0, 4/ 5101 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', 4, 3/ 5102 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', 6, 3/ 5103 DATA IOPERA( 186),IX( 186),IY( 186)/'MOVE', -6, -7/ 5104 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', -4, -7/ 5105 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', 0, -8/ 5106 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', 3, -8/ 5107 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', 5, -7/ 5108 DATA IOPERA( 191),IX( 191),IY( 191)/'MOVE', -4, -7/ 5109 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', 0, -9/ 5110 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 3, -9/ 5111 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 5, -7/ 5112 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 6, -5/ 5113C 5114 DATA IXMIND( 26)/ -10/ 5115 DATA IXMAXD( 26)/ 10/ 5116 DATA IXDELD( 26)/ 20/ 5117 DATA ISTARD( 26)/ 170/ 5118 DATA NUMCOO( 26)/ 26/ 5119C 5120C-----START POINT----------------------------------------------------- 5121C 5122 IFOUND='YES' 5123 IERROR='NO' 5124C 5125 NUMCO=1 5126 ISTART=1 5127 ISTOP=1 5128 NC=1 5129C 5130C ****************************************** 5131C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 5132C ** HERSHEY CHARACTER SET CASE ** 5133C ****************************************** 5134C 5135C 5136 IF(IBUGD2.EQ.'OFF')GOTO90 5137 WRITE(ICOUT,999) 5138 999 FORMAT(1X) 5139 CALL DPWRST('XXX','BUG ') 5140 WRITE(ICOUT,51) 5141 51 FORMAT('***** AT THE BEGINNING OF DRCIL3--') 5142 CALL DPWRST('XXX','BUG ') 5143 WRITE(ICOUT,52)ICHARN 5144 52 FORMAT('ICHARN = ',I8) 5145 CALL DPWRST('XXX','BUG ') 5146 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 5147 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 5148 CALL DPWRST('XXX','BUG ') 5149 90 CONTINUE 5150C 5151C ************************************** 5152C ** STEP 2-- ** 5153C ** EXTRACT THE COORDINATES ** 5154C ** FOR THIS PARTICULAR CHARACTER. ** 5155C ************************************** 5156C 5157 ISTART=ISTARD(ICHARN) 5158 NC=NUMCOO(ICHARN) 5159 ISTOP=ISTART+NC-1 5160 J=0 5161 DO1100I=ISTART,ISTOP 5162 J=J+1 5163 IOP(J)=IOPERA(I) 5164 X(J)=IX(I) 5165 Y(J)=IY(I) 5166 1100 CONTINUE 5167 NUMCO=J 5168 IXMINS=IXMIND(ICHARN) 5169 IXMAXS=IXMAXD(ICHARN) 5170 IXDELS=IXDELD(ICHARN) 5171C 5172 GOTO9000 5173C 5174C ***************** 5175C ** STEP 90-- ** 5176C ** EXIT ** 5177C ***************** 5178C 5179 9000 CONTINUE 5180 IF(IBUGD2.EQ.'OFF')GOTO9090 5181 WRITE(ICOUT,999) 5182 CALL DPWRST('XXX','BUG ') 5183 WRITE(ICOUT,9011) 5184 9011 FORMAT('***** AT THE END OF DRCIL3--') 5185 CALL DPWRST('XXX','BUG ') 5186 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 5187 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 5188 CALL DPWRST('XXX','BUG ') 5189 WRITE(ICOUT,9013)ICHARN 5190 9013 FORMAT('ICHARN = ',I8) 5191 CALL DPWRST('XXX','BUG ') 5192 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 5193 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 5194 CALL DPWRST('XXX','BUG ') 5195 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 5196 DO9015I=1,NUMCO 5197 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 5198 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 5199 CALL DPWRST('XXX','BUG ') 5200 9015 CONTINUE 5201 9019 CONTINUE 5202 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 5203 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 5204 CALL DPWRST('XXX','BUG ') 5205 9090 CONTINUE 5206C 5207 RETURN 5208 END 5209 SUBROUTINE DRCIN1(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 5210 1IBUGD2,IFOUND,IERROR) 5211C 5212C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 5213C FOR ROMAN COMPLEX ITALIC NUMERIC (PART 1). 5214C WRITTEN BY--JAMES J. FILLIBEN 5215C STATISTICAL ENGINEERING DIVISION 5216C CENTER FOR APPLIED MATHEMATICS 5217C NATIONAL BUREAU OF STANDARDS 5218C WASHINGTON, D. C. 20234 5219C PHONE--301-921-3651 5220C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 5221C OF THE NATIONAL BUREAU OF STANDARDS. 5222C LANGUAGE--ANSI FORTRAN (1977) 5223C VERSION NUMBER--87/4 5224C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 5225C UPDATED --MAY 1982. 5226C UPDATED --MARCH 1987. 5227C 5228C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 5229C 5230 CHARACTER*4 IOP 5231 CHARACTER*4 IBUGD2 5232 CHARACTER*4 IFOUND 5233 CHARACTER*4 IERROR 5234C 5235 CHARACTER*4 IOPERA 5236C 5237C--------------------------------------------------------------------- 5238C 5239 DIMENSION IOP(*) 5240 DIMENSION X(*) 5241 DIMENSION Y(*) 5242C 5243 DIMENSION IOPERA(300) 5244 DIMENSION IX(300) 5245 DIMENSION IY(300) 5246C 5247 DIMENSION IXMIND(30) 5248 DIMENSION IXMAXD(30) 5249 DIMENSION IXDELD(30) 5250 DIMENSION ISTARD(30) 5251 DIMENSION NUMCOO(30) 5252C 5253C--------------------------------------------------------------------- 5254C 5255 INCLUDE 'DPCOP2.INC' 5256C 5257C-----DATA STATEMENTS------------------------------------------------- 5258C 5259C DEFINE CHARACTER 0--0 5260C 5261 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -10, 0/ 5262 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -13, -1/ 5263 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -15, -3/ 5264 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -17, -6/ 5265 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -18, -9/ 5266 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -19, -13/ 5267 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -19, -16/ 5268 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -18, -19/ 5269 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -17, -20/ 5270 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -15, -21/ 5271 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -13, -21/ 5272 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -10, -20/ 5273 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -8, -18/ 5274 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -6, -15/ 5275 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', -5, -12/ 5276 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', -4, -8/ 5277 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -4, -5/ 5278 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', -5, -2/ 5279 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', -6, -1/ 5280 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', -8, 0/ 5281 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', -10, 0/ 5282 DATA IOPERA( 22),IX( 22),IY( 22)/'MOVE', -10, 0/ 5283 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', -12, -1/ 5284 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -14, -3/ 5285 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -16, -6/ 5286 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -17, -9/ 5287 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', -18, -13/ 5288 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -18, -16/ 5289 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', -17, -19/ 5290 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', -15, -21/ 5291 DATA IOPERA( 31),IX( 31),IY( 31)/'MOVE', -13, -21/ 5292 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -11, -20/ 5293 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', -9, -18/ 5294 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', -7, -15/ 5295 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', -6, -12/ 5296 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', -5, -8/ 5297 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -5, -5/ 5298 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -6, -2/ 5299 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -8, 0/ 5300C 5301 DATA IXMIND( 1)/ -10/ 5302 DATA IXMAXD( 1)/ 11/ 5303 DATA IXDELD( 1)/ 21/ 5304 DATA ISTARD( 1)/ 1/ 5305 DATA NUMCOO( 1)/ 39/ 5306C 5307C DEFINE CHARACTER 1--1 5308C 5309 DATA IOPERA( 40),IX( 40),IY( 40)/'MOVE', -10, -4/ 5310 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -15, -21/ 5311 DATA IOPERA( 42),IX( 42),IY( 42)/'MOVE', -8, 0/ 5312 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -14, -21/ 5313 DATA IOPERA( 44),IX( 44),IY( 44)/'MOVE', -8, 0/ 5314 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', -11, -3/ 5315 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', -14, -5/ 5316 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -16, -6/ 5317 DATA IOPERA( 48),IX( 48),IY( 48)/'MOVE', -9, -3/ 5318 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -13, -5/ 5319 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -16, -6/ 5320C 5321 DATA IXMIND( 2)/ -10/ 5322 DATA IXMAXD( 2)/ 11/ 5323 DATA IXDELD( 2)/ 21/ 5324 DATA ISTARD( 2)/ 40/ 5325 DATA NUMCOO( 2)/ 11/ 5326C 5327C DEFINE CHARACTER 2--2 5328C 5329 DATA IOPERA( 51),IX( 51),IY( 51)/'MOVE', -15, -4/ 5330 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', -14, -5/ 5331 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -15, -6/ 5332 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', -16, -5/ 5333 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', -16, -4/ 5334 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', -15, -2/ 5335 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -14, -1/ 5336 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -11, 0/ 5337 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -8, 0/ 5338 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -5, -1/ 5339 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -4, -3/ 5340 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -4, -5/ 5341 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -5, -7/ 5342 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -7, -9/ 5343 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -10, -11/ 5344 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -14, -13/ 5345 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', -17, -15/ 5346 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', -19, -17/ 5347 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -21, -21/ 5348 DATA IOPERA( 70),IX( 70),IY( 70)/'MOVE', -8, 0/ 5349 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -6, -1/ 5350 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -5, -3/ 5351 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -5, -5/ 5352 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -6, -7/ 5353 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -8, -9/ 5354 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -14, -13/ 5355 DATA IOPERA( 77),IX( 77),IY( 77)/'MOVE', -20, -19/ 5356 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -19, -18/ 5357 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -17, -18/ 5358 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', -12, -20/ 5359 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', -9, -20/ 5360 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', -7, -19/ 5361 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', -6, -17/ 5362 DATA IOPERA( 84),IX( 84),IY( 84)/'MOVE', -17, -18/ 5363 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', -12, -21/ 5364 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', -9, -21/ 5365 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', -7, -20/ 5366 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', -6, -17/ 5367 DATA IOPERA( 89),IX( 89),IY( 89)/'MOVE', -32, -32/ 5368C 5369 DATA IXMIND( 3)/ -10/ 5370 DATA IXMAXD( 3)/ 11/ 5371 DATA IXDELD( 3)/ 21/ 5372 DATA ISTARD( 3)/ 51/ 5373 DATA NUMCOO( 3)/ 39/ 5374C 5375C DEFINE CHARACTER 3--3 5376C 5377 DATA IOPERA( 90),IX( 90),IY( 90)/'MOVE', -15, -4/ 5378 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', -14, -5/ 5379 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', -15, -6/ 5380 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', -16, -5/ 5381 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -16, -4/ 5382 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', -15, -2/ 5383 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', -14, -1/ 5384 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', -11, 0/ 5385 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', -8, 0/ 5386 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', -5, -1/ 5387 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', -4, -3/ 5388 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', -4, -5/ 5389 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', -5, -7/ 5390 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', -8, -9/ 5391 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', -11, -10/ 5392 DATA IOPERA( 105),IX( 105),IY( 105)/'MOVE', -8, 0/ 5393 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', -6, -1/ 5394 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', -5, -3/ 5395 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', -5, -5/ 5396 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', -6, -7/ 5397 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', -8, -9/ 5398 DATA IOPERA( 111),IX( 111),IY( 111)/'MOVE', -13, -10/ 5399 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', -11, -10/ 5400 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', -8, -11/ 5401 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', -7, -12/ 5402 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', -6, -14/ 5403 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', -6, -17/ 5404 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', -7, -19/ 5405 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', -8, -20/ 5406 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', -11, -21/ 5407 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', -15, -21/ 5408 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', -18, -20/ 5409 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', -19, -19/ 5410 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -20, -17/ 5411 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', -20, -16/ 5412 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', -19, -15/ 5413 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', -18, -16/ 5414 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', -19, -17/ 5415 DATA IOPERA( 128),IX( 128),IY( 128)/'MOVE', -11, -10/ 5416 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', -9, -11/ 5417 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', -8, -12/ 5418 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', -7, -14/ 5419 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', -7, -17/ 5420 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', -8, -19/ 5421 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', -9, -20/ 5422 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -11, -21/ 5423 DATA IOPERA( 136),IX( 136),IY( 136)/'MOVE', -32, -32/ 5424C 5425 DATA IXMIND( 4)/ -10/ 5426 DATA IXMAXD( 4)/ 11/ 5427 DATA IXDELD( 4)/ 21/ 5428 DATA ISTARD( 4)/ 90/ 5429 DATA NUMCOO( 4)/ 47/ 5430C 5431C DEFINE CHARACTER 4--4 5432C 5433 DATA IOPERA( 137),IX( 137),IY( 137)/'MOVE', -6, -1/ 5434 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', -12, -21/ 5435 DATA IOPERA( 139),IX( 139),IY( 139)/'MOVE', -5, 0/ 5436 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', -11, -21/ 5437 DATA IOPERA( 141),IX( 141),IY( 141)/'MOVE', -5, 0/ 5438 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -20, -15/ 5439 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -4, -15/ 5440C 5441 DATA IXMIND( 5)/ -10/ 5442 DATA IXMAXD( 5)/ 11/ 5443 DATA IXDELD( 5)/ 21/ 5444 DATA ISTARD( 5)/ 137/ 5445 DATA NUMCOO( 5)/ 7/ 5446C 5447C DEFINE CHARACTER 5--5 5448C 5449 DATA IOPERA( 144),IX( 144),IY( 144)/'MOVE', -13, 0/ 5450 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', -18, -10/ 5451 DATA IOPERA( 146),IX( 146),IY( 146)/'MOVE', -13, 0/ 5452 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', -3, 0/ 5453 DATA IOPERA( 148),IX( 148),IY( 148)/'MOVE', -13, -1/ 5454 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', -8, -1/ 5455 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', -3, 0/ 5456 DATA IOPERA( 151),IX( 151),IY( 151)/'MOVE', -18, -10/ 5457 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -17, -9/ 5458 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', -14, -8/ 5459 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', -11, -8/ 5460 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -8, -9/ 5461 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -7, -10/ 5462 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', -6, -12/ 5463 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', -6, -15/ 5464 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -7, -18/ 5465 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -9, -20/ 5466 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -12, -21/ 5467 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -15, -21/ 5468 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', -18, -20/ 5469 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -19, -19/ 5470 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', -20, -17/ 5471 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', -20, -16/ 5472 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', -19, -15/ 5473 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', -18, -16/ 5474 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', -19, -17/ 5475 DATA IOPERA( 170),IX( 170),IY( 170)/'MOVE', -11, -8/ 5476 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', -9, -9/ 5477 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -8, -10/ 5478 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -7, -12/ 5479 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -7, -15/ 5480 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', -8, -18/ 5481 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', -10, -20/ 5482 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', -12, -21/ 5483 DATA IOPERA( 178),IX( 178),IY( 178)/'MOVE', -32, -32/ 5484C 5485 DATA IXMIND( 6)/ -10/ 5486 DATA IXMAXD( 6)/ 11/ 5487 DATA IXDELD( 6)/ 21/ 5488 DATA ISTARD( 6)/ 144/ 5489 DATA NUMCOO( 6)/ 35/ 5490C 5491C DEFINE CHARACTER 6--6 5492C 5493 DATA IOPERA( 179),IX( 179),IY( 179)/'MOVE', -5, -3/ 5494 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', -6, -4/ 5495 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', -5, -5/ 5496 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', -4, -4/ 5497 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', -4, -3/ 5498 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', -5, -1/ 5499 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -7, 0/ 5500 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', -10, 0/ 5501 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', -13, -1/ 5502 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', -15, -3/ 5503 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', -17, -6/ 5504 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', -18, -9/ 5505 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -19, -13/ 5506 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', -19, -17/ 5507 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', -18, -19/ 5508 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', -17, -20/ 5509 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', -15, -21/ 5510 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', -12, -21/ 5511 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', -9, -20/ 5512 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', -7, -18/ 5513 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', -6, -16/ 5514 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', -6, -13/ 5515 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', -7, -11/ 5516 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', -8, -10/ 5517 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -10, -9/ 5518 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', -13, -9/ 5519 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', -15, -10/ 5520 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', -17, -12/ 5521 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -18, -14/ 5522 DATA IOPERA( 208),IX( 208),IY( 208)/'MOVE', -10, 0/ 5523 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', -12, -1/ 5524 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -14, -3/ 5525 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -16, -6/ 5526 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', -17, -9/ 5527 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', -18, -13/ 5528 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', -18, -18/ 5529 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', -17, -20/ 5530 DATA IOPERA( 216),IX( 216),IY( 216)/'MOVE', -12, -21/ 5531 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', -10, -20/ 5532 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -8, -18/ 5533 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -7, -16/ 5534 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -7, -12/ 5535 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -8, -10/ 5536C 5537 DATA IXMIND( 7)/ -10/ 5538 DATA IXMAXD( 7)/ 11/ 5539 DATA IXDELD( 7)/ 21/ 5540 DATA ISTARD( 7)/ 179/ 5541 DATA NUMCOO( 7)/ 43/ 5542C 5543C DEFINE CHARACTER 7--7 5544C 5545 DATA IOPERA( 222),IX( 222),IY( 222)/'MOVE', -16, 0/ 5546 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', -18, -6/ 5547 DATA IOPERA( 224),IX( 224),IY( 224)/'MOVE', -3, 0/ 5548 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', -4, -3/ 5549 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', -6, -6/ 5550 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', -11, -12/ 5551 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', -13, -15/ 5552 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', -14, -17/ 5553 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', -15, -21/ 5554 DATA IOPERA( 231),IX( 231),IY( 231)/'MOVE', -6, -6/ 5555 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', -12, -12/ 5556 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', -14, -15/ 5557 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', -15, -17/ 5558 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', -16, -21/ 5559 DATA IOPERA( 236),IX( 236),IY( 236)/'MOVE', -17, -3/ 5560 DATA IOPERA( 237),IX( 237),IY( 237)/'DRAW', -14, 0/ 5561 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', -12, 0/ 5562 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', -7, -3/ 5563 DATA IOPERA( 240),IX( 240),IY( 240)/'MOVE', -16, -2/ 5564 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', -14, -1/ 5565 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -12, -1/ 5566 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', -7, -3/ 5567 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', -5, -3/ 5568 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', -4, -2/ 5569 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', -3, 0/ 5570C 5571 DATA IXMIND( 8)/ -10/ 5572 DATA IXMAXD( 8)/ 11/ 5573 DATA IXDELD( 8)/ 21/ 5574 DATA ISTARD( 8)/ 222/ 5575 DATA NUMCOO( 8)/ 25/ 5576C 5577C-----START POINT----------------------------------------------------- 5578C 5579 IFOUND='YES' 5580 IERROR='NO' 5581C 5582 NUMCO=1 5583 ISTART=1 5584 ISTOP=1 5585 NC=1 5586C 5587C ****************************************** 5588C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 5589C ** HERSHEY CHARACTER SET CASE ** 5590C ****************************************** 5591C 5592C 5593 IF(IBUGD2.EQ.'OFF')GOTO90 5594 WRITE(ICOUT,999) 5595 999 FORMAT(1X) 5596 CALL DPWRST('XXX','BUG ') 5597 WRITE(ICOUT,51) 5598 51 FORMAT('***** AT THE BEGINNING OF DRCIN1--') 5599 CALL DPWRST('XXX','BUG ') 5600 WRITE(ICOUT,52)ICHARN 5601 52 FORMAT('ICHARN = ',I8) 5602 CALL DPWRST('XXX','BUG ') 5603 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 5604 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 5605 CALL DPWRST('XXX','BUG ') 5606 90 CONTINUE 5607C 5608C ************************************** 5609C ** STEP 2-- ** 5610C ** EXTRACT THE COORDINATES ** 5611C ** FOR THIS PARTICULAR CHARACTER. ** 5612C ************************************** 5613C 5614 ISTART=ISTARD(ICHARN) 5615 NC=NUMCOO(ICHARN) 5616 ISTOP=ISTART+NC-1 5617 J=0 5618 DO1100I=ISTART,ISTOP 5619 J=J+1 5620 IOP(J)=IOPERA(I) 5621 X(J)=IX(I) 5622 Y(J)=IY(I) 5623 1100 CONTINUE 5624 NUMCO=J 5625 IXMINS=IXMIND(ICHARN) 5626 IXMAXS=IXMAXD(ICHARN) 5627 IXDELS=IXDELD(ICHARN) 5628C 5629 GOTO9000 5630C 5631C ***************** 5632C ** STEP 90-- ** 5633C ** EXIT ** 5634C ***************** 5635C 5636 9000 CONTINUE 5637 IF(IBUGD2.EQ.'OFF')GOTO9090 5638 WRITE(ICOUT,999) 5639 CALL DPWRST('XXX','BUG ') 5640 WRITE(ICOUT,9011) 5641 9011 FORMAT('***** AT THE END OF DRCIN1--') 5642 CALL DPWRST('XXX','BUG ') 5643 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 5644 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 5645 CALL DPWRST('XXX','BUG ') 5646 WRITE(ICOUT,9013)ICHARN 5647 9013 FORMAT('ICHARN = ',I8) 5648 CALL DPWRST('XXX','BUG ') 5649 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 5650 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 5651 CALL DPWRST('XXX','BUG ') 5652 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 5653 DO9015I=1,NUMCO 5654 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 5655 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 5656 CALL DPWRST('XXX','BUG ') 5657 9015 CONTINUE 5658 9019 CONTINUE 5659 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 5660 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 5661 CALL DPWRST('XXX','BUG ') 5662 9090 CONTINUE 5663C 5664 RETURN 5665 END 5666 SUBROUTINE DRCIN2(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 5667 1IBUGD2,IFOUND,IERROR) 5668C 5669C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 5670C FOR ROMAN COMPLEX ITALIC NUMERIC (PART 2). 5671C WRITTEN BY--JAMES J. FILLIBEN 5672C STATISTICAL ENGINEERING DIVISION 5673C CENTER FOR APPLIED MATHEMATICS 5674C NATIONAL BUREAU OF STANDARDS 5675C WASHINGTON, D. C. 20234 5676C PHONE--301-921-3651 5677C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 5678C OF THE NATIONAL BUREAU OF STANDARDS. 5679C LANGUAGE--ANSI FORTRAN (1977) 5680C VERSION NUMBER--87/4 5681C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 5682C UPDATED --MAY 1982. 5683C UPDATED --MARCH 1987. 5684C 5685C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 5686C 5687 CHARACTER*4 IOP 5688 CHARACTER*4 IBUGD2 5689 CHARACTER*4 IFOUND 5690 CHARACTER*4 IERROR 5691C 5692 CHARACTER*4 IOPERA 5693C 5694C--------------------------------------------------------------------- 5695C 5696 DIMENSION IOP(*) 5697 DIMENSION X(*) 5698 DIMENSION Y(*) 5699C 5700 DIMENSION IOPERA(300) 5701 DIMENSION IX(300) 5702 DIMENSION IY(300) 5703C 5704 DIMENSION IXMIND(30) 5705 DIMENSION IXMAXD(30) 5706 DIMENSION IXDELD(30) 5707 DIMENSION ISTARD(30) 5708 DIMENSION NUMCOO(30) 5709C 5710C--------------------------------------------------------------------- 5711C 5712 INCLUDE 'DPCOP2.INC' 5713C 5714C-----DATA STATEMENTS------------------------------------------------- 5715C 5716C DEFINE CHARACTER 8--8 5717C 5718 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -11, 0/ 5719 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -14, -1/ 5720 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -15, -2/ 5721 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -16, -4/ 5722 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -16, -7/ 5723 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -15, -9/ 5724 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -13, -10/ 5725 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -10, -10/ 5726 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -6, -9/ 5727 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -5, -8/ 5728 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -4, -6/ 5729 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -4, -3/ 5730 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -5, -1/ 5731 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -8, 0/ 5732 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', -11, 0/ 5733 DATA IOPERA( 16),IX( 16),IY( 16)/'MOVE', -11, 0/ 5734 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -13, -1/ 5735 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', -14, -2/ 5736 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', -15, -4/ 5737 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', -15, -7/ 5738 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', -14, -9/ 5739 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', -13, -10/ 5740 DATA IOPERA( 23),IX( 23),IY( 23)/'MOVE', -10, -10/ 5741 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -7, -9/ 5742 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -6, -8/ 5743 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -5, -6/ 5744 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', -5, -3/ 5745 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -6, -1/ 5746 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', -8, 0/ 5747 DATA IOPERA( 30),IX( 30),IY( 30)/'MOVE', -13, -10/ 5748 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', -17, -11/ 5749 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -19, -13/ 5750 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', -20, -15/ 5751 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', -20, -18/ 5752 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', -19, -20/ 5753 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', -16, -21/ 5754 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -12, -21/ 5755 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -8, -20/ 5756 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -7, -19/ 5757 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -6, -17/ 5758 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -6, -14/ 5759 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -7, -12/ 5760 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -8, -11/ 5761 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', -10, -10/ 5762 DATA IOPERA( 45),IX( 45),IY( 45)/'MOVE', -13, -10/ 5763 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', -16, -11/ 5764 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -18, -13/ 5765 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -19, -15/ 5766 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -19, -18/ 5767 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -18, -20/ 5768 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -16, -21/ 5769 DATA IOPERA( 52),IX( 52),IY( 52)/'MOVE', -12, -21/ 5770 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -9, -20/ 5771 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', -8, -19/ 5772 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', -7, -17/ 5773 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', -7, -13/ 5774 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -8, -11/ 5775C 5776 DATA IXMIND( 9)/ -10/ 5777 DATA IXMAXD( 9)/ 11/ 5778 DATA IXDELD( 9)/ 21/ 5779 DATA ISTARD( 9)/ 1/ 5780 DATA NUMCOO( 9)/ 57/ 5781C 5782C DEFINE CHARACTER 9--9 5783C 5784 DATA IOPERA( 58),IX( 58),IY( 58)/'MOVE', -5, -7/ 5785 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -6, -9/ 5786 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -8, -11/ 5787 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -10, -12/ 5788 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -13, -12/ 5789 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -15, -11/ 5790 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -16, -10/ 5791 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -17, -8/ 5792 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -17, -5/ 5793 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', -16, -3/ 5794 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', -14, -1/ 5795 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -11, 0/ 5796 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', -8, 0/ 5797 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -6, -1/ 5798 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -5, -2/ 5799 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -4, -4/ 5800 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -4, -8/ 5801 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -5, -12/ 5802 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -6, -15/ 5803 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', -8, -18/ 5804 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -10, -20/ 5805 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -13, -21/ 5806 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', -16, -21/ 5807 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', -18, -20/ 5808 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', -19, -18/ 5809 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', -19, -17/ 5810 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', -18, -16/ 5811 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', -17, -17/ 5812 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', -18, -18/ 5813 DATA IOPERA( 87),IX( 87),IY( 87)/'MOVE', -15, -11/ 5814 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', -16, -9/ 5815 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', -16, -5/ 5816 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', -15, -3/ 5817 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', -13, -1/ 5818 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', -11, 0/ 5819 DATA IOPERA( 93),IX( 93),IY( 93)/'MOVE', -6, -1/ 5820 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -5, -3/ 5821 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', -5, -8/ 5822 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', -6, -12/ 5823 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', -7, -15/ 5824 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', -9, -18/ 5825 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', -11, -20/ 5826 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', -13, -21/ 5827C 5828 DATA IXMIND( 10)/ -10/ 5829 DATA IXMAXD( 10)/ 11/ 5830 DATA IXDELD( 10)/ 21/ 5831 DATA ISTARD( 10)/ 58/ 5832 DATA NUMCOO( 10)/ 43/ 5833C 5834C-----START POINT----------------------------------------------------- 5835C 5836 IFOUND='YES' 5837 IERROR='NO' 5838C 5839 NUMCO=1 5840 ISTART=1 5841 ISTOP=1 5842 NC=1 5843C 5844C ****************************************** 5845C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 5846C ** HERSHEY CHARACTER SET CASE ** 5847C ****************************************** 5848C 5849C 5850 IF(IBUGD2.EQ.'OFF')GOTO90 5851 WRITE(ICOUT,999) 5852 999 FORMAT(1X) 5853 CALL DPWRST('XXX','BUG ') 5854 WRITE(ICOUT,51) 5855 51 FORMAT('***** AT THE BEGINNING OF DRCIN2--') 5856 CALL DPWRST('XXX','BUG ') 5857 WRITE(ICOUT,52)ICHARN 5858 52 FORMAT('ICHARN = ',I8) 5859 CALL DPWRST('XXX','BUG ') 5860 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 5861 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 5862 CALL DPWRST('XXX','BUG ') 5863 90 CONTINUE 5864C 5865C ************************************** 5866C ** STEP 2-- ** 5867C ** EXTRACT THE COORDINATES ** 5868C ** FOR THIS PARTICULAR CHARACTER. ** 5869C ************************************** 5870C 5871 ISTART=ISTARD(ICHARN) 5872 NC=NUMCOO(ICHARN) 5873 ISTOP=ISTART+NC-1 5874 J=0 5875 DO1100I=ISTART,ISTOP 5876 J=J+1 5877 IOP(J)=IOPERA(I) 5878 X(J)=IX(I) 5879 Y(J)=IY(I) 5880 1100 CONTINUE 5881 NUMCO=J 5882 IXMINS=IXMIND(ICHARN) 5883 IXMAXS=IXMAXD(ICHARN) 5884 IXDELS=IXDELD(ICHARN) 5885C 5886 GOTO9000 5887C 5888C ***************** 5889C ** STEP 90-- ** 5890C ** EXIT ** 5891C ***************** 5892C 5893 9000 CONTINUE 5894 IF(IBUGD2.EQ.'OFF')GOTO9090 5895 WRITE(ICOUT,999) 5896 CALL DPWRST('XXX','BUG ') 5897 WRITE(ICOUT,9011) 5898 9011 FORMAT('***** AT THE END OF DRCIN2--') 5899 CALL DPWRST('XXX','BUG ') 5900 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 5901 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 5902 CALL DPWRST('XXX','BUG ') 5903 WRITE(ICOUT,9013)ICHARN 5904 9013 FORMAT('ICHARN = ',I8) 5905 CALL DPWRST('XXX','BUG ') 5906 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 5907 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 5908 CALL DPWRST('XXX','BUG ') 5909 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 5910 DO9015I=1,NUMCO 5911 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 5912 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 5913 CALL DPWRST('XXX','BUG ') 5914 9015 CONTINUE 5915 9019 CONTINUE 5916 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 5917 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 5918 CALL DPWRST('XXX','BUG ') 5919 9090 CONTINUE 5920C 5921 RETURN 5922 END 5923 SUBROUTINE DRCIU1(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 5924 1IBUGD2,IFOUND,IERROR) 5925C 5926C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 5927C FOR ROMAN COMPLEX ITALIC UPPER CASE (PART 1). 5928C WRITTEN BY--JAMES J. FILLIBEN 5929C STATISTICAL ENGINEERING DIVISION 5930C CENTER FOR APPLIED MATHEMATICS 5931C NATIONAL BUREAU OF STANDARDS 5932C WASHINGTON, D. C. 20234 5933C PHONE--301-921-3651 5934C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 5935C OF THE NATIONAL BUREAU OF STANDARDS. 5936C LANGUAGE--ANSI FORTRAN (1977) 5937C VERSION NUMBER--87/4 5938C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 5939C UPDATED --MAY 1982. 5940C UPDATED --MARCH 1987. 5941C 5942C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 5943C 5944 CHARACTER*4 IOP 5945 CHARACTER*4 IBUGD2 5946 CHARACTER*4 IFOUND 5947 CHARACTER*4 IERROR 5948C 5949 CHARACTER*4 IOPERA 5950C 5951C--------------------------------------------------------------------- 5952C 5953 DIMENSION IOP(*) 5954 DIMENSION X(*) 5955 DIMENSION Y(*) 5956C 5957 DIMENSION IOPERA(300) 5958 DIMENSION IX(300) 5959 DIMENSION IY(300) 5960C 5961 DIMENSION IXMIND(30) 5962 DIMENSION IXMAXD(30) 5963 DIMENSION IXDELD(30) 5964 DIMENSION ISTARD(30) 5965 DIMENSION NUMCOO(30) 5966C 5967C--------------------------------------------------------------------- 5968C 5969 INCLUDE 'DPCOP2.INC' 5970C 5971C-----DATA STATEMENTS------------------------------------------------- 5972C 5973C DEFINE CHARACTER 2051--UPPER CASE A 5974C 5975 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 3, 12/ 5976 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -10, -9/ 5977 DATA IOPERA( 3),IX( 3),IY( 3)/'MOVE', 3, 12/ 5978 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', 4, -9/ 5979 DATA IOPERA( 5),IX( 5),IY( 5)/'MOVE', 2, 10/ 5980 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', 3, -9/ 5981 DATA IOPERA( 7),IX( 7),IY( 7)/'MOVE', -6, -3/ 5982 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', 3, -3/ 5983 DATA IOPERA( 9),IX( 9),IY( 9)/'MOVE', -12, -9/ 5984 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -6, -9/ 5985 DATA IOPERA( 11),IX( 11),IY( 11)/'MOVE', 0, -9/ 5986 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 6, -9/ 5987C 5988 DATA IXMIND( 1)/ -10/ 5989 DATA IXMAXD( 1)/ 10/ 5990 DATA IXDELD( 1)/ 20/ 5991 DATA ISTARD( 1)/ 1/ 5992 DATA NUMCOO( 1)/ 12/ 5993C 5994C DEFINE CHARACTER 2052--UPPER CASE B 5995C 5996 DATA IOPERA( 13),IX( 13),IY( 13)/'MOVE', -3, 12/ 5997 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -9, -9/ 5998 DATA IOPERA( 15),IX( 15),IY( 15)/'MOVE', -2, 12/ 5999 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', -8, -9/ 6000 DATA IOPERA( 17),IX( 17),IY( 17)/'MOVE', -6, 12/ 6001 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 5, 12/ 6002 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 8, 11/ 6003 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 9, 9/ 6004 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 9, 7/ 6005 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 8, 4/ 6006 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 7, 3/ 6007 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 4, 2/ 6008 DATA IOPERA( 25),IX( 25),IY( 25)/'MOVE', 5, 12/ 6009 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 7, 11/ 6010 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 8, 9/ 6011 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 8, 7/ 6012 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', 7, 4/ 6013 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', 6, 3/ 6014 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', 4, 2/ 6015 DATA IOPERA( 32),IX( 32),IY( 32)/'MOVE', -5, 2/ 6016 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 4, 2/ 6017 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 6, 1/ 6018 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 7, -1/ 6019 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', 7, -3/ 6020 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', 6, -6/ 6021 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', 4, -8/ 6022 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', 0, -9/ 6023 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -12, -9/ 6024 DATA IOPERA( 41),IX( 41),IY( 41)/'MOVE', 4, 2/ 6025 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', 5, 1/ 6026 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', 6, -1/ 6027 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', 6, -3/ 6028 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', 5, -6/ 6029 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', 3, -8/ 6030 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', 0, -9/ 6031C 6032 DATA IXMIND( 2)/ -12/ 6033 DATA IXMAXD( 2)/ 12/ 6034 DATA IXDELD( 2)/ 24/ 6035 DATA ISTARD( 2)/ 13/ 6036 DATA NUMCOO( 2)/ 35/ 6037C 6038C DEFINE CHARACTER 2053--UPPER CASE C 6039C 6040 DATA IOPERA( 48),IX( 48),IY( 48)/'MOVE', 8, 10/ 6041 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', 9, 10/ 6042 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', 10, 12/ 6043 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', 9, 6/ 6044 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', 9, 8/ 6045 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', 8, 10/ 6046 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', 7, 11/ 6047 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 5, 12/ 6048 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', 2, 12/ 6049 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -1, 11/ 6050 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -3, 9/ 6051 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -5, 6/ 6052 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -6, 3/ 6053 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -7, -1/ 6054 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -7, -4/ 6055 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -6, -7/ 6056 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -5, -8/ 6057 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -2, -9/ 6058 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', 1, -9/ 6059 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', 3, -8/ 6060 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 5, -6/ 6061 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 6, -4/ 6062 DATA IOPERA( 70),IX( 70),IY( 70)/'MOVE', 2, 12/ 6063 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 0, 11/ 6064 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -2, 9/ 6065 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -4, 6/ 6066 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -5, 3/ 6067 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -6, -1/ 6068 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -6, -4/ 6069 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', -5, -7/ 6070 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -4, -8/ 6071 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -2, -9/ 6072C 6073 DATA IXMIND( 3)/ -10/ 6074 DATA IXMAXD( 3)/ 11/ 6075 DATA IXDELD( 3)/ 21/ 6076 DATA ISTARD( 3)/ 48/ 6077 DATA NUMCOO( 3)/ 32/ 6078C 6079C DEFINE CHARACTER 2054--UPPER CASE D 6080C 6081 DATA IOPERA( 80),IX( 80),IY( 80)/'MOVE', -3, 12/ 6082 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', -9, -9/ 6083 DATA IOPERA( 82),IX( 82),IY( 82)/'MOVE', -2, 12/ 6084 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', -8, -9/ 6085 DATA IOPERA( 84),IX( 84),IY( 84)/'MOVE', -6, 12/ 6086 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 3, 12/ 6087 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 6, 11/ 6088 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', 7, 10/ 6089 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', 8, 7/ 6090 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', 8, 3/ 6091 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', 7, -1/ 6092 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', 5, -5/ 6093 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', 3, -7/ 6094 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 1, -8/ 6095 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -3, -9/ 6096 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', -12, -9/ 6097 DATA IOPERA( 96),IX( 96),IY( 96)/'MOVE', 3, 12/ 6098 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 5, 11/ 6099 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 6, 10/ 6100 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 7, 7/ 6101 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 7, 3/ 6102 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', 6, -1/ 6103 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 4, -5/ 6104 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 2, -7/ 6105 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', 0, -8/ 6106 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', -3, -9/ 6107C 6108 DATA IXMIND( 4)/ -12/ 6109 DATA IXMAXD( 4)/ 11/ 6110 DATA IXDELD( 4)/ 23/ 6111 DATA ISTARD( 4)/ 80/ 6112 DATA NUMCOO( 4)/ 26/ 6113C 6114C DEFINE CHARACTER 2055--UPPER CASE E 6115C 6116 DATA IOPERA( 106),IX( 106),IY( 106)/'MOVE', -3, 12/ 6117 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', -9, -9/ 6118 DATA IOPERA( 108),IX( 108),IY( 108)/'MOVE', -2, 12/ 6119 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', -8, -9/ 6120 DATA IOPERA( 110),IX( 110),IY( 110)/'MOVE', 2, 6/ 6121 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', 0, -2/ 6122 DATA IOPERA( 112),IX( 112),IY( 112)/'MOVE', -6, 12/ 6123 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 9, 12/ 6124 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 8, 6/ 6125 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', 8, 12/ 6126 DATA IOPERA( 116),IX( 116),IY( 116)/'MOVE', -5, 2/ 6127 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 1, 2/ 6128 DATA IOPERA( 118),IX( 118),IY( 118)/'MOVE', -12, -9/ 6129 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', 3, -9/ 6130 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', 5, -4/ 6131 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', 2, -9/ 6132C 6133 DATA IXMIND( 5)/ -12/ 6134 DATA IXMAXD( 5)/ 11/ 6135 DATA IXDELD( 5)/ 23/ 6136 DATA ISTARD( 5)/ 106/ 6137 DATA NUMCOO( 5)/ 16/ 6138C 6139C DEFINE CHARACTER 2056--UPPER CASE F 6140C 6141 DATA IOPERA( 122),IX( 122),IY( 122)/'MOVE', -3, 12/ 6142 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -9, -9/ 6143 DATA IOPERA( 124),IX( 124),IY( 124)/'MOVE', -2, 12/ 6144 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', -8, -9/ 6145 DATA IOPERA( 126),IX( 126),IY( 126)/'MOVE', 2, 6/ 6146 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', 0, -2/ 6147 DATA IOPERA( 128),IX( 128),IY( 128)/'MOVE', -6, 12/ 6148 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', 9, 12/ 6149 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', 8, 6/ 6150 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 8, 12/ 6151 DATA IOPERA( 132),IX( 132),IY( 132)/'MOVE', -5, 2/ 6152 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', 1, 2/ 6153 DATA IOPERA( 134),IX( 134),IY( 134)/'MOVE', -12, -9/ 6154 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -5, -9/ 6155C 6156 DATA IXMIND( 6)/ -12/ 6157 DATA IXMAXD( 6)/ 10/ 6158 DATA IXDELD( 6)/ 22/ 6159 DATA ISTARD( 6)/ 122/ 6160 DATA NUMCOO( 6)/ 14/ 6161C 6162C DEFINE CHARACTER 2057--UPPER CASE G 6163C 6164 DATA IOPERA( 136),IX( 136),IY( 136)/'MOVE', 8, 10/ 6165 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', 9, 10/ 6166 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', 10, 12/ 6167 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', 9, 6/ 6168 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', 9, 8/ 6169 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', 8, 10/ 6170 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', 7, 11/ 6171 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', 5, 12/ 6172 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', 2, 12/ 6173 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', -1, 11/ 6174 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', -3, 9/ 6175 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', -5, 6/ 6176 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', -6, 3/ 6177 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', -7, -1/ 6178 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', -7, -4/ 6179 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', -6, -7/ 6180 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -5, -8/ 6181 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', -2, -9/ 6182 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 0, -9/ 6183 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', 3, -8/ 6184 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', 5, -6/ 6185 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', 7, -2/ 6186 DATA IOPERA( 158),IX( 158),IY( 158)/'MOVE', 2, 12/ 6187 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', 0, 11/ 6188 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -2, 9/ 6189 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -4, 6/ 6190 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -5, 3/ 6191 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', -6, -1/ 6192 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -6, -4/ 6193 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', -5, -7/ 6194 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', -4, -8/ 6195 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', -2, -9/ 6196 DATA IOPERA( 168),IX( 168),IY( 168)/'MOVE', 0, -9/ 6197 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 2, -8/ 6198 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', 4, -6/ 6199 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', 6, -2/ 6200 DATA IOPERA( 172),IX( 172),IY( 172)/'MOVE', 3, -2/ 6201 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', 10, -2/ 6202C 6203 DATA IXMIND( 7)/ -10/ 6204 DATA IXMAXD( 7)/ 12/ 6205 DATA IXDELD( 7)/ 22/ 6206 DATA ISTARD( 7)/ 136/ 6207 DATA NUMCOO( 7)/ 38/ 6208C 6209C DEFINE CHARACTER 2058--UPPER CASE H 6210C 6211 DATA IOPERA( 174),IX( 174),IY( 174)/'MOVE', -4, 12/ 6212 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', -10, -9/ 6213 DATA IOPERA( 176),IX( 176),IY( 176)/'MOVE', -3, 12/ 6214 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', -9, -9/ 6215 DATA IOPERA( 178),IX( 178),IY( 178)/'MOVE', 9, 12/ 6216 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', 3, -9/ 6217 DATA IOPERA( 180),IX( 180),IY( 180)/'MOVE', 10, 12/ 6218 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', 4, -9/ 6219 DATA IOPERA( 182),IX( 182),IY( 182)/'MOVE', -7, 12/ 6220 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', 0, 12/ 6221 DATA IOPERA( 184),IX( 184),IY( 184)/'MOVE', 6, 12/ 6222 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', 13, 12/ 6223 DATA IOPERA( 186),IX( 186),IY( 186)/'MOVE', -6, 2/ 6224 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', 6, 2/ 6225 DATA IOPERA( 188),IX( 188),IY( 188)/'MOVE', -13, -9/ 6226 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', -6, -9/ 6227 DATA IOPERA( 190),IX( 190),IY( 190)/'MOVE', 0, -9/ 6228 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', 7, -9/ 6229C 6230 DATA IXMIND( 8)/ -13/ 6231 DATA IXMAXD( 8)/ 13/ 6232 DATA IXDELD( 8)/ 26/ 6233 DATA ISTARD( 8)/ 174/ 6234 DATA NUMCOO( 8)/ 18/ 6235C 6236C DEFINE CHARACTER 2059--UPPER CASE I 6237C 6238 DATA IOPERA( 192),IX( 192),IY( 192)/'MOVE', 3, 12/ 6239 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', -3, -9/ 6240 DATA IOPERA( 194),IX( 194),IY( 194)/'MOVE', 4, 12/ 6241 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', -2, -9/ 6242 DATA IOPERA( 196),IX( 196),IY( 196)/'MOVE', 0, 12/ 6243 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 7, 12/ 6244 DATA IOPERA( 198),IX( 198),IY( 198)/'MOVE', -6, -9/ 6245 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', 1, -9/ 6246C 6247 DATA IXMIND( 9)/ -6/ 6248 DATA IXMAXD( 9)/ 7/ 6249 DATA IXDELD( 9)/ 13/ 6250 DATA ISTARD( 9)/ 192/ 6251 DATA NUMCOO( 9)/ 8/ 6252C 6253C DEFINE CHARACTER 2060--UPPER CASE J 6254C 6255 DATA IOPERA( 200),IX( 200),IY( 200)/'MOVE', 6, 12/ 6256 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', 1, -5/ 6257 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', 0, -7/ 6258 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -1, -8/ 6259 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', -3, -9/ 6260 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', -5, -9/ 6261 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', -7, -8/ 6262 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -8, -6/ 6263 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', -8, -4/ 6264 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', -7, -3/ 6265 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -6, -4/ 6266 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -7, -5/ 6267 DATA IOPERA( 212),IX( 212),IY( 212)/'MOVE', 5, 12/ 6268 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 0, -5/ 6269 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', -1, -7/ 6270 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', -3, -9/ 6271 DATA IOPERA( 216),IX( 216),IY( 216)/'MOVE', 2, 12/ 6272 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', 9, 12/ 6273C 6274 DATA IXMIND( 10)/ -9/ 6275 DATA IXMAXD( 10)/ 9/ 6276 DATA IXDELD( 10)/ 18/ 6277 DATA ISTARD( 10)/ 200/ 6278 DATA NUMCOO( 10)/ 18/ 6279C 6280C DEFINE CHARACTER 2061--UPPER CASE K 6281C 6282 DATA IOPERA( 218),IX( 218),IY( 218)/'MOVE', -3, 12/ 6283 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -9, -9/ 6284 DATA IOPERA( 220),IX( 220),IY( 220)/'MOVE', -2, 12/ 6285 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -8, -9/ 6286 DATA IOPERA( 222),IX( 222),IY( 222)/'MOVE', 11, 12/ 6287 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', -6, -1/ 6288 DATA IOPERA( 224),IX( 224),IY( 224)/'MOVE', 1, 3/ 6289 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', 5, -9/ 6290 DATA IOPERA( 226),IX( 226),IY( 226)/'MOVE', 0, 3/ 6291 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', 4, -9/ 6292 DATA IOPERA( 228),IX( 228),IY( 228)/'MOVE', -6, 12/ 6293 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', 1, 12/ 6294 DATA IOPERA( 230),IX( 230),IY( 230)/'MOVE', 7, 12/ 6295 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', 13, 12/ 6296 DATA IOPERA( 232),IX( 232),IY( 232)/'MOVE', -12, -9/ 6297 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', -5, -9/ 6298 DATA IOPERA( 234),IX( 234),IY( 234)/'MOVE', 1, -9/ 6299 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', 7, -9/ 6300C 6301 DATA IXMIND( 11)/ -12/ 6302 DATA IXMAXD( 11)/ 11/ 6303 DATA IXDELD( 11)/ 23/ 6304 DATA ISTARD( 11)/ 218/ 6305 DATA NUMCOO( 11)/ 18/ 6306C 6307C DEFINE CHARACTER 2062--UPPER CASE L 6308C 6309 DATA IOPERA( 236),IX( 236),IY( 236)/'MOVE', -1, 12/ 6310 DATA IOPERA( 237),IX( 237),IY( 237)/'DRAW', -7, -9/ 6311 DATA IOPERA( 238),IX( 238),IY( 238)/'MOVE', 0, 12/ 6312 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', -6, -9/ 6313 DATA IOPERA( 240),IX( 240),IY( 240)/'MOVE', -4, 12/ 6314 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', 3, 12/ 6315 DATA IOPERA( 242),IX( 242),IY( 242)/'MOVE', -10, -9/ 6316 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', 5, -9/ 6317 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', 7, -3/ 6318 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', 4, -9/ 6319C 6320 DATA IXMIND( 12)/ -10/ 6321 DATA IXMAXD( 12)/ 10/ 6322 DATA IXDELD( 12)/ 20/ 6323 DATA ISTARD( 12)/ 236/ 6324 DATA NUMCOO( 12)/ 10/ 6325C 6326C DEFINE CHARACTER 2063--UPPER CASE M 6327C 6328 DATA IOPERA( 246),IX( 246),IY( 246)/'MOVE', -4, 12/ 6329 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -10, -9/ 6330 DATA IOPERA( 248),IX( 248),IY( 248)/'MOVE', -4, 12/ 6331 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', -3, -9/ 6332 DATA IOPERA( 250),IX( 250),IY( 250)/'MOVE', -3, 12/ 6333 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', -2, -7/ 6334 DATA IOPERA( 252),IX( 252),IY( 252)/'MOVE', 10, 12/ 6335 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', -3, -9/ 6336 DATA IOPERA( 254),IX( 254),IY( 254)/'MOVE', 10, 12/ 6337 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', 4, -9/ 6338 DATA IOPERA( 256),IX( 256),IY( 256)/'MOVE', 11, 12/ 6339 DATA IOPERA( 257),IX( 257),IY( 257)/'DRAW', 5, -9/ 6340 DATA IOPERA( 258),IX( 258),IY( 258)/'MOVE', -7, 12/ 6341 DATA IOPERA( 259),IX( 259),IY( 259)/'DRAW', -3, 12/ 6342 DATA IOPERA( 260),IX( 260),IY( 260)/'MOVE', 10, 12/ 6343 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', 14, 12/ 6344 DATA IOPERA( 262),IX( 262),IY( 262)/'MOVE', -13, -9/ 6345 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', -7, -9/ 6346 DATA IOPERA( 264),IX( 264),IY( 264)/'MOVE', 1, -9/ 6347 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', 8, -9/ 6348C 6349 DATA IXMIND( 13)/ -13/ 6350 DATA IXMAXD( 13)/ 14/ 6351 DATA IXDELD( 13)/ 27/ 6352 DATA ISTARD( 13)/ 246/ 6353 DATA NUMCOO( 13)/ 20/ 6354C 6355C DEFINE CHARACTER 2064--UPPER CASE N 6356C 6357 DATA IOPERA( 266),IX( 266),IY( 266)/'MOVE', -3, 12/ 6358 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', -9, -9/ 6359 DATA IOPERA( 268),IX( 268),IY( 268)/'MOVE', -3, 12/ 6360 DATA IOPERA( 269),IX( 269),IY( 269)/'DRAW', 4, -6/ 6361 DATA IOPERA( 270),IX( 270),IY( 270)/'MOVE', -3, 9/ 6362 DATA IOPERA( 271),IX( 271),IY( 271)/'DRAW', 4, -9/ 6363 DATA IOPERA( 272),IX( 272),IY( 272)/'MOVE', 10, 12/ 6364 DATA IOPERA( 273),IX( 273),IY( 273)/'DRAW', 4, -9/ 6365 DATA IOPERA( 274),IX( 274),IY( 274)/'MOVE', -6, 12/ 6366 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', -3, 12/ 6367 DATA IOPERA( 276),IX( 276),IY( 276)/'MOVE', 7, 12/ 6368 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', 13, 12/ 6369 DATA IOPERA( 278),IX( 278),IY( 278)/'MOVE', -12, -9/ 6370 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', -6, -9/ 6371C 6372 DATA IXMIND( 14)/ -12/ 6373 DATA IXMAXD( 14)/ 13/ 6374 DATA IXDELD( 14)/ 25/ 6375 DATA ISTARD( 14)/ 266/ 6376 DATA NUMCOO( 14)/ 14/ 6377C 6378C-----START POINT----------------------------------------------------- 6379C 6380 IFOUND='YES' 6381 IERROR='NO' 6382C 6383 NUMCO=1 6384 ISTART=1 6385 ISTOP=1 6386 NC=1 6387C 6388C ****************************************** 6389C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 6390C ** HERSHEY CHARACTER SET CASE ** 6391C ****************************************** 6392C 6393C 6394 IF(IBUGD2.EQ.'OFF')GOTO90 6395 WRITE(ICOUT,999) 6396 999 FORMAT(1X) 6397 CALL DPWRST('XXX','BUG ') 6398 WRITE(ICOUT,51) 6399 51 FORMAT('***** AT THE BEGINNING OF DRCIU1--') 6400 CALL DPWRST('XXX','BUG ') 6401 WRITE(ICOUT,52)ICHARN 6402 52 FORMAT('ICHARN = ',I8) 6403 CALL DPWRST('XXX','BUG ') 6404 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 6405 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 6406 CALL DPWRST('XXX','BUG ') 6407 90 CONTINUE 6408C 6409C ************************************** 6410C ** STEP 2-- ** 6411C ** EXTRACT THE COORDINATES ** 6412C ** FOR THIS PARTICULAR CHARACTER. ** 6413C ************************************** 6414C 6415 ISTART=ISTARD(ICHARN) 6416 NC=NUMCOO(ICHARN) 6417 ISTOP=ISTART+NC-1 6418 J=0 6419 DO1100I=ISTART,ISTOP 6420 J=J+1 6421 IOP(J)=IOPERA(I) 6422 X(J)=IX(I) 6423 Y(J)=IY(I) 6424 1100 CONTINUE 6425 NUMCO=J 6426 IXMINS=IXMIND(ICHARN) 6427 IXMAXS=IXMAXD(ICHARN) 6428 IXDELS=IXDELD(ICHARN) 6429C 6430 GOTO9000 6431C 6432C ***************** 6433C ** STEP 90-- ** 6434C ** EXIT ** 6435C ***************** 6436C 6437 9000 CONTINUE 6438 IF(IBUGD2.EQ.'OFF')GOTO9090 6439 WRITE(ICOUT,999) 6440 CALL DPWRST('XXX','BUG ') 6441 WRITE(ICOUT,9011) 6442 9011 FORMAT('***** AT THE END OF DRCIU1--') 6443 CALL DPWRST('XXX','BUG ') 6444 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 6445 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 6446 CALL DPWRST('XXX','BUG ') 6447 WRITE(ICOUT,9013)ICHARN 6448 9013 FORMAT('ICHARN = ',I8) 6449 CALL DPWRST('XXX','BUG ') 6450 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 6451 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 6452 CALL DPWRST('XXX','BUG ') 6453 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 6454 DO9015I=1,NUMCO 6455 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 6456 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 6457 CALL DPWRST('XXX','BUG ') 6458 9015 CONTINUE 6459 9019 CONTINUE 6460 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 6461 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 6462 CALL DPWRST('XXX','BUG ') 6463 9090 CONTINUE 6464C 6465 RETURN 6466 END 6467 SUBROUTINE DRCIU2(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 6468 1IBUGD2,IFOUND,IERROR) 6469C 6470C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 6471C FOR ROMAN COMPLEX ITALIC UPPER CASE (PART 2). 6472C WRITTEN BY--JAMES J. FILLIBEN 6473C STATISTICAL ENGINEERING DIVISION 6474C CENTER FOR APPLIED MATHEMATICS 6475C NATIONAL BUREAU OF STANDARDS 6476C WASHINGTON, D. C. 20234 6477C PHONE--301-921-3651 6478C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 6479C OF THE NATIONAL BUREAU OF STANDARDS. 6480C LANGUAGE--ANSI FORTRAN (1977) 6481C VERSION NUMBER--87/4 6482C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 6483C UPDATED --MAY 1982. 6484C UPDATED --MARCH 1987. 6485C 6486C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 6487C 6488 CHARACTER*4 IOP 6489 CHARACTER*4 IBUGD2 6490 CHARACTER*4 IFOUND 6491 CHARACTER*4 IERROR 6492C 6493 CHARACTER*4 IOPERA 6494C 6495C--------------------------------------------------------------------- 6496C 6497 DIMENSION IOP(*) 6498 DIMENSION X(*) 6499 DIMENSION Y(*) 6500C 6501 DIMENSION IOPERA(300) 6502 DIMENSION IX(300) 6503 DIMENSION IY(300) 6504C 6505 DIMENSION IXMIND(30) 6506 DIMENSION IXMAXD(30) 6507 DIMENSION IXDELD(30) 6508 DIMENSION ISTARD(30) 6509 DIMENSION NUMCOO(30) 6510C 6511C--------------------------------------------------------------------- 6512C 6513 INCLUDE 'DPCOP2.INC' 6514C 6515C-----DATA STATEMENTS------------------------------------------------- 6516C 6517C DEFINE CHARACTER 2065--UPPER CASE O 6518C 6519 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 1, 12/ 6520 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -2, 11/ 6521 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -4, 9/ 6522 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -6, 6/ 6523 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -7, 3/ 6524 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -8, -1/ 6525 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -8, -4/ 6526 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -7, -7/ 6527 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -6, -8/ 6528 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -4, -9/ 6529 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -1, -9/ 6530 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 2, -8/ 6531 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 4, -6/ 6532 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', 6, -3/ 6533 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 7, 0/ 6534 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 8, 4/ 6535 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 8, 7/ 6536 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 7, 10/ 6537 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 6, 11/ 6538 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 4, 12/ 6539 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 1, 12/ 6540 DATA IOPERA( 22),IX( 22),IY( 22)/'MOVE', 1, 12/ 6541 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', -1, 11/ 6542 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -3, 9/ 6543 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -5, 6/ 6544 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -6, 3/ 6545 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', -7, -1/ 6546 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -7, -4/ 6547 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', -6, -7/ 6548 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', -4, -9/ 6549 DATA IOPERA( 31),IX( 31),IY( 31)/'MOVE', -1, -9/ 6550 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 1, -8/ 6551 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 3, -6/ 6552 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 5, -3/ 6553 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 6, 0/ 6554 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', 7, 4/ 6555 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', 7, 7/ 6556 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', 6, 10/ 6557 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', 4, 12/ 6558C 6559 DATA IXMIND( 15)/ -11/ 6560 DATA IXMAXD( 15)/ 11/ 6561 DATA IXDELD( 15)/ 22/ 6562 DATA ISTARD( 15)/ 1/ 6563 DATA NUMCOO( 15)/ 39/ 6564C 6565C DEFINE CHARACTER 2066--UPPER CASE P 6566C 6567 DATA IOPERA( 40),IX( 40),IY( 40)/'MOVE', -3, 12/ 6568 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -9, -9/ 6569 DATA IOPERA( 42),IX( 42),IY( 42)/'MOVE', -2, 12/ 6570 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -8, -9/ 6571 DATA IOPERA( 44),IX( 44),IY( 44)/'MOVE', -6, 12/ 6572 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', 6, 12/ 6573 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', 9, 11/ 6574 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', 10, 9/ 6575 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', 10, 7/ 6576 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', 9, 4/ 6577 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', 7, 2/ 6578 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', 3, 1/ 6579 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', -5, 1/ 6580 DATA IOPERA( 53),IX( 53),IY( 53)/'MOVE', 6, 12/ 6581 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', 8, 11/ 6582 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 9, 9/ 6583 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', 9, 7/ 6584 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', 8, 4/ 6585 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', 6, 2/ 6586 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', 3, 1/ 6587 DATA IOPERA( 60),IX( 60),IY( 60)/'MOVE', -12, -9/ 6588 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -5, -9/ 6589C 6590 DATA IXMIND( 16)/ -12/ 6591 DATA IXMAXD( 16)/ 11/ 6592 DATA IXDELD( 16)/ 23/ 6593 DATA ISTARD( 16)/ 40/ 6594 DATA NUMCOO( 16)/ 22/ 6595C 6596C DEFINE CHARACTER 2067--UPPER CASE Q 6597C 6598 DATA IOPERA( 62),IX( 62),IY( 62)/'MOVE', 1, 12/ 6599 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -2, 11/ 6600 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -4, 9/ 6601 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -6, 6/ 6602 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -7, 3/ 6603 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', -8, -1/ 6604 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', -8, -4/ 6605 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -7, -7/ 6606 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', -6, -8/ 6607 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -4, -9/ 6608 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -1, -9/ 6609 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', 2, -8/ 6610 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', 4, -6/ 6611 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', 6, -3/ 6612 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', 7, 0/ 6613 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', 8, 4/ 6614 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', 8, 7/ 6615 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', 7, 10/ 6616 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', 6, 11/ 6617 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 4, 12/ 6618 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 1, 12/ 6619 DATA IOPERA( 83),IX( 83),IY( 83)/'MOVE', 1, 12/ 6620 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', -1, 11/ 6621 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', -3, 9/ 6622 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', -5, 6/ 6623 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', -6, 3/ 6624 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', -7, -1/ 6625 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', -7, -4/ 6626 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', -6, -7/ 6627 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', -4, -9/ 6628 DATA IOPERA( 92),IX( 92),IY( 92)/'MOVE', -1, -9/ 6629 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 1, -8/ 6630 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', 3, -6/ 6631 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', 5, -3/ 6632 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 6, 0/ 6633 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 7, 4/ 6634 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 7, 7/ 6635 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 6, 10/ 6636 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 4, 12/ 6637 DATA IOPERA( 101),IX( 101),IY( 101)/'MOVE', -6, -7/ 6638 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', -6, -6/ 6639 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', -5, -4/ 6640 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', -3, -3/ 6641 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', -2, -3/ 6642 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 0, -4/ 6643 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', 1, -6/ 6644 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', 1, -13/ 6645 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 2, -14/ 6646 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', 4, -14/ 6647 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', 5, -12/ 6648 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 5, -11/ 6649 DATA IOPERA( 113),IX( 113),IY( 113)/'MOVE', 1, -6/ 6650 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 2, -12/ 6651 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', 3, -13/ 6652 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', 4, -13/ 6653 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 5, -12/ 6654C 6655 DATA IXMIND( 17)/ -11/ 6656 DATA IXMAXD( 17)/ 11/ 6657 DATA IXDELD( 17)/ 22/ 6658 DATA ISTARD( 17)/ 62/ 6659 DATA NUMCOO( 17)/ 56/ 6660C 6661C DEFINE CHARACTER 2068--UPPER CASE R 6662C 6663 DATA IOPERA( 118),IX( 118),IY( 118)/'MOVE', -3, 12/ 6664 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', -9, -9/ 6665 DATA IOPERA( 120),IX( 120),IY( 120)/'MOVE', -2, 12/ 6666 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', -8, -9/ 6667 DATA IOPERA( 122),IX( 122),IY( 122)/'MOVE', -6, 12/ 6668 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', 5, 12/ 6669 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', 8, 11/ 6670 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', 9, 9/ 6671 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', 9, 7/ 6672 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', 8, 4/ 6673 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', 7, 3/ 6674 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', 4, 2/ 6675 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', -5, 2/ 6676 DATA IOPERA( 131),IX( 131),IY( 131)/'MOVE', 5, 12/ 6677 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', 7, 11/ 6678 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', 8, 9/ 6679 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', 8, 7/ 6680 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', 7, 4/ 6681 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', 6, 3/ 6682 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', 4, 2/ 6683 DATA IOPERA( 138),IX( 138),IY( 138)/'MOVE', 0, 2/ 6684 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', 2, 1/ 6685 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', 3, 0/ 6686 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', 4, -8/ 6687 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', 5, -9/ 6688 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', 7, -9/ 6689 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', 8, -7/ 6690 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', 8, -6/ 6691 DATA IOPERA( 146),IX( 146),IY( 146)/'MOVE', 3, 0/ 6692 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 5, -7/ 6693 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', 6, -8/ 6694 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', 7, -8/ 6695 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', 8, -7/ 6696 DATA IOPERA( 151),IX( 151),IY( 151)/'MOVE', -12, -9/ 6697 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -5, -9/ 6698C 6699 DATA IXMIND( 18)/ -12/ 6700 DATA IXMAXD( 18)/ 12/ 6701 DATA IXDELD( 18)/ 24/ 6702 DATA ISTARD( 18)/ 118/ 6703 DATA NUMCOO( 18)/ 35/ 6704C 6705C DEFINE CHARACTER 2069--UPPER CASE S 6706C 6707 DATA IOPERA( 153),IX( 153),IY( 153)/'MOVE', 8, 10/ 6708 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 9, 10/ 6709 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', 10, 12/ 6710 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', 9, 6/ 6711 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', 9, 8/ 6712 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', 8, 10/ 6713 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', 7, 11/ 6714 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', 4, 12/ 6715 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', 0, 12/ 6716 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -3, 11/ 6717 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', -5, 9/ 6718 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -5, 7/ 6719 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', -4, 5/ 6720 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', -3, 4/ 6721 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', 4, 0/ 6722 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', 6, -2/ 6723 DATA IOPERA( 169),IX( 169),IY( 169)/'MOVE', -5, 7/ 6724 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', -3, 5/ 6725 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', 4, 1/ 6726 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', 5, 0/ 6727 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', 6, -2/ 6728 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', 6, -5/ 6729 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', 5, -7/ 6730 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', 4, -8/ 6731 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', 1, -9/ 6732 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', -3, -9/ 6733 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', -6, -8/ 6734 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', -7, -7/ 6735 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', -8, -5/ 6736 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', -8, -3/ 6737 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', -9, -9/ 6738 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', -8, -7/ 6739 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -7, -7/ 6740C 6741 DATA IXMIND( 19)/ -11/ 6742 DATA IXMAXD( 19)/ 12/ 6743 DATA IXDELD( 19)/ 23/ 6744 DATA ISTARD( 19)/ 153/ 6745 DATA NUMCOO( 19)/ 33/ 6746C 6747C DEFINE CHARACTER 2070--UPPER CASE T 6748C 6749 DATA IOPERA( 186),IX( 186),IY( 186)/'MOVE', 3, 12/ 6750 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', -3, -9/ 6751 DATA IOPERA( 188),IX( 188),IY( 188)/'MOVE', 4, 12/ 6752 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', -2, -9/ 6753 DATA IOPERA( 190),IX( 190),IY( 190)/'MOVE', -3, 12/ 6754 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -6, 6/ 6755 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', -4, 12/ 6756 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 11, 12/ 6757 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 10, 6/ 6758 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 10, 12/ 6759 DATA IOPERA( 196),IX( 196),IY( 196)/'MOVE', -6, -9/ 6760 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 1, -9/ 6761C 6762 DATA IXMIND( 20)/ -10/ 6763 DATA IXMAXD( 20)/ 11/ 6764 DATA IXDELD( 20)/ 21/ 6765 DATA ISTARD( 20)/ 186/ 6766 DATA NUMCOO( 20)/ 12/ 6767C 6768C DEFINE CHARACTER 2071--UPPER CASE U 6769C 6770 DATA IOPERA( 198),IX( 198),IY( 198)/'MOVE', -4, 12/ 6771 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', -7, 1/ 6772 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', -8, -3/ 6773 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', -8, -6/ 6774 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', -7, -8/ 6775 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -4, -9/ 6776 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', 0, -9/ 6777 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', 3, -8/ 6778 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', 5, -6/ 6779 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', 6, -3/ 6780 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', 10, 12/ 6781 DATA IOPERA( 209),IX( 209),IY( 209)/'MOVE', -3, 12/ 6782 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -6, 1/ 6783 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -7, -3/ 6784 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', -7, -6/ 6785 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', -6, -8/ 6786 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', -4, -9/ 6787 DATA IOPERA( 215),IX( 215),IY( 215)/'MOVE', -7, 12/ 6788 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', 0, 12/ 6789 DATA IOPERA( 217),IX( 217),IY( 217)/'MOVE', 7, 12/ 6790 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', 13, 12/ 6791C 6792 DATA IXMIND( 21)/ -12/ 6793 DATA IXMAXD( 21)/ 13/ 6794 DATA IXDELD( 21)/ 25/ 6795 DATA ISTARD( 21)/ 198/ 6796 DATA NUMCOO( 21)/ 21/ 6797C 6798C DEFINE CHARACTER 2072--UPPER CASE V 6799C 6800 DATA IOPERA( 219),IX( 219),IY( 219)/'MOVE', -4, 12/ 6801 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -3, -9/ 6802 DATA IOPERA( 221),IX( 221),IY( 221)/'MOVE', -3, 12/ 6803 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', -2, -7/ 6804 DATA IOPERA( 223),IX( 223),IY( 223)/'MOVE', 10, 12/ 6805 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', -3, -9/ 6806 DATA IOPERA( 225),IX( 225),IY( 225)/'MOVE', -6, 12/ 6807 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', 0, 12/ 6808 DATA IOPERA( 227),IX( 227),IY( 227)/'MOVE', 6, 12/ 6809 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', 12, 12/ 6810C 6811 DATA IXMIND( 22)/ -10/ 6812 DATA IXMAXD( 22)/ 10/ 6813 DATA IXDELD( 22)/ 20/ 6814 DATA ISTARD( 22)/ 219/ 6815 DATA NUMCOO( 22)/ 10/ 6816C 6817C DEFINE CHARACTER 2073--UPPER CASE W 6818C 6819 DATA IOPERA( 229),IX( 229),IY( 229)/'MOVE', -5, 12/ 6820 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', -7, -9/ 6821 DATA IOPERA( 231),IX( 231),IY( 231)/'MOVE', -4, 12/ 6822 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', -6, -7/ 6823 DATA IOPERA( 233),IX( 233),IY( 233)/'MOVE', 3, 12/ 6824 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', -7, -9/ 6825 DATA IOPERA( 235),IX( 235),IY( 235)/'MOVE', 3, 12/ 6826 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', 1, -9/ 6827 DATA IOPERA( 237),IX( 237),IY( 237)/'MOVE', 4, 12/ 6828 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', 2, -7/ 6829 DATA IOPERA( 239),IX( 239),IY( 239)/'MOVE', 11, 12/ 6830 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', 1, -9/ 6831 DATA IOPERA( 241),IX( 241),IY( 241)/'MOVE', -8, 12/ 6832 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -1, 12/ 6833 DATA IOPERA( 243),IX( 243),IY( 243)/'MOVE', 8, 12/ 6834 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', 14, 12/ 6835C 6836 DATA IXMIND( 23)/ -13/ 6837 DATA IXMAXD( 23)/ 13/ 6838 DATA IXDELD( 23)/ 26/ 6839 DATA ISTARD( 23)/ 229/ 6840 DATA NUMCOO( 23)/ 16/ 6841C 6842C DEFINE CHARACTER 2074--UPPER CASE X 6843C 6844 DATA IOPERA( 245),IX( 245),IY( 245)/'MOVE', -4, 12/ 6845 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', 3, -9/ 6846 DATA IOPERA( 247),IX( 247),IY( 247)/'MOVE', -3, 12/ 6847 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', 4, -9/ 6848 DATA IOPERA( 249),IX( 249),IY( 249)/'MOVE', 10, 12/ 6849 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', -10, -9/ 6850 DATA IOPERA( 251),IX( 251),IY( 251)/'MOVE', -6, 12/ 6851 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', 0, 12/ 6852 DATA IOPERA( 253),IX( 253),IY( 253)/'MOVE', 6, 12/ 6853 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', 12, 12/ 6854 DATA IOPERA( 255),IX( 255),IY( 255)/'MOVE', -12, -9/ 6855 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', -6, -9/ 6856 DATA IOPERA( 257),IX( 257),IY( 257)/'MOVE', 0, -9/ 6857 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 6, -9/ 6858C 6859 DATA IXMIND( 24)/ -11/ 6860 DATA IXMAXD( 24)/ 11/ 6861 DATA IXDELD( 24)/ 22/ 6862 DATA ISTARD( 24)/ 245/ 6863 DATA NUMCOO( 24)/ 14/ 6864C 6865C DEFINE CHARACTER 2075--UPPER CASE Y 6866C 6867 DATA IOPERA( 259),IX( 259),IY( 259)/'MOVE', -4, 12/ 6868 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', 0, 2/ 6869 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', -3, -9/ 6870 DATA IOPERA( 262),IX( 262),IY( 262)/'MOVE', -3, 12/ 6871 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', 1, 2/ 6872 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', -2, -9/ 6873 DATA IOPERA( 265),IX( 265),IY( 265)/'MOVE', 11, 12/ 6874 DATA IOPERA( 266),IX( 266),IY( 266)/'DRAW', 1, 2/ 6875 DATA IOPERA( 267),IX( 267),IY( 267)/'MOVE', -6, 12/ 6876 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', 0, 12/ 6877 DATA IOPERA( 269),IX( 269),IY( 269)/'MOVE', 7, 12/ 6878 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', 13, 12/ 6879 DATA IOPERA( 271),IX( 271),IY( 271)/'MOVE', -6, -9/ 6880 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', 1, -9/ 6881C 6882 DATA IXMIND( 25)/ -10/ 6883 DATA IXMAXD( 25)/ 11/ 6884 DATA IXDELD( 25)/ 21/ 6885 DATA ISTARD( 25)/ 259/ 6886 DATA NUMCOO( 25)/ 14/ 6887C 6888C DEFINE CHARACTER 2076--UPPER CASE Z 6889C 6890 DATA IOPERA( 273),IX( 273),IY( 273)/'MOVE', 9, 12/ 6891 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', -10, -9/ 6892 DATA IOPERA( 275),IX( 275),IY( 275)/'MOVE', 10, 12/ 6893 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', -9, -9/ 6894 DATA IOPERA( 277),IX( 277),IY( 277)/'MOVE', -3, 12/ 6895 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -6, 6/ 6896 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', -4, 12/ 6897 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', 10, 12/ 6898 DATA IOPERA( 281),IX( 281),IY( 281)/'MOVE', -10, -9/ 6899 DATA IOPERA( 282),IX( 282),IY( 282)/'DRAW', 4, -9/ 6900 DATA IOPERA( 283),IX( 283),IY( 283)/'DRAW', 6, -3/ 6901 DATA IOPERA( 284),IX( 284),IY( 284)/'DRAW', 3, -9/ 6902C 6903 DATA IXMIND( 26)/ -11/ 6904 DATA IXMAXD( 26)/ 11/ 6905 DATA IXDELD( 26)/ 22/ 6906 DATA ISTARD( 26)/ 273/ 6907 DATA NUMCOO( 26)/ 12/ 6908C 6909C-----START POINT----------------------------------------------------- 6910C 6911 IFOUND='YES' 6912 IERROR='NO' 6913C 6914 NUMCO=1 6915 ISTART=1 6916 ISTOP=1 6917 NC=1 6918C 6919C ****************************************** 6920C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 6921C ** HERSHEY CHARACTER SET CASE ** 6922C ****************************************** 6923C 6924C 6925 IF(IBUGD2.EQ.'OFF')GOTO90 6926 WRITE(ICOUT,999) 6927 999 FORMAT(1X) 6928 CALL DPWRST('XXX','BUG ') 6929 WRITE(ICOUT,51) 6930 51 FORMAT('***** AT THE BEGINNING OF DRCIU2--') 6931 CALL DPWRST('XXX','BUG ') 6932 WRITE(ICOUT,52)ICHARN 6933 52 FORMAT('ICHARN = ',I8) 6934 CALL DPWRST('XXX','BUG ') 6935 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 6936 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 6937 CALL DPWRST('XXX','BUG ') 6938 90 CONTINUE 6939C 6940C ************************************** 6941C ** STEP 2-- ** 6942C ** EXTRACT THE COORDINATES ** 6943C ** FOR THIS PARTICULAR CHARACTER. ** 6944C ************************************** 6945C 6946 ISTART=ISTARD(ICHARN) 6947 NC=NUMCOO(ICHARN) 6948 ISTOP=ISTART+NC-1 6949 J=0 6950 DO1100I=ISTART,ISTOP 6951 J=J+1 6952 IOP(J)=IOPERA(I) 6953 X(J)=IX(I) 6954 Y(J)=IY(I) 6955 1100 CONTINUE 6956 NUMCO=J 6957 IXMINS=IXMIND(ICHARN) 6958 IXMAXS=IXMAXD(ICHARN) 6959 IXDELS=IXDELD(ICHARN) 6960C 6961 GOTO9000 6962C 6963C ***************** 6964C ** STEP 90-- ** 6965C ** EXIT ** 6966C ***************** 6967C 6968 9000 CONTINUE 6969 IF(IBUGD2.EQ.'OFF')GOTO9090 6970 WRITE(ICOUT,999) 6971 CALL DPWRST('XXX','BUG ') 6972 WRITE(ICOUT,9011) 6973 9011 FORMAT('***** AT THE END OF DRCIU2--') 6974 CALL DPWRST('XXX','BUG ') 6975 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 6976 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 6977 CALL DPWRST('XXX','BUG ') 6978 WRITE(ICOUT,9013)ICHARN 6979 9013 FORMAT('ICHARN = ',I8) 6980 CALL DPWRST('XXX','BUG ') 6981 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 6982 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 6983 CALL DPWRST('XXX','BUG ') 6984 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 6985 DO9015I=1,NUMCO 6986 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 6987 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 6988 CALL DPWRST('XXX','BUG ') 6989 9015 CONTINUE 6990 9019 CONTINUE 6991 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 6992 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 6993 CALL DPWRST('XXX','BUG ') 6994 9090 CONTINUE 6995C 6996 RETURN 6997 END 6998 SUBROUTINE DRCL1(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 6999 1IBUGD2,IFOUND,IERROR) 7000C 7001C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 7002C FOR ROMAN COMPLEX LOWER CASE (PART 1). 7003C WRITTEN BY--JAMES J. FILLIBEN 7004C STATISTICAL ENGINEERING DIVISION 7005C CENTER FOR APPLIED MATHEMATICS 7006C NATIONAL BUREAU OF STANDARDS 7007C WASHINGTON, D. C. 20234 7008C PHONE--301-921-3651 7009C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 7010C OF THE NATIONAL BUREAU OF STANDARDS. 7011C LANGUAGE--ANSI FORTRAN (1977) 7012C VERSION NUMBER--87/4 7013C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 7014C UPDATED --MAY 1982. 7015C UPDATED --MARCH 1987. 7016C 7017C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 7018C 7019 CHARACTER*4 IOP 7020 CHARACTER*4 IBUGD2 7021 CHARACTER*4 IFOUND 7022 CHARACTER*4 IERROR 7023C 7024 CHARACTER*4 IOPERA 7025C 7026C--------------------------------------------------------------------- 7027C 7028 DIMENSION IOP(*) 7029 DIMENSION X(*) 7030 DIMENSION Y(*) 7031C 7032 DIMENSION IOPERA(300) 7033 DIMENSION IX(300) 7034 DIMENSION IY(300) 7035C 7036 DIMENSION IXMIND(30) 7037 DIMENSION IXMAXD(30) 7038 DIMENSION IXDELD(30) 7039 DIMENSION ISTARD(30) 7040 DIMENSION NUMCOO(30) 7041C 7042C--------------------------------------------------------------------- 7043C 7044 INCLUDE 'DPCOP2.INC' 7045C 7046C-----DATA STATEMENTS------------------------------------------------- 7047C 7048C DEFINE CHARACTER 2101--LOWER CASE A 7049C 7050 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -4, 3/ 7051 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -4, 2/ 7052 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -5, 2/ 7053 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -5, 3/ 7054 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -4, 4/ 7055 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -2, 5/ 7056 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', 2, 5/ 7057 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', 4, 4/ 7058 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', 5, 3/ 7059 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', 6, 1/ 7060 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', 6, -6/ 7061 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 7, -8/ 7062 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 8, -9/ 7063 DATA IOPERA( 14),IX( 14),IY( 14)/'MOVE', 5, 3/ 7064 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 5, -6/ 7065 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 6, -8/ 7066 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 8, -9/ 7067 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 9, -9/ 7068 DATA IOPERA( 19),IX( 19),IY( 19)/'MOVE', 5, 1/ 7069 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 4, 0/ 7070 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', -2, -1/ 7071 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', -5, -2/ 7072 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', -6, -4/ 7073 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -6, -6/ 7074 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -5, -8/ 7075 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -2, -9/ 7076 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 1, -9/ 7077 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 3, -8/ 7078 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', 5, -6/ 7079 DATA IOPERA( 30),IX( 30),IY( 30)/'MOVE', -2, -1/ 7080 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', -4, -2/ 7081 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -5, -4/ 7082 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', -5, -6/ 7083 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', -4, -8/ 7084 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', -2, -9/ 7085C 7086 DATA IXMIND( 1)/ -9/ 7087 DATA IXMAXD( 1)/ 11/ 7088 DATA IXDELD( 1)/ 20/ 7089 DATA ISTARD( 1)/ 1/ 7090 DATA NUMCOO( 1)/ 35/ 7091C 7092C DEFINE CHARACTER 2102--LOWER CASE B 7093C 7094 DATA IOPERA( 36),IX( 36),IY( 36)/'MOVE', -6, 12/ 7095 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -6, -9/ 7096 DATA IOPERA( 38),IX( 38),IY( 38)/'MOVE', -5, 12/ 7097 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -5, -9/ 7098 DATA IOPERA( 40),IX( 40),IY( 40)/'MOVE', -5, 2/ 7099 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -3, 4/ 7100 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -1, 5/ 7101 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', 1, 5/ 7102 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', 4, 4/ 7103 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', 6, 2/ 7104 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', 7, -1/ 7105 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', 7, -3/ 7106 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', 6, -6/ 7107 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', 4, -8/ 7108 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', 1, -9/ 7109 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -1, -9/ 7110 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', -3, -8/ 7111 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -5, -6/ 7112 DATA IOPERA( 54),IX( 54),IY( 54)/'MOVE', 1, 5/ 7113 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 3, 4/ 7114 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', 5, 2/ 7115 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', 6, -1/ 7116 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', 6, -3/ 7117 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', 5, -6/ 7118 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', 3, -8/ 7119 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', 1, -9/ 7120 DATA IOPERA( 62),IX( 62),IY( 62)/'MOVE', -9, 12/ 7121 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -5, 12/ 7122C 7123 DATA IXMIND( 2)/ -11/ 7124 DATA IXMAXD( 2)/ 10/ 7125 DATA IXDELD( 2)/ 21/ 7126 DATA ISTARD( 2)/ 36/ 7127 DATA NUMCOO( 2)/ 28/ 7128C 7129C DEFINE CHARACTER 2103--LOWER CASE C 7130C 7131 DATA IOPERA( 64),IX( 64),IY( 64)/'MOVE', 5, 2/ 7132 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', 4, 1/ 7133 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', 5, 0/ 7134 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', 6, 1/ 7135 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 6, 2/ 7136 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 4, 4/ 7137 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', 2, 5/ 7138 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -1, 5/ 7139 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -4, 4/ 7140 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -6, 2/ 7141 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -7, -1/ 7142 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -7, -3/ 7143 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -6, -6/ 7144 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', -4, -8/ 7145 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -1, -9/ 7146 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', 1, -9/ 7147 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', 4, -8/ 7148 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 6, -6/ 7149 DATA IOPERA( 82),IX( 82),IY( 82)/'MOVE', -1, 5/ 7150 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', -3, 4/ 7151 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', -5, 2/ 7152 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', -6, -1/ 7153 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', -6, -3/ 7154 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', -5, -6/ 7155 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', -3, -8/ 7156 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', -1, -9/ 7157C 7158 DATA IXMIND( 3)/ -10/ 7159 DATA IXMAXD( 3)/ 9/ 7160 DATA IXDELD( 3)/ 19/ 7161 DATA ISTARD( 3)/ 64/ 7162 DATA NUMCOO( 3)/ 26/ 7163C 7164C DEFINE CHARACTER 2104--LOWER CASE D 7165C 7166 DATA IOPERA( 90),IX( 90),IY( 90)/'MOVE', 5, 12/ 7167 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', 5, -9/ 7168 DATA IOPERA( 92),IX( 92),IY( 92)/'MOVE', 6, 12/ 7169 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 6, -9/ 7170 DATA IOPERA( 94),IX( 94),IY( 94)/'MOVE', 5, 2/ 7171 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', 3, 4/ 7172 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 1, 5/ 7173 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', -1, 5/ 7174 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', -4, 4/ 7175 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', -6, 2/ 7176 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', -7, -1/ 7177 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', -7, -3/ 7178 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', -6, -6/ 7179 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', -4, -8/ 7180 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', -1, -9/ 7181 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', 1, -9/ 7182 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 3, -8/ 7183 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', 5, -6/ 7184 DATA IOPERA( 108),IX( 108),IY( 108)/'MOVE', -1, 5/ 7185 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', -3, 4/ 7186 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', -5, 2/ 7187 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', -6, -1/ 7188 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', -6, -3/ 7189 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', -5, -6/ 7190 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', -3, -8/ 7191 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', -1, -9/ 7192 DATA IOPERA( 116),IX( 116),IY( 116)/'MOVE', 2, 12/ 7193 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 6, 12/ 7194 DATA IOPERA( 118),IX( 118),IY( 118)/'MOVE', 5, -9/ 7195 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', 9, -9/ 7196C 7197 DATA IXMIND( 4)/ -10/ 7198 DATA IXMAXD( 4)/ 11/ 7199 DATA IXDELD( 4)/ 21/ 7200 DATA ISTARD( 4)/ 90/ 7201 DATA NUMCOO( 4)/ 30/ 7202C 7203C DEFINE CHARACTER 2105--LOWER CASE E 7204C 7205 DATA IOPERA( 120),IX( 120),IY( 120)/'MOVE', -6, -1/ 7206 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', 6, -1/ 7207 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', 6, 1/ 7208 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', 5, 3/ 7209 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', 4, 4/ 7210 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', 2, 5/ 7211 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', -1, 5/ 7212 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', -4, 4/ 7213 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', -6, 2/ 7214 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', -7, -1/ 7215 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', -7, -3/ 7216 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', -6, -6/ 7217 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', -4, -8/ 7218 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', -1, -9/ 7219 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', 1, -9/ 7220 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', 4, -8/ 7221 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', 6, -6/ 7222 DATA IOPERA( 137),IX( 137),IY( 137)/'MOVE', 5, -1/ 7223 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', 5, 2/ 7224 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', 4, 4/ 7225 DATA IOPERA( 140),IX( 140),IY( 140)/'MOVE', -1, 5/ 7226 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', -3, 4/ 7227 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -5, 2/ 7228 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -6, -1/ 7229 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', -6, -3/ 7230 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', -5, -6/ 7231 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', -3, -8/ 7232 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', -1, -9/ 7233C 7234 DATA IXMIND( 5)/ -10/ 7235 DATA IXMAXD( 5)/ 9/ 7236 DATA IXDELD( 5)/ 19/ 7237 DATA ISTARD( 5)/ 120/ 7238 DATA NUMCOO( 5)/ 28/ 7239C 7240C DEFINE CHARACTER 2106--LOWER CASE F 7241C 7242 DATA IOPERA( 148),IX( 148),IY( 148)/'MOVE', 3, 11/ 7243 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', 2, 10/ 7244 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', 3, 9/ 7245 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', 4, 10/ 7246 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', 4, 11/ 7247 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', 3, 12/ 7248 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 1, 12/ 7249 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -1, 11/ 7250 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -2, 9/ 7251 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', -2, -9/ 7252 DATA IOPERA( 158),IX( 158),IY( 158)/'MOVE', 1, 12/ 7253 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', 0, 11/ 7254 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -1, 9/ 7255 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -1, -9/ 7256 DATA IOPERA( 162),IX( 162),IY( 162)/'MOVE', -5, 5/ 7257 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', 3, 5/ 7258 DATA IOPERA( 164),IX( 164),IY( 164)/'MOVE', -5, -9/ 7259 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', 2, -9/ 7260C 7261 DATA IXMIND( 6)/ -7/ 7262 DATA IXMAXD( 6)/ 6/ 7263 DATA IXDELD( 6)/ 13/ 7264 DATA ISTARD( 6)/ 148/ 7265 DATA NUMCOO( 6)/ 18/ 7266C 7267C DEFINE CHARACTER 2107--LOWER CASE G 7268C 7269 DATA IOPERA( 166),IX( 166),IY( 166)/'MOVE', -1, 5/ 7270 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', -3, 4/ 7271 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', -4, 3/ 7272 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', -5, 1/ 7273 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', -5, -1/ 7274 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', -4, -3/ 7275 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -3, -4/ 7276 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -1, -5/ 7277 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', 1, -5/ 7278 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', 3, -4/ 7279 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', 4, -3/ 7280 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', 5, -1/ 7281 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', 5, 1/ 7282 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', 4, 3/ 7283 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', 3, 4/ 7284 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', 1, 5/ 7285 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', -1, 5/ 7286 DATA IOPERA( 183),IX( 183),IY( 183)/'MOVE', -3, 4/ 7287 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', -4, 2/ 7288 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -4, -2/ 7289 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', -3, -4/ 7290 DATA IOPERA( 187),IX( 187),IY( 187)/'MOVE', 3, -4/ 7291 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', 4, -2/ 7292 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', 4, 2/ 7293 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', 3, 4/ 7294 DATA IOPERA( 191),IX( 191),IY( 191)/'MOVE', 4, 3/ 7295 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', 5, 4/ 7296 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 7, 5/ 7297 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 7, 4/ 7298 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 5, 4/ 7299 DATA IOPERA( 196),IX( 196),IY( 196)/'MOVE', -4, -3/ 7300 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', -5, -4/ 7301 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', -6, -6/ 7302 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', -6, -7/ 7303 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', -5, -9/ 7304 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', -2, -10/ 7305 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', 3, -10/ 7306 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', 6, -11/ 7307 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', 7, -12/ 7308 DATA IOPERA( 205),IX( 205),IY( 205)/'MOVE', -6, -7/ 7309 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', -5, -8/ 7310 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -2, -9/ 7311 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', 3, -9/ 7312 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', 6, -10/ 7313 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', 7, -12/ 7314 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', 7, -13/ 7315 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', 6, -15/ 7316 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 3, -16/ 7317 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', -3, -16/ 7318 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', -6, -15/ 7319 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', -7, -13/ 7320 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', -7, -12/ 7321 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -6, -10/ 7322 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -3, -9/ 7323C 7324 DATA IXMIND( 7)/ -9/ 7325 DATA IXMAXD( 7)/ 10/ 7326 DATA IXDELD( 7)/ 19/ 7327 DATA ISTARD( 7)/ 166/ 7328 DATA NUMCOO( 7)/ 54/ 7329C 7330C DEFINE CHARACTER 2108--LOWER CASE H 7331C 7332 DATA IOPERA( 220),IX( 220),IY( 220)/'MOVE', -6, 12/ 7333 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -6, -9/ 7334 DATA IOPERA( 222),IX( 222),IY( 222)/'MOVE', -5, 12/ 7335 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', -5, -9/ 7336 DATA IOPERA( 224),IX( 224),IY( 224)/'MOVE', -5, 2/ 7337 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', -3, 4/ 7338 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', 0, 5/ 7339 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', 2, 5/ 7340 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', 5, 4/ 7341 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', 6, 2/ 7342 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', 6, -9/ 7343 DATA IOPERA( 231),IX( 231),IY( 231)/'MOVE', 2, 5/ 7344 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', 4, 4/ 7345 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', 5, 2/ 7346 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', 5, -9/ 7347 DATA IOPERA( 235),IX( 235),IY( 235)/'MOVE', -9, 12/ 7348 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', -5, 12/ 7349 DATA IOPERA( 237),IX( 237),IY( 237)/'MOVE', -9, -9/ 7350 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', -2, -9/ 7351 DATA IOPERA( 239),IX( 239),IY( 239)/'MOVE', 2, -9/ 7352 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', 9, -9/ 7353C 7354 DATA IXMIND( 8)/ -11/ 7355 DATA IXMAXD( 8)/ 11/ 7356 DATA IXDELD( 8)/ 22/ 7357 DATA ISTARD( 8)/ 220/ 7358 DATA NUMCOO( 8)/ 21/ 7359C 7360C DEFINE CHARACTER 2109--LOWER CASE I 7361C 7362 DATA IOPERA( 241),IX( 241),IY( 241)/'MOVE', 0, 12/ 7363 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -1, 11/ 7364 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', 0, 10/ 7365 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', 1, 11/ 7366 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', 0, 12/ 7367 DATA IOPERA( 246),IX( 246),IY( 246)/'MOVE', 0, 5/ 7368 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', 0, -9/ 7369 DATA IOPERA( 248),IX( 248),IY( 248)/'MOVE', 1, 5/ 7370 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', 1, -9/ 7371 DATA IOPERA( 250),IX( 250),IY( 250)/'MOVE', -3, 5/ 7372 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', 1, 5/ 7373 DATA IOPERA( 252),IX( 252),IY( 252)/'MOVE', -3, -9/ 7374 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', 4, -9/ 7375C 7376 DATA IXMIND( 9)/ -5/ 7377 DATA IXMAXD( 9)/ 6/ 7378 DATA IXDELD( 9)/ 11/ 7379 DATA ISTARD( 9)/ 241/ 7380 DATA NUMCOO( 9)/ 13/ 7381C 7382C DEFINE CHARACTER 2110--LOWER CASE J 7383C 7384 DATA IOPERA( 254),IX( 254),IY( 254)/'MOVE', 1, 12/ 7385 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', 0, 11/ 7386 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', 1, 10/ 7387 DATA IOPERA( 257),IX( 257),IY( 257)/'DRAW', 2, 11/ 7388 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 1, 12/ 7389 DATA IOPERA( 259),IX( 259),IY( 259)/'MOVE', 2, 5/ 7390 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', 2, -13/ 7391 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', 1, -15/ 7392 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', -1, -16/ 7393 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', -3, -16/ 7394 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', -4, -15/ 7395 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', -4, -14/ 7396 DATA IOPERA( 266),IX( 266),IY( 266)/'DRAW', -3, -13/ 7397 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', -2, -14/ 7398 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', -3, -15/ 7399 DATA IOPERA( 269),IX( 269),IY( 269)/'MOVE', 1, 5/ 7400 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', 1, -13/ 7401 DATA IOPERA( 271),IX( 271),IY( 271)/'DRAW', 0, -15/ 7402 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', -1, -16/ 7403 DATA IOPERA( 273),IX( 273),IY( 273)/'MOVE', -2, 5/ 7404 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', 2, 5/ 7405C 7406 DATA IXMIND( 10)/ -5/ 7407 DATA IXMAXD( 10)/ 6/ 7408 DATA IXDELD( 10)/ 11/ 7409 DATA ISTARD( 10)/ 254/ 7410 DATA NUMCOO( 10)/ 21/ 7411C 7412C DEFINE CHARACTER 2111--LOWER CASE K 7413C 7414 DATA IOPERA( 275),IX( 275),IY( 275)/'MOVE', -6, 12/ 7415 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', -6, -9/ 7416 DATA IOPERA( 277),IX( 277),IY( 277)/'MOVE', -5, 12/ 7417 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -5, -9/ 7418 DATA IOPERA( 279),IX( 279),IY( 279)/'MOVE', 5, 5/ 7419 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', -5, -5/ 7420 DATA IOPERA( 281),IX( 281),IY( 281)/'MOVE', 0, -1/ 7421 DATA IOPERA( 282),IX( 282),IY( 282)/'DRAW', 6, -9/ 7422 DATA IOPERA( 283),IX( 283),IY( 283)/'MOVE', -1, -1/ 7423 DATA IOPERA( 284),IX( 284),IY( 284)/'DRAW', 5, -9/ 7424 DATA IOPERA( 285),IX( 285),IY( 285)/'MOVE', -9, 12/ 7425 DATA IOPERA( 286),IX( 286),IY( 286)/'DRAW', -5, 12/ 7426 DATA IOPERA( 287),IX( 287),IY( 287)/'MOVE', 2, 5/ 7427 DATA IOPERA( 288),IX( 288),IY( 288)/'DRAW', 8, 5/ 7428 DATA IOPERA( 289),IX( 289),IY( 289)/'MOVE', -9, -9/ 7429 DATA IOPERA( 290),IX( 290),IY( 290)/'DRAW', -2, -9/ 7430 DATA IOPERA( 291),IX( 291),IY( 291)/'MOVE', 2, -9/ 7431 DATA IOPERA( 292),IX( 292),IY( 292)/'DRAW', 8, -9/ 7432C 7433 DATA IXMIND( 11)/ -11/ 7434 DATA IXMAXD( 11)/ 10/ 7435 DATA IXDELD( 11)/ 21/ 7436 DATA ISTARD( 11)/ 275/ 7437 DATA NUMCOO( 11)/ 18/ 7438C 7439C DEFINE CHARACTER 2112--LOWER CASE L 7440C 7441 DATA IOPERA( 293),IX( 293),IY( 293)/'MOVE', 0, 12/ 7442 DATA IOPERA( 294),IX( 294),IY( 294)/'DRAW', 0, -9/ 7443 DATA IOPERA( 295),IX( 295),IY( 295)/'MOVE', 1, 12/ 7444 DATA IOPERA( 296),IX( 296),IY( 296)/'DRAW', 1, -9/ 7445 DATA IOPERA( 297),IX( 297),IY( 297)/'MOVE', -3, 12/ 7446 DATA IOPERA( 298),IX( 298),IY( 298)/'DRAW', 1, 12/ 7447 DATA IOPERA( 299),IX( 299),IY( 299)/'MOVE', -3, -9/ 7448 DATA IOPERA( 300),IX( 300),IY( 300)/'DRAW', 4, -9/ 7449C 7450 DATA IXMIND( 12)/ -5/ 7451 DATA IXMAXD( 12)/ 6/ 7452 DATA IXDELD( 12)/ 11/ 7453 DATA ISTARD( 12)/ 293/ 7454 DATA NUMCOO( 12)/ 8/ 7455C 7456C-----START POINT----------------------------------------------------- 7457C 7458 IFOUND='YES' 7459 IERROR='NO' 7460C 7461 NUMCO=1 7462 ISTART=1 7463 ISTOP=1 7464 NC=1 7465C 7466C ****************************************** 7467C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 7468C ** HERSHEY CHARACTER SET CASE ** 7469C ****************************************** 7470C 7471C 7472 IF(IBUGD2.EQ.'OFF')GOTO90 7473 WRITE(ICOUT,999) 7474 999 FORMAT(1X) 7475 CALL DPWRST('XXX','BUG ') 7476 WRITE(ICOUT,51) 7477 51 FORMAT('***** AT THE BEGINNING OF DRCL1--') 7478 CALL DPWRST('XXX','BUG ') 7479 WRITE(ICOUT,52)ICHARN 7480 52 FORMAT('ICHARN = ',I8) 7481 CALL DPWRST('XXX','BUG ') 7482 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 7483 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 7484 CALL DPWRST('XXX','BUG ') 7485 90 CONTINUE 7486C 7487C ************************************** 7488C ** STEP 2-- ** 7489C ** EXTRACT THE COORDINATES ** 7490C ** FOR THIS PARTICULAR CHARACTER. ** 7491C ************************************** 7492C 7493 ISTART=ISTARD(ICHARN) 7494 NC=NUMCOO(ICHARN) 7495 ISTOP=ISTART+NC-1 7496 J=0 7497 DO1100I=ISTART,ISTOP 7498 J=J+1 7499 IOP(J)=IOPERA(I) 7500 X(J)=IX(I) 7501 Y(J)=IY(I) 7502 1100 CONTINUE 7503 NUMCO=J 7504 IXMINS=IXMIND(ICHARN) 7505 IXMAXS=IXMAXD(ICHARN) 7506 IXDELS=IXDELD(ICHARN) 7507C 7508 GOTO9000 7509C 7510C ***************** 7511C ** STEP 90-- ** 7512C ** EXIT ** 7513C ***************** 7514C 7515 9000 CONTINUE 7516 IF(IBUGD2.EQ.'OFF')GOTO9090 7517 WRITE(ICOUT,999) 7518 CALL DPWRST('XXX','BUG ') 7519 WRITE(ICOUT,9011) 7520 9011 FORMAT('***** AT THE END OF DRCL1--') 7521 CALL DPWRST('XXX','BUG ') 7522 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 7523 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 7524 CALL DPWRST('XXX','BUG ') 7525 WRITE(ICOUT,9013)ICHARN 7526 9013 FORMAT('ICHARN = ',I8) 7527 CALL DPWRST('XXX','BUG ') 7528 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 7529 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 7530 CALL DPWRST('XXX','BUG ') 7531 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 7532 DO9015I=1,NUMCO 7533 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 7534 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 7535 CALL DPWRST('XXX','BUG ') 7536 9015 CONTINUE 7537 9019 CONTINUE 7538 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 7539 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 7540 CALL DPWRST('XXX','BUG ') 7541 9090 CONTINUE 7542C 7543 RETURN 7544 END 7545 SUBROUTINE DRCL2(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 7546 1IBUGD2,IFOUND,IERROR) 7547C 7548C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 7549C FOR ROMAN COMPLEX LOWER CASE (PART 2). 7550C WRITTEN BY--JAMES J. FILLIBEN 7551C STATISTICAL ENGINEERING DIVISION 7552C CENTER FOR APPLIED MATHEMATICS 7553C NATIONAL BUREAU OF STANDARDS 7554C WASHINGTON, D. C. 20234 7555C PHONE--301-921-3651 7556C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 7557C OF THE NATIONAL BUREAU OF STANDARDS. 7558C LANGUAGE--ANSI FORTRAN (1977) 7559C VERSION NUMBER--87/4 7560C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 7561C UPDATED --MAY 1982. 7562C UPDATED --MARCH 1987. 7563C 7564C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 7565C 7566 CHARACTER*4 IOP 7567 CHARACTER*4 IBUGD2 7568 CHARACTER*4 IFOUND 7569 CHARACTER*4 IERROR 7570C 7571 CHARACTER*4 IOPERA 7572C 7573C--------------------------------------------------------------------- 7574C 7575 DIMENSION IOP(*) 7576 DIMENSION X(*) 7577 DIMENSION Y(*) 7578C 7579 DIMENSION IOPERA(300) 7580 DIMENSION IX(300) 7581 DIMENSION IY(300) 7582C 7583 DIMENSION IXMIND(30) 7584 DIMENSION IXMAXD(30) 7585 DIMENSION IXDELD(30) 7586 DIMENSION ISTARD(30) 7587 DIMENSION NUMCOO(30) 7588C 7589C--------------------------------------------------------------------- 7590C 7591 INCLUDE 'DPCOP2.INC' 7592C 7593C-----DATA STATEMENTS------------------------------------------------- 7594C 7595C DEFINE CHARACTER 2113--LOWER CASE M 7596C 7597 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -11, 5/ 7598 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -11, -9/ 7599 DATA IOPERA( 3),IX( 3),IY( 3)/'MOVE', -10, 5/ 7600 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -10, -9/ 7601 DATA IOPERA( 5),IX( 5),IY( 5)/'MOVE', -10, 2/ 7602 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -8, 4/ 7603 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -5, 5/ 7604 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -3, 5/ 7605 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', 0, 4/ 7606 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', 1, 2/ 7607 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', 1, -9/ 7608 DATA IOPERA( 12),IX( 12),IY( 12)/'MOVE', -3, 5/ 7609 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -1, 4/ 7610 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', 0, 2/ 7611 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 0, -9/ 7612 DATA IOPERA( 16),IX( 16),IY( 16)/'MOVE', 1, 2/ 7613 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 3, 4/ 7614 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 6, 5/ 7615 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 8, 5/ 7616 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 11, 4/ 7617 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 12, 2/ 7618 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 12, -9/ 7619 DATA IOPERA( 23),IX( 23),IY( 23)/'MOVE', 8, 5/ 7620 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 10, 4/ 7621 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', 11, 2/ 7622 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 11, -9/ 7623 DATA IOPERA( 27),IX( 27),IY( 27)/'MOVE', -14, 5/ 7624 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -10, 5/ 7625 DATA IOPERA( 29),IX( 29),IY( 29)/'MOVE', -14, -9/ 7626 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', -7, -9/ 7627 DATA IOPERA( 31),IX( 31),IY( 31)/'MOVE', -3, -9/ 7628 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 4, -9/ 7629 DATA IOPERA( 33),IX( 33),IY( 33)/'MOVE', 8, -9/ 7630 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 15, -9/ 7631C 7632 DATA IXMIND( 13)/ -16/ 7633 DATA IXMAXD( 13)/ 17/ 7634 DATA IXDELD( 13)/ 33/ 7635 DATA ISTARD( 13)/ 1/ 7636 DATA NUMCOO( 13)/ 34/ 7637C 7638C DEFINE CHARACTER 2114--LOWER CASE N 7639C 7640 DATA IOPERA( 35),IX( 35),IY( 35)/'MOVE', -6, 5/ 7641 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', -6, -9/ 7642 DATA IOPERA( 37),IX( 37),IY( 37)/'MOVE', -5, 5/ 7643 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -5, -9/ 7644 DATA IOPERA( 39),IX( 39),IY( 39)/'MOVE', -5, 2/ 7645 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -3, 4/ 7646 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', 0, 5/ 7647 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', 2, 5/ 7648 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', 5, 4/ 7649 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', 6, 2/ 7650 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', 6, -9/ 7651 DATA IOPERA( 46),IX( 46),IY( 46)/'MOVE', 2, 5/ 7652 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', 4, 4/ 7653 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', 5, 2/ 7654 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', 5, -9/ 7655 DATA IOPERA( 50),IX( 50),IY( 50)/'MOVE', -9, 5/ 7656 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -5, 5/ 7657 DATA IOPERA( 52),IX( 52),IY( 52)/'MOVE', -9, -9/ 7658 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -2, -9/ 7659 DATA IOPERA( 54),IX( 54),IY( 54)/'MOVE', 2, -9/ 7660 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 9, -9/ 7661C 7662 DATA IXMIND( 14)/ -11/ 7663 DATA IXMAXD( 14)/ 11/ 7664 DATA IXDELD( 14)/ 22/ 7665 DATA ISTARD( 14)/ 35/ 7666 DATA NUMCOO( 14)/ 21/ 7667C 7668C DEFINE CHARACTER 2115--LOWER CASE O 7669C 7670 DATA IOPERA( 56),IX( 56),IY( 56)/'MOVE', -1, 5/ 7671 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -4, 4/ 7672 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -6, 2/ 7673 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -7, -1/ 7674 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -7, -3/ 7675 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -6, -6/ 7676 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -4, -8/ 7677 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -1, -9/ 7678 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', 1, -9/ 7679 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', 4, -8/ 7680 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', 6, -6/ 7681 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', 7, -3/ 7682 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 7, -1/ 7683 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 6, 2/ 7684 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', 4, 4/ 7685 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 1, 5/ 7686 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -1, 5/ 7687 DATA IOPERA( 73),IX( 73),IY( 73)/'MOVE', -1, 5/ 7688 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -3, 4/ 7689 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -5, 2/ 7690 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -6, -1/ 7691 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', -6, -3/ 7692 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -5, -6/ 7693 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -3, -8/ 7694 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', -1, -9/ 7695 DATA IOPERA( 81),IX( 81),IY( 81)/'MOVE', 1, -9/ 7696 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 3, -8/ 7697 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', 5, -6/ 7698 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', 6, -3/ 7699 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 6, -1/ 7700 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 5, 2/ 7701 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', 3, 4/ 7702 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', 1, 5/ 7703C 7704 DATA IXMIND( 15)/ -10/ 7705 DATA IXMAXD( 15)/ 10/ 7706 DATA IXDELD( 15)/ 20/ 7707 DATA ISTARD( 15)/ 56/ 7708 DATA NUMCOO( 15)/ 33/ 7709C 7710C DEFINE CHARACTER 2116--LOWER CASE P 7711C 7712 DATA IOPERA( 89),IX( 89),IY( 89)/'MOVE', -6, 5/ 7713 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', -6, -16/ 7714 DATA IOPERA( 91),IX( 91),IY( 91)/'MOVE', -5, 5/ 7715 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', -5, -16/ 7716 DATA IOPERA( 93),IX( 93),IY( 93)/'MOVE', -5, 2/ 7717 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -3, 4/ 7718 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', -1, 5/ 7719 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 1, 5/ 7720 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 4, 4/ 7721 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 6, 2/ 7722 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 7, -1/ 7723 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 7, -3/ 7724 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', 6, -6/ 7725 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 4, -8/ 7726 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 1, -9/ 7727 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', -1, -9/ 7728 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', -3, -8/ 7729 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', -5, -6/ 7730 DATA IOPERA( 107),IX( 107),IY( 107)/'MOVE', 1, 5/ 7731 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', 3, 4/ 7732 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 5, 2/ 7733 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', 6, -1/ 7734 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', 6, -3/ 7735 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 5, -6/ 7736 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 3, -8/ 7737 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 1, -9/ 7738 DATA IOPERA( 115),IX( 115),IY( 115)/'MOVE', -9, 5/ 7739 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', -5, 5/ 7740 DATA IOPERA( 117),IX( 117),IY( 117)/'MOVE', -9, -16/ 7741 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', -2, -16/ 7742C 7743 DATA IXMIND( 16)/ -11/ 7744 DATA IXMAXD( 16)/ 10/ 7745 DATA IXDELD( 16)/ 21/ 7746 DATA ISTARD( 16)/ 89/ 7747 DATA NUMCOO( 16)/ 30/ 7748C 7749C DEFINE CHARACTER 2117--LOWER CASE Q 7750C 7751 DATA IOPERA( 119),IX( 119),IY( 119)/'MOVE', 5, 5/ 7752 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', 5, -16/ 7753 DATA IOPERA( 121),IX( 121),IY( 121)/'MOVE', 6, 5/ 7754 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', 6, -16/ 7755 DATA IOPERA( 123),IX( 123),IY( 123)/'MOVE', 5, 2/ 7756 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', 3, 4/ 7757 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', 1, 5/ 7758 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', -1, 5/ 7759 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', -4, 4/ 7760 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', -6, 2/ 7761 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', -7, -1/ 7762 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', -7, -3/ 7763 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', -6, -6/ 7764 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', -4, -8/ 7765 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', -1, -9/ 7766 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', 1, -9/ 7767 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', 3, -8/ 7768 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', 5, -6/ 7769 DATA IOPERA( 137),IX( 137),IY( 137)/'MOVE', -1, 5/ 7770 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', -3, 4/ 7771 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', -5, 2/ 7772 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', -6, -1/ 7773 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', -6, -3/ 7774 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -5, -6/ 7775 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -3, -8/ 7776 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', -1, -9/ 7777 DATA IOPERA( 145),IX( 145),IY( 145)/'MOVE', 2, -16/ 7778 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', 9, -16/ 7779C 7780 DATA IXMIND( 17)/ -10/ 7781 DATA IXMAXD( 17)/ 10/ 7782 DATA IXDELD( 17)/ 20/ 7783 DATA ISTARD( 17)/ 119/ 7784 DATA NUMCOO( 17)/ 28/ 7785C 7786C DEFINE CHARACTER 2118--LOWER CASE R 7787C 7788 DATA IOPERA( 147),IX( 147),IY( 147)/'MOVE', -4, 5/ 7789 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', -4, -9/ 7790 DATA IOPERA( 149),IX( 149),IY( 149)/'MOVE', -3, 5/ 7791 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', -3, -9/ 7792 DATA IOPERA( 151),IX( 151),IY( 151)/'MOVE', -3, -1/ 7793 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -2, 2/ 7794 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', 0, 4/ 7795 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 2, 5/ 7796 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', 5, 5/ 7797 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', 6, 4/ 7798 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', 6, 3/ 7799 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', 5, 2/ 7800 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', 4, 3/ 7801 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', 5, 4/ 7802 DATA IOPERA( 161),IX( 161),IY( 161)/'MOVE', -7, 5/ 7803 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -3, 5/ 7804 DATA IOPERA( 163),IX( 163),IY( 163)/'MOVE', -7, -9/ 7805 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', 0, -9/ 7806C 7807 DATA IXMIND( 18)/ -9/ 7808 DATA IXMAXD( 18)/ 8/ 7809 DATA IXDELD( 18)/ 17/ 7810 DATA ISTARD( 18)/ 147/ 7811 DATA NUMCOO( 18)/ 18/ 7812C 7813C DEFINE CHARACTER 2119--LOWER CASE S 7814C 7815 DATA IOPERA( 165),IX( 165),IY( 165)/'MOVE', 5, 3/ 7816 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', 6, 5/ 7817 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', 6, 1/ 7818 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', 5, 3/ 7819 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 4, 4/ 7820 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', 2, 5/ 7821 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', -2, 5/ 7822 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -4, 4/ 7823 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -5, 3/ 7824 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -5, 1/ 7825 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', -4, 0/ 7826 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', -2, -1/ 7827 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', 3, -3/ 7828 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', 5, -4/ 7829 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', 6, -5/ 7830 DATA IOPERA( 180),IX( 180),IY( 180)/'MOVE', -5, 2/ 7831 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', -4, 1/ 7832 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', -2, 0/ 7833 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', 3, -2/ 7834 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', 5, -3/ 7835 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', 6, -4/ 7836 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', 6, -7/ 7837 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', 5, -8/ 7838 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', 3, -9/ 7839 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', -1, -9/ 7840 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', -3, -8/ 7841 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -4, -7/ 7842 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', -5, -5/ 7843 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', -5, -9/ 7844 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', -4, -7/ 7845C 7846 DATA IXMIND( 19)/ -8/ 7847 DATA IXMAXD( 19)/ 9/ 7848 DATA IXDELD( 19)/ 17/ 7849 DATA ISTARD( 19)/ 165/ 7850 DATA NUMCOO( 19)/ 30/ 7851C 7852C DEFINE CHARACTER 2120--LOWER CASE T 7853C 7854 DATA IOPERA( 195),IX( 195),IY( 195)/'MOVE', -2, 12/ 7855 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', -2, -5/ 7856 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', -1, -8/ 7857 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', 1, -9/ 7858 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', 3, -9/ 7859 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', 5, -8/ 7860 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', 6, -6/ 7861 DATA IOPERA( 202),IX( 202),IY( 202)/'MOVE', -1, 12/ 7862 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -1, -5/ 7863 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', 0, -8/ 7864 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', 1, -9/ 7865 DATA IOPERA( 206),IX( 206),IY( 206)/'MOVE', -5, 5/ 7866 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', 3, 5/ 7867C 7868 DATA IXMIND( 20)/ -7/ 7869 DATA IXMAXD( 20)/ 8/ 7870 DATA IXDELD( 20)/ 15/ 7871 DATA ISTARD( 20)/ 195/ 7872 DATA NUMCOO( 20)/ 13/ 7873C 7874C DEFINE CHARACTER 2121--LOWER CASE U 7875C 7876 DATA IOPERA( 208),IX( 208),IY( 208)/'MOVE', -6, 5/ 7877 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', -6, -6/ 7878 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -5, -8/ 7879 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -2, -9/ 7880 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', 0, -9/ 7881 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 3, -8/ 7882 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 5, -6/ 7883 DATA IOPERA( 215),IX( 215),IY( 215)/'MOVE', -5, 5/ 7884 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', -5, -6/ 7885 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', -4, -8/ 7886 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -2, -9/ 7887 DATA IOPERA( 219),IX( 219),IY( 219)/'MOVE', 5, 5/ 7888 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', 5, -9/ 7889 DATA IOPERA( 221),IX( 221),IY( 221)/'MOVE', 6, 5/ 7890 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', 6, -9/ 7891 DATA IOPERA( 223),IX( 223),IY( 223)/'MOVE', -9, 5/ 7892 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', -5, 5/ 7893 DATA IOPERA( 225),IX( 225),IY( 225)/'MOVE', 2, 5/ 7894 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', 6, 5/ 7895 DATA IOPERA( 227),IX( 227),IY( 227)/'MOVE', 5, -9/ 7896 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', 9, -9/ 7897C 7898 DATA IXMIND( 21)/ -11/ 7899 DATA IXMAXD( 21)/ 11/ 7900 DATA IXDELD( 21)/ 22/ 7901 DATA ISTARD( 21)/ 208/ 7902 DATA NUMCOO( 21)/ 21/ 7903C 7904C DEFINE CHARACTER 2122--LOWER CASE V 7905C 7906 DATA IOPERA( 229),IX( 229),IY( 229)/'MOVE', -6, 5/ 7907 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', 0, -9/ 7908 DATA IOPERA( 231),IX( 231),IY( 231)/'MOVE', -5, 5/ 7909 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', 0, -7/ 7910 DATA IOPERA( 233),IX( 233),IY( 233)/'MOVE', 6, 5/ 7911 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', 0, -9/ 7912 DATA IOPERA( 235),IX( 235),IY( 235)/'MOVE', -8, 5/ 7913 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', -2, 5/ 7914 DATA IOPERA( 237),IX( 237),IY( 237)/'MOVE', 2, 5/ 7915 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', 8, 5/ 7916C 7917 DATA IXMIND( 22)/ -9/ 7918 DATA IXMAXD( 22)/ 9/ 7919 DATA IXDELD( 22)/ 18/ 7920 DATA ISTARD( 22)/ 229/ 7921 DATA NUMCOO( 22)/ 10/ 7922C 7923C DEFINE CHARACTER 2123--LOWER CASE W 7924C 7925 DATA IOPERA( 239),IX( 239),IY( 239)/'MOVE', -8, 5/ 7926 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', -4, -9/ 7927 DATA IOPERA( 241),IX( 241),IY( 241)/'MOVE', -7, 5/ 7928 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -4, -6/ 7929 DATA IOPERA( 243),IX( 243),IY( 243)/'MOVE', 0, 5/ 7930 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', -4, -9/ 7931 DATA IOPERA( 245),IX( 245),IY( 245)/'MOVE', 0, 5/ 7932 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', 4, -9/ 7933 DATA IOPERA( 247),IX( 247),IY( 247)/'MOVE', 1, 5/ 7934 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', 4, -6/ 7935 DATA IOPERA( 249),IX( 249),IY( 249)/'MOVE', 8, 5/ 7936 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', 4, -9/ 7937 DATA IOPERA( 251),IX( 251),IY( 251)/'MOVE', -11, 5/ 7938 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', -4, 5/ 7939 DATA IOPERA( 253),IX( 253),IY( 253)/'MOVE', 5, 5/ 7940 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', 11, 5/ 7941C 7942 DATA IXMIND( 23)/ -12/ 7943 DATA IXMAXD( 23)/ 12/ 7944 DATA IXDELD( 23)/ 24/ 7945 DATA ISTARD( 23)/ 239/ 7946 DATA NUMCOO( 23)/ 16/ 7947C 7948C DEFINE CHARACTER 2124--LOWER CASE X 7949C 7950 DATA IOPERA( 255),IX( 255),IY( 255)/'MOVE', -6, 5/ 7951 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', 5, -9/ 7952 DATA IOPERA( 257),IX( 257),IY( 257)/'MOVE', -5, 5/ 7953 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 6, -9/ 7954 DATA IOPERA( 259),IX( 259),IY( 259)/'MOVE', 6, 5/ 7955 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -6, -9/ 7956 DATA IOPERA( 261),IX( 261),IY( 261)/'MOVE', -8, 5/ 7957 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', -2, 5/ 7958 DATA IOPERA( 263),IX( 263),IY( 263)/'MOVE', 2, 5/ 7959 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', 8, 5/ 7960 DATA IOPERA( 265),IX( 265),IY( 265)/'MOVE', -8, -9/ 7961 DATA IOPERA( 266),IX( 266),IY( 266)/'DRAW', -2, -9/ 7962 DATA IOPERA( 267),IX( 267),IY( 267)/'MOVE', 2, -9/ 7963 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', 8, -9/ 7964C 7965 DATA IXMIND( 24)/ -10/ 7966 DATA IXMAXD( 24)/ 10/ 7967 DATA IXDELD( 24)/ 20/ 7968 DATA ISTARD( 24)/ 255/ 7969 DATA NUMCOO( 24)/ 14/ 7970C 7971C DEFINE CHARACTER 2125--LOWER CASE Y 7972C 7973 DATA IOPERA( 269),IX( 269),IY( 269)/'MOVE', -6, 5/ 7974 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', 0, -9/ 7975 DATA IOPERA( 271),IX( 271),IY( 271)/'MOVE', -5, 5/ 7976 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', 0, -7/ 7977 DATA IOPERA( 273),IX( 273),IY( 273)/'MOVE', 6, 5/ 7978 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', 0, -9/ 7979 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', -2, -13/ 7980 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', -4, -15/ 7981 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', -6, -16/ 7982 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -7, -16/ 7983 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', -8, -15/ 7984 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', -7, -14/ 7985 DATA IOPERA( 281),IX( 281),IY( 281)/'DRAW', -6, -15/ 7986 DATA IOPERA( 282),IX( 282),IY( 282)/'MOVE', -8, 5/ 7987 DATA IOPERA( 283),IX( 283),IY( 283)/'DRAW', -2, 5/ 7988 DATA IOPERA( 284),IX( 284),IY( 284)/'MOVE', 2, 5/ 7989 DATA IOPERA( 285),IX( 285),IY( 285)/'DRAW', 8, 5/ 7990C 7991 DATA IXMIND( 25)/ -10/ 7992 DATA IXMAXD( 25)/ 9/ 7993 DATA IXDELD( 25)/ 19/ 7994 DATA ISTARD( 25)/ 269/ 7995 DATA NUMCOO( 25)/ 17/ 7996C 7997C DEFINE CHARACTER 2126--LOWER CASE Z 7998C 7999 DATA IOPERA( 286),IX( 286),IY( 286)/'MOVE', 5, 5/ 8000 DATA IOPERA( 287),IX( 287),IY( 287)/'DRAW', -6, -9/ 8001 DATA IOPERA( 288),IX( 288),IY( 288)/'MOVE', 6, 5/ 8002 DATA IOPERA( 289),IX( 289),IY( 289)/'DRAW', -5, -9/ 8003 DATA IOPERA( 290),IX( 290),IY( 290)/'MOVE', -5, 5/ 8004 DATA IOPERA( 291),IX( 291),IY( 291)/'DRAW', -6, 1/ 8005 DATA IOPERA( 292),IX( 292),IY( 292)/'DRAW', -6, 5/ 8006 DATA IOPERA( 293),IX( 293),IY( 293)/'DRAW', 6, 5/ 8007 DATA IOPERA( 294),IX( 294),IY( 294)/'MOVE', -6, -9/ 8008 DATA IOPERA( 295),IX( 295),IY( 295)/'DRAW', 6, -9/ 8009 DATA IOPERA( 296),IX( 296),IY( 296)/'DRAW', 6, -5/ 8010 DATA IOPERA( 297),IX( 297),IY( 297)/'DRAW', 5, -9/ 8011C 8012 DATA IXMIND( 26)/ -9/ 8013 DATA IXMAXD( 26)/ 9/ 8014 DATA IXDELD( 26)/ 18/ 8015 DATA ISTARD( 26)/ 286/ 8016 DATA NUMCOO( 26)/ 12/ 8017C 8018C-----START POINT----------------------------------------------------- 8019C 8020 IFOUND='YES' 8021 IERROR='NO' 8022C 8023 NUMCO=1 8024 ISTART=1 8025 ISTOP=1 8026 NC=1 8027C 8028C ****************************************** 8029C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 8030C ** HERSHEY CHARACTER SET CASE ** 8031C ****************************************** 8032C 8033C 8034 IF(IBUGD2.EQ.'OFF')GOTO90 8035 WRITE(ICOUT,999) 8036 999 FORMAT(1X) 8037 CALL DPWRST('XXX','BUG ') 8038 WRITE(ICOUT,51) 8039 51 FORMAT('***** AT THE BEGINNING OF DRCL2--') 8040 CALL DPWRST('XXX','BUG ') 8041 WRITE(ICOUT,52)ICHARN 8042 52 FORMAT('ICHARN = ',I8) 8043 CALL DPWRST('XXX','BUG ') 8044 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 8045 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 8046 CALL DPWRST('XXX','BUG ') 8047 90 CONTINUE 8048C 8049C ************************************** 8050C ** STEP 2-- ** 8051C ** EXTRACT THE COORDINATES ** 8052C ** FOR THIS PARTICULAR CHARACTER. ** 8053C ************************************** 8054C 8055 ISTART=ISTARD(ICHARN) 8056 NC=NUMCOO(ICHARN) 8057 ISTOP=ISTART+NC-1 8058 J=0 8059 DO1100I=ISTART,ISTOP 8060 J=J+1 8061 IOP(J)=IOPERA(I) 8062 X(J)=IX(I) 8063 Y(J)=IY(I) 8064 1100 CONTINUE 8065 NUMCO=J 8066 IXMINS=IXMIND(ICHARN) 8067 IXMAXS=IXMAXD(ICHARN) 8068 IXDELS=IXDELD(ICHARN) 8069C 8070 GOTO9000 8071C 8072C ***************** 8073C ** STEP 90-- ** 8074C ** EXIT ** 8075C ***************** 8076C 8077 9000 CONTINUE 8078 IF(IBUGD2.EQ.'OFF')GOTO9090 8079 WRITE(ICOUT,999) 8080 CALL DPWRST('XXX','BUG ') 8081 WRITE(ICOUT,9011) 8082 9011 FORMAT('***** AT THE END OF DRCL2--') 8083 CALL DPWRST('XXX','BUG ') 8084 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 8085 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 8086 CALL DPWRST('XXX','BUG ') 8087 WRITE(ICOUT,9013)ICHARN 8088 9013 FORMAT('ICHARN = ',I8) 8089 CALL DPWRST('XXX','BUG ') 8090 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 8091 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 8092 CALL DPWRST('XXX','BUG ') 8093 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 8094 DO9015I=1,NUMCO 8095 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 8096 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 8097 CALL DPWRST('XXX','BUG ') 8098 9015 CONTINUE 8099 9019 CONTINUE 8100 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 8101 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 8102 CALL DPWRST('XXX','BUG ') 8103 9090 CONTINUE 8104C 8105 RETURN 8106 END 8107 SUBROUTINE DRCN1(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 8108 1IBUGD2,IFOUND,IERROR) 8109C 8110C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 8111C FOR ROMAN COMPLEX NUMERIC (PART 1). 8112C WRITTEN BY--JAMES J. FILLIBEN 8113C STATISTICAL ENGINEERING DIVISION 8114C CENTER FOR APPLIED MATHEMATICS 8115C NATIONAL BUREAU OF STANDARDS 8116C WASHINGTON, D. C. 20234 8117C PHONE--301-921-3651 8118C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 8119C OF THE NATIONAL BUREAU OF STANDARDS. 8120C LANGUAGE--ANSI FORTRAN (1977) 8121C VERSION NUMBER--87/4 8122C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 8123C UPDATED --MAY 1982. 8124C UPDATED --MARCH 1987. 8125C 8126C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 8127C 8128 CHARACTER*4 IOP 8129 CHARACTER*4 IBUGD2 8130 CHARACTER*4 IFOUND 8131 CHARACTER*4 IERROR 8132C 8133 CHARACTER*4 IOPERA 8134C 8135C--------------------------------------------------------------------- 8136C 8137 DIMENSION IOP(*) 8138 DIMENSION X(*) 8139 DIMENSION Y(*) 8140C 8141 DIMENSION IOPERA(300) 8142 DIMENSION IX(300) 8143 DIMENSION IY(300) 8144C 8145 DIMENSION IXMIND(30) 8146 DIMENSION IXMAXD(30) 8147 DIMENSION IXDELD(30) 8148 DIMENSION ISTARD(30) 8149 DIMENSION NUMCOO(30) 8150C 8151C--------------------------------------------------------------------- 8152C 8153 INCLUDE 'DPCOP2.INC' 8154C 8155C-----DATA STATEMENTS------------------------------------------------- 8156C 8157C DEFINE CHARACTER 2200--0 8158C 8159 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -1, 12/ 8160 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -4, 11/ 8161 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -6, 8/ 8162 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -7, 3/ 8163 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -7, 0/ 8164 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -6, -5/ 8165 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -4, -8/ 8166 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -1, -9/ 8167 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', 1, -9/ 8168 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', 4, -8/ 8169 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', 6, -5/ 8170 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 7, 0/ 8171 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 7, 3/ 8172 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', 6, 8/ 8173 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 4, 11/ 8174 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 1, 12/ 8175 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -1, 12/ 8176 DATA IOPERA( 18),IX( 18),IY( 18)/'MOVE', -1, 12/ 8177 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', -3, 11/ 8178 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', -4, 10/ 8179 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', -5, 8/ 8180 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', -6, 3/ 8181 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', -6, 0/ 8182 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -5, -5/ 8183 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -4, -7/ 8184 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -3, -8/ 8185 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', -1, -9/ 8186 DATA IOPERA( 28),IX( 28),IY( 28)/'MOVE', 1, -9/ 8187 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', 3, -8/ 8188 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', 4, -7/ 8189 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', 5, -5/ 8190 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 6, 0/ 8191 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 6, 3/ 8192 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 5, 8/ 8193 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 4, 10/ 8194 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', 3, 11/ 8195 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', 1, 12/ 8196C 8197 DATA IXMIND( 1)/ -10/ 8198 DATA IXMAXD( 1)/ 10/ 8199 DATA IXDELD( 1)/ 20/ 8200 DATA ISTARD( 1)/ 1/ 8201 DATA NUMCOO( 1)/ 37/ 8202C 8203C DEFINE CHARACTER 2201--1 8204C 8205 DATA IOPERA( 38),IX( 38),IY( 38)/'MOVE', -4, 8/ 8206 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -2, 9/ 8207 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', 1, 12/ 8208 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', 1, -9/ 8209 DATA IOPERA( 42),IX( 42),IY( 42)/'MOVE', 0, 11/ 8210 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', 0, -9/ 8211 DATA IOPERA( 44),IX( 44),IY( 44)/'MOVE', -4, -9/ 8212 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', 5, -9/ 8213C 8214 DATA IXMIND( 2)/ -10/ 8215 DATA IXMAXD( 2)/ 10/ 8216 DATA IXDELD( 2)/ 20/ 8217 DATA ISTARD( 2)/ 38/ 8218 DATA NUMCOO( 2)/ 8/ 8219C 8220C DEFINE CHARACTER 2202--2 8221C 8222 DATA IOPERA( 46),IX( 46),IY( 46)/'MOVE', -6, 8/ 8223 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -5, 7/ 8224 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -6, 6/ 8225 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -7, 7/ 8226 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -7, 8/ 8227 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -6, 10/ 8228 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', -5, 11/ 8229 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -2, 12/ 8230 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', 2, 12/ 8231 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 5, 11/ 8232 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', 6, 10/ 8233 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', 7, 8/ 8234 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', 7, 6/ 8235 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', 6, 4/ 8236 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', 3, 2/ 8237 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -2, 0/ 8238 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -4, -1/ 8239 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -6, -3/ 8240 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -7, -6/ 8241 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -7, -9/ 8242 DATA IOPERA( 66),IX( 66),IY( 66)/'MOVE', 2, 12/ 8243 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', 4, 11/ 8244 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 5, 10/ 8245 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 6, 8/ 8246 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', 6, 6/ 8247 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 5, 4/ 8248 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', 2, 2/ 8249 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -2, 0/ 8250 DATA IOPERA( 74),IX( 74),IY( 74)/'MOVE', -7, -7/ 8251 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -6, -6/ 8252 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -4, -6/ 8253 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', 1, -8/ 8254 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', 4, -8/ 8255 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', 6, -7/ 8256 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', 7, -6/ 8257 DATA IOPERA( 81),IX( 81),IY( 81)/'MOVE', -4, -6/ 8258 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 1, -9/ 8259 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', 5, -9/ 8260 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', 6, -8/ 8261 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 7, -6/ 8262 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 7, -4/ 8263C 8264 DATA IXMIND( 3)/ -10/ 8265 DATA IXMAXD( 3)/ 10/ 8266 DATA IXDELD( 3)/ 20/ 8267 DATA ISTARD( 3)/ 46/ 8268 DATA NUMCOO( 3)/ 41/ 8269C 8270C DEFINE CHARACTER 2203--3 8271C 8272 DATA IOPERA( 87),IX( 87),IY( 87)/'MOVE', -6, 8/ 8273 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', -5, 7/ 8274 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', -6, 6/ 8275 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', -7, 7/ 8276 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', -7, 8/ 8277 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', -6, 10/ 8278 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', -5, 11/ 8279 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -2, 12/ 8280 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', 2, 12/ 8281 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 5, 11/ 8282 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 6, 9/ 8283 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 6, 6/ 8284 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 5, 4/ 8285 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 2, 3/ 8286 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', -1, 3/ 8287 DATA IOPERA( 102),IX( 102),IY( 102)/'MOVE', 2, 12/ 8288 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 4, 11/ 8289 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', 5, 9/ 8290 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', 5, 6/ 8291 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 4, 4/ 8292 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', 2, 3/ 8293 DATA IOPERA( 108),IX( 108),IY( 108)/'MOVE', 2, 3/ 8294 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 4, 2/ 8295 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', 6, 0/ 8296 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', 7, -2/ 8297 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 7, -5/ 8298 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 6, -7/ 8299 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 5, -8/ 8300 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', 2, -9/ 8301 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', -2, -9/ 8302 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', -5, -8/ 8303 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', -6, -7/ 8304 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', -7, -5/ 8305 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', -7, -4/ 8306 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', -6, -3/ 8307 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', -5, -4/ 8308 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -6, -5/ 8309 DATA IOPERA( 124),IX( 124),IY( 124)/'MOVE', 5, 1/ 8310 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', 6, -2/ 8311 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', 6, -5/ 8312 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', 5, -7/ 8313 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', 4, -8/ 8314 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', 2, -9/ 8315C 8316 DATA IXMIND( 4)/ -10/ 8317 DATA IXMAXD( 4)/ 10/ 8318 DATA IXDELD( 4)/ 20/ 8319 DATA ISTARD( 4)/ 87/ 8320 DATA NUMCOO( 4)/ 43/ 8321C 8322C DEFINE CHARACTER 2204--4 8323C 8324 DATA IOPERA( 130),IX( 130),IY( 130)/'MOVE', 2, 10/ 8325 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 2, -9/ 8326 DATA IOPERA( 132),IX( 132),IY( 132)/'MOVE', 3, 12/ 8327 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', 3, -9/ 8328 DATA IOPERA( 134),IX( 134),IY( 134)/'MOVE', 3, 12/ 8329 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -8, -3/ 8330 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', 8, -3/ 8331 DATA IOPERA( 137),IX( 137),IY( 137)/'MOVE', -1, -9/ 8332 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', 6, -9/ 8333C 8334 DATA IXMIND( 5)/ -10/ 8335 DATA IXMAXD( 5)/ 10/ 8336 DATA IXDELD( 5)/ 20/ 8337 DATA ISTARD( 5)/ 130/ 8338 DATA NUMCOO( 5)/ 9/ 8339C 8340C DEFINE CHARACTER 2205--5 8341C 8342 DATA IOPERA( 139),IX( 139),IY( 139)/'MOVE', -5, 12/ 8343 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', -7, 2/ 8344 DATA IOPERA( 141),IX( 141),IY( 141)/'MOVE', -7, 2/ 8345 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -5, 4/ 8346 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -2, 5/ 8347 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', 1, 5/ 8348 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', 4, 4/ 8349 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', 6, 2/ 8350 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 7, -1/ 8351 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', 7, -3/ 8352 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', 6, -6/ 8353 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', 4, -8/ 8354 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', 1, -9/ 8355 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -2, -9/ 8356 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', -5, -8/ 8357 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', -6, -7/ 8358 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -7, -5/ 8359 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -7, -4/ 8360 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', -6, -3/ 8361 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', -5, -4/ 8362 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -6, -5/ 8363 DATA IOPERA( 160),IX( 160),IY( 160)/'MOVE', 1, 5/ 8364 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', 3, 4/ 8365 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', 5, 2/ 8366 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', 6, -1/ 8367 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', 6, -3/ 8368 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', 5, -6/ 8369 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', 3, -8/ 8370 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', 1, -9/ 8371 DATA IOPERA( 168),IX( 168),IY( 168)/'MOVE', -5, 12/ 8372 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 5, 12/ 8373 DATA IOPERA( 170),IX( 170),IY( 170)/'MOVE', -5, 11/ 8374 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', 0, 11/ 8375 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', 5, 12/ 8376C 8377 DATA IXMIND( 6)/ -10/ 8378 DATA IXMAXD( 6)/ 10/ 8379 DATA IXDELD( 6)/ 20/ 8380 DATA ISTARD( 6)/ 139/ 8381 DATA NUMCOO( 6)/ 34/ 8382C 8383C DEFINE CHARACTER 2206--6 8384C 8385 DATA IOPERA( 173),IX( 173),IY( 173)/'MOVE', 5, 9/ 8386 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', 4, 8/ 8387 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', 5, 7/ 8388 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', 6, 8/ 8389 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', 6, 9/ 8390 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', 5, 11/ 8391 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', 3, 12/ 8392 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', 0, 12/ 8393 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', -3, 11/ 8394 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', -5, 9/ 8395 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', -6, 7/ 8396 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', -7, 3/ 8397 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -7, -3/ 8398 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', -6, -6/ 8399 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', -4, -8/ 8400 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', -1, -9/ 8401 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', 1, -9/ 8402 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', 4, -8/ 8403 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', 6, -6/ 8404 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', 7, -3/ 8405 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 7, -2/ 8406 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 6, 1/ 8407 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 4, 3/ 8408 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', 1, 4/ 8409 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 0, 4/ 8410 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', -3, 3/ 8411 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', -5, 1/ 8412 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', -6, -2/ 8413 DATA IOPERA( 201),IX( 201),IY( 201)/'MOVE', 0, 12/ 8414 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', -2, 11/ 8415 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -4, 9/ 8416 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', -5, 7/ 8417 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', -6, 3/ 8418 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', -6, -3/ 8419 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -5, -6/ 8420 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', -3, -8/ 8421 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', -1, -9/ 8422 DATA IOPERA( 210),IX( 210),IY( 210)/'MOVE', 1, -9/ 8423 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', 3, -8/ 8424 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', 5, -6/ 8425 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 6, -3/ 8426 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 6, -2/ 8427 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', 5, 1/ 8428 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', 3, 3/ 8429 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', 1, 4/ 8430C 8431 DATA IXMIND( 7)/ -10/ 8432 DATA IXMAXD( 7)/ 10/ 8433 DATA IXDELD( 7)/ 20/ 8434 DATA ISTARD( 7)/ 173/ 8435 DATA NUMCOO( 7)/ 45/ 8436C 8437C DEFINE CHARACTER 2207--7 8438C 8439 DATA IOPERA( 218),IX( 218),IY( 218)/'MOVE', -7, 12/ 8440 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -7, 6/ 8441 DATA IOPERA( 220),IX( 220),IY( 220)/'MOVE', -7, 8/ 8442 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -6, 10/ 8443 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', -4, 12/ 8444 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', -2, 12/ 8445 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', 3, 9/ 8446 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', 5, 9/ 8447 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', 6, 10/ 8448 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', 7, 12/ 8449 DATA IOPERA( 228),IX( 228),IY( 228)/'MOVE', -6, 10/ 8450 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', -4, 11/ 8451 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', -2, 11/ 8452 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', 3, 9/ 8453 DATA IOPERA( 232),IX( 232),IY( 232)/'MOVE', 7, 12/ 8454 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', 7, 9/ 8455 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', 6, 6/ 8456 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', 2, 1/ 8457 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', 1, -1/ 8458 DATA IOPERA( 237),IX( 237),IY( 237)/'DRAW', 0, -4/ 8459 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', 0, -9/ 8460 DATA IOPERA( 239),IX( 239),IY( 239)/'MOVE', 6, 6/ 8461 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', 1, 1/ 8462 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', 0, -1/ 8463 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -1, -4/ 8464 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', -1, -9/ 8465C 8466 DATA IXMIND( 8)/ -10/ 8467 DATA IXMAXD( 8)/ 10/ 8468 DATA IXDELD( 8)/ 20/ 8469 DATA ISTARD( 8)/ 218/ 8470 DATA NUMCOO( 8)/ 26/ 8471C 8472C DEFINE CHARACTER 2208--8 8473C 8474 DATA IOPERA( 244),IX( 244),IY( 244)/'MOVE', -2, 12/ 8475 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', -5, 11/ 8476 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', -6, 9/ 8477 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -6, 6/ 8478 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', -5, 4/ 8479 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', -2, 3/ 8480 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', 2, 3/ 8481 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', 5, 4/ 8482 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', 6, 6/ 8483 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', 6, 9/ 8484 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', 5, 11/ 8485 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', 2, 12/ 8486 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', -2, 12/ 8487 DATA IOPERA( 257),IX( 257),IY( 257)/'MOVE', -2, 12/ 8488 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', -4, 11/ 8489 DATA IOPERA( 259),IX( 259),IY( 259)/'DRAW', -5, 9/ 8490 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -5, 6/ 8491 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', -4, 4/ 8492 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', -2, 3/ 8493 DATA IOPERA( 263),IX( 263),IY( 263)/'MOVE', 2, 3/ 8494 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', 4, 4/ 8495 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', 5, 6/ 8496 DATA IOPERA( 266),IX( 266),IY( 266)/'DRAW', 5, 9/ 8497 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', 4, 11/ 8498 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', 2, 12/ 8499 DATA IOPERA( 269),IX( 269),IY( 269)/'MOVE', -2, 3/ 8500 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', -5, 2/ 8501 DATA IOPERA( 271),IX( 271),IY( 271)/'DRAW', -6, 1/ 8502 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', -7, -1/ 8503 DATA IOPERA( 273),IX( 273),IY( 273)/'DRAW', -7, -5/ 8504 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', -6, -7/ 8505 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', -5, -8/ 8506 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', -2, -9/ 8507 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', 2, -9/ 8508 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', 5, -8/ 8509 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', 6, -7/ 8510 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', 7, -5/ 8511 DATA IOPERA( 281),IX( 281),IY( 281)/'DRAW', 7, -1/ 8512 DATA IOPERA( 282),IX( 282),IY( 282)/'DRAW', 6, 1/ 8513 DATA IOPERA( 283),IX( 283),IY( 283)/'DRAW', 5, 2/ 8514 DATA IOPERA( 284),IX( 284),IY( 284)/'DRAW', 2, 3/ 8515 DATA IOPERA( 285),IX( 285),IY( 285)/'MOVE', -2, 3/ 8516 DATA IOPERA( 286),IX( 286),IY( 286)/'DRAW', -4, 2/ 8517 DATA IOPERA( 287),IX( 287),IY( 287)/'DRAW', -5, 1/ 8518 DATA IOPERA( 288),IX( 288),IY( 288)/'DRAW', -6, -1/ 8519 DATA IOPERA( 289),IX( 289),IY( 289)/'DRAW', -6, -5/ 8520 DATA IOPERA( 290),IX( 290),IY( 290)/'DRAW', -5, -7/ 8521 DATA IOPERA( 291),IX( 291),IY( 291)/'DRAW', -4, -8/ 8522 DATA IOPERA( 292),IX( 292),IY( 292)/'DRAW', -2, -9/ 8523 DATA IOPERA( 293),IX( 293),IY( 293)/'MOVE', 2, -9/ 8524 DATA IOPERA( 294),IX( 294),IY( 294)/'DRAW', 4, -8/ 8525 DATA IOPERA( 295),IX( 295),IY( 295)/'DRAW', 5, -7/ 8526 DATA IOPERA( 296),IX( 296),IY( 296)/'DRAW', 6, -5/ 8527 DATA IOPERA( 297),IX( 297),IY( 297)/'DRAW', 6, -1/ 8528 DATA IOPERA( 298),IX( 298),IY( 298)/'DRAW', 5, 1/ 8529 DATA IOPERA( 299),IX( 299),IY( 299)/'DRAW', 4, 2/ 8530 DATA IOPERA( 300),IX( 300),IY( 300)/'DRAW', 2, 3/ 8531C 8532 DATA IXMIND( 9)/ -10/ 8533 DATA IXMAXD( 9)/ 10/ 8534 DATA IXDELD( 9)/ 20/ 8535 DATA ISTARD( 9)/ 244/ 8536 DATA NUMCOO( 9)/ 57/ 8537C 8538C-----START POINT----------------------------------------------------- 8539C 8540 IFOUND='YES' 8541 IERROR='NO' 8542C 8543 NUMCO=1 8544 ISTART=1 8545 ISTOP=1 8546 NC=1 8547C 8548C ****************************************** 8549C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 8550C ** HERSHEY CHARACTER SET CASE ** 8551C ****************************************** 8552C 8553C 8554 IF(IBUGD2.EQ.'OFF')GOTO90 8555 WRITE(ICOUT,999) 8556 999 FORMAT(1X) 8557 CALL DPWRST('XXX','BUG ') 8558 WRITE(ICOUT,51) 8559 51 FORMAT('***** AT THE BEGINNING OF DRCN1--') 8560 CALL DPWRST('XXX','BUG ') 8561 WRITE(ICOUT,52)ICHARN 8562 52 FORMAT('ICHARN = ',I8) 8563 CALL DPWRST('XXX','BUG ') 8564 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 8565 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 8566 CALL DPWRST('XXX','BUG ') 8567 90 CONTINUE 8568C 8569C ************************************** 8570C ** STEP 2-- ** 8571C ** EXTRACT THE COORDINATES ** 8572C ** FOR THIS PARTICULAR CHARACTER. ** 8573C ************************************** 8574C 8575 ISTART=ISTARD(ICHARN) 8576 NC=NUMCOO(ICHARN) 8577 ISTOP=ISTART+NC-1 8578 J=0 8579 DO1100I=ISTART,ISTOP 8580 J=J+1 8581 IOP(J)=IOPERA(I) 8582 X(J)=IX(I) 8583 Y(J)=IY(I) 8584 1100 CONTINUE 8585 NUMCO=J 8586 IXMINS=IXMIND(ICHARN) 8587 IXMAXS=IXMAXD(ICHARN) 8588 IXDELS=IXDELD(ICHARN) 8589C 8590 GOTO9000 8591C 8592C ***************** 8593C ** STEP 90-- ** 8594C ** EXIT ** 8595C ***************** 8596C 8597 9000 CONTINUE 8598 IF(IBUGD2.EQ.'OFF')GOTO9090 8599 WRITE(ICOUT,999) 8600 CALL DPWRST('XXX','BUG ') 8601 WRITE(ICOUT,9011) 8602 9011 FORMAT('***** AT THE END OF DRCN1--') 8603 CALL DPWRST('XXX','BUG ') 8604 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 8605 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 8606 CALL DPWRST('XXX','BUG ') 8607 WRITE(ICOUT,9013)ICHARN 8608 9013 FORMAT('ICHARN = ',I8) 8609 CALL DPWRST('XXX','BUG ') 8610 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 8611 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 8612 CALL DPWRST('XXX','BUG ') 8613 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 8614 DO9015I=1,NUMCO 8615 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 8616 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 8617 CALL DPWRST('XXX','BUG ') 8618 9015 CONTINUE 8619 9019 CONTINUE 8620 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 8621 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 8622 CALL DPWRST('XXX','BUG ') 8623 9090 CONTINUE 8624C 8625 RETURN 8626 END 8627 SUBROUTINE DRCN2(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 8628 1IBUGD2,IFOUND,IERROR) 8629C 8630C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 8631C FOR ROMAN COMPLEX NUMERIC (PART 2). 8632C WRITTEN BY--JAMES J. FILLIBEN 8633C STATISTICAL ENGINEERING DIVISION 8634C CENTER FOR APPLIED MATHEMATICS 8635C NATIONAL BUREAU OF STANDARDS 8636C WASHINGTON, D. C. 20234 8637C PHONE--301-921-3651 8638C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 8639C OF THE NATIONAL BUREAU OF STANDARDS. 8640C LANGUAGE--ANSI FORTRAN (1977) 8641C VERSION NUMBER--87/4 8642C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 8643C UPDATED --MAY 1982. 8644C UPDATED --MARCH 1987. 8645C 8646C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 8647C 8648 CHARACTER*4 IOP 8649 CHARACTER*4 IBUGD2 8650 CHARACTER*4 IFOUND 8651 CHARACTER*4 IERROR 8652C 8653 CHARACTER*4 IOPERA 8654C 8655C--------------------------------------------------------------------- 8656C 8657 DIMENSION IOP(*) 8658 DIMENSION X(*) 8659 DIMENSION Y(*) 8660C 8661 DIMENSION IOPERA(300) 8662 DIMENSION IX(300) 8663 DIMENSION IY(300) 8664C 8665 DIMENSION IXMIND(30) 8666 DIMENSION IXMAXD(30) 8667 DIMENSION IXDELD(30) 8668 DIMENSION ISTARD(30) 8669 DIMENSION NUMCOO(30) 8670C 8671C-----COMMON---------------------------------------------------------- 8672C 8673 INCLUDE 'DPCOP2.INC' 8674C 8675C-----DATA STATEMENTS------------------------------------------------- 8676C 8677C DEFINE CHARACTER 2209--9 8678C 8679 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 6, 5/ 8680 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', 5, 2/ 8681 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', 3, 0/ 8682 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', 0, -1/ 8683 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -1, -1/ 8684 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -4, 0/ 8685 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -6, 2/ 8686 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -7, 5/ 8687 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -7, 6/ 8688 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -6, 9/ 8689 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -4, 11/ 8690 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -1, 12/ 8691 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 1, 12/ 8692 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', 4, 11/ 8693 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 6, 9/ 8694 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 7, 6/ 8695 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 7, 0/ 8696 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 6, -4/ 8697 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 5, -6/ 8698 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 3, -8/ 8699 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 0, -9/ 8700 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', -3, -9/ 8701 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', -5, -8/ 8702 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -6, -6/ 8703 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -6, -5/ 8704 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -5, -4/ 8705 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', -4, -5/ 8706 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -5, -6/ 8707 DATA IOPERA( 29),IX( 29),IY( 29)/'MOVE', -1, -1/ 8708 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', -3, 0/ 8709 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', -5, 2/ 8710 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -6, 5/ 8711 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', -6, 6/ 8712 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', -5, 9/ 8713 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', -3, 11/ 8714 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', -1, 12/ 8715 DATA IOPERA( 37),IX( 37),IY( 37)/'MOVE', 1, 12/ 8716 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', 3, 11/ 8717 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', 5, 9/ 8718 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', 6, 6/ 8719 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', 6, 0/ 8720 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', 5, -4/ 8721 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', 4, -6/ 8722 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', 2, -8/ 8723 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', 0, -9/ 8724C 8725 DATA IXMIND( 10)/ -10/ 8726 DATA IXMAXD( 10)/ 10/ 8727 DATA IXDELD( 10)/ 20/ 8728 DATA ISTARD( 10)/ 1/ 8729 DATA NUMCOO( 10)/ 45/ 8730C 8731C-----START POINT----------------------------------------------------- 8732C 8733 IFOUND='YES' 8734 IERROR='NO' 8735C 8736 NUMCO=1 8737 ISTART=1 8738 ISTOP=1 8739 NC=1 8740C 8741C ****************************************** 8742C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 8743C ** HERSHEY CHARACTER SET CASE ** 8744C ****************************************** 8745C 8746C 8747 IF(IBUGD2.EQ.'OFF')GOTO90 8748 WRITE(ICOUT,999) 8749 999 FORMAT(1X) 8750 CALL DPWRST('XXX','BUG ') 8751 WRITE(ICOUT,51) 8752 51 FORMAT('***** AT THE BEGINNING OF DRCN2--') 8753 CALL DPWRST('XXX','BUG ') 8754 WRITE(ICOUT,52)ICHARN 8755 52 FORMAT('ICHARN = ',I8) 8756 CALL DPWRST('XXX','BUG ') 8757 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 8758 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 8759 CALL DPWRST('XXX','BUG ') 8760 90 CONTINUE 8761C 8762C ************************************** 8763C ** STEP 2-- ** 8764C ** EXTRACT THE COORDINATES ** 8765C ** FOR THIS PARTICULAR CHARACTER. ** 8766C ************************************** 8767C 8768 ISTART=ISTARD(ICHARN) 8769 NC=NUMCOO(ICHARN) 8770 ISTOP=ISTART+NC-1 8771 J=0 8772 DO1100I=ISTART,ISTOP 8773 J=J+1 8774 IOP(J)=IOPERA(I) 8775 X(J)=IX(I) 8776 Y(J)=IY(I) 8777 1100 CONTINUE 8778 NUMCO=J 8779 IXMINS=IXMIND(ICHARN) 8780 IXMAXS=IXMAXD(ICHARN) 8781 IXDELS=IXDELD(ICHARN) 8782C 8783 GOTO9000 8784C 8785C ***************** 8786C ** STEP 90-- ** 8787C ** EXIT ** 8788C ***************** 8789C 8790 9000 CONTINUE 8791 IF(IBUGD2.EQ.'OFF')GOTO9090 8792 WRITE(ICOUT,999) 8793 CALL DPWRST('XXX','BUG ') 8794 WRITE(ICOUT,9011) 8795 9011 FORMAT('***** AT THE END OF DRCN2--') 8796 CALL DPWRST('XXX','BUG ') 8797 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 8798 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 8799 CALL DPWRST('XXX','BUG ') 8800 WRITE(ICOUT,9013)ICHARN 8801 9013 FORMAT('ICHARN = ',I8) 8802 CALL DPWRST('XXX','BUG ') 8803 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 8804 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 8805 CALL DPWRST('XXX','BUG ') 8806 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 8807 DO9015I=1,NUMCO 8808 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 8809 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 8810 CALL DPWRST('XXX','BUG ') 8811 9015 CONTINUE 8812 9019 CONTINUE 8813 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 8814 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 8815 CALL DPWRST('XXX','BUG ') 8816 9090 CONTINUE 8817C 8818 RETURN 8819 END 8820 SUBROUTINE DRCSL1(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 8821 1IBUGD2,IFOUND,IERROR) 8822C 8823C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 8824C FOR ROMAN COMPLEX SCRIPT LOWER CASE (PART 1). 8825C WRITTEN BY--JAMES J. FILLIBEN 8826C STATISTICAL ENGINEERING DIVISION 8827C CENTER FOR APPLIED MATHEMATICS 8828C NATIONAL BUREAU OF STANDARDS 8829C WASHINGTON, D. C. 20234 8830C PHONE--301-921-3651 8831C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 8832C OF THE NATIONAL BUREAU OF STANDARDS. 8833C LANGUAGE--ANSI FORTRAN (1977) 8834C VERSION NUMBER--87/4 8835C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 8836C UPDATED --MAY 1982. 8837C UPDATED --MARCH 1987. 8838C 8839C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 8840C 8841 CHARACTER*4 IOP 8842 CHARACTER*4 IBUGD2 8843 CHARACTER*4 IFOUND 8844 CHARACTER*4 IERROR 8845C 8846 CHARACTER*4 IOPERA 8847C 8848C--------------------------------------------------------------------- 8849C 8850 DIMENSION IOP(*) 8851 DIMENSION X(*) 8852 DIMENSION Y(*) 8853C 8854 DIMENSION IOPERA(300) 8855 DIMENSION IX(300) 8856 DIMENSION IY(300) 8857C 8858 DIMENSION IXMIND(30) 8859 DIMENSION IXMAXD(30) 8860 DIMENSION IXDELD(30) 8861 DIMENSION ISTARD(30) 8862 DIMENSION NUMCOO(30) 8863C 8864C-----COMMON---------------------------------------------------------- 8865C 8866 INCLUDE 'DPCOP2.INC' 8867C 8868C-----DATA STATEMENTS------------------------------------------------- 8869C 8870C DEFINE CHARACTER 2651--LOWER CASE A 8871C 8872 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 3, -3/ 8873 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', 2, -1/ 8874 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', 0, 0/ 8875 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -2, 0/ 8876 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -4, -1/ 8877 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -5, -2/ 8878 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -6, -4/ 8879 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -6, -6/ 8880 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -5, -8/ 8881 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -3, -9/ 8882 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -1, -9/ 8883 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 1, -8/ 8884 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 2, -6/ 8885 DATA IOPERA( 14),IX( 14),IY( 14)/'MOVE', -2, 0/ 8886 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', -4, -2/ 8887 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', -5, -4/ 8888 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -5, -7/ 8889 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', -3, -9/ 8890 DATA IOPERA( 19),IX( 19),IY( 19)/'MOVE', 4, 0/ 8891 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 2, -6/ 8892 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 2, -8/ 8893 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 4, -9/ 8894 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 6, -8/ 8895 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 7, -7/ 8896 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', 9, -4/ 8897 DATA IOPERA( 26),IX( 26),IY( 26)/'MOVE', 5, 0/ 8898 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 3, -6/ 8899 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 3, -8/ 8900 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', 4, -9/ 8901C 8902 DATA IXMIND( 1)/ -7/ 8903 DATA IXMAXD( 1)/ 9/ 8904 DATA IXDELD( 1)/ 16/ 8905 DATA ISTARD( 1)/ 1/ 8906 DATA NUMCOO( 1)/ 29/ 8907C 8908C DEFINE CHARACTER 2652--LOWER CASE B 8909C 8910 DATA IOPERA( 30),IX( 30),IY( 30)/'MOVE', -6, -4/ 8911 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', -4, -1/ 8912 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -2, 3/ 8913 DATA IOPERA( 33),IX( 33),IY( 33)/'MOVE', 1, 12/ 8914 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', -5, -6/ 8915 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', -5, -8/ 8916 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', -3, -9/ 8917 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -2, -9/ 8918 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', 0, -8/ 8919 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', 2, -6/ 8920 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', 3, -3/ 8921 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', 3, 0/ 8922 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', 4, -4/ 8923 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', 5, -5/ 8924 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', 6, -5/ 8925 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', 8, -4/ 8926 DATA IOPERA( 46),IX( 46),IY( 46)/'MOVE', 2, 12/ 8927 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -4, -6/ 8928 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -4, -8/ 8929 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -3, -9/ 8930C 8931 DATA IXMIND( 2)/ -6/ 8932 DATA IXMAXD( 2)/ 8/ 8933 DATA IXDELD( 2)/ 14/ 8934 DATA ISTARD( 2)/ 30/ 8935 DATA NUMCOO( 2)/ 20/ 8936C 8937C DEFINE CHARACTER 2653--LOWER CASE C 8938C 8939 DATA IOPERA( 50),IX( 50),IY( 50)/'MOVE', 2, -1/ 8940 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', 1, -2/ 8941 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', 2, -2/ 8942 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', 2, -1/ 8943 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', 1, 0/ 8944 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', -1, 0/ 8945 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', -3, -1/ 8946 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -4, -2/ 8947 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -5, -4/ 8948 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -5, -6/ 8949 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -4, -8/ 8950 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -2, -9/ 8951 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', 1, -9/ 8952 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', 4, -7/ 8953 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', 6, -4/ 8954 DATA IOPERA( 65),IX( 65),IY( 65)/'MOVE', -1, 0/ 8955 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -3, -2/ 8956 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', -4, -4/ 8957 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', -4, -7/ 8958 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -2, -9/ 8959C 8960 DATA IXMIND( 3)/ -6/ 8961 DATA IXMAXD( 3)/ 6/ 8962 DATA IXDELD( 3)/ 12/ 8963 DATA ISTARD( 3)/ 50/ 8964 DATA NUMCOO( 3)/ 20/ 8965C 8966C DEFINE CHARACTER 2654--LOWER CASE D 8967C 8968 DATA IOPERA( 70),IX( 70),IY( 70)/'MOVE', 3, -3/ 8969 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 2, -1/ 8970 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', 0, 0/ 8971 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -2, 0/ 8972 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -4, -1/ 8973 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -5, -2/ 8974 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -6, -4/ 8975 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', -6, -6/ 8976 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -5, -8/ 8977 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -3, -9/ 8978 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', -1, -9/ 8979 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 1, -8/ 8980 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 2, -6/ 8981 DATA IOPERA( 83),IX( 83),IY( 83)/'MOVE', -2, 0/ 8982 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', -4, -2/ 8983 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', -5, -4/ 8984 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', -5, -7/ 8985 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', -3, -9/ 8986 DATA IOPERA( 88),IX( 88),IY( 88)/'MOVE', 8, 12/ 8987 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', 2, -6/ 8988 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', 2, -8/ 8989 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', 4, -9/ 8990 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', 6, -8/ 8991 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 7, -7/ 8992 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', 9, -4/ 8993 DATA IOPERA( 95),IX( 95),IY( 95)/'MOVE', 9, 12/ 8994 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 3, -6/ 8995 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 3, -8/ 8996 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 4, -9/ 8997C 8998 DATA IXMIND( 4)/ -7/ 8999 DATA IXMAXD( 4)/ 9/ 9000 DATA IXDELD( 4)/ 16/ 9001 DATA ISTARD( 4)/ 70/ 9002 DATA NUMCOO( 4)/ 29/ 9003C 9004C DEFINE CHARACTER 2655--LOWER CASE E 9005C 9006 DATA IOPERA( 99),IX( 99),IY( 99)/'MOVE', -3, -7/ 9007 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', -1, -6/ 9008 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', 0, -5/ 9009 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 1, -3/ 9010 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 1, -1/ 9011 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', 0, 0/ 9012 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', -1, 0/ 9013 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', -3, -1/ 9014 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', -4, -2/ 9015 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', -5, -4/ 9016 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', -5, -6/ 9017 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', -4, -8/ 9018 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', -2, -9/ 9019 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 1, -9/ 9020 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 4, -7/ 9021 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 6, -4/ 9022 DATA IOPERA( 115),IX( 115),IY( 115)/'MOVE', -1, 0/ 9023 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', -3, -2/ 9024 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', -4, -4/ 9025 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', -4, -7/ 9026 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', -2, -9/ 9027C 9028 DATA IXMIND( 5)/ -6/ 9029 DATA IXMAXD( 5)/ 6/ 9030 DATA IXDELD( 5)/ 12/ 9031 DATA ISTARD( 5)/ 99/ 9032 DATA NUMCOO( 5)/ 21/ 9033C 9034C DEFINE CHARACTER 2656--LOWER CASE F 9035C 9036 DATA IOPERA( 120),IX( 120),IY( 120)/'MOVE', 0, 0/ 9037 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', 3, 3/ 9038 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', 5, 6/ 9039 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', 6, 9/ 9040 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', 6, 11/ 9041 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', 5, 12/ 9042 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', 3, 11/ 9043 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', 2, 9/ 9044 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', -7, -18/ 9045 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', -7, -20/ 9046 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', -6, -21/ 9047 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', -4, -20/ 9048 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', -3, -17/ 9049 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', -2, -8/ 9050 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', -1, -9/ 9051 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', 1, -9/ 9052 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', 3, -8/ 9053 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', 4, -7/ 9054 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', 6, -4/ 9055 DATA IOPERA( 139),IX( 139),IY( 139)/'MOVE', 2, 9/ 9056 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', 1, 4/ 9057 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', 0, 0/ 9058 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -3, -9/ 9059 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -5, -14/ 9060 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', -7, -18/ 9061C 9062 DATA IXMIND( 6)/ -3/ 9063 DATA IXMAXD( 6)/ 6/ 9064 DATA IXDELD( 6)/ 9/ 9065 DATA ISTARD( 6)/ 120/ 9066 DATA NUMCOO( 6)/ 25/ 9067C 9068C DEFINE CHARACTER 2657--LOWER CASE G 9069C 9070 DATA IOPERA( 145),IX( 145),IY( 145)/'MOVE', 3, -3/ 9071 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', 2, -1/ 9072 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 0, 0/ 9073 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', -2, 0/ 9074 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', -4, -1/ 9075 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', -5, -2/ 9076 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', -6, -4/ 9077 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -6, -6/ 9078 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', -5, -8/ 9079 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', -3, -9/ 9080 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -1, -9/ 9081 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', 1, -8/ 9082 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', 2, -6/ 9083 DATA IOPERA( 158),IX( 158),IY( 158)/'MOVE', -2, 0/ 9084 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -4, -2/ 9085 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -5, -4/ 9086 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -5, -7/ 9087 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -3, -9/ 9088 DATA IOPERA( 163),IX( 163),IY( 163)/'MOVE', 4, 0/ 9089 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -2, -18/ 9090 DATA IOPERA( 165),IX( 165),IY( 165)/'MOVE', 5, 0/ 9091 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', 2, -9/ 9092 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', 0, -14/ 9093 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', -2, -18/ 9094 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', -3, -20/ 9095 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', -5, -21/ 9096 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', -6, -20/ 9097 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -6, -18/ 9098 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -5, -15/ 9099 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -3, -13/ 9100 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', 0, -11/ 9101 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', 4, -9/ 9102 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', 7, -7/ 9103 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', 9, -4/ 9104C 9105 DATA IXMIND( 7)/ -7/ 9106 DATA IXMAXD( 7)/ 9/ 9107 DATA IXDELD( 7)/ 16/ 9108 DATA ISTARD( 7)/ 145/ 9109 DATA NUMCOO( 7)/ 34/ 9110C 9111C DEFINE CHARACTER 2658--LOWER CASE H 9112C 9113 DATA IOPERA( 179),IX( 179),IY( 179)/'MOVE', -6, -4/ 9114 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', -4, -1/ 9115 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', -2, 3/ 9116 DATA IOPERA( 182),IX( 182),IY( 182)/'MOVE', 1, 12/ 9117 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', -6, -9/ 9118 DATA IOPERA( 184),IX( 184),IY( 184)/'MOVE', 2, 12/ 9119 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -5, -9/ 9120 DATA IOPERA( 186),IX( 186),IY( 186)/'MOVE', -3, -3/ 9121 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', -1, -1/ 9122 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', 1, 0/ 9123 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', 2, 0/ 9124 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', 4, -1/ 9125 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', 4, -3/ 9126 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', 3, -6/ 9127 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 3, -8/ 9128 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 4, -9/ 9129 DATA IOPERA( 195),IX( 195),IY( 195)/'MOVE', 2, 0/ 9130 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', 3, -1/ 9131 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 3, -3/ 9132 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', 2, -6/ 9133 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', 2, -8/ 9134 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', 4, -9/ 9135 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', 6, -8/ 9136 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', 7, -7/ 9137 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', 9, -4/ 9138C 9139 DATA IXMIND( 8)/ -6/ 9140 DATA IXMAXD( 8)/ 9/ 9141 DATA IXDELD( 8)/ 15/ 9142 DATA ISTARD( 8)/ 179/ 9143 DATA NUMCOO( 8)/ 25/ 9144C 9145C DEFINE CHARACTER 2659--LOWER CASE I 9146C 9147 DATA IOPERA( 204),IX( 204),IY( 204)/'MOVE', 1, 6/ 9148 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', 0, 5/ 9149 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', 1, 4/ 9150 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', 2, 5/ 9151 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', 1, 6/ 9152 DATA IOPERA( 209),IX( 209),IY( 209)/'MOVE', -1, 0/ 9153 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -3, -6/ 9154 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -3, -8/ 9155 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', -1, -9/ 9156 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 1, -8/ 9157 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 2, -7/ 9158 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', 4, -4/ 9159 DATA IOPERA( 216),IX( 216),IY( 216)/'MOVE', 0, 0/ 9160 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', -2, -6/ 9161 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -2, -8/ 9162 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -1, -9/ 9163C 9164 DATA IXMIND( 9)/ -4/ 9165 DATA IXMAXD( 9)/ 4/ 9166 DATA IXDELD( 9)/ 8/ 9167 DATA ISTARD( 9)/ 204/ 9168 DATA NUMCOO( 9)/ 16/ 9169C 9170C DEFINE CHARACTER 2660--LOWER CASE J 9171C 9172 DATA IOPERA( 220),IX( 220),IY( 220)/'MOVE', 1, 6/ 9173 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', 0, 5/ 9174 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', 1, 4/ 9175 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', 2, 5/ 9176 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', 1, 6/ 9177 DATA IOPERA( 225),IX( 225),IY( 225)/'MOVE', -1, 0/ 9178 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', -7, -18/ 9179 DATA IOPERA( 227),IX( 227),IY( 227)/'MOVE', 0, 0/ 9180 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', -3, -9/ 9181 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', -5, -14/ 9182 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', -7, -18/ 9183 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', -8, -20/ 9184 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', -10, -21/ 9185 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', -11, -20/ 9186 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', -11, -18/ 9187 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', -10, -15/ 9188 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', -8, -13/ 9189 DATA IOPERA( 237),IX( 237),IY( 237)/'DRAW', -5, -11/ 9190 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', -1, -9/ 9191 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', 2, -7/ 9192 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', 4, -4/ 9193C 9194 DATA IXMIND( 10)/ -4/ 9195 DATA IXMAXD( 10)/ 4/ 9196 DATA IXDELD( 10)/ 8/ 9197 DATA ISTARD( 10)/ 220/ 9198 DATA NUMCOO( 10)/ 21/ 9199C 9200C DEFINE CHARACTER 2661--LOWER CASE K 9201C 9202 DATA IOPERA( 241),IX( 241),IY( 241)/'MOVE', -6, -4/ 9203 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -4, -1/ 9204 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', -2, 3/ 9205 DATA IOPERA( 244),IX( 244),IY( 244)/'MOVE', 1, 12/ 9206 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', -6, -9/ 9207 DATA IOPERA( 246),IX( 246),IY( 246)/'MOVE', 2, 12/ 9208 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -5, -9/ 9209 DATA IOPERA( 248),IX( 248),IY( 248)/'MOVE', 3, 0/ 9210 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', 3, -1/ 9211 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', 4, -1/ 9212 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', 3, 0/ 9213 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', 2, 0/ 9214 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', 0, -2/ 9215 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', -3, -3/ 9216 DATA IOPERA( 255),IX( 255),IY( 255)/'MOVE', -3, -3/ 9217 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', 0, -4/ 9218 DATA IOPERA( 257),IX( 257),IY( 257)/'DRAW', 1, -8/ 9219 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 2, -9/ 9220 DATA IOPERA( 259),IX( 259),IY( 259)/'MOVE', -3, -3/ 9221 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -1, -4/ 9222 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', 0, -8/ 9223 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', 2, -9/ 9224 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', 3, -9/ 9225 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', 6, -7/ 9226 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', 8, -4/ 9227C 9228 DATA IXMIND( 11)/ -6/ 9229 DATA IXMAXD( 11)/ 8/ 9230 DATA IXDELD( 11)/ 14/ 9231 DATA ISTARD( 11)/ 241/ 9232 DATA NUMCOO( 11)/ 25/ 9233C 9234C DEFINE CHARACTER 2662--LOWER CASE L 9235C 9236 DATA IOPERA( 266),IX( 266),IY( 266)/'MOVE', -4, -4/ 9237 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', -2, -1/ 9238 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', 0, 3/ 9239 DATA IOPERA( 269),IX( 269),IY( 269)/'MOVE', 3, 12/ 9240 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', -3, -6/ 9241 DATA IOPERA( 271),IX( 271),IY( 271)/'DRAW', -3, -8/ 9242 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', -1, -9/ 9243 DATA IOPERA( 273),IX( 273),IY( 273)/'DRAW', 1, -8/ 9244 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', 2, -7/ 9245 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', 4, -4/ 9246 DATA IOPERA( 276),IX( 276),IY( 276)/'MOVE', 4, 12/ 9247 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', -2, -6/ 9248 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -2, -8/ 9249 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', -1, -9/ 9250C 9251 DATA IXMIND( 12)/ -4/ 9252 DATA IXMAXD( 12)/ 4/ 9253 DATA IXDELD( 12)/ 8/ 9254 DATA ISTARD( 12)/ 266/ 9255 DATA NUMCOO( 12)/ 14/ 9256C 9257C-----START POINT----------------------------------------------------- 9258C 9259 IFOUND='YES' 9260 IERROR='NO' 9261C 9262 NUMCO=1 9263 ISTART=1 9264 ISTOP=1 9265 NC=1 9266C 9267C ****************************************** 9268C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 9269C ** HERSHEY CHARACTER SET CASE ** 9270C ****************************************** 9271C 9272C 9273 IF(IBUGD2.EQ.'OFF')GOTO90 9274 WRITE(ICOUT,999) 9275 999 FORMAT(1X) 9276 CALL DPWRST('XXX','BUG ') 9277 WRITE(ICOUT,51) 9278 51 FORMAT('***** AT THE BEGINNING OF DRCSL1--') 9279 CALL DPWRST('XXX','BUG ') 9280 WRITE(ICOUT,52)ICHARN 9281 52 FORMAT('ICHARN = ',I8) 9282 CALL DPWRST('XXX','BUG ') 9283 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 9284 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 9285 CALL DPWRST('XXX','BUG ') 9286 90 CONTINUE 9287C 9288C ************************************** 9289C ** STEP 2-- ** 9290C ** EXTRACT THE COORDINATES ** 9291C ** FOR THIS PARTICULAR CHARACTER. ** 9292C ************************************** 9293C 9294 ISTART=ISTARD(ICHARN) 9295 NC=NUMCOO(ICHARN) 9296 ISTOP=ISTART+NC-1 9297 J=0 9298 DO1100I=ISTART,ISTOP 9299 J=J+1 9300 IOP(J)=IOPERA(I) 9301 X(J)=IX(I) 9302 Y(J)=IY(I) 9303 1100 CONTINUE 9304 NUMCO=J 9305 IXMINS=IXMIND(ICHARN) 9306 IXMAXS=IXMAXD(ICHARN) 9307 IXDELS=IXDELD(ICHARN) 9308C 9309 GOTO9000 9310C 9311C ***************** 9312C ** STEP 90-- ** 9313C ** EXIT ** 9314C ***************** 9315C 9316 9000 CONTINUE 9317 IF(IBUGD2.EQ.'OFF')GOTO9090 9318 WRITE(ICOUT,999) 9319 CALL DPWRST('XXX','BUG ') 9320 WRITE(ICOUT,9011) 9321 9011 FORMAT('***** AT THE END OF DRCSL1--') 9322 CALL DPWRST('XXX','BUG ') 9323 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 9324 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 9325 CALL DPWRST('XXX','BUG ') 9326 WRITE(ICOUT,9013)ICHARN 9327 9013 FORMAT('ICHARN = ',I8) 9328 CALL DPWRST('XXX','BUG ') 9329 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 9330 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 9331 CALL DPWRST('XXX','BUG ') 9332 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 9333 DO9015I=1,NUMCO 9334 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 9335 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 9336 CALL DPWRST('XXX','BUG ') 9337 9015 CONTINUE 9338 9019 CONTINUE 9339 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 9340 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 9341 CALL DPWRST('XXX','BUG ') 9342 9090 CONTINUE 9343C 9344 RETURN 9345 END 9346 SUBROUTINE DRCSL2(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 9347 1IBUGD2,IFOUND,IERROR) 9348C 9349C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 9350C FOR ROMAN COMPLEX SCRIPT LOWER CASE (PART 2). 9351C WRITTEN BY--JAMES J. FILLIBEN 9352C STATISTICAL ENGINEERING DIVISION 9353C CENTER FOR APPLIED MATHEMATICS 9354C NATIONAL BUREAU OF STANDARDS 9355C WASHINGTON, D. C. 20234 9356C PHONE--301-921-3651 9357C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 9358C OF THE NATIONAL BUREAU OF STANDARDS. 9359C LANGUAGE--ANSI FORTRAN (1977) 9360C VERSION NUMBER--87/4 9361C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 9362C UPDATED --MAY 1982. 9363C UPDATED --MARCH 1987. 9364C 9365C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 9366C 9367 CHARACTER*4 IOP 9368 CHARACTER*4 IBUGD2 9369 CHARACTER*4 IFOUND 9370 CHARACTER*4 IERROR 9371C 9372 CHARACTER*4 IOPERA 9373C 9374C--------------------------------------------------------------------- 9375C 9376 DIMENSION IOP(*) 9377 DIMENSION X(*) 9378 DIMENSION Y(*) 9379C 9380 DIMENSION IOPERA(300) 9381 DIMENSION IX(300) 9382 DIMENSION IY(300) 9383C 9384 DIMENSION IXMIND(30) 9385 DIMENSION IXMAXD(30) 9386 DIMENSION IXDELD(30) 9387 DIMENSION ISTARD(30) 9388 DIMENSION NUMCOO(30) 9389C 9390C-----COMMON---------------------------------------------------------- 9391C 9392 INCLUDE 'DPCOP2.INC' 9393C 9394C-----DATA STATEMENTS------------------------------------------------- 9395C 9396C DEFINE CHARACTER 2663--LOWER CASE M 9397C 9398 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -13, -4/ 9399 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -11, -1/ 9400 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -9, 0/ 9401 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -7, -1/ 9402 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -7, -3/ 9403 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -9, -9/ 9404 DATA IOPERA( 7),IX( 7),IY( 7)/'MOVE', -9, 0/ 9405 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -8, -1/ 9406 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -8, -3/ 9407 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -10, -9/ 9408 DATA IOPERA( 11),IX( 11),IY( 11)/'MOVE', -7, -3/ 9409 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -5, -1/ 9410 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -3, 0/ 9411 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -2, 0/ 9412 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 0, -1/ 9413 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 0, -3/ 9414 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -2, -9/ 9415 DATA IOPERA( 18),IX( 18),IY( 18)/'MOVE', -2, 0/ 9416 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', -1, -1/ 9417 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', -1, -3/ 9418 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', -3, -9/ 9419 DATA IOPERA( 22),IX( 22),IY( 22)/'MOVE', 0, -3/ 9420 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 2, -1/ 9421 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 4, 0/ 9422 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', 5, 0/ 9423 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 7, -1/ 9424 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 7, -3/ 9425 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 6, -6/ 9426 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', 6, -8/ 9427 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', 7, -9/ 9428 DATA IOPERA( 31),IX( 31),IY( 31)/'MOVE', 5, 0/ 9429 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 6, -1/ 9430 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 6, -3/ 9431 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 5, -6/ 9432 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 5, -8/ 9433 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', 7, -9/ 9434 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', 9, -8/ 9435 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', 10, -7/ 9436 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', 12, -4/ 9437C 9438 DATA IXMIND( 13)/ -13/ 9439 DATA IXMAXD( 13)/ 12/ 9440 DATA IXDELD( 13)/ 25/ 9441 DATA ISTARD( 13)/ 1/ 9442 DATA NUMCOO( 13)/ 39/ 9443C 9444C DEFINE CHARACTER 2664--LOWER CASE N 9445C 9446 DATA IOPERA( 40),IX( 40),IY( 40)/'MOVE', -9, -4/ 9447 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -7, -1/ 9448 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -5, 0/ 9449 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -3, -1/ 9450 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', -3, -3/ 9451 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', -5, -9/ 9452 DATA IOPERA( 46),IX( 46),IY( 46)/'MOVE', -5, 0/ 9453 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -4, -1/ 9454 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -4, -3/ 9455 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -6, -9/ 9456 DATA IOPERA( 50),IX( 50),IY( 50)/'MOVE', -3, -3/ 9457 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -1, -1/ 9458 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', 1, 0/ 9459 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', 2, 0/ 9460 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', 4, -1/ 9461 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 4, -3/ 9462 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', 3, -6/ 9463 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', 3, -8/ 9464 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', 4, -9/ 9465 DATA IOPERA( 59),IX( 59),IY( 59)/'MOVE', 2, 0/ 9466 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', 3, -1/ 9467 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', 3, -3/ 9468 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', 2, -6/ 9469 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', 2, -8/ 9470 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', 4, -9/ 9471 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', 6, -8/ 9472 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', 7, -7/ 9473 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', 9, -4/ 9474C 9475 DATA IXMIND( 14)/ -9/ 9476 DATA IXMAXD( 14)/ 9/ 9477 DATA IXDELD( 14)/ 18/ 9478 DATA ISTARD( 14)/ 40/ 9479 DATA NUMCOO( 14)/ 28/ 9480C 9481C DEFINE CHARACTER 2665--LOWER CASE O 9482C 9483 DATA IOPERA( 68),IX( 68),IY( 68)/'MOVE', 0, 0/ 9484 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -2, 0/ 9485 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', -4, -1/ 9486 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -5, -2/ 9487 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -6, -4/ 9488 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -6, -6/ 9489 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -5, -8/ 9490 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -3, -9/ 9491 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -1, -9/ 9492 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', 1, -8/ 9493 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', 2, -7/ 9494 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', 3, -5/ 9495 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', 3, -3/ 9496 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 2, -1/ 9497 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 0, 0/ 9498 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', -1, -1/ 9499 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', -1, -3/ 9500 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 0, -5/ 9501 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 2, -6/ 9502 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', 4, -6/ 9503 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', 6, -5/ 9504 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', 7, -4/ 9505 DATA IOPERA( 90),IX( 90),IY( 90)/'MOVE', -2, 0/ 9506 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', -4, -2/ 9507 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', -5, -4/ 9508 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', -5, -7/ 9509 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -3, -9/ 9510C 9511 DATA IXMIND( 15)/ -7/ 9512 DATA IXMAXD( 15)/ 7/ 9513 DATA IXDELD( 15)/ 14/ 9514 DATA ISTARD( 15)/ 68/ 9515 DATA NUMCOO( 15)/ 27/ 9516C 9517C DEFINE CHARACTER 2666--LOWER CASE P 9518C 9519 DATA IOPERA( 95),IX( 95),IY( 95)/'MOVE', -6, -4/ 9520 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', -4, -1/ 9521 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', -2, 3/ 9522 DATA IOPERA( 98),IX( 98),IY( 98)/'MOVE', -1, 6/ 9523 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', -10, -21/ 9524 DATA IOPERA( 100),IX( 100),IY( 100)/'MOVE', 0, 6/ 9525 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', -9, -21/ 9526 DATA IOPERA( 102),IX( 102),IY( 102)/'MOVE', -3, -3/ 9527 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', -1, -1/ 9528 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', 1, 0/ 9529 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', 2, 0/ 9530 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 4, -1/ 9531 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', 4, -3/ 9532 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', 3, -6/ 9533 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 3, -8/ 9534 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', 4, -9/ 9535 DATA IOPERA( 111),IX( 111),IY( 111)/'MOVE', 2, 0/ 9536 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 3, -1/ 9537 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 3, -3/ 9538 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 2, -6/ 9539 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', 2, -8/ 9540 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', 4, -9/ 9541 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 6, -8/ 9542 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', 7, -7/ 9543 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', 9, -4/ 9544C 9545 DATA IXMIND( 16)/ -6/ 9546 DATA IXMAXD( 16)/ 9/ 9547 DATA IXDELD( 16)/ 15/ 9548 DATA ISTARD( 16)/ 95/ 9549 DATA NUMCOO( 16)/ 25/ 9550C 9551C DEFINE CHARACTER 2667--LOWER CASE Q 9552C 9553 DATA IOPERA( 120),IX( 120),IY( 120)/'MOVE', 3, -3/ 9554 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', 2, -1/ 9555 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', 0, 0/ 9556 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -2, 0/ 9557 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', -4, -1/ 9558 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', -5, -2/ 9559 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', -6, -4/ 9560 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', -6, -6/ 9561 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', -5, -8/ 9562 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', -3, -9/ 9563 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', -1, -9/ 9564 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 1, -8/ 9565 DATA IOPERA( 132),IX( 132),IY( 132)/'MOVE', -2, 0/ 9566 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', -4, -2/ 9567 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', -5, -4/ 9568 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -5, -7/ 9569 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', -3, -9/ 9570 DATA IOPERA( 137),IX( 137),IY( 137)/'MOVE', 4, 0/ 9571 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', -2, -18/ 9572 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', -2, -20/ 9573 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', -1, -21/ 9574 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', 1, -20/ 9575 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', 2, -17/ 9576 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', 2, -9/ 9577 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', 4, -9/ 9578 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', 7, -7/ 9579 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', 9, -4/ 9580 DATA IOPERA( 147),IX( 147),IY( 147)/'MOVE', 5, 0/ 9581 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', 2, -9/ 9582 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', 0, -14/ 9583 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', -2, -18/ 9584C 9585 DATA IXMIND( 17)/ -7/ 9586 DATA IXMAXD( 17)/ 9/ 9587 DATA IXDELD( 17)/ 16/ 9588 DATA ISTARD( 17)/ 120/ 9589 DATA NUMCOO( 17)/ 31/ 9590C 9591C DEFINE CHARACTER 2668--LOWER CASE R 9592C 9593 DATA IOPERA( 151),IX( 151),IY( 151)/'MOVE', -6, -4/ 9594 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -4, -1/ 9595 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', -2, 0/ 9596 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 0, -1/ 9597 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', 0, -3/ 9598 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -2, -9/ 9599 DATA IOPERA( 157),IX( 157),IY( 157)/'MOVE', -2, 0/ 9600 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', -1, -1/ 9601 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -1, -3/ 9602 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -3, -9/ 9603 DATA IOPERA( 161),IX( 161),IY( 161)/'MOVE', 0, -3/ 9604 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', 2, -1/ 9605 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', 4, 0/ 9606 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', 5, 0/ 9607 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', 4, -3/ 9608 DATA IOPERA( 166),IX( 166),IY( 166)/'MOVE', 4, 0/ 9609 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', 4, -3/ 9610 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', 5, -5/ 9611 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 6, -5/ 9612 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', 8, -4/ 9613C 9614 DATA IXMIND( 18)/ -6/ 9615 DATA IXMAXD( 18)/ 8/ 9616 DATA IXDELD( 18)/ 14/ 9617 DATA ISTARD( 18)/ 151/ 9618 DATA NUMCOO( 18)/ 20/ 9619C 9620C DEFINE CHARACTER 2669--LOWER CASE S 9621C 9622 DATA IOPERA( 171),IX( 171),IY( 171)/'MOVE', -4, -4/ 9623 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -2, -1/ 9624 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -1, 1/ 9625 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -1, -1/ 9626 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', 2, -3/ 9627 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', 3, -5/ 9628 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', 3, -7/ 9629 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', 2, -8/ 9630 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', 0, -9/ 9631 DATA IOPERA( 180),IX( 180),IY( 180)/'MOVE', -1, -1/ 9632 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', 1, -3/ 9633 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', 2, -5/ 9634 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', 2, -7/ 9635 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', 0, -9/ 9636 DATA IOPERA( 185),IX( 185),IY( 185)/'MOVE', -4, -8/ 9637 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', -2, -9/ 9638 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', 3, -9/ 9639 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', 6, -7/ 9640 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', 8, -4/ 9641C 9642 DATA IXMIND( 19)/ -4/ 9643 DATA IXMAXD( 19)/ 8/ 9644 DATA IXDELD( 19)/ 12/ 9645 DATA ISTARD( 19)/ 171/ 9646 DATA NUMCOO( 19)/ 19/ 9647C 9648C DEFINE CHARACTER 2670--LOWER CASE T 9649C 9650 DATA IOPERA( 190),IX( 190),IY( 190)/'MOVE', -4, -4/ 9651 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -2, -1/ 9652 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', 0, 3/ 9653 DATA IOPERA( 193),IX( 193),IY( 193)/'MOVE', 3, 12/ 9654 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', -3, -6/ 9655 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', -3, -8/ 9656 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', -1, -9/ 9657 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 1, -8/ 9658 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', 2, -7/ 9659 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', 4, -4/ 9660 DATA IOPERA( 200),IX( 200),IY( 200)/'MOVE', 4, 12/ 9661 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', -2, -6/ 9662 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', -2, -8/ 9663 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -1, -9/ 9664 DATA IOPERA( 204),IX( 204),IY( 204)/'MOVE', -2, 4/ 9665 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', 4, 4/ 9666C 9667 DATA IXMIND( 20)/ -4/ 9668 DATA IXMAXD( 20)/ 4/ 9669 DATA IXDELD( 20)/ 8/ 9670 DATA ISTARD( 20)/ 190/ 9671 DATA NUMCOO( 20)/ 16/ 9672C 9673C DEFINE CHARACTER 2671--LOWER CASE U 9674C 9675 DATA IOPERA( 206),IX( 206),IY( 206)/'MOVE', -4, 0/ 9676 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -6, -6/ 9677 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', -6, -8/ 9678 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', -4, -9/ 9679 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -3, -9/ 9680 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -1, -8/ 9681 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', 1, -6/ 9682 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 3, -3/ 9683 DATA IOPERA( 214),IX( 214),IY( 214)/'MOVE', -3, 0/ 9684 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', -5, -6/ 9685 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', -5, -8/ 9686 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', -4, -9/ 9687 DATA IOPERA( 218),IX( 218),IY( 218)/'MOVE', 4, 0/ 9688 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', 2, -6/ 9689 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', 2, -8/ 9690 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', 4, -9/ 9691 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', 6, -8/ 9692 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', 7, -7/ 9693 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', 9, -4/ 9694 DATA IOPERA( 225),IX( 225),IY( 225)/'MOVE', 5, 0/ 9695 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', 3, -6/ 9696 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', 3, -8/ 9697 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', 4, -9/ 9698C 9699 DATA IXMIND( 21)/ -7/ 9700 DATA IXMAXD( 21)/ 9/ 9701 DATA IXDELD( 21)/ 16/ 9702 DATA ISTARD( 21)/ 206/ 9703 DATA NUMCOO( 21)/ 23/ 9704C 9705C DEFINE CHARACTER 2672--LOWER CASE V 9706C 9707 DATA IOPERA( 229),IX( 229),IY( 229)/'MOVE', -4, 0/ 9708 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', -5, -2/ 9709 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', -6, -5/ 9710 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', -6, -8/ 9711 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', -4, -9/ 9712 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', -3, -9/ 9713 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', 0, -8/ 9714 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', 2, -6/ 9715 DATA IOPERA( 237),IX( 237),IY( 237)/'DRAW', 3, -3/ 9716 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', 3, 0/ 9717 DATA IOPERA( 239),IX( 239),IY( 239)/'MOVE', -3, 0/ 9718 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', -4, -2/ 9719 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', -5, -5/ 9720 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -5, -8/ 9721 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', -4, -9/ 9722 DATA IOPERA( 244),IX( 244),IY( 244)/'MOVE', 3, 0/ 9723 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', 4, -4/ 9724 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', 5, -5/ 9725 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', 6, -5/ 9726 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', 8, -4/ 9727C 9728 DATA IXMIND( 22)/ -7/ 9729 DATA IXMAXD( 22)/ 8/ 9730 DATA IXDELD( 22)/ 15/ 9731 DATA ISTARD( 22)/ 229/ 9732 DATA NUMCOO( 22)/ 20/ 9733C 9734C DEFINE CHARACTER 2673--LOWER CASE W 9735C 9736 DATA IOPERA( 249),IX( 249),IY( 249)/'MOVE', -6, 0/ 9737 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', -8, -2/ 9738 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', -9, -5/ 9739 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', -9, -8/ 9740 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', -7, -9/ 9741 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', -6, -9/ 9742 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', -4, -8/ 9743 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', -2, -6/ 9744 DATA IOPERA( 257),IX( 257),IY( 257)/'MOVE', -5, 0/ 9745 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', -7, -2/ 9746 DATA IOPERA( 259),IX( 259),IY( 259)/'DRAW', -8, -5/ 9747 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -8, -8/ 9748 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', -7, -9/ 9749 DATA IOPERA( 262),IX( 262),IY( 262)/'MOVE', 0, 0/ 9750 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', -2, -6/ 9751 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', -2, -8/ 9752 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', 0, -9/ 9753 DATA IOPERA( 266),IX( 266),IY( 266)/'DRAW', 1, -9/ 9754 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', 3, -8/ 9755 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', 5, -6/ 9756 DATA IOPERA( 269),IX( 269),IY( 269)/'DRAW', 6, -3/ 9757 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', 6, 0/ 9758 DATA IOPERA( 271),IX( 271),IY( 271)/'MOVE', 1, 0/ 9759 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', -1, -6/ 9760 DATA IOPERA( 273),IX( 273),IY( 273)/'DRAW', -1, -8/ 9761 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', 0, -9/ 9762 DATA IOPERA( 275),IX( 275),IY( 275)/'MOVE', 6, 0/ 9763 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', 7, -4/ 9764 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', 8, -5/ 9765 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', 9, -5/ 9766 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', 11, -4/ 9767C 9768 DATA IXMIND( 23)/ -10/ 9769 DATA IXMAXD( 23)/ 11/ 9770 DATA IXDELD( 23)/ 21/ 9771 DATA ISTARD( 23)/ 249/ 9772 DATA NUMCOO( 23)/ 31/ 9773C 9774C-----START POINT----------------------------------------------------- 9775C 9776 IFOUND='YES' 9777 IERROR='NO' 9778C 9779 NUMCO=1 9780 ISTART=1 9781 ISTOP=1 9782 NC=1 9783C 9784C ****************************************** 9785C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 9786C ** HERSHEY CHARACTER SET CASE ** 9787C ****************************************** 9788C 9789C 9790 IF(IBUGD2.EQ.'OFF')GOTO90 9791 WRITE(ICOUT,999) 9792 999 FORMAT(1X) 9793 CALL DPWRST('XXX','BUG ') 9794 WRITE(ICOUT,51) 9795 51 FORMAT('***** AT THE BEGINNING OF DRCSL2--') 9796 CALL DPWRST('XXX','BUG ') 9797 WRITE(ICOUT,52)ICHARN 9798 52 FORMAT('ICHARN = ',I8) 9799 CALL DPWRST('XXX','BUG ') 9800 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 9801 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 9802 CALL DPWRST('XXX','BUG ') 9803 90 CONTINUE 9804C 9805C ************************************** 9806C ** STEP 2-- ** 9807C ** EXTRACT THE COORDINATES ** 9808C ** FOR THIS PARTICULAR CHARACTER. ** 9809C ************************************** 9810C 9811 ISTART=ISTARD(ICHARN) 9812 NC=NUMCOO(ICHARN) 9813 ISTOP=ISTART+NC-1 9814 J=0 9815 DO1100I=ISTART,ISTOP 9816 J=J+1 9817 IOP(J)=IOPERA(I) 9818 X(J)=IX(I) 9819 Y(J)=IY(I) 9820 1100 CONTINUE 9821 NUMCO=J 9822 IXMINS=IXMIND(ICHARN) 9823 IXMAXS=IXMAXD(ICHARN) 9824 IXDELS=IXDELD(ICHARN) 9825C 9826 GOTO9000 9827C 9828C ***************** 9829C ** STEP 90-- ** 9830C ** EXIT ** 9831C ***************** 9832C 9833 9000 CONTINUE 9834 IF(IBUGD2.EQ.'OFF')GOTO9090 9835 WRITE(ICOUT,999) 9836 CALL DPWRST('XXX','BUG ') 9837 WRITE(ICOUT,9011) 9838 9011 FORMAT('***** AT THE END OF DRCSL2--') 9839 CALL DPWRST('XXX','BUG ') 9840 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 9841 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 9842 CALL DPWRST('XXX','BUG ') 9843 WRITE(ICOUT,9013)ICHARN 9844 9013 FORMAT('ICHARN = ',I8) 9845 CALL DPWRST('XXX','BUG ') 9846 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 9847 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 9848 CALL DPWRST('XXX','BUG ') 9849 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 9850 DO9015I=1,NUMCO 9851 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 9852 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 9853 CALL DPWRST('XXX','BUG ') 9854 9015 CONTINUE 9855 9019 CONTINUE 9856 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 9857 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 9858 CALL DPWRST('XXX','BUG ') 9859 9090 CONTINUE 9860C 9861 RETURN 9862 END 9863 SUBROUTINE DRCSL3(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 9864 1IBUGD2,IFOUND,IERROR) 9865C 9866C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 9867C FOR ROMAN COMPLEX SCRIPT LOWER CASE (PART 3). 9868C WRITTEN BY--JAMES J. FILLIBEN 9869C STATISTICAL ENGINEERING DIVISION 9870C CENTER FOR APPLIED MATHEMATICS 9871C NATIONAL BUREAU OF STANDARDS 9872C WASHINGTON, D. C. 20234 9873C PHONE--301-921-3651 9874C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 9875C OF THE NATIONAL BUREAU OF STANDARDS. 9876C LANGUAGE--ANSI FORTRAN (1977) 9877C VERSION NUMBER--87/4 9878C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 9879C UPDATED --MAY 1982. 9880C UPDATED --MARCH 1987. 9881C 9882C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 9883C 9884 CHARACTER*4 IOP 9885 CHARACTER*4 IBUGD2 9886 CHARACTER*4 IFOUND 9887 CHARACTER*4 IERROR 9888C 9889 CHARACTER*4 IOPERA 9890C 9891C--------------------------------------------------------------------- 9892C 9893 DIMENSION IOP(*) 9894 DIMENSION X(*) 9895 DIMENSION Y(*) 9896C 9897 DIMENSION IOPERA(300) 9898 DIMENSION IX(300) 9899 DIMENSION IY(300) 9900C 9901 DIMENSION IXMIND(30) 9902 DIMENSION IXMAXD(30) 9903 DIMENSION IXDELD(30) 9904 DIMENSION ISTARD(30) 9905 DIMENSION NUMCOO(30) 9906C 9907C-----COMMON---------------------------------------------------------- 9908C 9909 INCLUDE 'DPCOP2.INC' 9910C 9911C-----DATA STATEMENTS------------------------------------------------- 9912C 9913C DEFINE CHARACTER 2674--LOWER CASE X 9914C 9915 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -8, -4/ 9916 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -6, -1/ 9917 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -4, 0/ 9918 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -2, 0/ 9919 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -1, -1/ 9920 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -1, -3/ 9921 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -2, -6/ 9922 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -3, -8/ 9923 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -5, -9/ 9924 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -6, -9/ 9925 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -7, -8/ 9926 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -7, -7/ 9927 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -6, -7/ 9928 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -7, -8/ 9929 DATA IOPERA( 15),IX( 15),IY( 15)/'MOVE', 5, -1/ 9930 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 4, -2/ 9931 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 5, -2/ 9932 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 5, -1/ 9933 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 4, 0/ 9934 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 3, 0/ 9935 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 1, -1/ 9936 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 0, -3/ 9937 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', -1, -6/ 9938 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -1, -8/ 9939 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', 0, -9/ 9940 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 3, -9/ 9941 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 6, -7/ 9942 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 8, -4/ 9943 DATA IOPERA( 29),IX( 29),IY( 29)/'MOVE', -1, -1/ 9944 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', 0, -3/ 9945 DATA IOPERA( 31),IX( 31),IY( 31)/'MOVE', 1, -1/ 9946 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -1, -3/ 9947 DATA IOPERA( 33),IX( 33),IY( 33)/'MOVE', -2, -6/ 9948 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', -1, -8/ 9949 DATA IOPERA( 35),IX( 35),IY( 35)/'MOVE', -1, -6/ 9950 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', -3, -8/ 9951C 9952 DATA IXMIND( 24)/ -8/ 9953 DATA IXMAXD( 24)/ 8/ 9954 DATA IXDELD( 24)/ 16/ 9955 DATA ISTARD( 24)/ 1/ 9956 DATA NUMCOO( 24)/ 36/ 9957C 9958C DEFINE CHARACTER 2675--LOWER CASE Y 9959C 9960 DATA IOPERA( 37),IX( 37),IY( 37)/'MOVE', -4, 0/ 9961 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -6, -6/ 9962 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -6, -8/ 9963 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -4, -9/ 9964 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -3, -9/ 9965 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -1, -8/ 9966 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', 1, -6/ 9967 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', 3, -3/ 9968 DATA IOPERA( 45),IX( 45),IY( 45)/'MOVE', -3, 0/ 9969 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', -5, -6/ 9970 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -5, -8/ 9971 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -4, -9/ 9972 DATA IOPERA( 49),IX( 49),IY( 49)/'MOVE', 4, 0/ 9973 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -2, -18/ 9974 DATA IOPERA( 51),IX( 51),IY( 51)/'MOVE', 5, 0/ 9975 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', 2, -9/ 9976 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', 0, -14/ 9977 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', -2, -18/ 9978 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', -3, -20/ 9979 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', -5, -21/ 9980 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -6, -20/ 9981 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -6, -18/ 9982 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -5, -15/ 9983 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -3, -13/ 9984 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', 0, -11/ 9985 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', 4, -9/ 9986 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', 7, -7/ 9987 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', 9, -4/ 9988C 9989 DATA IXMIND( 25)/ -7/ 9990 DATA IXMAXD( 25)/ 9/ 9991 DATA IXDELD( 25)/ 16/ 9992 DATA ISTARD( 25)/ 37/ 9993 DATA NUMCOO( 25)/ 28/ 9994C 9995C DEFINE CHARACTER 2676--LOWER CASE Z 9996C 9997 DATA IOPERA( 65),IX( 65),IY( 65)/'MOVE', -6, -4/ 9998 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -4, -1/ 9999 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', -2, 0/ 10000 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 0, 0/ 10001 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 2, -1/ 10002 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', 2, -4/ 10003 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 1, -6/ 10004 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -2, -8/ 10005 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -4, -9/ 10006 DATA IOPERA( 74),IX( 74),IY( 74)/'MOVE', 0, 0/ 10007 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', 1, -1/ 10008 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', 1, -4/ 10009 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', 0, -6/ 10010 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -2, -8/ 10011 DATA IOPERA( 79),IX( 79),IY( 79)/'MOVE', -4, -9/ 10012 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', -2, -10/ 10013 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', -1, -12/ 10014 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', -1, -15/ 10015 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', -2, -18/ 10016 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', -4, -20/ 10017 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', -6, -21/ 10018 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', -7, -20/ 10019 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', -7, -18/ 10020 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', -6, -15/ 10021 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', -3, -12/ 10022 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', 0, -10/ 10023 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', 4, -7/ 10024 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', 7, -4/ 10025 DATA IOPERA( 93),IX( 93),IY( 93)/'MOVE', -4, -9/ 10026 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -3, -10/ 10027 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', -2, -12/ 10028 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', -2, -15/ 10029 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', -3, -18/ 10030 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', -4, -20/ 10031C 10032 DATA IXMIND( 26)/ -6/ 10033 DATA IXMAXD( 26)/ 7/ 10034 DATA IXDELD( 26)/ 13/ 10035 DATA ISTARD( 26)/ 65/ 10036 DATA NUMCOO( 26)/ 34/ 10037C 10038C-----START POINT----------------------------------------------------- 10039C 10040 IFOUND='YES' 10041 IERROR='NO' 10042C 10043 NUMCO=1 10044 ISTART=1 10045 ISTOP=1 10046 NC=1 10047C 10048C ****************************************** 10049C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 10050C ** HERSHEY CHARACTER SET CASE ** 10051C ****************************************** 10052C 10053C 10054 IF(IBUGD2.EQ.'OFF')GOTO90 10055 WRITE(ICOUT,999) 10056 999 FORMAT(1X) 10057 CALL DPWRST('XXX','BUG ') 10058 WRITE(ICOUT,51) 10059 51 FORMAT('***** AT THE BEGINNING OF DRCSL3--') 10060 CALL DPWRST('XXX','BUG ') 10061 WRITE(ICOUT,52)ICHARN 10062 52 FORMAT('ICHARN = ',I8) 10063 CALL DPWRST('XXX','BUG ') 10064 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 10065 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 10066 CALL DPWRST('XXX','BUG ') 10067 90 CONTINUE 10068C 10069C ************************************** 10070C ** STEP 2-- ** 10071C ** EXTRACT THE COORDINATES ** 10072C ** FOR THIS PARTICULAR CHARACTER. ** 10073C ************************************** 10074C 10075 ISTART=ISTARD(ICHARN) 10076 NC=NUMCOO(ICHARN) 10077 ISTOP=ISTART+NC-1 10078 J=0 10079 DO1100I=ISTART,ISTOP 10080 J=J+1 10081 IOP(J)=IOPERA(I) 10082 X(J)=IX(I) 10083 Y(J)=IY(I) 10084 1100 CONTINUE 10085 NUMCO=J 10086 IXMINS=IXMIND(ICHARN) 10087 IXMAXS=IXMAXD(ICHARN) 10088 IXDELS=IXDELD(ICHARN) 10089C 10090 GOTO9000 10091C 10092C ***************** 10093C ** STEP 90-- ** 10094C ** EXIT ** 10095C ***************** 10096C 10097 9000 CONTINUE 10098 IF(IBUGD2.EQ.'OFF')GOTO9090 10099 WRITE(ICOUT,999) 10100 CALL DPWRST('XXX','BUG ') 10101 WRITE(ICOUT,9011) 10102 9011 FORMAT('***** AT THE END OF DRCSL3--') 10103 CALL DPWRST('XXX','BUG ') 10104 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 10105 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 10106 CALL DPWRST('XXX','BUG ') 10107 WRITE(ICOUT,9013)ICHARN 10108 9013 FORMAT('ICHARN = ',I8) 10109 CALL DPWRST('XXX','BUG ') 10110 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 10111 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 10112 CALL DPWRST('XXX','BUG ') 10113 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 10114 DO9015I=1,NUMCO 10115 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 10116 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 10117 CALL DPWRST('XXX','BUG ') 10118 9015 CONTINUE 10119 9019 CONTINUE 10120 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 10121 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 10122 CALL DPWRST('XXX','BUG ') 10123 9090 CONTINUE 10124C 10125 RETURN 10126 END 10127 SUBROUTINE DRCSN1(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 10128 1IBUGD2,IFOUND,IERROR) 10129C 10130C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 10131C FOR ROMAN COMPLEX SCRIPT NUMERIC (PART 1). 10132C WRITTEN BY--JAMES J. FILLIBEN 10133C STATISTICAL ENGINEERING DIVISION 10134C CENTER FOR APPLIED MATHEMATICS 10135C NATIONAL BUREAU OF STANDARDS 10136C WASHINGTON, D. C. 20234 10137C PHONE--301-921-3651 10138C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 10139C OF THE NATIONAL BUREAU OF STANDARDS. 10140C LANGUAGE--ANSI FORTRAN (1977) 10141C VERSION NUMBER--87/4 10142C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 10143C UPDATED --MAY 1982. 10144C UPDATED --MARCH 1987. 10145C 10146C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 10147C 10148 CHARACTER*4 IOP 10149 CHARACTER*4 IBUGD2 10150 CHARACTER*4 IFOUND 10151 CHARACTER*4 IERROR 10152C 10153 CHARACTER*4 IOPERA 10154C 10155C--------------------------------------------------------------------- 10156C 10157 DIMENSION IOP(*) 10158 DIMENSION X(*) 10159 DIMENSION Y(*) 10160C 10161 DIMENSION IOPERA(300) 10162 DIMENSION IX(300) 10163 DIMENSION IY(300) 10164C 10165 DIMENSION IXMIND(30) 10166 DIMENSION IXMAXD(30) 10167 DIMENSION IXDELD(30) 10168 DIMENSION ISTARD(30) 10169 DIMENSION NUMCOO(30) 10170C 10171C-----COMMON---------------------------------------------------------- 10172C 10173 INCLUDE 'DPCOP2.INC' 10174C 10175C-----DATA STATEMENTS------------------------------------------------- 10176C 10177C DEFINE CHARACTER 2750--0 10178C 10179 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 2, 12/ 10180 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -1, 11/ 10181 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -3, 9/ 10182 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -5, 6/ 10183 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -6, 3/ 10184 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -7, -1/ 10185 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -7, -4/ 10186 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -6, -7/ 10187 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -5, -8/ 10188 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -3, -9/ 10189 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -1, -9/ 10190 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 2, -8/ 10191 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 4, -6/ 10192 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', 6, -3/ 10193 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 7, 0/ 10194 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 8, 4/ 10195 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 8, 7/ 10196 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 7, 10/ 10197 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 6, 11/ 10198 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 4, 12/ 10199 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 2, 12/ 10200 DATA IOPERA( 22),IX( 22),IY( 22)/'MOVE', 2, 12/ 10201 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 0, 11/ 10202 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -2, 9/ 10203 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -4, 6/ 10204 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -5, 3/ 10205 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', -6, -1/ 10206 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -6, -4/ 10207 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', -5, -7/ 10208 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', -3, -9/ 10209 DATA IOPERA( 31),IX( 31),IY( 31)/'MOVE', -1, -9/ 10210 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 1, -8/ 10211 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 3, -6/ 10212 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 5, -3/ 10213 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 6, 0/ 10214 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', 7, 4/ 10215 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', 7, 7/ 10216 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', 6, 10/ 10217 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', 4, 12/ 10218C 10219 DATA IXMIND( 1)/ -10/ 10220 DATA IXMAXD( 1)/ 11/ 10221 DATA IXDELD( 1)/ 21/ 10222 DATA ISTARD( 1)/ 1/ 10223 DATA NUMCOO( 1)/ 39/ 10224C 10225C DEFINE CHARACTER 2751--1 10226C 10227 DATA IOPERA( 40),IX( 40),IY( 40)/'MOVE', 2, 8/ 10228 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -3, -9/ 10229 DATA IOPERA( 42),IX( 42),IY( 42)/'MOVE', 4, 12/ 10230 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -2, -9/ 10231 DATA IOPERA( 44),IX( 44),IY( 44)/'MOVE', 4, 12/ 10232 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', 1, 9/ 10233 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', -2, 7/ 10234 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -4, 6/ 10235 DATA IOPERA( 48),IX( 48),IY( 48)/'MOVE', 3, 9/ 10236 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -1, 7/ 10237 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -4, 6/ 10238C 10239 DATA IXMIND( 2)/ -10/ 10240 DATA IXMAXD( 2)/ 11/ 10241 DATA IXDELD( 2)/ 21/ 10242 DATA ISTARD( 2)/ 40/ 10243 DATA NUMCOO( 2)/ 11/ 10244C 10245C DEFINE CHARACTER 2752--2 10246C 10247 DATA IOPERA( 51),IX( 51),IY( 51)/'MOVE', -3, 8/ 10248 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', -2, 7/ 10249 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -3, 6/ 10250 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', -4, 7/ 10251 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', -4, 8/ 10252 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', -3, 10/ 10253 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -2, 11/ 10254 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', 1, 12/ 10255 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', 4, 12/ 10256 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', 7, 11/ 10257 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', 8, 9/ 10258 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', 8, 7/ 10259 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', 7, 5/ 10260 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', 5, 3/ 10261 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', 2, 1/ 10262 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -2, -1/ 10263 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', -5, -3/ 10264 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', -7, -5/ 10265 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -9, -9/ 10266 DATA IOPERA( 70),IX( 70),IY( 70)/'MOVE', 4, 12/ 10267 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 6, 11/ 10268 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', 7, 9/ 10269 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', 7, 7/ 10270 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', 6, 5/ 10271 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', 4, 3/ 10272 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -2, -1/ 10273 DATA IOPERA( 77),IX( 77),IY( 77)/'MOVE', -8, -7/ 10274 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -7, -6/ 10275 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -5, -6/ 10276 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', 0, -8/ 10277 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 3, -8/ 10278 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 5, -7/ 10279 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', 6, -5/ 10280 DATA IOPERA( 84),IX( 84),IY( 84)/'MOVE', -5, -6/ 10281 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 0, -9/ 10282 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 3, -9/ 10283 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', 5, -8/ 10284 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', 6, -5/ 10285C 10286 DATA IXMIND( 3)/ -10/ 10287 DATA IXMAXD( 3)/ 11/ 10288 DATA IXDELD( 3)/ 21/ 10289 DATA ISTARD( 3)/ 51/ 10290 DATA NUMCOO( 3)/ 38/ 10291C 10292C DEFINE CHARACTER 2753--3 10293C 10294 DATA IOPERA( 89),IX( 89),IY( 89)/'MOVE', -3, 8/ 10295 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', -2, 7/ 10296 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', -3, 6/ 10297 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', -4, 7/ 10298 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', -4, 8/ 10299 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -3, 10/ 10300 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', -2, 11/ 10301 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 1, 12/ 10302 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 4, 12/ 10303 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 7, 11/ 10304 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 8, 9/ 10305 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 8, 7/ 10306 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', 7, 5/ 10307 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 4, 3/ 10308 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 1, 2/ 10309 DATA IOPERA( 104),IX( 104),IY( 104)/'MOVE', 4, 12/ 10310 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', 6, 11/ 10311 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 7, 9/ 10312 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', 7, 7/ 10313 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', 6, 5/ 10314 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 4, 3/ 10315 DATA IOPERA( 110),IX( 110),IY( 110)/'MOVE', -1, 2/ 10316 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', 1, 2/ 10317 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 4, 1/ 10318 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 5, 0/ 10319 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 6, -2/ 10320 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', 6, -5/ 10321 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', 5, -7/ 10322 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 4, -8/ 10323 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', 1, -9/ 10324 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', -3, -9/ 10325 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', -6, -8/ 10326 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', -7, -7/ 10327 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', -8, -5/ 10328 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -8, -4/ 10329 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', -7, -3/ 10330 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', -6, -4/ 10331 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', -7, -5/ 10332 DATA IOPERA( 127),IX( 127),IY( 127)/'MOVE', 1, 2/ 10333 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', 3, 1/ 10334 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', 4, 0/ 10335 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', 5, -2/ 10336 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 5, -5/ 10337 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', 4, -7/ 10338 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', 3, -8/ 10339 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', 1, -9/ 10340C 10341 DATA IXMIND( 4)/ -10/ 10342 DATA IXMAXD( 4)/ 11/ 10343 DATA IXDELD( 4)/ 21/ 10344 DATA ISTARD( 4)/ 89/ 10345 DATA NUMCOO( 4)/ 46/ 10346C 10347C DEFINE CHARACTER 2754--4 10348C 10349 DATA IOPERA( 135),IX( 135),IY( 135)/'MOVE', 6, 11/ 10350 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', 0, -9/ 10351 DATA IOPERA( 137),IX( 137),IY( 137)/'MOVE', 7, 12/ 10352 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', 1, -9/ 10353 DATA IOPERA( 139),IX( 139),IY( 139)/'MOVE', 7, 12/ 10354 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', -8, -3/ 10355 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', 8, -3/ 10356C 10357 DATA IXMIND( 5)/ -10/ 10358 DATA IXMAXD( 5)/ 11/ 10359 DATA IXDELD( 5)/ 21/ 10360 DATA ISTARD( 5)/ 135/ 10361 DATA NUMCOO( 5)/ 7/ 10362C 10363C DEFINE CHARACTER 2755--5 10364C 10365 DATA IOPERA( 142),IX( 142),IY( 142)/'MOVE', -1, 12/ 10366 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -6, 2/ 10367 DATA IOPERA( 144),IX( 144),IY( 144)/'MOVE', -1, 12/ 10368 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', 9, 12/ 10369 DATA IOPERA( 146),IX( 146),IY( 146)/'MOVE', -1, 11/ 10370 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 4, 11/ 10371 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', 9, 12/ 10372 DATA IOPERA( 149),IX( 149),IY( 149)/'MOVE', -6, 2/ 10373 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', -5, 3/ 10374 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', -2, 4/ 10375 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', 1, 4/ 10376 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', 4, 3/ 10377 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 5, 2/ 10378 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', 6, 0/ 10379 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', 6, -3/ 10380 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', 5, -6/ 10381 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', 3, -8/ 10382 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', 0, -9/ 10383 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -3, -9/ 10384 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -6, -8/ 10385 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -7, -7/ 10386 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', -8, -5/ 10387 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -8, -4/ 10388 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', -7, -3/ 10389 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', -6, -4/ 10390 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', -7, -5/ 10391 DATA IOPERA( 168),IX( 168),IY( 168)/'MOVE', 1, 4/ 10392 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 3, 3/ 10393 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', 4, 2/ 10394 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', 5, 0/ 10395 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', 5, -3/ 10396 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', 4, -6/ 10397 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', 2, -8/ 10398 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', 0, -9/ 10399C 10400 DATA IXMIND( 6)/ -10/ 10401 DATA IXMAXD( 6)/ 11/ 10402 DATA IXDELD( 6)/ 21/ 10403 DATA ISTARD( 6)/ 142/ 10404 DATA NUMCOO( 6)/ 34/ 10405C 10406C DEFINE CHARACTER 2756--6 10407C 10408 DATA IOPERA( 176),IX( 176),IY( 176)/'MOVE', 7, 9/ 10409 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', 6, 8/ 10410 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', 7, 7/ 10411 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', 8, 8/ 10412 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', 8, 9/ 10413 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', 7, 11/ 10414 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', 5, 12/ 10415 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', 2, 12/ 10416 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', -1, 11/ 10417 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -3, 9/ 10418 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', -5, 6/ 10419 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', -6, 3/ 10420 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', -7, -1/ 10421 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', -7, -5/ 10422 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', -6, -7/ 10423 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -5, -8/ 10424 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', -3, -9/ 10425 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 0, -9/ 10426 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 3, -8/ 10427 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 5, -6/ 10428 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', 6, -4/ 10429 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 6, -1/ 10430 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', 5, 1/ 10431 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', 4, 2/ 10432 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', 2, 3/ 10433 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', -1, 3/ 10434 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', -3, 2/ 10435 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -5, 0/ 10436 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', -6, -2/ 10437 DATA IOPERA( 205),IX( 205),IY( 205)/'MOVE', 2, 12/ 10438 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', 0, 11/ 10439 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -2, 9/ 10440 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', -4, 6/ 10441 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', -5, 3/ 10442 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', -6, -1/ 10443 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', -6, -6/ 10444 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', -5, -8/ 10445 DATA IOPERA( 213),IX( 213),IY( 213)/'MOVE', 0, -9/ 10446 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 2, -8/ 10447 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', 4, -6/ 10448 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', 5, -4/ 10449 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', 5, 0/ 10450 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', 4, 2/ 10451C 10452 DATA IXMIND( 7)/ -10/ 10453 DATA IXMAXD( 7)/ 11/ 10454 DATA IXDELD( 7)/ 21/ 10455 DATA ISTARD( 7)/ 176/ 10456 DATA NUMCOO( 7)/ 43/ 10457C 10458C DEFINE CHARACTER 2757--7 10459C 10460 DATA IOPERA( 219),IX( 219),IY( 219)/'MOVE', -4, 12/ 10461 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -6, 6/ 10462 DATA IOPERA( 221),IX( 221),IY( 221)/'MOVE', 9, 12/ 10463 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', 8, 9/ 10464 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', 6, 6/ 10465 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', 1, 0/ 10466 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', -1, -3/ 10467 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', -2, -5/ 10468 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', -3, -9/ 10469 DATA IOPERA( 228),IX( 228),IY( 228)/'MOVE', 6, 6/ 10470 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', 0, 0/ 10471 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', -2, -3/ 10472 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', -3, -5/ 10473 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', -4, -9/ 10474 DATA IOPERA( 233),IX( 233),IY( 233)/'MOVE', -5, 9/ 10475 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', -2, 12/ 10476 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', 0, 12/ 10477 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', 5, 9/ 10478 DATA IOPERA( 237),IX( 237),IY( 237)/'MOVE', -4, 10/ 10479 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', -2, 11/ 10480 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', 0, 11/ 10481 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', 5, 9/ 10482 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', 7, 9/ 10483 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', 8, 10/ 10484 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', 9, 12/ 10485C 10486 DATA IXMIND( 8)/ -10/ 10487 DATA IXMAXD( 8)/ 11/ 10488 DATA IXDELD( 8)/ 21/ 10489 DATA ISTARD( 8)/ 219/ 10490 DATA NUMCOO( 8)/ 25/ 10491C 10492C DEFINE CHARACTER 2758--8 10493C 10494 DATA IOPERA( 244),IX( 244),IY( 244)/'MOVE', 1, 12/ 10495 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', -2, 11/ 10496 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', -3, 10/ 10497 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -4, 8/ 10498 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', -4, 5/ 10499 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', -3, 3/ 10500 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', -1, 2/ 10501 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', 2, 2/ 10502 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', 6, 3/ 10503 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', 7, 4/ 10504 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', 8, 6/ 10505 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', 8, 9/ 10506 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', 7, 11/ 10507 DATA IOPERA( 257),IX( 257),IY( 257)/'DRAW', 4, 12/ 10508 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 1, 12/ 10509 DATA IOPERA( 259),IX( 259),IY( 259)/'MOVE', 1, 12/ 10510 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -1, 11/ 10511 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', -2, 10/ 10512 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', -3, 8/ 10513 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', -3, 5/ 10514 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', -2, 3/ 10515 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', -1, 2/ 10516 DATA IOPERA( 266),IX( 266),IY( 266)/'MOVE', 2, 2/ 10517 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', 5, 3/ 10518 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', 6, 4/ 10519 DATA IOPERA( 269),IX( 269),IY( 269)/'DRAW', 7, 6/ 10520 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', 7, 9/ 10521 DATA IOPERA( 271),IX( 271),IY( 271)/'DRAW', 6, 11/ 10522 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', 4, 12/ 10523 DATA IOPERA( 273),IX( 273),IY( 273)/'MOVE', -1, 2/ 10524 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', -5, 1/ 10525 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', -7, -1/ 10526 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', -8, -3/ 10527 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', -8, -6/ 10528 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -7, -8/ 10529 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', -4, -9/ 10530 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', 0, -9/ 10531 DATA IOPERA( 281),IX( 281),IY( 281)/'DRAW', 4, -8/ 10532 DATA IOPERA( 282),IX( 282),IY( 282)/'DRAW', 5, -7/ 10533 DATA IOPERA( 283),IX( 283),IY( 283)/'DRAW', 6, -5/ 10534 DATA IOPERA( 284),IX( 284),IY( 284)/'DRAW', 6, -2/ 10535 DATA IOPERA( 285),IX( 285),IY( 285)/'DRAW', 5, 0/ 10536 DATA IOPERA( 286),IX( 286),IY( 286)/'DRAW', 4, 1/ 10537 DATA IOPERA( 287),IX( 287),IY( 287)/'DRAW', 2, 2/ 10538 DATA IOPERA( 288),IX( 288),IY( 288)/'MOVE', -1, 2/ 10539 DATA IOPERA( 289),IX( 289),IY( 289)/'DRAW', -4, 1/ 10540 DATA IOPERA( 290),IX( 290),IY( 290)/'DRAW', -6, -1/ 10541 DATA IOPERA( 291),IX( 291),IY( 291)/'DRAW', -7, -3/ 10542 DATA IOPERA( 292),IX( 292),IY( 292)/'DRAW', -7, -6/ 10543 DATA IOPERA( 293),IX( 293),IY( 293)/'DRAW', -6, -8/ 10544 DATA IOPERA( 294),IX( 294),IY( 294)/'DRAW', -4, -9/ 10545 DATA IOPERA( 295),IX( 295),IY( 295)/'MOVE', 0, -9/ 10546 DATA IOPERA( 296),IX( 296),IY( 296)/'DRAW', 3, -8/ 10547 DATA IOPERA( 297),IX( 297),IY( 297)/'DRAW', 4, -7/ 10548 DATA IOPERA( 298),IX( 298),IY( 298)/'DRAW', 5, -5/ 10549 DATA IOPERA( 299),IX( 299),IY( 299)/'DRAW', 5, -1/ 10550 DATA IOPERA( 300),IX( 300),IY( 300)/'DRAW', 4, 1/ 10551C 10552 DATA IXMIND( 9)/ -10/ 10553 DATA IXMAXD( 9)/ 11/ 10554 DATA IXDELD( 9)/ 21/ 10555 DATA ISTARD( 9)/ 244/ 10556 DATA NUMCOO( 9)/ 57/ 10557C 10558C-----START POINT----------------------------------------------------- 10559C 10560 IFOUND='YES' 10561 IERROR='NO' 10562C 10563 NUMCO=1 10564 ISTART=1 10565 ISTOP=1 10566 NC=1 10567C 10568C ****************************************** 10569C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 10570C ** HERSHEY CHARACTER SET CASE ** 10571C ****************************************** 10572C 10573C 10574 IF(IBUGD2.EQ.'OFF')GOTO90 10575 WRITE(ICOUT,999) 10576 999 FORMAT(1X) 10577 CALL DPWRST('XXX','BUG ') 10578 WRITE(ICOUT,51) 10579 51 FORMAT('***** AT THE BEGINNING OF DRCSN1--') 10580 CALL DPWRST('XXX','BUG ') 10581 WRITE(ICOUT,52)ICHARN 10582 52 FORMAT('ICHARN = ',I8) 10583 CALL DPWRST('XXX','BUG ') 10584 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 10585 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 10586 CALL DPWRST('XXX','BUG ') 10587 90 CONTINUE 10588C 10589C ************************************** 10590C ** STEP 2-- ** 10591C ** EXTRACT THE COORDINATES ** 10592C ** FOR THIS PARTICULAR CHARACTER. ** 10593C ************************************** 10594C 10595 ISTART=ISTARD(ICHARN) 10596 NC=NUMCOO(ICHARN) 10597 ISTOP=ISTART+NC-1 10598 J=0 10599 DO1100I=ISTART,ISTOP 10600 J=J+1 10601 IOP(J)=IOPERA(I) 10602 X(J)=IX(I) 10603 Y(J)=IY(I) 10604 1100 CONTINUE 10605 NUMCO=J 10606 IXMINS=IXMIND(ICHARN) 10607 IXMAXS=IXMAXD(ICHARN) 10608 IXDELS=IXDELD(ICHARN) 10609C 10610 GOTO9000 10611C 10612C ***************** 10613C ** STEP 90-- ** 10614C ** EXIT ** 10615C ***************** 10616C 10617 9000 CONTINUE 10618 IF(IBUGD2.EQ.'OFF')GOTO9090 10619 WRITE(ICOUT,999) 10620 CALL DPWRST('XXX','BUG ') 10621 WRITE(ICOUT,9011) 10622 9011 FORMAT('***** AT THE END OF DRCSN1--') 10623 CALL DPWRST('XXX','BUG ') 10624 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 10625 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 10626 CALL DPWRST('XXX','BUG ') 10627 WRITE(ICOUT,9013)ICHARN 10628 9013 FORMAT('ICHARN = ',I8) 10629 CALL DPWRST('XXX','BUG ') 10630 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 10631 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 10632 CALL DPWRST('XXX','BUG ') 10633 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 10634 DO9015I=1,NUMCO 10635 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 10636 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 10637 CALL DPWRST('XXX','BUG ') 10638 9015 CONTINUE 10639 9019 CONTINUE 10640 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 10641 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 10642 CALL DPWRST('XXX','BUG ') 10643 9090 CONTINUE 10644C 10645 RETURN 10646 END 10647 SUBROUTINE DRCSN2(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 10648 1IBUGD2,IFOUND,IERROR) 10649C 10650C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 10651C FOR ROMAN COMPLEX SCRIPT NUMERIC (PART 2). 10652C WRITTEN BY--JAMES J. FILLIBEN 10653C STATISTICAL ENGINEERING DIVISION 10654C CENTER FOR APPLIED MATHEMATICS 10655C NATIONAL BUREAU OF STANDARDS 10656C WASHINGTON, D. C. 20234 10657C PHONE--301-921-3651 10658C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 10659C OF THE NATIONAL BUREAU OF STANDARDS. 10660C LANGUAGE--ANSI FORTRAN (1977) 10661C VERSION NUMBER--87/4 10662C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 10663C UPDATED --MAY 1982. 10664C UPDATED --MARCH 1987. 10665C 10666C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 10667C 10668 CHARACTER*4 IOP 10669 CHARACTER*4 IBUGD2 10670 CHARACTER*4 IFOUND 10671 CHARACTER*4 IERROR 10672C 10673 CHARACTER*4 IOPERA 10674C 10675C--------------------------------------------------------------------- 10676C 10677 DIMENSION IOP(*) 10678 DIMENSION X(*) 10679 DIMENSION Y(*) 10680C 10681 DIMENSION IOPERA(300) 10682 DIMENSION IX(300) 10683 DIMENSION IY(300) 10684C 10685 DIMENSION IXMIND(30) 10686 DIMENSION IXMAXD(30) 10687 DIMENSION IXDELD(30) 10688 DIMENSION ISTARD(30) 10689 DIMENSION NUMCOO(30) 10690C 10691C-----COMMON---------------------------------------------------------- 10692C 10693 INCLUDE 'DPCOP2.INC' 10694C 10695C-----DATA STATEMENTS------------------------------------------------- 10696C 10697C DEFINE CHARACTER 2759--9 10698C 10699 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 7, 5/ 10700 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', 6, 3/ 10701 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', 4, 1/ 10702 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', 2, 0/ 10703 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -1, 0/ 10704 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -3, 1/ 10705 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -4, 2/ 10706 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -5, 4/ 10707 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -5, 7/ 10708 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -4, 9/ 10709 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -2, 11/ 10710 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 1, 12/ 10711 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 4, 12/ 10712 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', 6, 11/ 10713 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 7, 10/ 10714 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 8, 8/ 10715 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 8, 4/ 10716 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 7, 0/ 10717 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 6, -3/ 10718 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 4, -6/ 10719 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 2, -8/ 10720 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', -1, -9/ 10721 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', -4, -9/ 10722 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', -6, -8/ 10723 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -7, -6/ 10724 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -7, -5/ 10725 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', -6, -4/ 10726 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -5, -5/ 10727 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', -6, -6/ 10728 DATA IOPERA( 30),IX( 30),IY( 30)/'MOVE', -3, 1/ 10729 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', -4, 3/ 10730 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', -4, 7/ 10731 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', -3, 9/ 10732 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', -1, 11/ 10733 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 1, 12/ 10734 DATA IOPERA( 36),IX( 36),IY( 36)/'MOVE', 6, 11/ 10735 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', 7, 9/ 10736 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', 7, 4/ 10737 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', 6, 0/ 10738 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', 5, -3/ 10739 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', 3, -6/ 10740 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', 1, -8/ 10741 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -1, -9/ 10742C 10743 DATA IXMIND( 10)/ -10/ 10744 DATA IXMAXD( 10)/ 11/ 10745 DATA IXDELD( 10)/ 21/ 10746 DATA ISTARD( 10)/ 1/ 10747 DATA NUMCOO( 10)/ 43/ 10748C 10749C-----START POINT----------------------------------------------------- 10750C 10751 IFOUND='YES' 10752 IERROR='NO' 10753C 10754 NUMCO=1 10755 ISTART=1 10756 ISTOP=1 10757 NC=1 10758C 10759C ****************************************** 10760C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 10761C ** HERSHEY CHARACTER SET CASE ** 10762C ****************************************** 10763C 10764C 10765 IF(IBUGD2.EQ.'OFF')GOTO90 10766 WRITE(ICOUT,999) 10767 999 FORMAT(1X) 10768 CALL DPWRST('XXX','BUG ') 10769 WRITE(ICOUT,51) 10770 51 FORMAT('***** AT THE BEGINNING OF DRCSN2--') 10771 CALL DPWRST('XXX','BUG ') 10772 WRITE(ICOUT,52)ICHARN 10773 52 FORMAT('ICHARN = ',I8) 10774 CALL DPWRST('XXX','BUG ') 10775 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 10776 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 10777 CALL DPWRST('XXX','BUG ') 10778 90 CONTINUE 10779C 10780C ************************************** 10781C ** STEP 2-- ** 10782C ** EXTRACT THE COORDINATES ** 10783C ** FOR THIS PARTICULAR CHARACTER. ** 10784C ************************************** 10785C 10786 ISTART=ISTARD(ICHARN) 10787 NC=NUMCOO(ICHARN) 10788 ISTOP=ISTART+NC-1 10789 J=0 10790 DO1100I=ISTART,ISTOP 10791 J=J+1 10792 IOP(J)=IOPERA(I) 10793 X(J)=IX(I) 10794 Y(J)=IY(I) 10795 1100 CONTINUE 10796 NUMCO=J 10797 IXMINS=IXMIND(ICHARN) 10798 IXMAXS=IXMAXD(ICHARN) 10799 IXDELS=IXDELD(ICHARN) 10800C 10801 GOTO9000 10802C 10803C ***************** 10804C ** STEP 90-- ** 10805C ** EXIT ** 10806C ***************** 10807C 10808 9000 CONTINUE 10809 IF(IBUGD2.EQ.'OFF')GOTO9090 10810 WRITE(ICOUT,999) 10811 CALL DPWRST('XXX','BUG ') 10812 WRITE(ICOUT,9011) 10813 9011 FORMAT('***** AT THE END OF DRCSN2--') 10814 CALL DPWRST('XXX','BUG ') 10815 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 10816 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 10817 CALL DPWRST('XXX','BUG ') 10818 WRITE(ICOUT,9013)ICHARN 10819 9013 FORMAT('ICHARN = ',I8) 10820 CALL DPWRST('XXX','BUG ') 10821 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 10822 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 10823 CALL DPWRST('XXX','BUG ') 10824 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 10825 DO9015I=1,NUMCO 10826 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 10827 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 10828 CALL DPWRST('XXX','BUG ') 10829 9015 CONTINUE 10830 9019 CONTINUE 10831 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 10832 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 10833 CALL DPWRST('XXX','BUG ') 10834 9090 CONTINUE 10835C 10836 RETURN 10837 END 10838 SUBROUTINE DRCSU1(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 10839 1IBUGD2,IFOUND,IERROR) 10840C 10841C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 10842C FOR ROMAN COMPLEX SCRIPT UPPER CASE (PART 1). 10843C WRITTEN BY--JAMES J. FILLIBEN 10844C STATISTICAL ENGINEERING DIVISION 10845C CENTER FOR APPLIED MATHEMATICS 10846C NATIONAL BUREAU OF STANDARDS 10847C WASHINGTON, D. C. 20234 10848C PHONE--301-921-3651 10849C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 10850C OF THE NATIONAL BUREAU OF STANDARDS. 10851C LANGUAGE--ANSI FORTRAN (1977) 10852C VERSION NUMBER--87/4 10853C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 10854C UPDATED --MAY 1982. 10855C UPDATED --MARCH 1987. 10856C 10857C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 10858C 10859 CHARACTER*4 IOP 10860 CHARACTER*4 IBUGD2 10861 CHARACTER*4 IFOUND 10862 CHARACTER*4 IERROR 10863C 10864 CHARACTER*4 IOPERA 10865C 10866C--------------------------------------------------------------------- 10867C 10868 DIMENSION IOP(*) 10869 DIMENSION X(*) 10870 DIMENSION Y(*) 10871C 10872 DIMENSION IOPERA(300) 10873 DIMENSION IX(300) 10874 DIMENSION IY(300) 10875C 10876 DIMENSION IXMIND(30) 10877 DIMENSION IXMAXD(30) 10878 DIMENSION IXDELD(30) 10879 DIMENSION ISTARD(30) 10880 DIMENSION NUMCOO(30) 10881C 10882C-----COMMON---------------------------------------------------------- 10883C 10884 INCLUDE 'DPCOP2.INC' 10885C 10886C-----DATA STATEMENTS------------------------------------------------- 10887C 10888C DEFINE CHARACTER 2551--UPPER CASE A 10889C 10890 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 6, 12/ 10891 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', 4, 10/ 10892 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', 2, 7/ 10893 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -1, 2/ 10894 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -3, -1/ 10895 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -6, -5/ 10896 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -9, -8/ 10897 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -11, -9/ 10898 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -13, -9/ 10899 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -14, -8/ 10900 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -14, -6/ 10901 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -13, -5/ 10902 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -12, -6/ 10903 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -13, -7/ 10904 DATA IOPERA( 15),IX( 15),IY( 15)/'MOVE', 6, 12/ 10905 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 5, 8/ 10906 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 3, -2/ 10907 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', 2, -9/ 10908 DATA IOPERA( 19),IX( 19),IY( 19)/'MOVE', 6, 12/ 10909 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 3, -9/ 10910 DATA IOPERA( 21),IX( 21),IY( 21)/'MOVE', 2, -9/ 10911 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 2, -7/ 10912 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 1, -4/ 10913 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 0, -2/ 10914 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', -2, 0/ 10915 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', -4, 1/ 10916 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', -6, 1/ 10917 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', -7, 0/ 10918 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', -7, -2/ 10919 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', -6, -5/ 10920 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', -3, -8/ 10921 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 0, -9/ 10922 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 4, -9/ 10923 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 6, -8/ 10924C 10925 DATA IXMIND( 1)/ -13/ 10926 DATA IXMAXD( 1)/ 10/ 10927 DATA IXDELD( 1)/ 23/ 10928 DATA ISTARD( 1)/ 1/ 10929 DATA NUMCOO( 1)/ 34/ 10930C 10931C DEFINE CHARACTER 2552--UPPER CASE B 10932C 10933 DATA IOPERA( 35),IX( 35),IY( 35)/'MOVE', 3, 11/ 10934 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', 2, 10/ 10935 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', 1, 8/ 10936 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -1, 3/ 10937 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -3, -3/ 10938 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -4, -5/ 10939 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -6, -8/ 10940 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -8, -9/ 10941 DATA IOPERA( 43),IX( 43),IY( 43)/'MOVE', 2, 10/ 10942 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', 1, 7/ 10943 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', -1, -1/ 10944 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', -2, -4/ 10945 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -3, -6/ 10946 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -5, -8/ 10947 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -8, -9/ 10948 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -10, -9/ 10949 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -11, -8/ 10950 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', -11, -6/ 10951 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -10, -5/ 10952 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', -9, -6/ 10953 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', -10, -7/ 10954 DATA IOPERA( 56),IX( 56),IY( 56)/'MOVE', -3, 6/ 10955 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -4, 4/ 10956 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -5, 3/ 10957 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -7, 3/ 10958 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -8, 4/ 10959 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -8, 6/ 10960 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -7, 8/ 10961 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -5, 10/ 10962 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -3, 11/ 10963 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', 0, 12/ 10964 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', 6, 12/ 10965 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', 8, 11/ 10966 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 9, 9/ 10967 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 9, 7/ 10968 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', 8, 5/ 10969 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', 6, 4/ 10970 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', 2, 3/ 10971 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', 0, 3/ 10972 DATA IOPERA( 74),IX( 74),IY( 74)/'MOVE', 6, 12/ 10973 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', 7, 11/ 10974 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', 8, 9/ 10975 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', 8, 7/ 10976 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', 7, 5/ 10977 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', 6, 4/ 10978 DATA IOPERA( 80),IX( 80),IY( 80)/'MOVE', 2, 3/ 10979 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 5, 2/ 10980 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 6, 1/ 10981 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', 7, -1/ 10982 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', 7, -4/ 10983 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 6, -7/ 10984 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 5, -8/ 10985 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', 3, -9/ 10986 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', 1, -9/ 10987 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', 0, -8/ 10988 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', 0, -6/ 10989 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', 1, -3/ 10990 DATA IOPERA( 92),IX( 92),IY( 92)/'MOVE', 2, 3/ 10991 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 4, 2/ 10992 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', 5, 1/ 10993 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', 6, -1/ 10994 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 6, -4/ 10995 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 5, -7/ 10996 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 3, -9/ 10997C 10998 DATA IXMIND( 2)/ -12/ 10999 DATA IXMAXD( 2)/ 12/ 11000 DATA IXDELD( 2)/ 24/ 11001 DATA ISTARD( 2)/ 35/ 11002 DATA NUMCOO( 2)/ 64/ 11003C 11004C DEFINE CHARACTER 2553--UPPER CASE C 11005C 11006 DATA IOPERA( 99),IX( 99),IY( 99)/'MOVE', -7, 10/ 11007 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', -8, 8/ 11008 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', -8, 6/ 11009 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', -7, 4/ 11010 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', -4, 3/ 11011 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', -1, 3/ 11012 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', 3, 4/ 11013 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 5, 5/ 11014 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', 7, 7/ 11015 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', 8, 9/ 11016 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 8, 11/ 11017 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', 7, 12/ 11018 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', 5, 12/ 11019 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 2, 11/ 11020 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', -1, 8/ 11021 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', -3, 5/ 11022 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', -5, 1/ 11023 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', -6, -3/ 11024 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', -6, -6/ 11025 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', -5, -8/ 11026 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', -2, -9/ 11027 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', 0, -9/ 11028 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', 3, -8/ 11029 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', 5, -6/ 11030 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', 6, -4/ 11031 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', 6, -2/ 11032 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', 5, 0/ 11033 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', 3, 0/ 11034 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', 1, -1/ 11035 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', 0, -3/ 11036 DATA IOPERA( 129),IX( 129),IY( 129)/'MOVE', 5, 12/ 11037 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', 3, 11/ 11038 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 0, 8/ 11039 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', -2, 5/ 11040 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', -4, 1/ 11041 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', -5, -3/ 11042 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -5, -6/ 11043 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', -4, -8/ 11044 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', -2, -9/ 11045C 11046 DATA IXMIND( 3)/ -10/ 11047 DATA IXMAXD( 3)/ 11/ 11048 DATA IXDELD( 3)/ 21/ 11049 DATA ISTARD( 3)/ 99/ 11050 DATA NUMCOO( 3)/ 39/ 11051C 11052C DEFINE CHARACTER 2554--UPPER CASE D 11053C 11054 DATA IOPERA( 138),IX( 138),IY( 138)/'MOVE', 3, 11/ 11055 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', 2, 10/ 11056 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', 1, 8/ 11057 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', -1, 3/ 11058 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -3, -3/ 11059 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -4, -5/ 11060 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', -6, -8/ 11061 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', -8, -9/ 11062 DATA IOPERA( 146),IX( 146),IY( 146)/'MOVE', 2, 10/ 11063 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 1, 7/ 11064 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', -1, -1/ 11065 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', -2, -4/ 11066 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', -3, -6/ 11067 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', -5, -8/ 11068 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -8, -9/ 11069 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', -10, -9/ 11070 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', -11, -8/ 11071 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -11, -6/ 11072 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -10, -5/ 11073 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', -8, -5/ 11074 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', -6, -6/ 11075 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -4, -8/ 11076 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -2, -9/ 11077 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', 1, -9/ 11078 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', 3, -8/ 11079 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', 5, -6/ 11080 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', 7, -2/ 11081 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', 8, 3/ 11082 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', 8, 6/ 11083 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', 7, 9/ 11084 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', 5, 11/ 11085 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 3, 12/ 11086 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', -2, 12/ 11087 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', -5, 11/ 11088 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -7, 9/ 11089 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -8, 7/ 11090 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -8, 5/ 11091 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', -7, 4/ 11092 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', -5, 4/ 11093 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', -4, 5/ 11094 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', -3, 7/ 11095C 11096 DATA IXMIND( 4)/ -12/ 11097 DATA IXMAXD( 4)/ 11/ 11098 DATA IXDELD( 4)/ 23/ 11099 DATA ISTARD( 4)/ 138/ 11100 DATA NUMCOO( 4)/ 41/ 11101C 11102C DEFINE CHARACTER 2555--UPPER CASE E 11103C 11104 DATA IOPERA( 179),IX( 179),IY( 179)/'MOVE', 5, 9/ 11105 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', 4, 8/ 11106 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', 4, 6/ 11107 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', 5, 5/ 11108 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', 7, 5/ 11109 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', 8, 7/ 11110 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', 8, 9/ 11111 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', 7, 11/ 11112 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', 5, 12/ 11113 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', 2, 12/ 11114 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', 0, 11/ 11115 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', -1, 10/ 11116 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -2, 8/ 11117 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', -2, 6/ 11118 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', -1, 4/ 11119 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 1, 3/ 11120 DATA IOPERA( 195),IX( 195),IY( 195)/'MOVE', 2, 12/ 11121 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', 0, 10/ 11122 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', -1, 8/ 11123 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', -1, 5/ 11124 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', 1, 3/ 11125 DATA IOPERA( 200),IX( 200),IY( 200)/'MOVE', 1, 3/ 11126 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', -1, 3/ 11127 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', -4, 2/ 11128 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -6, 0/ 11129 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', -7, -2/ 11130 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', -7, -5/ 11131 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', -6, -7/ 11132 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -5, -8/ 11133 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', -3, -9/ 11134 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', 0, -9/ 11135 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', 3, -8/ 11136 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', 5, -6/ 11137 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', 6, -4/ 11138 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 6, -2/ 11139 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 5, 0/ 11140 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', 3, 0/ 11141 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', 1, -1/ 11142 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', 0, -3/ 11143 DATA IOPERA( 218),IX( 218),IY( 218)/'MOVE', -1, 3/ 11144 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -3, 2/ 11145 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -5, 0/ 11146 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -6, -2/ 11147 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', -6, -6/ 11148 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', -5, -8/ 11149C 11150 DATA IXMIND( 5)/ -9/ 11151 DATA IXMAXD( 5)/ 10/ 11152 DATA IXDELD( 5)/ 19/ 11153 DATA ISTARD( 5)/ 179/ 11154 DATA NUMCOO( 5)/ 45/ 11155C 11156C DEFINE CHARACTER 2556--UPPER CASE F 11157C 11158 DATA IOPERA( 224),IX( 224),IY( 224)/'MOVE', 5, 10/ 11159 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', 4, 8/ 11160 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', 2, 3/ 11161 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', 0, -3/ 11162 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', -1, -5/ 11163 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', -3, -8/ 11164 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', -5, -9/ 11165 DATA IOPERA( 231),IX( 231),IY( 231)/'MOVE', -1, 6/ 11166 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', -2, 4/ 11167 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', -4, 3/ 11168 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', -6, 3/ 11169 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', -7, 5/ 11170 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', -7, 7/ 11171 DATA IOPERA( 237),IX( 237),IY( 237)/'DRAW', -6, 9/ 11172 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', -4, 11/ 11173 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', -1, 12/ 11174 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', 9, 12/ 11175 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', 6, 11/ 11176 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', 5, 10/ 11177 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', 4, 7/ 11178 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', 2, -1/ 11179 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', 1, -4/ 11180 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', 0, -6/ 11181 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -2, -8/ 11182 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', -5, -9/ 11183 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', -7, -9/ 11184 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', -9, -8/ 11185 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', -10, -7/ 11186 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', -10, -6/ 11187 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', -9, -5/ 11188 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', -8, -6/ 11189 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', -9, -7/ 11190 DATA IOPERA( 256),IX( 256),IY( 256)/'MOVE', 1, 12/ 11191 DATA IOPERA( 257),IX( 257),IY( 257)/'DRAW', 5, 11/ 11192 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 6, 11/ 11193 DATA IOPERA( 259),IX( 259),IY( 259)/'MOVE', -3, -1/ 11194 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -2, 0/ 11195 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', 0, 1/ 11196 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', 4, 1/ 11197 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', 6, 2/ 11198 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', 8, 5/ 11199 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', 6, -2/ 11200C 11201 DATA IXMIND( 6)/ -11/ 11202 DATA IXMAXD( 6)/ 10/ 11203 DATA IXDELD( 6)/ 21/ 11204 DATA ISTARD( 6)/ 224/ 11205 DATA NUMCOO( 6)/ 42/ 11206C 11207C-----START POINT----------------------------------------------------- 11208C 11209 IFOUND='YES' 11210 IERROR='NO' 11211C 11212 NUMCO=1 11213 ISTART=1 11214 ISTOP=1 11215 NC=1 11216C 11217C ****************************************** 11218C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 11219C ** HERSHEY CHARACTER SET CASE ** 11220C ****************************************** 11221C 11222C 11223 IF(IBUGD2.EQ.'OFF')GOTO90 11224 WRITE(ICOUT,999) 11225 999 FORMAT(1X) 11226 CALL DPWRST('XXX','BUG ') 11227 WRITE(ICOUT,51) 11228 51 FORMAT('***** AT THE BEGINNING OF DRCSU1--') 11229 CALL DPWRST('XXX','BUG ') 11230 WRITE(ICOUT,52)ICHARN 11231 52 FORMAT('ICHARN = ',I8) 11232 CALL DPWRST('XXX','BUG ') 11233 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 11234 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 11235 CALL DPWRST('XXX','BUG ') 11236 90 CONTINUE 11237C 11238C ************************************** 11239C ** STEP 2-- ** 11240C ** EXTRACT THE COORDINATES ** 11241C ** FOR THIS PARTICULAR CHARACTER. ** 11242C ************************************** 11243C 11244 ISTART=ISTARD(ICHARN) 11245 NC=NUMCOO(ICHARN) 11246 ISTOP=ISTART+NC-1 11247 J=0 11248 DO1100I=ISTART,ISTOP 11249 J=J+1 11250 IOP(J)=IOPERA(I) 11251 X(J)=IX(I) 11252 Y(J)=IY(I) 11253 1100 CONTINUE 11254 NUMCO=J 11255 IXMINS=IXMIND(ICHARN) 11256 IXMAXS=IXMAXD(ICHARN) 11257 IXDELS=IXDELD(ICHARN) 11258C 11259 GOTO9000 11260C 11261C ***************** 11262C ** STEP 90-- ** 11263C ** EXIT ** 11264C ***************** 11265C 11266 9000 CONTINUE 11267 IF(IBUGD2.EQ.'OFF')GOTO9090 11268 WRITE(ICOUT,999) 11269 CALL DPWRST('XXX','BUG ') 11270 WRITE(ICOUT,9011) 11271 9011 FORMAT('***** AT THE END OF DRCSU1--') 11272 CALL DPWRST('XXX','BUG ') 11273 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 11274 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 11275 CALL DPWRST('XXX','BUG ') 11276 WRITE(ICOUT,9013)ICHARN 11277 9013 FORMAT('ICHARN = ',I8) 11278 CALL DPWRST('XXX','BUG ') 11279 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 11280 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 11281 CALL DPWRST('XXX','BUG ') 11282 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 11283 DO9015I=1,NUMCO 11284 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 11285 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 11286 CALL DPWRST('XXX','BUG ') 11287 9015 CONTINUE 11288 9019 CONTINUE 11289 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 11290 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 11291 CALL DPWRST('XXX','BUG ') 11292 9090 CONTINUE 11293C 11294 RETURN 11295 END 11296 SUBROUTINE DRCSU2(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 11297 1IBUGD2,IFOUND,IERROR) 11298C 11299C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 11300C FOR ROMAN COMPLEX SCRIPT UPPER CASE (PART 2). 11301C WRITTEN BY--JAMES J. FILLIBEN 11302C STATISTICAL ENGINEERING DIVISION 11303C CENTER FOR APPLIED MATHEMATICS 11304C NATIONAL BUREAU OF STANDARDS 11305C WASHINGTON, D. C. 20234 11306C PHONE--301-921-3651 11307C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 11308C OF THE NATIONAL BUREAU OF STANDARDS. 11309C LANGUAGE--ANSI FORTRAN (1977) 11310C VERSION NUMBER--87/4 11311C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 11312C UPDATED --MAY 1982. 11313C UPDATED --MARCH 1987. 11314C 11315C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 11316C 11317 CHARACTER*4 IOP 11318 CHARACTER*4 IBUGD2 11319 CHARACTER*4 IFOUND 11320 CHARACTER*4 IERROR 11321C 11322 CHARACTER*4 IOPERA 11323C 11324C--------------------------------------------------------------------- 11325C 11326 DIMENSION IOP(*) 11327 DIMENSION X(*) 11328 DIMENSION Y(*) 11329C 11330 DIMENSION IOPERA(300) 11331 DIMENSION IX(300) 11332 DIMENSION IY(300) 11333C 11334 DIMENSION IXMIND(30) 11335 DIMENSION IXMAXD(30) 11336 DIMENSION IXDELD(30) 11337 DIMENSION ISTARD(30) 11338 DIMENSION NUMCOO(30) 11339C 11340C-----COMMON---------------------------------------------------------- 11341C 11342 INCLUDE 'DPCOP2.INC' 11343C 11344C-----DATA STATEMENTS------------------------------------------------- 11345C 11346C DEFINE CHARACTER 2557--UPPER CASE G 11347C 11348 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -8, 9/ 11349 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -9, 7/ 11350 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -9, 5/ 11351 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -8, 3/ 11352 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -6, 2/ 11353 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -3, 2/ 11354 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', 0, 3/ 11355 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', 2, 4/ 11356 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', 5, 7/ 11357 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', 6, 10/ 11358 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', 6, 11/ 11359 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', 5, 12/ 11360 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', 4, 12/ 11361 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', 2, 11/ 11362 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 0, 9/ 11363 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', -1, 7/ 11364 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -2, 4/ 11365 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', -2, 1/ 11366 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', -1, -1/ 11367 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 1, -2/ 11368 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 3, -2/ 11369 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 5, -1/ 11370 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 7, 1/ 11371 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 8, 3/ 11372 DATA IOPERA( 25),IX( 25),IY( 25)/'MOVE', 5, 12/ 11373 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 3, 11/ 11374 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 1, 9/ 11375 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 0, 7/ 11376 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', -1, 4/ 11377 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', -1, 0/ 11378 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', 1, -2/ 11379 DATA IOPERA( 32),IX( 32),IY( 32)/'MOVE', 8, 3/ 11380 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 7, -1/ 11381 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 5, -5/ 11382 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 3, -7/ 11383 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', 1, -8/ 11384 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -3, -9/ 11385 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -6, -9/ 11386 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -8, -8/ 11387 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -9, -6/ 11388 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -9, -5/ 11389 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -8, -4/ 11390 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -7, -5/ 11391 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', -8, -6/ 11392 DATA IOPERA( 45),IX( 45),IY( 45)/'MOVE', 7, -1/ 11393 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', 5, -4/ 11394 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', 3, -6/ 11395 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', 0, -8/ 11396 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -3, -9/ 11397C 11398 DATA IXMIND( 7)/ -11/ 11399 DATA IXMAXD( 7)/ 11/ 11400 DATA IXDELD( 7)/ 22/ 11401 DATA ISTARD( 7)/ 1/ 11402 DATA NUMCOO( 7)/ 49/ 11403C 11404C DEFINE CHARACTER 2558--UPPER CASE H 11405C 11406 DATA IOPERA( 50),IX( 50),IY( 50)/'MOVE', -6, 6/ 11407 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -7, 7/ 11408 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', -7, 9/ 11409 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -6, 11/ 11410 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', -3, 12/ 11411 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 0, 12/ 11412 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', -3, 1/ 11413 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -5, -5/ 11414 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -6, -7/ 11415 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -7, -8/ 11416 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', -9, -9/ 11417 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -11, -9/ 11418 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -12, -8/ 11419 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -12, -6/ 11420 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -11, -5/ 11421 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -10, -6/ 11422 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -11, -7/ 11423 DATA IOPERA( 67),IX( 67),IY( 67)/'MOVE', 0, 12/ 11424 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', -3, 3/ 11425 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', -4, 0/ 11426 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', -6, -5/ 11427 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -7, -7/ 11428 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -9, -9/ 11429 DATA IOPERA( 73),IX( 73),IY( 73)/'MOVE', -8, -2/ 11430 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -7, -1/ 11431 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -5, 0/ 11432 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', 4, 3/ 11433 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', 6, 4/ 11434 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', 9, 6/ 11435 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', 11, 8/ 11436 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', 12, 10/ 11437 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', 12, 11/ 11438 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', 11, 12/ 11439 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', 10, 12/ 11440 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', 8, 11/ 11441 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 6, 8/ 11442 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 5, 6/ 11443 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', 3, 0/ 11444 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', 2, -4/ 11445 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', 2, -7/ 11446 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', 4, -9/ 11447 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', 5, -9/ 11448 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', 7, -8/ 11449 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 9, -6/ 11450 DATA IOPERA( 94),IX( 94),IY( 94)/'MOVE', 10, 12/ 11451 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', 8, 10/ 11452 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 6, 6/ 11453 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 4, 0/ 11454 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 3, -4/ 11455 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 3, -7/ 11456 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 4, -9/ 11457C 11458 DATA IXMIND( 8)/ -12/ 11459 DATA IXMAXD( 8)/ 12/ 11460 DATA IXDELD( 8)/ 24/ 11461 DATA ISTARD( 8)/ 50/ 11462 DATA NUMCOO( 8)/ 51/ 11463C 11464C DEFINE CHARACTER 2559--UPPER CASE I 11465C 11466 DATA IOPERA( 101),IX( 101),IY( 101)/'MOVE', 5, 10/ 11467 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 3, 7/ 11468 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 1, 2/ 11469 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', -1, -3/ 11470 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', -2, -5/ 11471 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', -4, -8/ 11472 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', -6, -9/ 11473 DATA IOPERA( 108),IX( 108),IY( 108)/'MOVE', 7, 6/ 11474 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 5, 4/ 11475 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', 2, 3/ 11476 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', -1, 3/ 11477 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', -3, 4/ 11478 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', -4, 6/ 11479 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', -4, 8/ 11480 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', -3, 10/ 11481 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', -1, 11/ 11482 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 3, 12/ 11483 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', 7, 12/ 11484 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', 5, 10/ 11485 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', 4, 8/ 11486 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', 2, 2/ 11487 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', 0, -4/ 11488 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -1, -6/ 11489 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', -3, -8/ 11490 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', -6, -9/ 11491 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', -8, -9/ 11492 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', -9, -8/ 11493 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', -9, -6/ 11494 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', -8, -5/ 11495 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', -7, -6/ 11496 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', -8, -7/ 11497C 11498 DATA IXMIND( 9)/ -9/ 11499 DATA IXMAXD( 9)/ 7/ 11500 DATA IXDELD( 9)/ 16/ 11501 DATA ISTARD( 9)/ 101/ 11502 DATA NUMCOO( 9)/ 31/ 11503C 11504C DEFINE CHARACTER 2560--UPPER CASE J 11505C 11506 DATA IOPERA( 132),IX( 132),IY( 132)/'MOVE', 7, 12/ 11507 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', 5, 10/ 11508 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', 3, 7/ 11509 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', 1, 2/ 11510 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', -2, -7/ 11511 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', -4, -11/ 11512 DATA IOPERA( 138),IX( 138),IY( 138)/'MOVE', 7, 5/ 11513 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', 5, 3/ 11514 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', 2, 2/ 11515 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', -1, 2/ 11516 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -3, 3/ 11517 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -4, 5/ 11518 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', -4, 7/ 11519 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', -3, 9/ 11520 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', -1, 11/ 11521 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 3, 12/ 11522 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', 7, 12/ 11523 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', 5, 9/ 11524 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', 4, 7/ 11525 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', 1, -2/ 11526 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', -1, -6/ 11527 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', -2, -8/ 11528 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', -4, -11/ 11529 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -5, -12/ 11530 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -7, -13/ 11531 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', -8, -12/ 11532 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', -8, -10/ 11533 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -7, -8/ 11534 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -5, -6/ 11535 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -3, -5/ 11536 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', 0, -4/ 11537 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', 4, -3/ 11538C 11539 DATA IXMIND( 10)/ -9/ 11540 DATA IXMAXD( 10)/ 8/ 11541 DATA IXDELD( 10)/ 17/ 11542 DATA ISTARD( 10)/ 132/ 11543 DATA NUMCOO( 10)/ 32/ 11544C 11545C DEFINE CHARACTER 2561--UPPER CASE K 11546C 11547 DATA IOPERA( 164),IX( 164),IY( 164)/'MOVE', -6, 6/ 11548 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', -7, 7/ 11549 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', -7, 9/ 11550 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', -5, 11/ 11551 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', -2, 12/ 11552 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 0, 12/ 11553 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', -3, 1/ 11554 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', -5, -5/ 11555 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -6, -7/ 11556 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -7, -8/ 11557 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -9, -9/ 11558 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', -11, -9/ 11559 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', -12, -8/ 11560 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', -12, -6/ 11561 DATA IOPERA( 178),IX( 178),IY( 178)/'DRAW', -11, -5/ 11562 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', -10, -6/ 11563 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', -11, -7/ 11564 DATA IOPERA( 181),IX( 181),IY( 181)/'MOVE', 0, 12/ 11565 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', -3, 3/ 11566 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', -4, 0/ 11567 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', -6, -5/ 11568 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -7, -7/ 11569 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', -9, -9/ 11570 DATA IOPERA( 187),IX( 187),IY( 187)/'MOVE', 8, 11/ 11571 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', 5, 7/ 11572 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', 3, 5/ 11573 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', 1, 4/ 11574 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -2, 3/ 11575 DATA IOPERA( 192),IX( 192),IY( 192)/'MOVE', 11, 11/ 11576 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 10, 10/ 11577 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 11, 9/ 11578 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 12, 10/ 11579 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', 12, 11/ 11580 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 11, 12/ 11581 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', 10, 12/ 11582 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', 8, 11/ 11583 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', 5, 6/ 11584 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', 4, 5/ 11585 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', 2, 4/ 11586 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -2, 3/ 11587 DATA IOPERA( 204),IX( 204),IY( 204)/'MOVE', -2, 3/ 11588 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', 1, 2/ 11589 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', 2, 0/ 11590 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', 3, -7/ 11591 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', 4, -9/ 11592 DATA IOPERA( 209),IX( 209),IY( 209)/'MOVE', -2, 3/ 11593 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', 0, 2/ 11594 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', 1, 0/ 11595 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', 2, -7/ 11596 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 4, -9/ 11597 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 5, -9/ 11598 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', 7, -8/ 11599 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', 9, -6/ 11600C 11601 DATA IXMIND( 11)/ -12/ 11602 DATA IXMAXD( 11)/ 12/ 11603 DATA IXDELD( 11)/ 24/ 11604 DATA ISTARD( 11)/ 164/ 11605 DATA NUMCOO( 11)/ 53/ 11606C 11607C DEFINE CHARACTER 2562--UPPER CASE L 11608C 11609 DATA IOPERA( 217),IX( 217),IY( 217)/'MOVE', -5, 9/ 11610 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -6, 7/ 11611 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -6, 5/ 11612 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -5, 3/ 11613 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -3, 2/ 11614 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', 0, 2/ 11615 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', 3, 3/ 11616 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', 5, 4/ 11617 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', 8, 7/ 11618 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', 9, 10/ 11619 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', 9, 11/ 11620 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', 8, 12/ 11621 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', 7, 12/ 11622 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', 5, 11/ 11623 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', 4, 10/ 11624 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', 2, 7/ 11625 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', -2, -3/ 11626 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', -3, -5/ 11627 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', -5, -8/ 11628 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', -7, -9/ 11629 DATA IOPERA( 237),IX( 237),IY( 237)/'MOVE', 4, 10/ 11630 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', 2, 6/ 11631 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', 0, -1/ 11632 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', -1, -4/ 11633 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', -2, -6/ 11634 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -4, -8/ 11635 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', -7, -9/ 11636 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', -9, -9/ 11637 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', -10, -8/ 11638 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', -10, -6/ 11639 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -9, -5/ 11640 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', -7, -5/ 11641 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', -5, -6/ 11642 DATA IOPERA( 250),IX( 250),IY( 250)/'DRAW', -2, -8/ 11643 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', 0, -9/ 11644 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', 3, -9/ 11645 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', 5, -8/ 11646 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', 7, -6/ 11647C 11648 DATA IXMIND( 12)/ -9/ 11649 DATA IXMAXD( 12)/ 9/ 11650 DATA IXDELD( 12)/ 18/ 11651 DATA ISTARD( 12)/ 217/ 11652 DATA NUMCOO( 12)/ 38/ 11653C 11654C DEFINE CHARACTER 2563--UPPER CASE M 11655C 11656 DATA IOPERA( 255),IX( 255),IY( 255)/'MOVE', 0, 12/ 11657 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', -4, 3/ 11658 DATA IOPERA( 257),IX( 257),IY( 257)/'DRAW', -7, -3/ 11659 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', -9, -6/ 11660 DATA IOPERA( 259),IX( 259),IY( 259)/'DRAW', -11, -8/ 11661 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -13, -9/ 11662 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', -15, -9/ 11663 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', -16, -8/ 11664 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', -16, -6/ 11665 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', -15, -5/ 11666 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', -14, -6/ 11667 DATA IOPERA( 266),IX( 266),IY( 266)/'DRAW', -15, -7/ 11668 DATA IOPERA( 267),IX( 267),IY( 267)/'MOVE', 0, 12/ 11669 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', -2, 5/ 11670 DATA IOPERA( 269),IX( 269),IY( 269)/'DRAW', -3, 1/ 11671 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', -4, -4/ 11672 DATA IOPERA( 271),IX( 271),IY( 271)/'DRAW', -4, -8/ 11673 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', -2, -9/ 11674 DATA IOPERA( 273),IX( 273),IY( 273)/'MOVE', 0, 12/ 11675 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', -1, 8/ 11676 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', -2, 3/ 11677 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', -3, -4/ 11678 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', -3, -8/ 11679 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -2, -9/ 11680 DATA IOPERA( 279),IX( 279),IY( 279)/'MOVE', 9, 12/ 11681 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', 5, 3/ 11682 DATA IOPERA( 281),IX( 281),IY( 281)/'DRAW', 0, -6/ 11683 DATA IOPERA( 282),IX( 282),IY( 282)/'DRAW', -2, -9/ 11684 DATA IOPERA( 283),IX( 283),IY( 283)/'MOVE', 9, 12/ 11685 DATA IOPERA( 284),IX( 284),IY( 284)/'DRAW', 7, 5/ 11686 DATA IOPERA( 285),IX( 285),IY( 285)/'DRAW', 6, 1/ 11687 DATA IOPERA( 286),IX( 286),IY( 286)/'DRAW', 5, -4/ 11688 DATA IOPERA( 287),IX( 287),IY( 287)/'DRAW', 5, -8/ 11689 DATA IOPERA( 288),IX( 288),IY( 288)/'DRAW', 7, -9/ 11690 DATA IOPERA( 289),IX( 289),IY( 289)/'DRAW', 8, -9/ 11691 DATA IOPERA( 290),IX( 290),IY( 290)/'DRAW', 10, -8/ 11692 DATA IOPERA( 291),IX( 291),IY( 291)/'DRAW', 12, -6/ 11693 DATA IOPERA( 292),IX( 292),IY( 292)/'MOVE', 9, 12/ 11694 DATA IOPERA( 293),IX( 293),IY( 293)/'DRAW', 8, 8/ 11695 DATA IOPERA( 294),IX( 294),IY( 294)/'DRAW', 7, 3/ 11696 DATA IOPERA( 295),IX( 295),IY( 295)/'DRAW', 6, -4/ 11697 DATA IOPERA( 296),IX( 296),IY( 296)/'DRAW', 6, -8/ 11698 DATA IOPERA( 297),IX( 297),IY( 297)/'DRAW', 7, -9/ 11699C 11700 DATA IXMIND( 13)/ -14/ 11701 DATA IXMAXD( 13)/ 14/ 11702 DATA IXDELD( 13)/ 28/ 11703 DATA ISTARD( 13)/ 255/ 11704 DATA NUMCOO( 13)/ 43/ 11705C 11706C-----START POINT----------------------------------------------------- 11707C 11708 IFOUND='YES' 11709 IERROR='NO' 11710C 11711 NUMCO=1 11712 ISTART=1 11713 ISTOP=1 11714 NC=1 11715C 11716C ****************************************** 11717C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 11718C ** HERSHEY CHARACTER SET CASE ** 11719C ****************************************** 11720C 11721C 11722 IF(IBUGD2.EQ.'OFF')GOTO90 11723 WRITE(ICOUT,999) 11724 999 FORMAT(1X) 11725 CALL DPWRST('XXX','BUG ') 11726 WRITE(ICOUT,51) 11727 51 FORMAT('***** AT THE BEGINNING OF DRCSU2--') 11728 CALL DPWRST('XXX','BUG ') 11729 WRITE(ICOUT,52)ICHARN 11730 52 FORMAT('ICHARN = ',I8) 11731 CALL DPWRST('XXX','BUG ') 11732 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 11733 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 11734 CALL DPWRST('XXX','BUG ') 11735 90 CONTINUE 11736C 11737C ************************************** 11738C ** STEP 2-- ** 11739C ** EXTRACT THE COORDINATES ** 11740C ** FOR THIS PARTICULAR CHARACTER. ** 11741C ************************************** 11742C 11743 ISTART=ISTARD(ICHARN) 11744 NC=NUMCOO(ICHARN) 11745 ISTOP=ISTART+NC-1 11746 J=0 11747 DO1100I=ISTART,ISTOP 11748 J=J+1 11749 IOP(J)=IOPERA(I) 11750 X(J)=IX(I) 11751 Y(J)=IY(I) 11752 1100 CONTINUE 11753 NUMCO=J 11754 IXMINS=IXMIND(ICHARN) 11755 IXMAXS=IXMAXD(ICHARN) 11756 IXDELS=IXDELD(ICHARN) 11757C 11758 GOTO9000 11759C 11760C ***************** 11761C ** STEP 90-- ** 11762C ** EXIT ** 11763C ***************** 11764C 11765 9000 CONTINUE 11766 IF(IBUGD2.EQ.'OFF')GOTO9090 11767 WRITE(ICOUT,999) 11768 CALL DPWRST('XXX','BUG ') 11769 WRITE(ICOUT,9011) 11770 9011 FORMAT('***** AT THE END OF DRCSU2--') 11771 CALL DPWRST('XXX','BUG ') 11772 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 11773 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 11774 CALL DPWRST('XXX','BUG ') 11775 WRITE(ICOUT,9013)ICHARN 11776 9013 FORMAT('ICHARN = ',I8) 11777 CALL DPWRST('XXX','BUG ') 11778 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 11779 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 11780 CALL DPWRST('XXX','BUG ') 11781 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 11782 DO9015I=1,NUMCO 11783 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 11784 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 11785 CALL DPWRST('XXX','BUG ') 11786 9015 CONTINUE 11787 9019 CONTINUE 11788 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 11789 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 11790 CALL DPWRST('XXX','BUG ') 11791 9090 CONTINUE 11792C 11793 RETURN 11794 END 11795 SUBROUTINE DRCSU3(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 11796 1IBUGD2,IFOUND,IERROR) 11797C 11798C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 11799C FOR ROMAN COMPLEX SCRIPT UPPER CASE (PART 3). 11800C WRITTEN BY--JAMES J. FILLIBEN 11801C STATISTICAL ENGINEERING DIVISION 11802C CENTER FOR APPLIED MATHEMATICS 11803C NATIONAL BUREAU OF STANDARDS 11804C WASHINGTON, D. C. 20234 11805C PHONE--301-921-3651 11806C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 11807C OF THE NATIONAL BUREAU OF STANDARDS. 11808C LANGUAGE--ANSI FORTRAN (1977) 11809C VERSION NUMBER--87/4 11810C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 11811C UPDATED --MAY 1982. 11812C UPDATED --MARCH 1987. 11813C 11814C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 11815C 11816 CHARACTER*4 IOP 11817 CHARACTER*4 IBUGD2 11818 CHARACTER*4 IFOUND 11819 CHARACTER*4 IERROR 11820C 11821 CHARACTER*4 IOPERA 11822C 11823C--------------------------------------------------------------------- 11824C 11825 DIMENSION IOP(*) 11826 DIMENSION X(*) 11827 DIMENSION Y(*) 11828C 11829 DIMENSION IOPERA(300) 11830 DIMENSION IX(300) 11831 DIMENSION IY(300) 11832C 11833 DIMENSION IXMIND(30) 11834 DIMENSION IXMAXD(30) 11835 DIMENSION IXDELD(30) 11836 DIMENSION ISTARD(30) 11837 DIMENSION NUMCOO(30) 11838C 11839C-----COMMON---------------------------------------------------------- 11840C 11841 INCLUDE 'DPCOP2.INC' 11842C 11843C-----DATA STATEMENTS------------------------------------------------- 11844C 11845C DEFINE CHARACTER 2564--UPPER CASE N 11846C 11847 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', 0, 12/ 11848 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -1, 8/ 11849 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -3, 2/ 11850 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -5, -3/ 11851 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -6, -5/ 11852 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -8, -8/ 11853 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -10, -9/ 11854 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -12, -9/ 11855 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -13, -8/ 11856 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -13, -6/ 11857 DATA IOPERA( 11),IX( 11),IY( 11)/'DRAW', -12, -5/ 11858 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -11, -6/ 11859 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -12, -7/ 11860 DATA IOPERA( 14),IX( 14),IY( 14)/'MOVE', 0, 12/ 11861 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', 0, 7/ 11862 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', 1, -4/ 11863 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', 2, -9/ 11864 DATA IOPERA( 18),IX( 18),IY( 18)/'MOVE', 0, 12/ 11865 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', 1, 7/ 11866 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 2, -4/ 11867 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 2, -9/ 11868 DATA IOPERA( 22),IX( 22),IY( 22)/'MOVE', 14, 11/ 11869 DATA IOPERA( 23),IX( 23),IY( 23)/'DRAW', 13, 10/ 11870 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 14, 9/ 11871 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', 15, 10/ 11872 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 15, 11/ 11873 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 14, 12/ 11874 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 12, 12/ 11875 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', 10, 11/ 11876 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', 8, 8/ 11877 DATA IOPERA( 31),IX( 31),IY( 31)/'DRAW', 7, 6/ 11878 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 5, 1/ 11879 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 3, -5/ 11880 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 2, -9/ 11881C 11882 DATA IXMIND( 14)/ -11/ 11883 DATA IXMAXD( 14)/ 12/ 11884 DATA IXDELD( 14)/ 23/ 11885 DATA ISTARD( 14)/ 1/ 11886 DATA NUMCOO( 14)/ 34/ 11887C 11888C DEFINE CHARACTER 2565--UPPER CASE O 11889C 11890 DATA IOPERA( 35),IX( 35),IY( 35)/'MOVE', 1, 12/ 11891 DATA IOPERA( 36),IX( 36),IY( 36)/'DRAW', -1, 11/ 11892 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -3, 9/ 11893 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -5, 6/ 11894 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -6, 4/ 11895 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -7, 0/ 11896 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -7, -4/ 11897 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -6, -7/ 11898 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -5, -8/ 11899 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', -3, -9/ 11900 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', -1, -9/ 11901 DATA IOPERA( 46),IX( 46),IY( 46)/'DRAW', 2, -8/ 11902 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', 4, -6/ 11903 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', 6, -3/ 11904 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', 7, -1/ 11905 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', 8, 3/ 11906 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', 8, 7/ 11907 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', 7, 10/ 11908 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', 6, 11/ 11909 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', 5, 11/ 11910 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 3, 10/ 11911 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', 1, 8/ 11912 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', -1, 4/ 11913 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', -2, -1/ 11914 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', -2, -4/ 11915 DATA IOPERA( 60),IX( 60),IY( 60)/'MOVE', -1, 11/ 11916 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', -3, 8/ 11917 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', -5, 4/ 11918 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', -6, 0/ 11919 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', -6, -4/ 11920 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', -5, -7/ 11921 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', -3, -9/ 11922C 11923 DATA IXMIND( 15)/ -10/ 11924 DATA IXMAXD( 15)/ 11/ 11925 DATA IXDELD( 15)/ 21/ 11926 DATA ISTARD( 15)/ 35/ 11927 DATA NUMCOO( 15)/ 32/ 11928C 11929C DEFINE CHARACTER 2566--UPPER CASE P 11930C 11931 DATA IOPERA( 67),IX( 67),IY( 67)/'MOVE', 3, 11/ 11932 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 2, 10/ 11933 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 1, 8/ 11934 DATA IOPERA( 70),IX( 70),IY( 70)/'DRAW', -1, 3/ 11935 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -3, -3/ 11936 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -4, -5/ 11937 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -6, -8/ 11938 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -8, -9/ 11939 DATA IOPERA( 75),IX( 75),IY( 75)/'MOVE', 2, 10/ 11940 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', 1, 7/ 11941 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', -1, -1/ 11942 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -2, -4/ 11943 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -3, -6/ 11944 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', -5, -8/ 11945 DATA IOPERA( 81),IX( 81),IY( 81)/'DRAW', -8, -9/ 11946 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', -10, -9/ 11947 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', -11, -8/ 11948 DATA IOPERA( 84),IX( 84),IY( 84)/'DRAW', -11, -6/ 11949 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', -10, -5/ 11950 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', -9, -6/ 11951 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', -10, -7/ 11952 DATA IOPERA( 88),IX( 88),IY( 88)/'MOVE', -3, 6/ 11953 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', -4, 4/ 11954 DATA IOPERA( 90),IX( 90),IY( 90)/'DRAW', -5, 3/ 11955 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', -7, 3/ 11956 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', -8, 4/ 11957 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', -8, 6/ 11958 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', -7, 8/ 11959 DATA IOPERA( 95),IX( 95),IY( 95)/'DRAW', -5, 10/ 11960 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', -3, 11/ 11961 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 0, 12/ 11962 DATA IOPERA( 98),IX( 98),IY( 98)/'DRAW', 4, 12/ 11963 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 7, 11/ 11964 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 8, 10/ 11965 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', 9, 8/ 11966 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 9, 5/ 11967 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 8, 3/ 11968 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', 7, 2/ 11969 DATA IOPERA( 105),IX( 105),IY( 105)/'DRAW', 4, 1/ 11970 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', 2, 1/ 11971 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', 0, 2/ 11972 DATA IOPERA( 108),IX( 108),IY( 108)/'MOVE', 4, 12/ 11973 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', 6, 11/ 11974 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', 7, 10/ 11975 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', 8, 8/ 11976 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', 8, 5/ 11977 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 7, 3/ 11978 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 6, 2/ 11979 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', 4, 1/ 11980C 11981 DATA IXMIND( 16)/ -12/ 11982 DATA IXMAXD( 16)/ 11/ 11983 DATA IXDELD( 16)/ 23/ 11984 DATA ISTARD( 16)/ 67/ 11985 DATA NUMCOO( 16)/ 49/ 11986C 11987C DEFINE CHARACTER 2567--UPPER CASE Q 11988C 11989 DATA IOPERA( 116),IX( 116),IY( 116)/'MOVE', 3, 8/ 11990 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', 3, 6/ 11991 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', 2, 4/ 11992 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', 1, 3/ 11993 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', -1, 2/ 11994 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', -3, 2/ 11995 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', -4, 4/ 11996 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -4, 6/ 11997 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', -3, 9/ 11998 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', -1, 11/ 11999 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', 2, 12/ 12000 DATA IOPERA( 127),IX( 127),IY( 127)/'DRAW', 5, 12/ 12001 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', 7, 11/ 12002 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', 8, 9/ 12003 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', 8, 5/ 12004 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 7, 2/ 12005 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', 5, -1/ 12006 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', 1, -5/ 12007 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', -2, -7/ 12008 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -4, -8/ 12009 DATA IOPERA( 136),IX( 136),IY( 136)/'DRAW', -7, -9/ 12010 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', -9, -9/ 12011 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', -10, -8/ 12012 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', -10, -6/ 12013 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', -9, -5/ 12014 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', -7, -5/ 12015 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', -5, -6/ 12016 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', -2, -8/ 12017 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', 1, -9/ 12018 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', 4, -9/ 12019 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', 6, -8/ 12020 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 8, -6/ 12021 DATA IOPERA( 148),IX( 148),IY( 148)/'MOVE', 5, 12/ 12022 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', 6, 11/ 12023 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', 7, 9/ 12024 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', 7, 5/ 12025 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', 6, 2/ 12026 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', 4, -1/ 12027 DATA IOPERA( 154),IX( 154),IY( 154)/'DRAW', 1, -4/ 12028 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -3, -7/ 12029 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -7, -9/ 12030C 12031 DATA IXMIND( 17)/ -10/ 12032 DATA IXMAXD( 17)/ 11/ 12033 DATA IXDELD( 17)/ 21/ 12034 DATA ISTARD( 17)/ 116/ 12035 DATA NUMCOO( 17)/ 41/ 12036C 12037C DEFINE CHARACTER 2568--UPPER CASE R 12038C 12039 DATA IOPERA( 157),IX( 157),IY( 157)/'MOVE', 3, 11/ 12040 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', 2, 10/ 12041 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', 1, 8/ 12042 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -1, 3/ 12043 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -3, -3/ 12044 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -4, -5/ 12045 DATA IOPERA( 163),IX( 163),IY( 163)/'DRAW', -6, -8/ 12046 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -8, -9/ 12047 DATA IOPERA( 165),IX( 165),IY( 165)/'MOVE', 2, 10/ 12048 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', 1, 7/ 12049 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', -1, -1/ 12050 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', -2, -4/ 12051 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', -3, -6/ 12052 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', -5, -8/ 12053 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', -8, -9/ 12054 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', -10, -9/ 12055 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', -11, -8/ 12056 DATA IOPERA( 174),IX( 174),IY( 174)/'DRAW', -11, -6/ 12057 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', -10, -5/ 12058 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', -9, -6/ 12059 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', -10, -7/ 12060 DATA IOPERA( 178),IX( 178),IY( 178)/'MOVE', -3, 6/ 12061 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', -4, 4/ 12062 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', -5, 3/ 12063 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', -7, 3/ 12064 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', -8, 4/ 12065 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', -8, 6/ 12066 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', -7, 8/ 12067 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -5, 10/ 12068 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', -3, 11/ 12069 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', 0, 12/ 12070 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', 5, 12/ 12071 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', 8, 11/ 12072 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', 9, 9/ 12073 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', 9, 7/ 12074 DATA IOPERA( 192),IX( 192),IY( 192)/'DRAW', 8, 5/ 12075 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 7, 4/ 12076 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 4, 3/ 12077 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 0, 3/ 12078 DATA IOPERA( 196),IX( 196),IY( 196)/'MOVE', 5, 12/ 12079 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 7, 11/ 12080 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', 8, 9/ 12081 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', 8, 7/ 12082 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', 7, 5/ 12083 DATA IOPERA( 201),IX( 201),IY( 201)/'DRAW', 6, 4/ 12084 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', 4, 3/ 12085 DATA IOPERA( 203),IX( 203),IY( 203)/'MOVE', 0, 3/ 12086 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', 3, 2/ 12087 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', 4, 0/ 12088 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', 5, -7/ 12089 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', 6, -9/ 12090 DATA IOPERA( 208),IX( 208),IY( 208)/'MOVE', 0, 3/ 12091 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', 2, 2/ 12092 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', 3, 0/ 12093 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', 4, -7/ 12094 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', 6, -9/ 12095 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 7, -9/ 12096 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 9, -8/ 12097 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', 11, -6/ 12098C 12099 DATA IXMIND( 18)/ -12/ 12100 DATA IXMAXD( 18)/ 12/ 12101 DATA IXDELD( 18)/ 24/ 12102 DATA ISTARD( 18)/ 157/ 12103 DATA NUMCOO( 18)/ 59/ 12104C 12105C DEFINE CHARACTER 2569--UPPER CASE S 12106C 12107 DATA IOPERA( 216),IX( 216),IY( 216)/'MOVE', -4, 9/ 12108 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', -5, 7/ 12109 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -5, 5/ 12110 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -4, 3/ 12111 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -2, 2/ 12112 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', 1, 2/ 12113 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', 4, 3/ 12114 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', 6, 4/ 12115 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', 9, 7/ 12116 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', 10, 10/ 12117 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', 10, 11/ 12118 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', 9, 12/ 12119 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', 8, 12/ 12120 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', 6, 11/ 12121 DATA IOPERA( 230),IX( 230),IY( 230)/'DRAW', 5, 10/ 12122 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', 4, 8/ 12123 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', 3, 5/ 12124 DATA IOPERA( 233),IX( 233),IY( 233)/'DRAW', 1, -2/ 12125 DATA IOPERA( 234),IX( 234),IY( 234)/'DRAW', 0, -5/ 12126 DATA IOPERA( 235),IX( 235),IY( 235)/'DRAW', -2, -8/ 12127 DATA IOPERA( 236),IX( 236),IY( 236)/'DRAW', -4, -9/ 12128 DATA IOPERA( 237),IX( 237),IY( 237)/'MOVE', 4, 8/ 12129 DATA IOPERA( 238),IX( 238),IY( 238)/'DRAW', 3, 4/ 12130 DATA IOPERA( 239),IX( 239),IY( 239)/'DRAW', 2, -3/ 12131 DATA IOPERA( 240),IX( 240),IY( 240)/'DRAW', 1, -6/ 12132 DATA IOPERA( 241),IX( 241),IY( 241)/'DRAW', -1, -8/ 12133 DATA IOPERA( 242),IX( 242),IY( 242)/'DRAW', -4, -9/ 12134 DATA IOPERA( 243),IX( 243),IY( 243)/'DRAW', -7, -9/ 12135 DATA IOPERA( 244),IX( 244),IY( 244)/'DRAW', -9, -8/ 12136 DATA IOPERA( 245),IX( 245),IY( 245)/'DRAW', -10, -6/ 12137 DATA IOPERA( 246),IX( 246),IY( 246)/'DRAW', -10, -5/ 12138 DATA IOPERA( 247),IX( 247),IY( 247)/'DRAW', -9, -4/ 12139 DATA IOPERA( 248),IX( 248),IY( 248)/'DRAW', -8, -5/ 12140 DATA IOPERA( 249),IX( 249),IY( 249)/'DRAW', -9, -6/ 12141C 12142 DATA IXMIND( 19)/ -10/ 12143 DATA IXMAXD( 19)/ 10/ 12144 DATA IXDELD( 19)/ 20/ 12145 DATA ISTARD( 19)/ 216/ 12146 DATA NUMCOO( 19)/ 34/ 12147C 12148C DEFINE CHARACTER 2570--UPPER CASE T 12149C 12150 DATA IOPERA( 250),IX( 250),IY( 250)/'MOVE', 7, 10/ 12151 DATA IOPERA( 251),IX( 251),IY( 251)/'DRAW', 6, 8/ 12152 DATA IOPERA( 252),IX( 252),IY( 252)/'DRAW', 4, 3/ 12153 DATA IOPERA( 253),IX( 253),IY( 253)/'DRAW', 2, -3/ 12154 DATA IOPERA( 254),IX( 254),IY( 254)/'DRAW', 1, -5/ 12155 DATA IOPERA( 255),IX( 255),IY( 255)/'DRAW', -1, -8/ 12156 DATA IOPERA( 256),IX( 256),IY( 256)/'DRAW', -3, -9/ 12157 DATA IOPERA( 257),IX( 257),IY( 257)/'MOVE', 1, 6/ 12158 DATA IOPERA( 258),IX( 258),IY( 258)/'DRAW', 0, 4/ 12159 DATA IOPERA( 259),IX( 259),IY( 259)/'DRAW', -2, 3/ 12160 DATA IOPERA( 260),IX( 260),IY( 260)/'DRAW', -4, 3/ 12161 DATA IOPERA( 261),IX( 261),IY( 261)/'DRAW', -5, 5/ 12162 DATA IOPERA( 262),IX( 262),IY( 262)/'DRAW', -5, 7/ 12163 DATA IOPERA( 263),IX( 263),IY( 263)/'DRAW', -4, 9/ 12164 DATA IOPERA( 264),IX( 264),IY( 264)/'DRAW', -2, 11/ 12165 DATA IOPERA( 265),IX( 265),IY( 265)/'DRAW', 1, 12/ 12166 DATA IOPERA( 266),IX( 266),IY( 266)/'DRAW', 10, 12/ 12167 DATA IOPERA( 267),IX( 267),IY( 267)/'DRAW', 8, 11/ 12168 DATA IOPERA( 268),IX( 268),IY( 268)/'DRAW', 7, 10/ 12169 DATA IOPERA( 269),IX( 269),IY( 269)/'DRAW', 6, 7/ 12170 DATA IOPERA( 270),IX( 270),IY( 270)/'DRAW', 4, -1/ 12171 DATA IOPERA( 271),IX( 271),IY( 271)/'DRAW', 3, -4/ 12172 DATA IOPERA( 272),IX( 272),IY( 272)/'DRAW', 2, -6/ 12173 DATA IOPERA( 273),IX( 273),IY( 273)/'DRAW', 0, -8/ 12174 DATA IOPERA( 274),IX( 274),IY( 274)/'DRAW', -3, -9/ 12175 DATA IOPERA( 275),IX( 275),IY( 275)/'DRAW', -5, -9/ 12176 DATA IOPERA( 276),IX( 276),IY( 276)/'DRAW', -7, -8/ 12177 DATA IOPERA( 277),IX( 277),IY( 277)/'DRAW', -8, -7/ 12178 DATA IOPERA( 278),IX( 278),IY( 278)/'DRAW', -8, -6/ 12179 DATA IOPERA( 279),IX( 279),IY( 279)/'DRAW', -7, -5/ 12180 DATA IOPERA( 280),IX( 280),IY( 280)/'DRAW', -6, -6/ 12181 DATA IOPERA( 281),IX( 281),IY( 281)/'DRAW', -7, -7/ 12182 DATA IOPERA( 282),IX( 282),IY( 282)/'MOVE', 3, 12/ 12183 DATA IOPERA( 283),IX( 283),IY( 283)/'DRAW', 7, 11/ 12184 DATA IOPERA( 284),IX( 284),IY( 284)/'DRAW', 8, 11/ 12185C 12186 DATA IXMIND( 20)/ -9/ 12187 DATA IXMAXD( 20)/ 9/ 12188 DATA IXDELD( 20)/ 18/ 12189 DATA ISTARD( 20)/ 250/ 12190 DATA NUMCOO( 20)/ 35/ 12191C 12192C-----START POINT----------------------------------------------------- 12193C 12194 IFOUND='YES' 12195 IERROR='NO' 12196C 12197 NUMCO=1 12198 ISTART=1 12199 ISTOP=1 12200 NC=1 12201C 12202C ****************************************** 12203C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 12204C ** HERSHEY CHARACTER SET CASE ** 12205C ****************************************** 12206C 12207C 12208 IF(IBUGD2.EQ.'OFF')GOTO90 12209 WRITE(ICOUT,999) 12210 999 FORMAT(1X) 12211 CALL DPWRST('XXX','BUG ') 12212 WRITE(ICOUT,51) 12213 51 FORMAT('***** AT THE BEGINNING OF DRCSU3--') 12214 CALL DPWRST('XXX','BUG ') 12215 WRITE(ICOUT,52)ICHARN 12216 52 FORMAT('ICHARN = ',I8) 12217 CALL DPWRST('XXX','BUG ') 12218 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 12219 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 12220 CALL DPWRST('XXX','BUG ') 12221 90 CONTINUE 12222C 12223C ************************************** 12224C ** STEP 2-- ** 12225C ** EXTRACT THE COORDINATES ** 12226C ** FOR THIS PARTICULAR CHARACTER. ** 12227C ************************************** 12228C 12229 ISTART=ISTARD(ICHARN) 12230 NC=NUMCOO(ICHARN) 12231 ISTOP=ISTART+NC-1 12232 J=0 12233 DO1100I=ISTART,ISTOP 12234 J=J+1 12235 IOP(J)=IOPERA(I) 12236 X(J)=IX(I) 12237 Y(J)=IY(I) 12238 1100 CONTINUE 12239 NUMCO=J 12240 IXMINS=IXMIND(ICHARN) 12241 IXMAXS=IXMAXD(ICHARN) 12242 IXDELS=IXDELD(ICHARN) 12243C 12244 GOTO9000 12245C 12246C ***************** 12247C ** STEP 90-- ** 12248C ** EXIT ** 12249C ***************** 12250C 12251 9000 CONTINUE 12252 IF(IBUGD2.EQ.'OFF')GOTO9090 12253 WRITE(ICOUT,999) 12254 CALL DPWRST('XXX','BUG ') 12255 WRITE(ICOUT,9011) 12256 9011 FORMAT('***** AT THE END OF DRCSU3--') 12257 CALL DPWRST('XXX','BUG ') 12258 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 12259 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 12260 CALL DPWRST('XXX','BUG ') 12261 WRITE(ICOUT,9013)ICHARN 12262 9013 FORMAT('ICHARN = ',I8) 12263 CALL DPWRST('XXX','BUG ') 12264 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 12265 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 12266 CALL DPWRST('XXX','BUG ') 12267 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 12268 DO9015I=1,NUMCO 12269 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 12270 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 12271 CALL DPWRST('XXX','BUG ') 12272 9015 CONTINUE 12273 9019 CONTINUE 12274 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 12275 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 12276 CALL DPWRST('XXX','BUG ') 12277 9090 CONTINUE 12278C 12279 RETURN 12280 END 12281 SUBROUTINE DRCSU4(ICHARN,IOP,X,Y,NUMCO,IXMINS,IXMAXS,IXDELS, 12282 1IBUGD2,IFOUND,IERROR) 12283C 12284C PURPOSE--DEFINE AND SET THE HERSHEY CHARACTER SET COORDINATES 12285C FOR ROMAN COMPLEX SCRIPT UPPER CASE (PART 4). 12286C WRITTEN BY--JAMES J. FILLIBEN 12287C STATISTICAL ENGINEERING DIVISION 12288C CENTER FOR APPLIED MATHEMATICS 12289C NATIONAL BUREAU OF STANDARDS 12290C WASHINGTON, D. C. 20234 12291C PHONE--301-921-3651 12292C NOTE--DATAPLOT IS A REGISTERED TRADEMARK 12293C OF THE NATIONAL BUREAU OF STANDARDS. 12294C LANGUAGE--ANSI FORTRAN (1977) 12295C VERSION NUMBER--87/4 12296C ORIGINAL VERSION (AS A SEPARATE SUBROUTINE)--MARCH 1981. 12297C UPDATED --MAY 1982. 12298C UPDATED --MARCH 1987. 12299C 12300C-----CHARACTER STATEMENTS FOR NON-COMMON VARIABLES------------------- 12301C 12302 CHARACTER*4 IOP 12303 CHARACTER*4 IBUGD2 12304 CHARACTER*4 IFOUND 12305 CHARACTER*4 IERROR 12306C 12307 CHARACTER*4 IOPERA 12308C 12309C--------------------------------------------------------------------- 12310C 12311 DIMENSION IOP(*) 12312 DIMENSION X(*) 12313 DIMENSION Y(*) 12314C 12315 DIMENSION IOPERA(300) 12316 DIMENSION IX(300) 12317 DIMENSION IY(300) 12318C 12319 DIMENSION IXMIND(30) 12320 DIMENSION IXMAXD(30) 12321 DIMENSION IXDELD(30) 12322 DIMENSION ISTARD(30) 12323 DIMENSION NUMCOO(30) 12324C 12325C-----COMMON---------------------------------------------------------- 12326C 12327 INCLUDE 'DPCOP2.INC' 12328C 12329C-----DATA STATEMENTS------------------------------------------------- 12330C 12331C DEFINE CHARACTER 2571--UPPER CASE U 12332C 12333 DATA IOPERA( 1),IX( 1),IY( 1)/'MOVE', -10, 8/ 12334 DATA IOPERA( 2),IX( 2),IY( 2)/'DRAW', -8, 11/ 12335 DATA IOPERA( 3),IX( 3),IY( 3)/'DRAW', -6, 12/ 12336 DATA IOPERA( 4),IX( 4),IY( 4)/'DRAW', -5, 12/ 12337 DATA IOPERA( 5),IX( 5),IY( 5)/'DRAW', -3, 10/ 12338 DATA IOPERA( 6),IX( 6),IY( 6)/'DRAW', -3, 7/ 12339 DATA IOPERA( 7),IX( 7),IY( 7)/'DRAW', -4, 4/ 12340 DATA IOPERA( 8),IX( 8),IY( 8)/'DRAW', -7, -4/ 12341 DATA IOPERA( 9),IX( 9),IY( 9)/'DRAW', -7, -7/ 12342 DATA IOPERA( 10),IX( 10),IY( 10)/'DRAW', -6, -9/ 12343 DATA IOPERA( 11),IX( 11),IY( 11)/'MOVE', -5, 12/ 12344 DATA IOPERA( 12),IX( 12),IY( 12)/'DRAW', -4, 10/ 12345 DATA IOPERA( 13),IX( 13),IY( 13)/'DRAW', -4, 7/ 12346 DATA IOPERA( 14),IX( 14),IY( 14)/'DRAW', -7, -1/ 12347 DATA IOPERA( 15),IX( 15),IY( 15)/'DRAW', -8, -4/ 12348 DATA IOPERA( 16),IX( 16),IY( 16)/'DRAW', -8, -7/ 12349 DATA IOPERA( 17),IX( 17),IY( 17)/'DRAW', -6, -9/ 12350 DATA IOPERA( 18),IX( 18),IY( 18)/'DRAW', -4, -9/ 12351 DATA IOPERA( 19),IX( 19),IY( 19)/'DRAW', -2, -8/ 12352 DATA IOPERA( 20),IX( 20),IY( 20)/'DRAW', 1, -5/ 12353 DATA IOPERA( 21),IX( 21),IY( 21)/'DRAW', 3, -2/ 12354 DATA IOPERA( 22),IX( 22),IY( 22)/'DRAW', 4, 0/ 12355 DATA IOPERA( 23),IX( 23),IY( 23)/'MOVE', 8, 12/ 12356 DATA IOPERA( 24),IX( 24),IY( 24)/'DRAW', 4, 0/ 12357 DATA IOPERA( 25),IX( 25),IY( 25)/'DRAW', 3, -4/ 12358 DATA IOPERA( 26),IX( 26),IY( 26)/'DRAW', 3, -7/ 12359 DATA IOPERA( 27),IX( 27),IY( 27)/'DRAW', 5, -9/ 12360 DATA IOPERA( 28),IX( 28),IY( 28)/'DRAW', 6, -9/ 12361 DATA IOPERA( 29),IX( 29),IY( 29)/'DRAW', 8, -8/ 12362 DATA IOPERA( 30),IX( 30),IY( 30)/'DRAW', 10, -6/ 12363 DATA IOPERA( 31),IX( 31),IY( 31)/'MOVE', 9, 12/ 12364 DATA IOPERA( 32),IX( 32),IY( 32)/'DRAW', 5, 0/ 12365 DATA IOPERA( 33),IX( 33),IY( 33)/'DRAW', 4, -4/ 12366 DATA IOPERA( 34),IX( 34),IY( 34)/'DRAW', 4, -7/ 12367 DATA IOPERA( 35),IX( 35),IY( 35)/'DRAW', 5, -9/ 12368C 12369 DATA IXMIND( 21)/ -11/ 12370 DATA IXMAXD( 21)/ 11/ 12371 DATA IXDELD( 21)/ 22/ 12372 DATA ISTARD( 21)/ 1/ 12373 DATA NUMCOO( 21)/ 35/ 12374C 12375C DEFINE CHARACTER 2572--UPPER CASE V 12376C 12377 DATA IOPERA( 36),IX( 36),IY( 36)/'MOVE', -10, 8/ 12378 DATA IOPERA( 37),IX( 37),IY( 37)/'DRAW', -8, 11/ 12379 DATA IOPERA( 38),IX( 38),IY( 38)/'DRAW', -6, 12/ 12380 DATA IOPERA( 39),IX( 39),IY( 39)/'DRAW', -5, 12/ 12381 DATA IOPERA( 40),IX( 40),IY( 40)/'DRAW', -3, 10/ 12382 DATA IOPERA( 41),IX( 41),IY( 41)/'DRAW', -3, 7/ 12383 DATA IOPERA( 42),IX( 42),IY( 42)/'DRAW', -4, 3/ 12384 DATA IOPERA( 43),IX( 43),IY( 43)/'DRAW', -6, -4/ 12385 DATA IOPERA( 44),IX( 44),IY( 44)/'DRAW', -6, -7/ 12386 DATA IOPERA( 45),IX( 45),IY( 45)/'DRAW', -5, -9/ 12387 DATA IOPERA( 46),IX( 46),IY( 46)/'MOVE', -5, 12/ 12388 DATA IOPERA( 47),IX( 47),IY( 47)/'DRAW', -4, 10/ 12389 DATA IOPERA( 48),IX( 48),IY( 48)/'DRAW', -4, 7/ 12390 DATA IOPERA( 49),IX( 49),IY( 49)/'DRAW', -6, 0/ 12391 DATA IOPERA( 50),IX( 50),IY( 50)/'DRAW', -7, -4/ 12392 DATA IOPERA( 51),IX( 51),IY( 51)/'DRAW', -7, -7/ 12393 DATA IOPERA( 52),IX( 52),IY( 52)/'DRAW', -5, -9/ 12394 DATA IOPERA( 53),IX( 53),IY( 53)/'DRAW', -4, -9/ 12395 DATA IOPERA( 54),IX( 54),IY( 54)/'DRAW', -1, -8/ 12396 DATA IOPERA( 55),IX( 55),IY( 55)/'DRAW', 2, -5/ 12397 DATA IOPERA( 56),IX( 56),IY( 56)/'DRAW', 4, -2/ 12398 DATA IOPERA( 57),IX( 57),IY( 57)/'DRAW', 6, 2/ 12399 DATA IOPERA( 58),IX( 58),IY( 58)/'DRAW', 7, 5/ 12400 DATA IOPERA( 59),IX( 59),IY( 59)/'DRAW', 8, 9/ 12401 DATA IOPERA( 60),IX( 60),IY( 60)/'DRAW', 8, 11/ 12402 DATA IOPERA( 61),IX( 61),IY( 61)/'DRAW', 7, 12/ 12403 DATA IOPERA( 62),IX( 62),IY( 62)/'DRAW', 6, 12/ 12404 DATA IOPERA( 63),IX( 63),IY( 63)/'DRAW', 5, 11/ 12405 DATA IOPERA( 64),IX( 64),IY( 64)/'DRAW', 4, 9/ 12406 DATA IOPERA( 65),IX( 65),IY( 65)/'DRAW', 4, 6/ 12407 DATA IOPERA( 66),IX( 66),IY( 66)/'DRAW', 5, 4/ 12408 DATA IOPERA( 67),IX( 67),IY( 67)/'DRAW', 7, 2/ 12409 DATA IOPERA( 68),IX( 68),IY( 68)/'DRAW', 9, 1/ 12410 DATA IOPERA( 69),IX( 69),IY( 69)/'DRAW', 11, 1/ 12411C 12412 DATA IXMIND( 22)/ -11/ 12413 DATA IXMAXD( 22)/ 10/ 12414 DATA IXDELD( 22)/ 21/ 12415 DATA ISTARD( 22)/ 36/ 12416 DATA NUMCOO( 22)/ 34/ 12417C 12418C DEFINE CHARACTER 2573--UPPER CASE W 12419C 12420 DATA IOPERA( 70),IX( 70),IY( 70)/'MOVE', -9, 6/ 12421 DATA IOPERA( 71),IX( 71),IY( 71)/'DRAW', -10, 6/ 12422 DATA IOPERA( 72),IX( 72),IY( 72)/'DRAW', -11, 7/ 12423 DATA IOPERA( 73),IX( 73),IY( 73)/'DRAW', -11, 9/ 12424 DATA IOPERA( 74),IX( 74),IY( 74)/'DRAW', -10, 11/ 12425 DATA IOPERA( 75),IX( 75),IY( 75)/'DRAW', -8, 12/ 12426 DATA IOPERA( 76),IX( 76),IY( 76)/'DRAW', -4, 12/ 12427 DATA IOPERA( 77),IX( 77),IY( 77)/'DRAW', -5, 10/ 12428 DATA IOPERA( 78),IX( 78),IY( 78)/'DRAW', -6, 6/ 12429 DATA IOPERA( 79),IX( 79),IY( 79)/'DRAW', -7, -3/ 12430 DATA IOPERA( 80),IX( 80),IY( 80)/'DRAW', -8, -9/ 12431 DATA IOPERA( 81),IX( 81),IY( 81)/'MOVE', -6, 6/ 12432 DATA IOPERA( 82),IX( 82),IY( 82)/'DRAW', -6, -3/ 12433 DATA IOPERA( 83),IX( 83),IY( 83)/'DRAW', -7, -9/ 12434 DATA IOPERA( 84),IX( 84),IY( 84)/'MOVE', 4, 12/ 12435 DATA IOPERA( 85),IX( 85),IY( 85)/'DRAW', 2, 10/ 12436 DATA IOPERA( 86),IX( 86),IY( 86)/'DRAW', 0, 6/ 12437 DATA IOPERA( 87),IX( 87),IY( 87)/'DRAW', -3, -3/ 12438 DATA IOPERA( 88),IX( 88),IY( 88)/'DRAW', -5, -7/ 12439 DATA IOPERA( 89),IX( 89),IY( 89)/'DRAW', -7, -9/ 12440 DATA IOPERA( 90),IX( 90),IY( 90)/'MOVE', 4, 12/ 12441 DATA IOPERA( 91),IX( 91),IY( 91)/'DRAW', 3, 10/ 12442 DATA IOPERA( 92),IX( 92),IY( 92)/'DRAW', 2, 6/ 12443 DATA IOPERA( 93),IX( 93),IY( 93)/'DRAW', 1, -3/ 12444 DATA IOPERA( 94),IX( 94),IY( 94)/'DRAW', 0, -9/ 12445 DATA IOPERA( 95),IX( 95),IY( 95)/'MOVE', 2, 6/ 12446 DATA IOPERA( 96),IX( 96),IY( 96)/'DRAW', 2, -3/ 12447 DATA IOPERA( 97),IX( 97),IY( 97)/'DRAW', 1, -9/ 12448 DATA IOPERA( 98),IX( 98),IY( 98)/'MOVE', 14, 12/ 12449 DATA IOPERA( 99),IX( 99),IY( 99)/'DRAW', 12, 11/ 12450 DATA IOPERA( 100),IX( 100),IY( 100)/'DRAW', 10, 9/ 12451 DATA IOPERA( 101),IX( 101),IY( 101)/'DRAW', 8, 6/ 12452 DATA IOPERA( 102),IX( 102),IY( 102)/'DRAW', 5, -3/ 12453 DATA IOPERA( 103),IX( 103),IY( 103)/'DRAW', 3, -7/ 12454 DATA IOPERA( 104),IX( 104),IY( 104)/'DRAW', 1, -9/ 12455C 12456 DATA IXMIND( 23)/ -12/ 12457 DATA IXMAXD( 23)/ 11/ 12458 DATA IXDELD( 23)/ 23/ 12459 DATA ISTARD( 23)/ 70/ 12460 DATA NUMCOO( 23)/ 35/ 12461C 12462C DEFINE CHARACTER 2574--UPPER CASE X 12463C 12464 DATA IOPERA( 105),IX( 105),IY( 105)/'MOVE', -2, 7/ 12465 DATA IOPERA( 106),IX( 106),IY( 106)/'DRAW', -3, 6/ 12466 DATA IOPERA( 107),IX( 107),IY( 107)/'DRAW', -5, 6/ 12467 DATA IOPERA( 108),IX( 108),IY( 108)/'DRAW', -6, 7/ 12468 DATA IOPERA( 109),IX( 109),IY( 109)/'DRAW', -6, 9/ 12469 DATA IOPERA( 110),IX( 110),IY( 110)/'DRAW', -5, 11/ 12470 DATA IOPERA( 111),IX( 111),IY( 111)/'DRAW', -3, 12/ 12471 DATA IOPERA( 112),IX( 112),IY( 112)/'DRAW', -1, 12/ 12472 DATA IOPERA( 113),IX( 113),IY( 113)/'DRAW', 1, 11/ 12473 DATA IOPERA( 114),IX( 114),IY( 114)/'DRAW', 2, 9/ 12474 DATA IOPERA( 115),IX( 115),IY( 115)/'DRAW', 2, 6/ 12475 DATA IOPERA( 116),IX( 116),IY( 116)/'DRAW', 1, 2/ 12476 DATA IOPERA( 117),IX( 117),IY( 117)/'DRAW', -1, -3/ 12477 DATA IOPERA( 118),IX( 118),IY( 118)/'DRAW', -3, -6/ 12478 DATA IOPERA( 119),IX( 119),IY( 119)/'DRAW', -5, -8/ 12479 DATA IOPERA( 120),IX( 120),IY( 120)/'DRAW', -8, -9/ 12480 DATA IOPERA( 121),IX( 121),IY( 121)/'DRAW', -10, -9/ 12481 DATA IOPERA( 122),IX( 122),IY( 122)/'DRAW', -11, -8/ 12482 DATA IOPERA( 123),IX( 123),IY( 123)/'DRAW', -11, -6/ 12483 DATA IOPERA( 124),IX( 124),IY( 124)/'DRAW', -10, -5/ 12484 DATA IOPERA( 125),IX( 125),IY( 125)/'DRAW', -9, -6/ 12485 DATA IOPERA( 126),IX( 126),IY( 126)/'DRAW', -10, -7/ 12486 DATA IOPERA( 127),IX( 127),IY( 127)/'MOVE', -1, 12/ 12487 DATA IOPERA( 128),IX( 128),IY( 128)/'DRAW', 0, 11/ 12488 DATA IOPERA( 129),IX( 129),IY( 129)/'DRAW', 1, 9/ 12489 DATA IOPERA( 130),IX( 130),IY( 130)/'DRAW', 1, 6/ 12490 DATA IOPERA( 131),IX( 131),IY( 131)/'DRAW', 0, 2/ 12491 DATA IOPERA( 132),IX( 132),IY( 132)/'DRAW', -2, -3/ 12492 DATA IOPERA( 133),IX( 133),IY( 133)/'DRAW', -4, -6/ 12493 DATA IOPERA( 134),IX( 134),IY( 134)/'DRAW', -6, -8/ 12494 DATA IOPERA( 135),IX( 135),IY( 135)/'DRAW', -8, -9/ 12495 DATA IOPERA( 136),IX( 136),IY( 136)/'MOVE', 11, 11/ 12496 DATA IOPERA( 137),IX( 137),IY( 137)/'DRAW', 10, 10/ 12497 DATA IOPERA( 138),IX( 138),IY( 138)/'DRAW', 11, 9/ 12498 DATA IOPERA( 139),IX( 139),IY( 139)/'DRAW', 12, 10/ 12499 DATA IOPERA( 140),IX( 140),IY( 140)/'DRAW', 12, 11/ 12500 DATA IOPERA( 141),IX( 141),IY( 141)/'DRAW', 11, 12/ 12501 DATA IOPERA( 142),IX( 142),IY( 142)/'DRAW', 9, 12/ 12502 DATA IOPERA( 143),IX( 143),IY( 143)/'DRAW', 7, 11/ 12503 DATA IOPERA( 144),IX( 144),IY( 144)/'DRAW', 5, 9/ 12504 DATA IOPERA( 145),IX( 145),IY( 145)/'DRAW', 3, 6/ 12505 DATA IOPERA( 146),IX( 146),IY( 146)/'DRAW', 1, 2/ 12506 DATA IOPERA( 147),IX( 147),IY( 147)/'DRAW', 0, -3/ 12507 DATA IOPERA( 148),IX( 148),IY( 148)/'DRAW', 0, -6/ 12508 DATA IOPERA( 149),IX( 149),IY( 149)/'DRAW', 1, -8/ 12509 DATA IOPERA( 150),IX( 150),IY( 150)/'DRAW', 2, -9/ 12510 DATA IOPERA( 151),IX( 151),IY( 151)/'DRAW', 3, -9/ 12511 DATA IOPERA( 152),IX( 152),IY( 152)/'DRAW', 5, -8/ 12512 DATA IOPERA( 153),IX( 153),IY( 153)/'DRAW', 7, -6/ 12513C 12514 DATA IXMIND( 24)/ -10/ 12515 DATA IXMAXD( 24)/ 10/ 12516 DATA IXDELD( 24)/ 20/ 12517 DATA ISTARD( 24)/ 105/ 12518 DATA NUMCOO( 24)/ 49/ 12519C 12520C DEFINE CHARACTER 2575--UPPER CASE Y 12521C 12522 DATA IOPERA( 154),IX( 154),IY( 154)/'MOVE', -8, 8/ 12523 DATA IOPERA( 155),IX( 155),IY( 155)/'DRAW', -6, 11/ 12524 DATA IOPERA( 156),IX( 156),IY( 156)/'DRAW', -4, 12/ 12525 DATA IOPERA( 157),IX( 157),IY( 157)/'DRAW', -3, 12/ 12526 DATA IOPERA( 158),IX( 158),IY( 158)/'DRAW', -1, 11/ 12527 DATA IOPERA( 159),IX( 159),IY( 159)/'DRAW', -1, 9/ 12528 DATA IOPERA( 160),IX( 160),IY( 160)/'DRAW', -3, 3/ 12529 DATA IOPERA( 161),IX( 161),IY( 161)/'DRAW', -3, 0/ 12530 DATA IOPERA( 162),IX( 162),IY( 162)/'DRAW', -2, -2/ 12531 DATA IOPERA( 163),IX( 163),IY( 163)/'MOVE', -3, 12/ 12532 DATA IOPERA( 164),IX( 164),IY( 164)/'DRAW', -2, 11/ 12533 DATA IOPERA( 165),IX( 165),IY( 165)/'DRAW', -2, 9/ 12534 DATA IOPERA( 166),IX( 166),IY( 166)/'DRAW', -4, 3/ 12535 DATA IOPERA( 167),IX( 167),IY( 167)/'DRAW', -4, 0/ 12536 DATA IOPERA( 168),IX( 168),IY( 168)/'DRAW', -2, -2/ 12537 DATA IOPERA( 169),IX( 169),IY( 169)/'DRAW', 0, -2/ 12538 DATA IOPERA( 170),IX( 170),IY( 170)/'DRAW', 3, -1/ 12539 DATA IOPERA( 171),IX( 171),IY( 171)/'DRAW', 5, 1/ 12540 DATA IOPERA( 172),IX( 172),IY( 172)/'DRAW', 7, 4/ 12541 DATA IOPERA( 173),IX( 173),IY( 173)/'DRAW', 8, 6/ 12542 DATA IOPERA( 174),IX( 174),IY( 174)/'MOVE', 10, 12/ 12543 DATA IOPERA( 175),IX( 175),IY( 175)/'DRAW', 8, 6/ 12544 DATA IOPERA( 176),IX( 176),IY( 176)/'DRAW', 5, -2/ 12545 DATA IOPERA( 177),IX( 177),IY( 177)/'DRAW', 3, -6/ 12546 DATA IOPERA( 178),IX( 178),IY( 178)/'MOVE', 11, 12/ 12547 DATA IOPERA( 179),IX( 179),IY( 179)/'DRAW', 9, 6/ 12548 DATA IOPERA( 180),IX( 180),IY( 180)/'DRAW', 7, 1/ 12549 DATA IOPERA( 181),IX( 181),IY( 181)/'DRAW', 5, -3/ 12550 DATA IOPERA( 182),IX( 182),IY( 182)/'DRAW', 3, -6/ 12551 DATA IOPERA( 183),IX( 183),IY( 183)/'DRAW', 1, -8/ 12552 DATA IOPERA( 184),IX( 184),IY( 184)/'DRAW', -2, -9/ 12553 DATA IOPERA( 185),IX( 185),IY( 185)/'DRAW', -6, -9/ 12554 DATA IOPERA( 186),IX( 186),IY( 186)/'DRAW', -8, -8/ 12555 DATA IOPERA( 187),IX( 187),IY( 187)/'DRAW', -9, -6/ 12556 DATA IOPERA( 188),IX( 188),IY( 188)/'DRAW', -9, -5/ 12557 DATA IOPERA( 189),IX( 189),IY( 189)/'DRAW', -8, -4/ 12558 DATA IOPERA( 190),IX( 190),IY( 190)/'DRAW', -7, -5/ 12559 DATA IOPERA( 191),IX( 191),IY( 191)/'DRAW', -8, -6/ 12560C 12561 DATA IXMIND( 25)/ -11/ 12562 DATA IXMAXD( 25)/ 11/ 12563 DATA IXDELD( 25)/ 22/ 12564 DATA ISTARD( 25)/ 154/ 12565 DATA NUMCOO( 25)/ 38/ 12566C 12567C DEFINE CHARACTER 2576--UPPER CASE Z 12568C 12569 DATA IOPERA( 192),IX( 192),IY( 192)/'MOVE', 8, 10/ 12570 DATA IOPERA( 193),IX( 193),IY( 193)/'DRAW', 7, 8/ 12571 DATA IOPERA( 194),IX( 194),IY( 194)/'DRAW', 5, 3/ 12572 DATA IOPERA( 195),IX( 195),IY( 195)/'DRAW', 4, 0/ 12573 DATA IOPERA( 196),IX( 196),IY( 196)/'DRAW', 3, -2/ 12574 DATA IOPERA( 197),IX( 197),IY( 197)/'DRAW', 1, -5/ 12575 DATA IOPERA( 198),IX( 198),IY( 198)/'DRAW', -1, -7/ 12576 DATA IOPERA( 199),IX( 199),IY( 199)/'DRAW', -3, -8/ 12577 DATA IOPERA( 200),IX( 200),IY( 200)/'DRAW', -6, -9/ 12578 DATA IOPERA( 201),IX( 201),IY( 201)/'MOVE', 1, 6/ 12579 DATA IOPERA( 202),IX( 202),IY( 202)/'DRAW', 0, 4/ 12580 DATA IOPERA( 203),IX( 203),IY( 203)/'DRAW', -2, 3/ 12581 DATA IOPERA( 204),IX( 204),IY( 204)/'DRAW', -4, 3/ 12582 DATA IOPERA( 205),IX( 205),IY( 205)/'DRAW', -5, 5/ 12583 DATA IOPERA( 206),IX( 206),IY( 206)/'DRAW', -5, 7/ 12584 DATA IOPERA( 207),IX( 207),IY( 207)/'DRAW', -4, 9/ 12585 DATA IOPERA( 208),IX( 208),IY( 208)/'DRAW', -2, 11/ 12586 DATA IOPERA( 209),IX( 209),IY( 209)/'DRAW', 1, 12/ 12587 DATA IOPERA( 210),IX( 210),IY( 210)/'DRAW', 11, 12/ 12588 DATA IOPERA( 211),IX( 211),IY( 211)/'DRAW', 9, 11/ 12589 DATA IOPERA( 212),IX( 212),IY( 212)/'DRAW', 8, 10/ 12590 DATA IOPERA( 213),IX( 213),IY( 213)/'DRAW', 7, 7/ 12591 DATA IOPERA( 214),IX( 214),IY( 214)/'DRAW', 6, 3/ 12592 DATA IOPERA( 215),IX( 215),IY( 215)/'DRAW', 4, -3/ 12593 DATA IOPERA( 216),IX( 216),IY( 216)/'DRAW', 2, -6/ 12594 DATA IOPERA( 217),IX( 217),IY( 217)/'DRAW', -1, -8/ 12595 DATA IOPERA( 218),IX( 218),IY( 218)/'DRAW', -6, -9/ 12596 DATA IOPERA( 219),IX( 219),IY( 219)/'DRAW', -10, -9/ 12597 DATA IOPERA( 220),IX( 220),IY( 220)/'DRAW', -11, -8/ 12598 DATA IOPERA( 221),IX( 221),IY( 221)/'DRAW', -11, -6/ 12599 DATA IOPERA( 222),IX( 222),IY( 222)/'DRAW', -10, -5/ 12600 DATA IOPERA( 223),IX( 223),IY( 223)/'DRAW', -8, -5/ 12601 DATA IOPERA( 224),IX( 224),IY( 224)/'DRAW', -6, -6/ 12602 DATA IOPERA( 225),IX( 225),IY( 225)/'DRAW', -3, -8/ 12603 DATA IOPERA( 226),IX( 226),IY( 226)/'DRAW', -1, -9/ 12604 DATA IOPERA( 227),IX( 227),IY( 227)/'DRAW', 2, -9/ 12605 DATA IOPERA( 228),IX( 228),IY( 228)/'DRAW', 5, -8/ 12606 DATA IOPERA( 229),IX( 229),IY( 229)/'DRAW', 7, -6/ 12607 DATA IOPERA( 230),IX( 230),IY( 230)/'MOVE', 4, 12/ 12608 DATA IOPERA( 231),IX( 231),IY( 231)/'DRAW', 8, 11/ 12609 DATA IOPERA( 232),IX( 232),IY( 232)/'DRAW', 9, 11/ 12610C 12611 DATA IXMIND( 26)/ -11/ 12612 DATA IXMAXD( 26)/ 10/ 12613 DATA IXDELD( 26)/ 21/ 12614 DATA ISTARD( 26)/ 192/ 12615 DATA NUMCOO( 26)/ 41/ 12616C 12617C-----START POINT----------------------------------------------------- 12618C 12619 IFOUND='YES' 12620 IERROR='NO' 12621C 12622 NUMCO=1 12623 ISTART=1 12624 ISTOP=1 12625 NC=1 12626C 12627C ****************************************** 12628C ** TREAT THE ROMAN SIMPLEX UPPER CASE ** 12629C ** HERSHEY CHARACTER SET CASE ** 12630C ****************************************** 12631C 12632C 12633 IF(IBUGD2.EQ.'OFF')GOTO90 12634 WRITE(ICOUT,999) 12635 999 FORMAT(1X) 12636 CALL DPWRST('XXX','BUG ') 12637 WRITE(ICOUT,51) 12638 51 FORMAT('***** AT THE BEGINNING OF DRCSU4--') 12639 CALL DPWRST('XXX','BUG ') 12640 WRITE(ICOUT,52)ICHARN 12641 52 FORMAT('ICHARN = ',I8) 12642 CALL DPWRST('XXX','BUG ') 12643 WRITE(ICOUT,59)IBUGD2,IFOUND,IERROR 12644 59 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 12645 CALL DPWRST('XXX','BUG ') 12646 90 CONTINUE 12647C 12648C ************************************** 12649C ** STEP 2-- ** 12650C ** EXTRACT THE COORDINATES ** 12651C ** FOR THIS PARTICULAR CHARACTER. ** 12652C ************************************** 12653C 12654 ISTART=ISTARD(ICHARN) 12655 NC=NUMCOO(ICHARN) 12656 ISTOP=ISTART+NC-1 12657 J=0 12658 DO1100I=ISTART,ISTOP 12659 J=J+1 12660 IOP(J)=IOPERA(I) 12661 X(J)=IX(I) 12662 Y(J)=IY(I) 12663 1100 CONTINUE 12664 NUMCO=J 12665 IXMINS=IXMIND(ICHARN) 12666 IXMAXS=IXMAXD(ICHARN) 12667 IXDELS=IXDELD(ICHARN) 12668C 12669 GOTO9000 12670C 12671C ***************** 12672C ** STEP 90-- ** 12673C ** EXIT ** 12674C ***************** 12675C 12676 9000 CONTINUE 12677 IF(IBUGD2.EQ.'OFF')GOTO9090 12678 WRITE(ICOUT,999) 12679 CALL DPWRST('XXX','BUG ') 12680 WRITE(ICOUT,9011) 12681 9011 FORMAT('***** AT THE END OF DRCSU4--') 12682 CALL DPWRST('XXX','BUG ') 12683 WRITE(ICOUT,9012)IBUGD2,IFOUND,IERROR 12684 9012 FORMAT('IBUGD2,IFOUND,IERROR = ',A4,2X,A4,2X,A4) 12685 CALL DPWRST('XXX','BUG ') 12686 WRITE(ICOUT,9013)ICHARN 12687 9013 FORMAT('ICHARN = ',I8) 12688 CALL DPWRST('XXX','BUG ') 12689 WRITE(ICOUT,9014)ISTART,ISTOP,NC,NUMCO 12690 9014 FORMAT('ISTART,ISTOP,NC,NUMCO = ',4I8) 12691 CALL DPWRST('XXX','BUG ') 12692 IF(NUMCO.GE.1.AND.NUMCO.LE.1000)GOTO9019 12693 DO9015I=1,NUMCO 12694 WRITE(ICOUT,9016)I,IOP(I),X(I),Y(I) 12695 9016 FORMAT('I,IOP(I),X(I),Y(I) = ',I8,2X,A4,2F10.2) 12696 CALL DPWRST('XXX','BUG ') 12697 9015 CONTINUE 12698 9019 CONTINUE 12699 WRITE(ICOUT,9021)IXMINS,IXMAXS,IXDELS 12700 9021 FORMAT('IXMINS,IXMAXS,IXDELS = ',3I8) 12701 CALL DPWRST('XXX','BUG ') 12702 9090 CONTINUE 12703C 12704 RETURN 12705 END 12706