6 SUBROUTINE pchfe (N, X, F, D, INCFD, SKIP, NE, XE, FE, IERR)
136 INTEGER N, INCFD, NE, IERR
137 REAL X(*), F(incfd,*), D(incfd,*), XE(*), FE(*)
142 INTEGER I, IERC, IR, J, JFIRST, NEXT(2), NJ
149 IF ( n .LT. 2 )
GO TO 5001
150 IF ( incfd .LT. 1 )
GO TO 5002
152 IF ( x(i).LE.x(i-1) )
GO TO 5003
158 IF ( ne .LT. 1 )
GO TO 5004
170 IF (jfirst .GT. ne)
GO TO 5000
175 IF (xe(j) .GE. x(ir))
GO TO 30
183 IF (ir .EQ. n) j = ne + 1
190 IF (nj .EQ. 0)
GO TO 50
195 CALL chfev (x(ir-1),x(ir), f(1,ir-1),f(1,ir), d(1,ir-1),d(1,ir),
196 * nj, xe(jfirst), fe(jfirst), next, ierc)
198 IF (ierc .LT. 0)
GO TO 5005
200 IF (next(2) .EQ. 0)
GO TO 42
205 IF (ir .LT. n)
GO TO 41
208 ierr = ierr + next(2)
218 IF (next(1) .EQ. 0)
GO TO 49
223 IF (ir .GT. 2)
GO TO 43
226 ierr = ierr + next(1)
234 DO 44 i = jfirst, j-1
235 IF (xe(i) .LT. x(ir-1))
GO TO 45
247 IF (xe(j) .LT. x(i))
GO TO 47
267 IF (ir .LE. n)
GO TO 10
279 CALL xermsg (
'SLATEC',
'PCHFE',
280 +
'NUMBER OF DATA POINTS LESS THAN TWO', ierr, 1)
286 CALL xermsg (
'SLATEC',
'PCHFE',
'INCREMENT LESS THAN ONE', ierr,
293 CALL xermsg (
'SLATEC',
'PCHFE',
'X-ARRAY NOT STRICTLY INCREASING' 300 CALL xermsg (
'SLATEC',
'PCHFE',
301 +
'NUMBER OF EVALUATION POINTS LESS THAN ONE', ierr, 1)
308 CALL xermsg (
'SLATEC',
'PCHFE',
309 +
'ERROR RETURN FROM CHFEV -- FATAL', ierr, 2)
subroutine xermsg(LIBNAME, SUBNAME, ERRMSG, ERRCODE, RETCODE)
subroutine pchfe(N, X, F, D, INCFD, SKIP, NE, XE, FE, IERR)
subroutine chfev(X1, X2, F1, F2, D1, D2, NE, XE, FE, NEXT, IERR)