Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | / |
2 | / | |
3 | / A S I N | |
4 | / - - - - | |
5 | / | |
6 | /SUBROUTINE ASIN(X) | |
7 | / | |
8 | / VERSION 5A 4-27-77 PT | |
9 | / | |
10 | SECT ASIN | |
11 | JA #ASIN | |
12 | ASINEQ, FLDA FPI2AS /RETURN PI OVER TWO. | |
13 | FMUL ASIN8 /TIMES ARG. | |
14 | JA ASNRTN | |
15 | TEXT +ASIN + | |
16 | ASINXR, SETX XRASIN | |
17 | SETB BPASIN | |
18 | BPASIN, FNOP | |
19 | 0 | |
20 | 0 | |
21 | XRASIN, F 0.0 | |
22 | ASIN8, F 0.0 | |
23 | ASIN7, F 0.0 | |
24 | F1ASIN, F 1. | |
25 | FPI2AS, 1 /PI OVER 2 | |
26 | 3110 | |
27 | 3755 | |
28 | ORG 10*3+BPASIN | |
29 | FNOP | |
30 | JA ASINXR | |
31 | 0 | |
32 | ASNRTN, JA . | |
33 | BASE 0 | |
34 | #ASIN, STARTD | |
35 | FLDA 10*3 | |
36 | FSTA ASNRTN | |
37 | FLDA 0 | |
38 | SETX XRASIN | |
39 | SETB BPASIN | |
40 | BASE BPASIN | |
41 | LDX 1,1 | |
42 | FSTA BPASIN | |
43 | FLDA% BPASIN,1 /ADDR OF X | |
44 | FSTA BPASIN | |
45 | STARTF | |
46 | FLDA% BPASIN /GET X | |
47 | FSTA ASIN8 /STORE ARG AWAY. | |
48 | JGE .+3 /TAKE ABSOLUTE VALUE. | |
49 | FNEG | |
50 | FSUB F1ASIN /SEE IF >1 | |
51 | JLE ASINOK /CONTINUE PROCESS. | |
52 | EXTERN #ARGER | |
53 | TRAP4 #ARGER /TRAP OUT. | |
54 | JA ASNRTN /RETURN. | |
55 | ASINOK, FLDA ASIN8 /X USES STRAIGHT TRIG RELATION. | |
56 | FNEG | |
57 | FMUL ASIN8 /-X^2 | |
58 | FADD F1ASIN /1.-X^2 | |
59 | JEQ ASINEQ /IF 0,FAC=PI OVER 2 | |
60 | FSTA ASIN7 | |
61 | EXTERN SQRT | |
62 | JSR SQRT | |
63 | JA .+4 | |
64 | JA ASIN7 | |
65 | FSTA ASIN7 /SQRT(1.-X^2) | |
66 | FLDA ASIN8 | |
67 | FDIV ASIN7 /X/SQRT(1.X^2) | |
68 | FSTA ASIN7 | |
69 | EXTERN ATAN | |
70 | JSR ATAN /TAKE THE ARCTANGENT. | |
71 | JA ASNRTN | |
72 | JA ASIN7 | |
73 | \f |