dreadp.f 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. *DECK DREADP
  2. SUBROUTINE DREADP (IPAGE, LIST, RLIST, LPAGE, IREC)
  3. C***BEGIN PROLOGUE DREADP
  4. C***SUBSIDIARY
  5. C***PURPOSE Subsidiary to DSPLP
  6. C***LIBRARY SLATEC
  7. C***TYPE DOUBLE PRECISION (SREADP-S, DREADP-D)
  8. C***AUTHOR (UNKNOWN)
  9. C***DESCRIPTION
  10. C
  11. C READ RECORD NUMBER IRECN, OF LENGTH LPG, FROM UNIT
  12. C NUMBER IPAGEF INTO THE STORAGE ARRAY, LIST(*).
  13. C READ RECORD IRECN+1, OF LENGTH LPG, FROM UNIT NUMBER
  14. C IPAGEF INTO THE STORAGE ARRAY RLIST(*).
  15. C
  16. C TO CONVERT THIS PROGRAM UNIT TO DOUBLE PRECISION CHANGE
  17. C /REAL (12 BLANKS)/ TO /DOUBLE PRECISION/.
  18. C
  19. C***SEE ALSO DSPLP
  20. C***ROUTINES CALLED XERMSG
  21. C***REVISION HISTORY (YYMMDD)
  22. C 811215 DATE WRITTEN
  23. C 890605 Corrected references to XERRWV. (WRB)
  24. C 891214 Prologue converted to Version 4.0 format. (BAB)
  25. C 900328 Added TYPE section. (WRB)
  26. C 900510 Convert XERRWV calls to XERMSG calls. (RWC)
  27. C***END PROLOGUE DREADP
  28. INTEGER LIST(*)
  29. DOUBLE PRECISION RLIST(*)
  30. CHARACTER*8 XERN1, XERN2
  31. C***FIRST EXECUTABLE STATEMENT DREADP
  32. IPAGEF=IPAGE
  33. LPG =LPAGE
  34. IRECN=IREC
  35. READ(IPAGEF,REC=IRECN,ERR=100)(LIST(I),I=1,LPG)
  36. READ(IPAGEF,REC=IRECN+1,ERR=100)(RLIST(I),I=1,LPG)
  37. RETURN
  38. C
  39. 100 WRITE (XERN1, '(I8)') LPG
  40. WRITE (XERN2, '(I8)') IRECN
  41. CALL XERMSG ('SLATEC', 'DREADP', 'IN DSPLP, LPG = ' // XERN1 //
  42. * ' IRECN = ' // XERN2, 100, 1)
  43. RETURN
  44. END