OpenLibm/slatec/sreadp.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 SREADP
SUBROUTINE SREADP (IPAGE, LIST, RLIST, LPAGE, IREC)
C***BEGIN PROLOGUE SREADP
C***SUBSIDIARY
C***PURPOSE Subsidiary to SPLP
C***LIBRARY SLATEC
C***TYPE SINGLE 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 SPLP
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 SREADP
INTEGER LIST(*)
REAL RLIST(*)
CHARACTER*8 XERN1, XERN2
C***FIRST EXECUTABLE STATEMENT SREADP
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', 'SREADP', 'IN SPLP, LPG = ' // XERN1 //
* ' IRECN = ' // XERN2, 100, 1)
RETURN
END