Commit | Line | Data |
---|---|---|
3893ac9d SL |
1 | .data |
2 | .comm _errno,4 | |
3 | .align 2 | |
4 | _log2: .long 0x40317217, 0xf7d1cf7a # .double 0.69314718055994531 | |
5 | .align 2 | |
6 | _ln10: .long 0x41135d8d, 0xddaaa8ac # .double 2.3025850929940457 | |
7 | .align 2 | |
8 | _sqrto2: | |
9 | .long 0x403504f3, 0x33f9de65 # .double 0.70710678118654753 | |
10 | .align 2 | |
11 | _p0: .long 0xc154114d, 0xeb0ba468 # .double -3.31355617479 | |
12 | .align 2 | |
13 | _p1: .long 0x40654226, 0x56bd0c4c # .double 0.89554061525 | |
14 | .align 2 | |
15 | _q0: .long 0xc0d4114c, 0xfdc7df02 # .double -1.65677797691 | |
16 | .align 2 | |
17 | _q1: .long 0x40800000, 0x00000000 # .double 1 | |
18 | .text | |
19 | LL0: .align 1 | |
20 | .globl _Klogf | |
21 | .data | |
22 | .align 2 | |
23 | L54: .long 0xfffffffe, 0xfffffffe # .double -1.7014117331926443e+38 | |
24 | .text | |
25 | .data | |
26 | .align 2 | |
27 | L57: .long 0x40000000, 0x00000000 # .double 0.5 | |
28 | .text | |
29 | .data | |
30 | .align 2 | |
31 | L58: .long 0x41000000, 0x00000000 # .double 2 | |
32 | .text | |
33 | .data | |
34 | .align 2 | |
35 | L60: .long 0x41000000, 0x00000000 # .double 2 | |
36 | .text | |
37 | .data | |
38 | .align 2 | |
39 | L61: .long 0x40800000, 0x00000000 # .double 1 | |
40 | .align 2 | |
41 | L62: .long 0x40800000, 0x00000000 # .double 1 | |
42 | .text | |
43 | .set L49,0x3c # Using registers 2,3,4,5 | |
44 | .data | |
45 | .text | |
46 | _Klogf: .word L49 | |
47 | subl3 $88,fp,sp | |
48 | clrl 8(fp) | |
49 | tstl 4(fp) | |
50 | jgtr L53 | |
51 | movl $33,_errno | |
52 | movl L54+4,r1 | |
53 | movl L54,r0 | |
54 | ret | |
55 | L53: pushl 20(fp) # hfs | |
56 | subl3 $88,fp,-(sp) # &exp | |
57 | pushl 8(fp) # arg | |
58 | pushl 4(fp) | |
59 | callf $20,_Kfrexpf | |
60 | ldd r0 | |
61 | # movl r1,-56(fp) | |
62 | std -60(fp) # movl r0,-60(fp) | |
63 | jbr L55 | |
64 | L2000001: | |
65 | pushl 20(fp) # hfs | |
66 | ldd L58 # 2.0 | |
67 | pushd | |
68 | ldd -60(fp) # x | |
69 | pushd | |
70 | callf $24,_Kmuld | |
71 | ldd r0 | |
72 | std -60(fp) | |
73 | subl2 $1,-88(fp) | |
74 | L55: cmpd2 -60(fp),L57 | |
75 | jlss L2000001 | |
76 | cmpd2 -60(fp),_sqrto2 | |
77 | jgeq L59 | |
78 | pushl 20(fp) # hfs | |
79 | ldd -60(fp) # x | |
80 | pushd | |
81 | ldd L60 # 2.0 | |
82 | pushd | |
83 | callf $24,_Kmuld | |
84 | ldd r0 | |
85 | std -60(fp) | |
86 | subl2 $1,-88(fp) | |
87 | L59: pushl 20(fp) # hfs | |
88 | ldd L61 # 1.0 | |
89 | pushd | |
90 | ldd -60(fp) # x | |
91 | pushd | |
92 | callf $24,_Ksubd | |
93 | ldd r0 | |
94 | std r2 | |
95 | pushl 20(fp) # hfs | |
96 | ldd L62 # 1.0 | |
97 | pushd | |
98 | ldd -60(fp) # x | |
99 | pushd | |
100 | callf $24,_Kaddd | |
101 | ldd r0 | |
102 | std r4 | |
103 | pushl 20(fp) # hfs | |
104 | ldd r4 # temp result of x-1 | |
105 | pushd | |
106 | ldd r2 # temp result of x+1 | |
107 | pushd | |
108 | callf $24,_Kdivd | |
109 | ldd r0 | |
110 | std -68(fp) # z | |
111 | pushl 20(fp) # hfs | |
112 | pushd # z | |
113 | pushd # z | |
114 | callf $24,_Kmuld | |
115 | ldd r0 | |
116 | std -76(fp) # zsq | |
117 | pushl 20(fp) # hfs | |
118 | ldd -76(fp) # zsq | |
119 | pushd | |
120 | ldd _p1 # p1 | |
121 | pushd | |
122 | callf $24,_Kmuld | |
123 | ldd r0 | |
124 | std r2 | |
125 | pushl 20(fp) # hfs | |
126 | ldd _p0 # p0 | |
127 | pushd | |
128 | ldd r2 | |
129 | pushd | |
130 | callf $24,_Kaddd | |
131 | ldd r0 | |
132 | std -84(fp) # temp | |
133 | pushl 20(fp) # hfs | |
134 | ldd -76(fp) # zsq | |
135 | pushd | |
136 | ldd _q1 | |
137 | pushd | |
138 | callf $24,_Kmuld | |
139 | ldd r0 | |
140 | std r2 | |
141 | pushl 20(fp) # hfs | |
142 | ldd _q0 # q0 | |
143 | pushd | |
144 | ldd r2 | |
145 | pushd | |
146 | callf $24,_Kaddd | |
147 | ldd r0 | |
148 | std r2 # temp result of (q1*zsq+q0) | |
149 | pushl 20(fp) # hfs | |
150 | ldd r2 | |
151 | pushd | |
152 | ldd -84(fp) # temp | |
153 | pushd | |
154 | callf $24,_Kdivd | |
155 | ldd r0 | |
156 | std -84(fp) # put in temp | |
157 | pushl 20(fp) # hfs | |
158 | ldd -68(fp) # z | |
159 | pushd | |
160 | ldd -84(fp) | |
161 | pushd | |
162 | callf $24,_Kmuld | |
163 | ldd r0 | |
164 | std r2 | |
165 | pushl 20(fp) #hfs | |
166 | pushl $0 # 0 pad | |
167 | pushl -88(fp) # exp | |
168 | pushl $0 # dummy | |
169 | pushl $0 # dummy | |
170 | callf $24,_Kcvtld | |
171 | pushl 20(fp) # hfs | |
172 | ldd _log2 # log2 | |
173 | pushd | |
174 | pushl r1 # exp converted | |
175 | pushl r0 | |
176 | callf $24,_Kmuld | |
177 | ldd r0 | |
178 | std r4 | |
179 | pushl 20(fp) # hfs | |
180 | ldd r2 # result of temp*z | |
181 | pushd | |
182 | ldd r4 | |
183 | pushd | |
184 | callf $24,_Kaddd | |
185 | ldd r0 | |
186 | cvdf | |
187 | stf r0 | |
188 | clrl r1 | |
189 | ret |