OpenLibm/slatec/dreadp.f
Viral B. Shah c977aa998f Add Makefile.extras to build libopenlibm-extras.
Replace amos with slatec
2012-12-31 16:37:05 -05:00

44 lines
1.4 KiB
Fortran

*DECK DREADP
SUBROUTINE DREADP (IPAGE, LIST, RLIST, LPAGE, IREC)
C***BEGIN PROLOGUE DREADP
C***SUBSIDIARY
C***PURPOSE Subsidiary to DSPLP
C***LIBRARY SLATEC
C***TYPE DOUBLE PRECISION (SREADP-S, DREADP-D)
C***AUTHOR (UNKNOWN)
C***DESCRIPTION
C
C READ RECORD NUMBER IRECN, OF LENGTH LPG, FROM UNIT
C NUMBER IPAGEF INTO THE STORAGE ARRAY, LIST(*).
C READ RECORD IRECN+1, OF LENGTH LPG, FROM UNIT NUMBER
C IPAGEF INTO THE STORAGE ARRAY RLIST(*).
C
C TO CONVERT THIS PROGRAM UNIT TO DOUBLE PRECISION CHANGE
C /REAL (12 BLANKS)/ TO /DOUBLE PRECISION/.
C
C***SEE ALSO DSPLP
C***ROUTINES CALLED XERMSG
C***REVISION HISTORY (YYMMDD)
C 811215 DATE WRITTEN
C 890605 Corrected references to XERRWV. (WRB)
C 891214 Prologue converted to Version 4.0 format. (BAB)
C 900328 Added TYPE section. (WRB)
C 900510 Convert XERRWV calls to XERMSG calls. (RWC)
C***END PROLOGUE DREADP
INTEGER LIST(*)
DOUBLE PRECISION RLIST(*)
CHARACTER*8 XERN1, XERN2
C***FIRST EXECUTABLE STATEMENT DREADP
IPAGEF=IPAGE
LPG =LPAGE
IRECN=IREC
READ(IPAGEF,REC=IRECN,ERR=100)(LIST(I),I=1,LPG)
READ(IPAGEF,REC=IRECN+1,ERR=100)(RLIST(I),I=1,LPG)
RETURN
C
100 WRITE (XERN1, '(I8)') LPG
WRITE (XERN2, '(I8)') IRECN
CALL XERMSG ('SLATEC', 'DREADP', 'IN DSPLP, LPG = ' // XERN1 //
* ' IRECN = ' // XERN2, 100, 1)
RETURN
END