1: /
2: /
3:
4: / fxg -- declare implicit functions
5:
6: .globl funimpl
7:
8: .globl getname
9: .globl lookup
10:
11: funimpl:
12: bit $7,symtab(r3)
13: bne 1f
14: jsr r5,getname
15: mov r2,-(sp)
16: mov $symbuf,r2
17: jsr r5,lookup; funtab
18: br 2f
19: cmpb (r2),$'\n
20: bne 2f
21: asr r0
22: movb funtabt(r0),r0
23: mov r0,-(sp)
24: bic $!17,r0
25: bis typtab(r0),symtab(r3)
26: mov (sp)+,r0
27: asr r0
28: asr r0
29: asr r0
30: asr r0
31: bic $!17,r0
32: mov typtab(r0),symtab+2(r3) / save argument conversion
33: 2: / in dimension pointer
34: mov (sp)+,r2
35: 1:
36: rts r5
37:
38: typtab:
39: intcon
40: realcon
41: dblcon
42: cplxcon
43: dcplxcon
44:
45: funtab:
46: <tanh\0>
47: <sqrt\0>
48: <sngl\0>
49: <sin\0>
50: <sign\0>
51: <real\0>
52: <mod\0>
53: <min1\0>
54: <min0\0>
55: <max1\0>
56: <max0\0>
57: <isign\0>
58: <int\0>
59: <ifix\0>
60: <idint\0>
61: <idim\0>
62: <iabs\0>
63: <float\0>
64: <exp\0>
65: <dsqrt\0>
66: <dsin\0>
67: <dsign\0>
68: <dreal\0>
69: <dmod\0>
70: <dmin1\0>
71: <dmax1\0>
72: <dlog10\0>
73: <dlog\0>
74: <dimag\0>
75: <dim\0>
76: <dexp\0>
77: <dcsqrt\0>
78: <dcsin\0>
79: <dcos\0>
80: <dconjg\0>
81: <dcmplx\0>
82: <dclog\0>
83: <dcexp\0>
84: <dccos\0>
85: <dcabs\0>
86: <dble\0>
87: <datan2\0>
88: <datan\0>
89: <dabs\0>
90: <csqrt\0>
91: <csin\0>
92: <cos\0>
93: <conjg\0>
94: <cmplx\0>
95: <clog\0>
96: <cexp\0>
97: <ccos\0>
98: <cabs\0>
99: <atan2\0>
100: <atan\0>
101: <amod\0>
102: <amin1\0>
103: <amin0\0>
104: <amax1\0>
105: <amax0\0>
106: <alog10\0>
107: <alog\0>
108: <aint\0>
109: <aimag\0>
110: <abs\0>
111: <\0>
112:
113: / function type xy
114: / x = arg types
115: / y = result type
116: / 0 = integer
117: / 2 = real
118: / 4 = double
119: / 6 = complex
120: / 8 = doublecomplex
121: funtabt:
122: .byte 2\<4+2 / tanh
123: .byte 2\<4+2 / sqrt
124: .byte 4\<4+2 / sngl
125: .byte 2\<4+2 / sin
126: .byte 2\<4+2 / sign
127: .byte 6\<4+2 / real
128: .byte 0\<4+0 / mod
129: .byte 2\<4+0 / min1
130: .byte 0\<4+0 / min0
131: .byte 2\<4+0 / max1
132: .byte 0\<4+0 / max0
133: .byte 0\<4+0 / isign
134: .byte 2\<4+0 / int
135: .byte 2\<4+0 / ifix
136: .byte 4\<4+0 / idint
137: .byte 0\<4+0 / idim
138: .byte 0\<4+0 / iabs
139: .byte 0\<4+2 / float
140: .byte 2\<4+2 / exp
141: .byte 4\<4+4 / dsqrt
142: .byte 4\<4+4 / dsin
143: .byte 4\<4+4 / dsign
144: .byte 8\<4+4 / dreal
145: .byte 4\<4+4 / dmod
146: .byte 4\<4+4 / dmin1
147: .byte 4\<4+4 / dmax1
148: .byte 4\<4+4 / dlog10
149: .byte 4\<4+4 / dlog
150: .byte 8\<4+4 / dimag
151: .byte 2\<4+2 / dim
152: .byte 4\<4+4 / dexp
153: .byte 8\<4+8 / dcsqrt
154: .byte 8\<4+8 / dcsin
155: .byte 4\<4+4 / dcos
156: .byte 8\<4+8 / dconjg
157: .byte 4\<4+8 / dcmplx
158: .byte 8\<4+8 / dclog
159: .byte 8\<4+8 / dcexp
160: .byte 8\<4+8 / dccos
161: .byte 8\<4+4 / dcabs
162: .byte 2\<4+4 / dble
163: .byte 4\<4+4 / datan2
164: .byte 4\<4+4 / datan
165: .byte 4\<4+4 / dabs
166: .byte 6\<4+6 / csqrt
167: .byte 6\<4+6 / csin
168: .byte 2\<4+2 / cos
169: .byte 6\<4+6 / conjg
170: .byte 2\<4+6 / cmplx
171: .byte 6\<4+6 / clog
172: .byte 6\<4+6 / cexp
173: .byte 6\<4+6 / ccos
174: .byte 6\<4+2 / cabs
175: .byte 2\<4+2 / atan2
176: .byte 2\<4+2 / atan
177: .byte 2\<4+2 / amod
178: .byte 2\<4+2 / amin1
179: .byte 0\<4+2 / amin0
180: .byte 2\<4+2 / amax1
181: .byte 0\<4+2 / amax0
182: .byte 2\<4+2 / alog10
183: .byte 2\<4+2 / alog
184: .byte 2\<4+2 / aint
185: .byte 6\<4+2 / aimag
186: .byte 2\<4+2 / abs
Defined functions
funimpl
declared in line
6; defined in line
11; used 1 times