A large commit.
[pdp8.git] / sw / rescue / lab8e_goettingen / disk2_11 / rkb / paroff / haenyt.ft
CommitLineData
81e70d48
PH
1C -+-+-+-+-+\ e H A E N Y T . F T \ f-+-+-+-+-+\r
2C\r
3C MUST BE MAPPED INTO THE SAME LEVEL AND OVERLAY WITH HAENYA.FT\r
4C\r
5C THIS ROUTINE IS CALLED FROM HAENYX.\r
6C IT RETURNS THE FILTERED TABLE POSITION ( CH2 )\r
7C \r
8C * OR 24-APR-84 HA\r
9C * UP 28-MAY-84 HA INSERTS THREE POINT FILTER\r
10C\r
11C NYAFIL: 0 ORIGINAL VALUE OF TABLE POSITION\r
12C 1 11 POINT FILTER\r
13C 2 LINEAR APPROXIMATION\r
14C 3 3 POINT FILTER\r
15C\r
16 REAL FUNCTION NYTASM (ID)\r
17C\r
18C INPUT PARAMETER IS\r
19 INTEGER ID @ HOLDS THE INDEX TO THE DATA POINTS\r
20C\r
21 INCLUDE HAECNY.FI\r
22 REAL XYSAM\r
23 LOGICAL BETW\r
24 EXTERNAL XYSAM,BETW\r
25C\r
26\f INTEGER T1,J,I\r
27 REAL C(6) @ 11 POINT FILTER CONSTANTS\r
28 DATA C /.1038,.1956,.1608,.0488,.021,-.03/\r
29C\r
30C\r
31 IF (NYAFIL.GT.0.AND.NYAFIL.LE.3) GOTO 9\r
32 NYTASM=XYSAM(ID,2) @ NO FILTERING, RETURN ORIGINAL VALUE\r
33 RETURN\r
34C\r
35C\r
369 GOTO (10,20,30),NYAFIL\r
37C\r
3810 CONTINUE\r
39C 11 POINT FILTER\r
40 T1=MAX0(ID,6)\r
41 NYTASM=0\r
42 DO 11 J=0,5\r
4311 NYTASM=C(J+1)*(XYSAM(T1-J,2)+XYSAM(T1+J,2))+NYTASM @ 11 POINT FILTER OF TURN TABLE SIGNAL\r
44 RETURN\r
45C\r
46C LINEAR APPROXIMATION\r
47C\r
4820 CONTINUE @ LINEAR APROXIMATION\r
49 DO 21 I=1,8\r
50 IF (SMOTAB(1,I).LT.0) GOTO 23\r
51 IF (BETW(SMOTAB(1,I),ID,SMOTAB(2,I))) GOTO 22\r
52 IF (ID.LT.SMOTAB(1,I)) GOTO 22\r
53 IF (BETW(SMOTAB(2,I),ID,SMOTAB(1,MIN0(I+1,8)))) GOTO 23\r
5421 CONTINUE\r
55 I=9 @ SAVE A JUMP OVER 23\r
5623 I=MAX0(1,I-1) @ TAKE THE LAST VALUES\r
5722 CONTINUE\r
58 NYTASM=SMOTBL(1,I)*ID+SMOTBL(2,I) @ STEIGUNG*ID+Y-ACHSENABSCHNITT\r
59 RETURN\r
60C\r
61C 3 POINT FILTER\r
62C\r
6330 T1=MAX0(ID,2)\r
64 NYTASM=XYSAM(T1,2)*.5+(XYSAM(T1-1,2)+XYSAM(T1+1,2))*.25\r
65 RETURN\r
66 END\r
67\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0