1 /TRIGONOMETRY ROUTINES OS8 FORTRAN II LIBRARY
11 /COPYRIGHT (C) 1974,1977 BY DIGITAL EQUIPMENT CORPORATION
22 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
23 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
24 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
25 /FOR ANY ERRORS THAT MAY APPEAR IN THIS MANUAL.
27 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
28 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
29 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
30 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
35 / VERSION 5 HAS PATCH FOR IMPROVED ACCURACY AT LARGE ARGS
36 / INSERTED NOP INSTRUCTIONS AT PATCH1 AND PATCH2/C. STOLZ
48 / VERSION NUMBER IS AVAILABLE AT ENTRY POINTS
53 QUAD, 0 /CONTAINS ONE LESS THAN THE QUADRANT OF THE ARGUMENT
54 Y, BLOCK 3 /TEMPORARY STORAGE FOR ARG
56 COEF, 5476 /-2.39E-8 CONSTANTS FOR SIN
75 HALFPI, 2016 /1.5707963
79 QTRPI, 2006 /7.8539815E-1
83 TOEF, 1724 /9.5168091E-3
106 DCA QUAD /SET QUADRANT OFFSET SWITCH
107 TAD I TAN /PICK-UP CDF
109 INC TAN# /POINT TO NEXT WORD
110 TAD I TAN /PICK-UP ADDRESS
112 INC TAN# /POINT TO RETURN
113 CALL 1,FAD /GET ARG IN FP-ACC
115 BAC, TAD ACH /LOOK AT HIGH ORDER WORD
118 CALL 1,FSB /OTHERWISE SUBTRACT
120 ISZ QUAD /AND INCREMENT QUADRANT COUNTER
121 PATCH1, NOP /ALLOW FOR SKIP
122 JMP BAC /UNTIL ARG IS NEGATIVE
123 OVT, CALL 1,FAD /ADD PI/2 TO ARG UNTIL IT IS IN
124 ARG QTRPI /THE FIRST QUADRANT
126 TAD QUAD /BUT KEEP TRACK OF WHICH QUADRANT IT WAS IN
128 TAD ACH /GET HI ORDER WORD
130 JMP OVT /IF NEGATIVE REPEAT
131 TAD QUAD /FIND OUT WHAT QUAD IT WAS IN
135 CALL 0,CHS /SUBTRACT FROM PI/2 IF QUAD 2 OR 4
138 OM, TAD (7 /USE A 7 TERM SERIES
141 TOEF /ADRESS OF COEFICIENTS FOR THE SERIES
154 / INTERNAL SUBROUTINE POL
156 / COMPUTES N TERMS OF POLYNOMIAL
157 / N IN AC ... X IN FLOATING AC
158 / COEFFICIENTS START IN LOCATION WHOSE ADDRESS FOLLOWS JMS TO POL
164 CALL 1,STO /STORE ADJUSTED ARGUMENT
165 ARG Y /IN A TEMPORARY
176 ARG1, ARG COEF / ADDRESS STORED HERE
179 CALL 1,FMP /MULTIPLY AGAIN TO COMPLETE SERIES
183 SNL CLA /FIND OUT WHICH QUADRANT
185 CALL 0,CHS /IF IN QUADRANT 3 OR 4 SET NEGATIVE
193 X, BLOCK 3 /TEMPORARY FOR POL
196 / 8K FORTRAN TRIGNOMETRY ROUTINES
204 DCA SIN# /IT NOW APPEARS THAT SIN WAS CALLED
205 CLA IAC /WITH QUADRANT OFFSET BY ONE
209 COSE, DCA QUAD /SET QUADRANT OFFSET SWITCH
210 TAD I SIN /PICK-UP CDF
212 INC SIN# /POINT TO NEXT WORD
213 TAD I SIN /PICK-UP ADDRESS
215 INC SIN# /POINT TO RETURN
216 CALL 1,FAD /GET ARG IN FP-ACC
218 BACK, TAD ACH /LOOK AT HIGH ORDER WORD
221 CALL 1,FSB /OTHERWISE SUBTRACT
223 ISZ QUAD /AND INCREMENT QUADRANT COUNTER
224 PATCH2, NOP /ALLOW FOR SKIP
225 JMP BACK /UNTIL ARG IS NEGATIVE
226 OVR, CALL 1,FAD /ADD PI/2 TO ARG UNTIL IT IS IN
227 ARG HALFPI /THE FIRST QUADRANT
229 TAD QUAD /BUT KEEP TRACK OF WHICH QUADRANT IT WAS IN
231 TAD ACH /GET HI ORDER WORD
233 JMP OVR /IF NEGATIVE REPEAT
234 TAD QUAD /FIND OUT WHAT QUAD IT WAS IN
238 CALL 0,CHS /SUBTRACT FROM PI/2 IF QUAD 2 OR 4
241 ON, TAD (6 /USE A 6 TERM SERIES
244 COEF /ADRESS OF COEFICIENTS FOR THE SERIES