home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
DOOG
/
PCSSP1.ZIP
/
ITRPAPSM.ZIP
/
FRAT.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
3KB
|
101 lines
C
C ..................................................................
C
C SUBROUTINE FRAT
C
C PURPOSE
C FRAT IS USED FOR HANDLING OF DATA AND FUNDAMENTAL FUNCTIONS
C WITH RATIONAL APPROXIMATION. IT IS A SUBSTANTIAL PART OF
C RATIONAL APPROXIMATION AND HAS NO MEANING INDEPENDENTLY
C
C USAGE
C CALL FRAT(I,N,M,P,DATI,WGT,IER)
C
C DESCRIPTION OF PARAMETERS
C I - SUBSCRIPT OF CURRENT DATA POINT
C N - NUMBER OF ALL DATA POINTS
C M - NUMBER OF FUNDAMENTAL FUNCTIONS USED
C P - ARRAY OF DIMENSION M+1 AT LEAST, WHICH CONTAINS
C ON RETURN THE VALUES OF THE M FUNDAMENTAL
C FUNCTIONS, FOLLOWED BY CURRENT FUNCTION VALUE
C DATI - ARRAY CONTAINING GIVEN N ARGUMENTS, FOLLOWED
C BY N FUNCTION VALUES AND FINALLY BY 1 RESPECTIVELY
C N WEIGHT VALUES
C WGT - RESULTANT WEIGHT FACTOR USED FOR I-TH TERM
C IER - RESULTANT ERROR PARAMETER, COMBINED WITH INPUT
C VALUES FOR CONTROL
C IER(2) MEANS DIMENSION OF NUMERATOR
C IER(3) MEANS DIMENSION OF DENOMINATOR
C IER(1) IS USED AS RESULTANT ERROR PARAMETER,
C IER(1) = 0 IN CASE OF NO ERRORS
C IER(1) = 1 OTHERWISE (ZERO DENOMINATOR)
C
C REMARKS
C VECTOR IER IS USED FOR COMMUNICATION BETWEEN ARAT AND FRAT
C
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C CNP
C
C METHOD
C CF. MATHEMATICAL DESCRIPTION OF SUBROUTINE ARAT
C
C ..................................................................
C
SUBROUTINE FRAT(I,N,M,P,DATI,WGT,IER)
C
C
C DIMENSIONED DUMMY VARIABLES
DIMENSION P(1),DATI(1),IER(1)
C
C INITIALIZATION
IP=IER(2)
IQ=IER(3)
IQM1=IQ-1
IPQ=IP+IQ
C
C LOOK UP ARGUMENT, FUNCTION VALUE AND WEIGHT
C LOOK UP NUMERATOR AND DENOMINATOR
T=DATI(I)
J=I+N
F=DATI(J)
FNUM=P(J)
J=J+N
WGT=1.
IF(DATI(2*N+1))2,2,1
1 WGT=DATI(J)
2 FDEN=P(J)
C
C CALCULATE FUNCTION VALUE USED
F=F*FDEN-FNUM
C
C CHECK FOR ZERO DENOMINATOR
IF(FDEN)4,3,4
C
C ERROR RETURN IN CASE OF ZERO DENOMINATOR
3 IER(1)=1
RETURN
C
C CALCULATE WEIGHT FACTORS USED
4 WGT=WGT/(FDEN*FDEN)
FNUM=-FNUM/FDEN
C
C CALCULATE FUNDAMENTAL FUNCTIONS
J=IQM1
IF(IP-IQ)6,6,5
5 J=IP-1
6 CALL CNP(P(IQ),T,J)
C
C STORE VALUES OF DENOMINATOR FUNDAMENTAL FUNCTIONS
7 IF(IQM1)10,10,8
8 DO 9 II=1,IQM1
J=II+IQ
9 P(II)=P(J)*FNUM
C
C STORE FUNCTION VALUE
10 P(IPQ)=F
C
C NORMAL RETURN
IER(1)=0
RETURN
END