dwritp.f 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. *DECK DWRITP
  2. SUBROUTINE DWRITP (IPAGE, LIST, RLIST, LPAGE, IREC)
  3. C***BEGIN PROLOGUE DWRITP
  4. C***SUBSIDIARY
  5. C***PURPOSE Subsidiary to DSPLP
  6. C***LIBRARY SLATEC
  7. C***TYPE DOUBLE PRECISION (SWRITP-S, DWRITP-D)
  8. C***AUTHOR (UNKNOWN)
  9. C***DESCRIPTION
  10. C
  11. C WRITE RECORD NUMBER IRECN, OF LENGTH LPG, FROM STORAGE
  12. C ARRAY LIST(*) ONTO UNIT NUMBER IPAGEF.
  13. C WRITE RECORD NUMBER IRECN+1, OF LENGTH LPG, ONTO UNIT
  14. C NUMBER IPAGEF FROM THE STORAGE ARRAY RLIST(*).
  15. C
  16. C TO CHANGE 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 DWRITP
  28. INTEGER LIST(*)
  29. DOUBLE PRECISION RLIST(*)
  30. CHARACTER*8 XERN1, XERN2
  31. C***FIRST EXECUTABLE STATEMENT DWRITP
  32. IPAGEF=IPAGE
  33. LPG =LPAGE
  34. IRECN =IREC
  35. WRITE(IPAGEF,REC=IRECN,ERR=100)(LIST(I),I=1,LPG)
  36. WRITE(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', 'DWRITP', 'IN DSPLP, LGP = ' // XERN1 //
  42. * ' IRECN = ' // XERN2, 100, 1)
  43. RETURN
  44. END