Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | / |
2 | / | |
3 | / E X P | |
4 | / - - - | |
5 | / | |
6 | /SUBROUTINE EXP(X) | |
7 | / | |
8 | / VERSION 5A 4-27-77 PT | |
9 | / | |
10 | SECT EXP | |
11 | JA #EXP | |
12 | 0 | |
13 | EXPFUD, 0 | |
14 | 0 | |
15 | 0 | |
16 | / | |
17 | EXTERN #ARGER | |
18 | EXPER, TRAP4 #ARGER | |
19 | TEXT +EXP + | |
20 | EXPXR, SETX XREXP | |
21 | SETB BPEXP | |
22 | BPEXP, F 0.0 | |
23 | XREXP, F 0.0 | |
24 | EXP1, F 0.0 | |
25 | EXP2, F 0.0 | |
26 | EXP33, F 0.0 | |
27 | EXP4, F 0.0 | |
28 | F1EXP, F 1. | |
29 | F2EXP, F 2. | |
30 | ORG 10*3+BPEXP | |
31 | FNOP | |
32 | JA EXPXR | |
33 | 0 | |
34 | EXPRTN, JA . | |
35 | / | |
36 | EXPAF, 4 | |
37 | 2372 | |
38 | 1402 | |
39 | / | |
40 | EXPBF, 7774 | |
41 | 2157 | |
42 | 5157 | |
43 | / | |
44 | EXPCF, 12 | |
45 | 5454 | |
46 | 343 | |
47 | / | |
48 | EXPDF, 7 | |
49 | 2566 | |
50 | 5341 | |
51 | / | |
52 | EXP2E, 1 | |
53 | 2705 | |
54 | 2435 | |
55 | BASE 0 | |
56 | #EXP, STARTD | |
57 | FLDA 10*3 | |
58 | FSTA EXPRTN | |
59 | FLDA 0 | |
60 | SETX XREXP | |
61 | SETB BPEXP | |
62 | BASE BPEXP | |
63 | LDX 1,1 | |
64 | FSTA BPEXP | |
65 | FLDA% BPEXP,1 /ADDR OF X | |
66 | FSTA BPEXP | |
67 | STARTF | |
68 | FLDA% BPEXP /GET X | |
69 | LDX -1,0 /PRESERVE SIGN. | |
70 | JGE .+5 | |
71 | FNEG /IF NEGATIVE NEGATE IT. | |
72 | LDX 0,0 /AND REMEMBER IT,BUBBY. | |
73 | FMUL EXP2E /MULTIPLY TO BINARY TYPE. | |
74 | FSTA EXP1 /AND SAVE IT AWAY. | |
75 | JAL EXPER /CAN T FIX IT, ERROR. | |
76 | ALN 0 /FIX IT UP. | |
77 | FSTA EXP33 /AND SAVE IT. | |
78 | FNORM /NOW NORMALIZE FOR OUR COMPUTATIONS. | |
79 | FNEG /NEGATE THE FAC | |
80 | FADD EXP1 /ADD IN BEFORE NORMAL. | |
81 | FSTA EXP1 /AND STORE BACK. NO FADDM | |
82 | FMUL EXP1 /NOW SQUARE IT. | |
83 | FSTA EXP2 /AND SAVE IT. | |
84 | FADD EXPDF /START THE ITERATION. | |
85 | FSTA EXP4 /SAVE IN ANOTHER TEMP. | |
86 | FLDA EXPCF /NEXT CONSTANT. | |
87 | FDIV EXP4 /AND DIVIDE INTO IT. | |
88 | FSUB EXP1 /SUBTRACT BACK NOW. | |
89 | FADD EXPAF /NEXT CONSTANT. | |
90 | FSTA EXP4 /AND SAVE AGAIN. KEEP THIS UP. | |
91 | FLDA EXPBF | |
92 | FMUL EXP2 | |
93 | FADDM EXP4 | |
94 | FLDA EXP1 | |
95 | FDIV EXP4 | |
96 | FMUL F2EXP | |
97 | FADD F1EXP | |
98 | FSTA EXPFUD /NOW FIDDLE THE EXPONENT. | |
99 | STARTD | |
100 | FLDA EXP33 | |
101 | FADDM EXPFUD-1 /EXPONENT UPDATE. | |
102 | STARTF | |
103 | JXN EXPP,0 /NO INVERSION NECESSARY. RETURN. | |
104 | FLDA F1EXP /INVERT IT | |
105 | FDIV EXPFUD | |
106 | JA EXPRTN | |
107 | EXPP, FLDA EXPFUD /AN EXIT. | |
108 | JA EXPRTN | |
109 | \f |