97
97
;;; ALL FUNCTION DECLARATIONS AND INLINE FORMS
100
(proclaim-function si:list-nth (*) t)
101
100
(proclaim-function si:make-pure-array (*) array)
102
101
(proclaim-function si:make-vector (*) vector)
103
102
(proclaim-function aref (array *) t :no-side-effects t)
104
103
(def-inline aref :unsafe (t t t) t
105
"@0;aref(#0,fix(#1)*(#0)->array.dims[1]+fix(#2))")
104
"@0;ecl_aref(#0,fix(#1)*(#0)->array.dims[1]+fix(#2))")
106
105
(def-inline aref :unsafe ((array t) t t) t
107
106
"@0;(#0)->array.self.t[fix(#1)*(#0)->array.dims[1]+fix(#2)]")
108
107
(def-inline aref :unsafe ((array bit) t t) :fixnum
109
"@0;aref_bv(#0,fix(#1)*(#0)->array.dims[1]+fix(#2))")
108
"@0;ecl_aref_bv(#0,fix(#1)*(#0)->array.dims[1]+fix(#2))")
110
109
(def-inline aref :unsafe ((array t) fixnum fixnum) t
111
110
"@0;(#0)->array.self.t[#1*(#0)->array.dims[1]+#2]")
112
111
(def-inline aref :unsafe ((array bit) fixnum fixnum) :fixnum
113
"@0;aref_bv(#0,(#1)*(#0)->array.dims[1]+#2)")
112
"@0;ecl_aref_bv(#0,(#1)*(#0)->array.dims[1]+#2)")
114
113
(def-inline aref :unsafe ((array base-char) fixnum fixnum) :char
115
114
"@0;(#0)->base_string.self[#1*(#0)->array.dims[1]+#2]")
116
(def-inline aref :unsafe ((array long-float) fixnum fixnum) :double
117
"@0;(#0)->array.self.lf[#1*(#0)->array.dims[1]+#2]")
118
(def-inline aref :unsafe ((array short-float) fixnum fixnum) :float
115
(def-inline aref :unsafe ((array double-float) fixnum fixnum) :double
116
"@0;(#0)->array.self.df[#1*(#0)->array.dims[1]+#2]")
117
(def-inline aref :unsafe ((array single-float) fixnum fixnum) :float
119
118
"@0;(#0)->array.self.sf[#1*(#0)->array.dims[1]+#2]")
120
119
(def-inline aref :unsafe ((array fixnum) fixnum fixnum) :fixnum
121
120
"@0;(#0)->array.self.fix[#1*(#0)->array.dims[1]+#2]")
122
(def-inline aref :always (t t) t "aref1(#0,fixint(#1))")
123
(def-inline aref :always (t fixnum) t "aref1(#0,#1)")
124
(def-inline aref :unsafe (t t) t "aref1(#0,fix(#1))")
125
(def-inline aref :unsafe (t fixnum) t "aref1(#0,#1)")
126
(def-inline aref :unsafe ((array bit) t) :fixnum "aref_bv(#0,fix(#1))")
127
(def-inline aref :unsafe ((array bit) fixnum) :fixnum "aref_bv(#0,#1)")
121
(def-inline aref :always (t t) t "ecl_aref1(#0,fixint(#1))")
122
(def-inline aref :always (t fixnum) t "ecl_aref1(#0,#1)")
123
(def-inline aref :unsafe (t t) t "ecl_aref1(#0,fix(#1))")
124
(def-inline aref :unsafe (t fixnum) t "ecl_aref1(#0,#1)")
125
(def-inline aref :unsafe ((array bit) t) :fixnum "ecl_aref_bv(#0,fix(#1))")
126
(def-inline aref :unsafe ((array bit) fixnum) :fixnum "ecl_aref_bv(#0,#1)")
128
127
(def-inline aref :unsafe ((array base-char) fixnum) t
129
128
"CODE_CHAR((#0)->base_string.self[#1])")
131
130
(def-inline aref :unsafe ((array character) fixnum fixnum) t
132
131
"@0;(#0)->string.self[#1*(#0)->array.dims[1]+#2]")
133
(def-inline aref :unsafe ((array long-float) fixnum) t
134
"make_longfloat((#0)->array.self.lf[#1])")
135
(def-inline aref :unsafe ((array short-float) fixnum) t
136
"make_shortfloat((#0)->array.self.sf[#1])")
132
(def-inline aref :unsafe ((array double-float) fixnum) t
133
"ecl_make_doublefloat((#0)->array.self.df[#1])")
134
(def-inline aref :unsafe ((array single-float) fixnum) t
135
"ecl_make_singlefloat((#0)->array.self.sf[#1])")
137
136
(def-inline aref :unsafe ((array fixnum) fixnum) t
138
137
"MAKE_FIXNUM((#0)->array.self.fix[#1])")
139
138
(def-inline aref :unsafe ((array base-char) fixnum) :fixnum
143
142
"CHAR_CODE((#0)->base_string.self[#1])")
144
143
(def-inline aref :unsafe ((array base-char) fixnum) :char
145
144
"(#0)->base_string.self[#1]")
146
(def-inline aref :unsafe ((array long-float) fixnum) :double
147
"(#0)->array.self.lf[#1]")
148
(def-inline aref :unsafe ((array short-float) fixnum) :float
145
(def-inline aref :unsafe ((array double-float) fixnum) :double
146
"(#0)->array.self.df[#1]")
147
(def-inline aref :unsafe ((array single-float) fixnum) :float
149
148
"(#0)->array.self.sf[#1]")
150
149
(def-inline aref :unsafe ((array fixnum) fixnum) :fixnum
151
150
"(#0)->array.self.fix[#1]")
153
152
(proclaim-function si:aset (t array *) nil)
154
153
(def-inline si:aset :unsafe (t t t t) t
155
"@0;aset(#1,fix(#2)*(#1)->array.dims[1]+fix(#3),#0)")
154
"@0;ecl_aset(#1,fix(#2)*(#1)->array.dims[1]+fix(#3),#0)")
156
155
(def-inline si:aset :unsafe (t t fixnum fixnum) t
157
"@0;aset(#1,(#2)*(#1)->array.dims[1]+(#3),#0)")
156
"@0;ecl_aset(#1,(#2)*(#1)->array.dims[1]+(#3),#0)")
158
157
(def-inline si:aset :unsafe (t (array t) fixnum fixnum) t
159
158
"@1;(#1)->array.self.t[#2*(#1)->array.dims[1]+#3]= #0")
160
159
(def-inline si:aset :unsafe (t (array bit) fixnum fixnum) :fixnum
161
"@0;aset_bv(#1,(#2)*(#1)->array.dims[1]+(#3),fix(#0))")
162
(def-inline si:aset :unsafe (character (array base-char) fixnum fixnum) :char
160
"@0;ecl_aset_bv(#1,(#2)*(#1)->array.dims[1]+(#3),fix(#0))")
161
(def-inline si:aset :unsafe (base-char (array base-char) fixnum fixnum) :char
163
162
"@1;(#1)->base_string.self[#2*(#1)->array.dims[1]+#3]= #0")
164
(def-inline si:aset :unsafe (long-float (array long-float) fixnum fixnum)
165
:double "@1;(#1)->array.self.lf[#2*(#1)->array.dims[1]+#3]= #0")
166
(def-inline si:aset :unsafe (short-float (array short-float) fixnum fixnum)
163
(def-inline si:aset :unsafe (double-float (array double-float) fixnum fixnum)
164
:double "@1;(#1)->array.self.df[#2*(#1)->array.dims[1]+#3]= #0")
165
(def-inline si:aset :unsafe (single-float (array single-float) fixnum fixnum)
167
166
:float "@1;(#1)->array.self.sf[#2*(#1)->array.dims[1]+#3]= #0")
168
167
(def-inline si:aset :unsafe (fixnum (array fixnum) fixnum fixnum) :fixnum
169
168
"@1;(#1)->array.self.fix[#2*(#1)->array.dims[1]+#3]= #0")
170
169
(def-inline si:aset :unsafe (fixnum (array bit) fixnum fixnum) :fixnum
171
"@0;aset_bv(#1,(#2)*(#1)->array.dims[1]+(#3),#0)")
172
(def-inline si:aset :always (t t t) t "aset1(#1,fixint(#2),#0)")
173
(def-inline si:aset :always (t t fixnum) t "aset1(#1,#2,#0)")
174
(def-inline si:aset :unsafe (t t t) t "aset1(#1,fix(#2),#0)")
170
"@0;ecl_aset_bv(#1,(#2)*(#1)->array.dims[1]+(#3),#0)")
171
(def-inline si:aset :always (t t t) t "ecl_aset1(#1,fixint(#2),#0)")
172
(def-inline si:aset :always (t t fixnum) t "ecl_aset1(#1,#2,#0)")
173
(def-inline si:aset :unsafe (t t t) t "ecl_aset1(#1,fix(#2),#0)")
175
174
(def-inline si:aset :unsafe (t (array t) fixnum) t
176
175
"(#1)->vector.self.t[#2]= #0")
177
176
(def-inline si:aset :unsafe (t (array bit) fixnum) :fixnum
178
"aset_bv(#1,#2,fix(#0))")
179
(def-inline si:aset :unsafe (character (array base-char) fixnum) :char
177
"ecl_aset_bv(#1,#2,fix(#0))")
178
(def-inline si:aset :unsafe (base-char (array base-char) fixnum) :char
180
179
"(#1)->base_string.self[#2]= #0")
182
181
(def-inline si:aset :unsafe (character (array character) fixnum) t
183
182
"(#1)->string.self[#2]= #0")
184
(def-inline si:aset :unsafe (long-float (array long-float) fixnum) :double
185
"(#1)->array.self.lf[#2]= #0")
186
(def-inline si:aset :unsafe (short-float (array short-float) fixnum) :float
183
(def-inline si:aset :unsafe (double-float (array double-float) fixnum) :double
184
"(#1)->array.self.df[#2]= #0")
185
(def-inline si:aset :unsafe (single-float (array single-float) fixnum) :float
187
186
"(#1)->array.self.sf[#2]= #0")
188
187
(def-inline si:aset :unsafe (fixnum (array fixnum) fixnum) :fixnum
189
188
"(#1)->array.self.fix[#2]= #0")
190
189
(def-inline si:aset :unsafe (fixnum (array bit) fixnum) :fixnum
190
"ecl_aset_bv(#1,#2,#0)")
193
192
(proclaim-function row-major-aref (array fixnum) t :no-side-effects t)
194
(def-inline row-major-aref :always (array fixnum) t "aref(#0,#1)")
193
(def-inline row-major-aref :always (array fixnum) t "ecl_aref(#0,#1)")
196
195
(proclaim-function si:row-major-aset (array fixnum t) t)
197
(def-inline si:row-major-aset :always (array fixnum t) t "aset(#0,#1,#2)")
196
(def-inline si:row-major-aset :always (array fixnum t) t "ecl_aset(#0,#1,#2)")
199
198
(proclaim-function array-element-type (array) t)
200
199
(proclaim-function array-rank (array) fixnum)
205
204
(proclaim-function adjustable-array-p (array) t :predicate t)
206
205
(proclaim-function array-displacement (array) (values t fixnum) :predicate t)
207
206
(proclaim-function svref (simple-vector fixnum) t :no-side-effects t)
208
(def-inline svref :always (t t) t "aref1(#0,fixint(#1))")
209
(def-inline svref :always (t fixnum) t "aref1(#0,#1)")
207
(def-inline svref :always (t t) t "ecl_aref1(#0,fixint(#1))")
208
(def-inline svref :always (t fixnum) t "ecl_aref1(#0,#1)")
210
209
(def-inline svref :unsafe (t t) t "(#0)->vector.self.t[fix(#1)]")
211
210
(def-inline svref :unsafe (t fixnum) t "(#0)->vector.self.t[#1]")
213
212
(proclaim-function si:svset (simple-vector fixnum t) t)
214
(def-inline si:svset :always (t t t) t "aset1(#0,fixint(#1),#2)")
215
(def-inline si:svset :always (t fixnum t) t "aset1(#0,#1,#2)")
213
(def-inline si:svset :always (t t t) t "ecl_aset1(#0,fixint(#1),#2)")
214
(def-inline si:svset :always (t fixnum t) t "ecl_aset1(#0,#1,#2)")
216
215
(def-inline si:svset :unsafe (t t t) t "((#0)->vector.self.t[fix(#1)]=(#2))")
217
216
(def-inline si:svset :unsafe (t fixnum t) t "(#0)->vector.self.t[#1]= #2")
241
240
;; file character.d
243
242
(proclaim-function standard-char-p (character) t :predicate t)
243
(def-inline standard-char-p :always (character) :bool "ecl_standard_char_p(#0)")
244
245
(proclaim-function graphic-char-p (character) t :predicate t)
246
(def-inline graphic-char-p :always (character) :bool "ecl_graphic_char_p(#0)")
245
248
(proclaim-function alpha-char-p (character) t :predicate t :no-side-effects t)
246
(def-inline alpha-char-p :always (character) :bool "isalpha(#0)")
249
(def-inline alpha-char-p :always (character) :bool "ecl_alpha_char_p(#0)")
248
251
(proclaim-function upper-case-p (character) t :predicate t :no-side-effects t)
249
(def-inline upper-case-p :always (character) :bool "isupper(#0)")
252
(def-inline upper-case-p :always (character) :bool "ecl_upper_case_p(#0)")
251
254
(proclaim-function lower-case-p (character) t :predicate t :no-side-effects t)
252
(def-inline lower-case-p :always (character) :bool "islower(#0)")
255
(def-inline lower-case-p :always (character) :bool "ecl_lower_case_p(#0)")
254
257
(proclaim-function both-case-p (character) t :predicate t :no-side-effects t)
255
(def-inline both-case-p :always (character) :bool "(islower(#0)||isupper(#0))")
258
(def-inline both-case-p :always (character) :bool "ecl_both_case_p(#0)")
257
260
(proclaim-function digit-char-p (character *) t :no-side-effects t)
258
261
(def-inline digit-char-p :always (character) :bool
539
542
(proclaim-function tree-equal (t t *) t :predicate t)
540
543
(proclaim-function endp (list) t :predicate t :no-side-effects t)
541
(def-inline endp :safe (t) :bool "endp(#0)")
544
(def-inline endp :safe (t) :bool "ecl_endp(#0)")
542
545
(def-inline endp :unsafe (t) :bool "#0==Cnil")
544
547
(proclaim-function list-length (list) (or nil (integer 0 *)))
545
548
(proclaim-function nth (integer list) t :no-side-effects t)
546
(def-inline nth :always (t t) t "nth(fixint(#0),#1)")
547
(def-inline nth :always (fixnum t) t "nth(#0,#1)")
548
(def-inline nth :unsafe (t t) t "nth(fix(#0),#1)")
549
(def-inline nth :unsafe (fixnum t) t "nth(#0,#1)")
549
(def-inline nth :always (t t) t "ecl_nth(fixint(#0),#1)")
550
(def-inline nth :always (fixnum t) t "ecl_nth(#0,#1)")
551
(def-inline nth :unsafe (t t) t "ecl_nth(fix(#0),#1)")
552
(def-inline nth :unsafe (fixnum t) t "ecl_nth(#0,#1)")
551
554
(proclaim-function first (list) t :no-side-effects t)
552
555
(def-inline first :always (cons) t "CAR(#0)")
575
578
(def-inline rest :unsafe (t) t "CDR(#0)")
577
580
(proclaim-function nthcdr (fixnum list) t :no-side-effects t)
578
(def-inline nthcdr :always (t t) t "nthcdr(fixint(#0),#1)")
579
(def-inline nthcdr :always (fixnum t) t "nthcdr(#0,#1)")
580
(def-inline nthcdr :unsafe (t t) t "nthcdr(fix(#0),#1)")
581
(def-inline nthcdr :unsafe (fixnum t) t "nthcdr(#0,#1)")
581
(def-inline nthcdr :always (t t) t "ecl_nthcdr(fixint(#0),#1)")
582
(def-inline nthcdr :always (fixnum t) t "ecl_nthcdr(#0,#1)")
583
(def-inline nthcdr :unsafe (t t) t "ecl_nthcdr(fix(#0),#1)")
584
(def-inline nthcdr :unsafe (fixnum t) t "ecl_nthcdr(#0,#1)")
583
586
(proclaim-function last (list) t)
584
587
(proclaim-function list (*) list :no-side-effects t)
752
755
(proclaim-function realpart (t) t)
753
756
(proclaim-function imagpart (t) t)
754
757
(proclaim-function = (t *) t :predicate t :no-side-effects t)
755
(def-inline = :always (t t) :bool "number_equalp(#0,#1)")
758
(def-inline = :always (t t) :bool "ecl_number_equalp(#0,#1)")
756
759
(def-inline = :always (fixnum-float fixnum-float) :bool "(#0)==(#1)")
758
761
(proclaim-function /= (t *) t :predicate t :no-side-effects t)
759
(def-inline /= :always (t t) :bool "!number_equalp(#0,#1)")
762
(def-inline /= :always (t t) :bool "!ecl_number_equalp(#0,#1)")
760
763
(def-inline /= :always (fixnum-float fixnum-float) :bool "(#0)!=(#1)")
762
765
(proclaim-function < (t *) t :predicate t :no-side-effects t)
763
(def-inline < :always (t t) :bool "number_compare(#0,#1)<0")
766
(def-inline < :always (t t) :bool "ecl_number_compare(#0,#1)<0")
764
767
(def-inline < :always (fixnum-float fixnum-float) :bool "(#0)<(#1)")
766
769
(proclaim-function > (t *) t :predicate t :no-side-effects t)
767
(def-inline > :always (t t) :bool "number_compare(#0,#1)>0")
770
(def-inline > :always (t t) :bool "ecl_number_compare(#0,#1)>0")
768
771
(def-inline > :always (fixnum-float fixnum-float) :bool "(#0)>(#1)")
770
773
(proclaim-function <= (t *) t :predicate t :no-side-effects t)
771
(def-inline <= :always (t t) :bool "number_compare(#0,#1)<=0")
774
(def-inline <= :always (t t) :bool "ecl_number_compare(#0,#1)<=0")
772
775
(def-inline <= :always (fixnum-float fixnum-float) :bool "(#0)<=(#1)")
774
777
(proclaim-function >= (t *) t :predicate t :no-side-effects t)
775
(def-inline >= :always (t t) :bool "number_compare(#0,#1)>=0")
778
(def-inline >= :always (t t) :bool "ecl_number_compare(#0,#1)>=0")
776
779
(def-inline >= :always (fixnum-float fixnum-float) :bool "(#0)>=(#1)")
778
781
(proclaim-function max (t *) t :no-side-effects t)
779
(def-inline max :always (t t) t "@01;(number_compare(#0,#1)>=0?#0:#1)")
782
(def-inline max :always (t t) t "@01;(ecl_number_compare(#0,#1)>=0?#0:#1)")
780
783
(def-inline max :always (fixnum fixnum) :fixnum "@01;(#0)>=(#1)?#0:#1")
782
785
(proclaim-function min (t *) t :no-side-effects t)
783
(def-inline min :always (t t) t "@01;(number_compare(#0,#1)<=0?#0:#1)")
786
(def-inline min :always (t t) t "@01;(ecl_number_compare(#0,#1)<=0?#0:#1)")
784
787
(def-inline min :always (fixnum fixnum) :fixnum "@01;(#0)<=(#1)?#0:#1")
786
789
;; file num_log.d
848
851
(proclaim-function integer-length (t) fixnum)
849
852
(proclaim-function si:bit-array-op (*) t)
850
853
(proclaim-function zerop (t) t :predicate t :no-side-effects t)
851
(def-inline zerop :always (t) :bool "number_zerop(#0)")
854
(def-inline zerop :always (t) :bool "ecl_zerop(#0)")
852
855
(def-inline zerop :always (fixnum-float) :bool "(#0)==0")
854
857
(proclaim-function plusp (t) t :predicate t :no-side-effects t)
855
(def-inline plusp :always (t) :bool "number_plusp(#0)")
858
(def-inline plusp :always (t) :bool "ecl_plusp(#0)")
856
859
(def-inline plusp :always (fixnum-float) :bool "(#0)>0")
858
861
(proclaim-function minusp (t) t :predicate t :no-side-effects t)
859
(def-inline minusp :always (t) :bool "number_minusp(#0)")
862
(def-inline minusp :always (t) :bool "ecl_minusp(#0)")
860
863
(def-inline minusp :always (fixnum-float) :bool "(#0)<0")
862
865
(proclaim-function oddp (t) t :predicate t :no-side-effects t)
863
(def-inline oddp :always (t) :bool "number_oddp(#0)")
866
(def-inline oddp :always (t) :bool "ecl_oddp(#0)")
864
867
(def-inline oddp :always (fixnum fixnum) :bool "(#0) & 1")
866
869
(proclaim-function evenp (t) t :predicate t :no-side-effects t)
867
(def-inline evenp :always (t) :bool "number_evenp(#0)")
870
(def-inline evenp :always (t) :bool "ecl_evenp(#0)")
868
871
(def-inline evenp :always (fixnum fixnum) :bool "~(#0) & 1")
870
873
(proclaim-function random (t *) t)
968
971
(proclaim-function rationalp (t) t :predicate t)
969
972
(proclaim-function floatp (t) t :predicate t :no-side-effects t)
970
(def-inline floatp :always (t) :bool
971
"@0;type_of(#0)==t_shortfloat||type_of(#0)==t_longfloat")
973
(def-inline floatp :always (t) :bool "floatp(#0)")
973
975
(proclaim-function complexp (t) t :predicate t)
974
976
(proclaim-function characterp (t) t :predicate t :no-side-effects t)
975
977
(def-inline characterp :always (t) :bool "CHARACTERP(#0)")
978
979
(proclaim-function base-char-p (t) t :predicate t :no-side-effects t)
979
(def-inline base-char-p :always (t) :bool "BASE_CHAR_P(#0)")
980
(def-inline base-char-p :always (character) :bool "BASE_CHAR_P(#0)")
981
982
(proclaim-function stringp (t) t :predicate t :no-side-effects t)
983
(def-inline stringp :always (t) :bool "type_of(#0)==t_base_string")
983
(def-inline stringp :always (t) :bool "ecl_stringp(#0)")
985
(proclaim-function base-string-p (t) t :predicate t :no-side-effects t)
985
986
(def-inline base-string-p :always (t) :bool "type_of(#0)==t_base_string")
987
(def-inline stringp :always (t) :bool "(type_of(#0)==t_base_string||type_of(#0)==t_string)")
989
988
(proclaim-function bit-vector-p (t) t :predicate t :no-side-effects t)
990
989
(def-inline bit-vector-p :always (t) :bool "(type_of(#0)==t_bitvector)")
1055
1054
(proclaim-function peek-char (*) t)
1056
1055
(proclaim-function pprint (t *) t)
1057
1056
(proclaim-function prin1 (t *) t)
1058
(def-inline prin1 :always (t t) t "prin1(#0,#1)")
1059
(def-inline prin1 :always (t) t "prin1(#0,Cnil)")
1057
(def-inline prin1 :always (t t) t "ecl_prin1(#0,#1)")
1058
(def-inline prin1 :always (t) t "ecl_prin1(#0,Cnil)")
1061
1060
(proclaim-function princ (t *) t)
1062
(def-inline princ :always (t t) t "princ(#0,#1)")
1063
(def-inline princ :always (t) t "princ(#0,Cnil)")
1061
(def-inline princ :always (t t) t "ecl_princ(#0,#1)")
1062
(def-inline princ :always (t) t "ecl_princ(#0,Cnil)")
1065
1064
(proclaim-function print (t *) t)
1066
(def-inline print :always (t t) t "print(#0,#1)")
1067
(def-inline print :always (t) t "print(#0,Cnil)")
1065
(def-inline print :always (t t) t "ecl_print(#0,#1)")
1066
(def-inline print :always (t) t "ecl_print(#0,Cnil)")
1069
1068
(proclaim-function probe-file (t) t :predicate t)
1070
1069
(proclaim-function unread-char (t *) t)
1074
1073
(proclaim-function read-line (*) (values t t))
1075
1074
(proclaim-function read-preserving-whitespace (*) t)
1076
1075
(proclaim-function terpri (*) t :predicate t)
1077
(def-inline terpri :always (t) t "terpri(#0)")
1078
(def-inline terpri :always nil t "terpri(Cnil)")
1076
(def-inline terpri :always (t) t "ecl_terpri(#0)")
1077
(def-inline terpri :always nil t "ecl_terpri(Cnil)")
1080
1079
(proclaim-function write (t *) t)
1081
1080
(proclaim-function write-byte (fixnum stream) t)
1082
1081
(proclaim-function write-char (t *) t)
1083
(def-inline write-char :always (t) t "@0;(princ_char(char_code(#0),Cnil),(#0))")
1082
(def-inline write-char :always (t) t "@0;(ecl_princ_char(ecl_char_code(#0),Cnil),(#0))")
1085
1084
(proclaim-function write-line (t *) t)
1086
1085
(proclaim-function write-string (t *) t)
1118
1117
;; file sequence.d
1120
1119
(proclaim-function elt (sequence fixnum) t :no-side-effects t)
1121
(def-inline elt :always (t t) t "elt(#0,fixint(#1))")
1122
(def-inline elt :always (t fixnum) t "elt(#0,#1)")
1123
(def-inline elt :unsafe (t t) t "elt(#0,fix(#1))")
1124
(def-inline elt :unsafe (t fixnum) t "elt(#0,#1)")
1120
(def-inline elt :always (t t) t "ecl_elt(#0,fixint(#1))")
1121
(def-inline elt :always (t fixnum) t "ecl_elt(#0,#1)")
1122
(def-inline elt :unsafe (t t) t "ecl_elt(#0,fix(#1))")
1123
(def-inline elt :unsafe (t fixnum) t "ecl_elt(#0,#1)")
1126
1125
(proclaim-function si:elt-set (sequence fixnum t) t)
1127
(def-inline si:elt-set :always (t t t) t "elt_set(#0,fixint(#1),#2)")
1128
(def-inline si:elt-set :always (t fixnum t) t "elt_set(#0,#1,#2)")
1129
(def-inline si:elt-set :unsafe (t t t) t "elt_set(#0,fix(#1),#2)")
1126
(def-inline si:elt-set :always (t t t) t "ecl_elt_set(#0,fixint(#1),#2)")
1127
(def-inline si:elt-set :always (t fixnum t) t "ecl_elt_set(#0,#1,#2)")
1128
(def-inline si:elt-set :unsafe (t t t) t "ecl_elt_set(#0,fix(#1),#2)")
1131
1130
(proclaim-function subseq (sequence fixnum *) sequence)
1132
1131
(proclaim-function copy-seq (sequence) sequence)
1133
1132
(proclaim-function length (sequence) fixnum :no-side-effects t)
1134
1133
(def-inline length :always (t) t "cl_length(#0)")
1135
(def-inline length :always (t) :fixnum "length(#0)")
1134
(def-inline length :always (t) :fixnum "ecl_length(#0)")
1136
1135
(def-inline length :unsafe ((array t)) :fixnum "(#0)->vector.fillp")
1137
1136
(def-inline length :unsafe (string) :fixnum "(#0)->base_string.fillp")
1144
1143
(proclaim-function char (string fixnum) character :no-side-effects t)
1145
1144
(def-inline char :always (t t) t "cl_char(#0,#1)")
1146
(def-inline char :always (t fixnum) t "aref1(#0,#1)")
1145
(def-inline char :always (t fixnum) t "ecl_aref1(#0,#1)")
1147
1146
(def-inline char :unsafe (t t) t "CODE_CHAR((#0)->base_string.self[fix(#1)])")
1148
1147
(def-inline char :unsafe (t fixnum) :fixnum "(#0)->base_string.self[#1]")
1149
1148
(def-inline char :unsafe (t fixnum) :char "(#0)->base_string.self[#1]")
1151
1150
(proclaim-function si:char-set (string fixnum character) character)
1152
1151
(def-inline si:char-set :always (t t t) t "si_char_set(#0,#1,#2)")
1153
(def-inline si:char-set :always (t fixnum t) t "aset1(#0,#1,#2)")
1152
(def-inline si:char-set :always (t fixnum t) t "ecl_aset1(#0,#1,#2)")
1154
1153
(def-inline si:char-set :unsafe (t t t) t
1155
"@2;((#0)->base_string.self[fix(#1)]=char_code(#2),(#2))")
1154
"@2;((#0)->base_string.self[fix(#1)]=ecl_char_code(#2),(#2))")
1156
1155
(def-inline si:char-set :unsafe (t fixnum character) :char
1157
1156
"(#0)->base_string.self[#1]= #2")
1159
1158
(proclaim-function schar (simple-string fixnum) character :no-side-effects t)
1160
(def-inline schar :always (t t) t "elt(#0,fixint(#1))")
1161
(def-inline schar :always (t fixnum) t "elt(#0,#1)")
1159
(def-inline schar :always (t t) t "ecl_elt(#0,fixint(#1))")
1160
(def-inline schar :always (t fixnum) t "ecl_elt(#0,#1)")
1162
1161
(def-inline schar :unsafe (t t) t "CODE_CHAR((#0)->base_string.self[fix(#1)])")
1163
1162
(def-inline schar :unsafe (t t) :fixnum "(#0)->base_string.self[fix(#1)]")
1164
1163
(def-inline schar :unsafe (t fixnum) :fixnum "(#0)->base_string.self[#1]")
1165
1164
(def-inline schar :unsafe (t fixnum) :char "(#0)->base_string.self[#1]")
1167
1166
(proclaim-function si:schar-set (string fixnum character) character)
1168
(def-inline si:schar-set :always (t t t) t "elt_set(#0,fixint(#1),#2)")
1169
(def-inline si:schar-set :always (t fixnum t) t "elt_set(#0,#1,#2)")
1167
(def-inline si:schar-set :always (t t t) t "ecl_elt_set(#0,fixint(#1),#2)")
1168
(def-inline si:schar-set :always (t fixnum t) t "ecl_elt_set(#0,#1,#2)")
1170
1169
(def-inline si:schar-set :unsafe (t t t) t
1171
"@2;((#0)->base_string.self[fix(#1)]=char_code(#2),(#2))")
1172
(def-inline si:schar-set :unsafe (t fixnum character) :char
1170
"@2;((#0)->base_string.self[fix(#1)]=ecl_char_code(#2),(#2))")
1171
(def-inline si:schar-set :unsafe (t fixnum base-char) :char
1173
1172
"(#0)->base_string.self[#1]= #2")
1175
1174
(proclaim-function string= (string-designator string-designator *) t :predicate t :no-side-effects t)
1176
(def-inline string= :always (string string) :bool "string_eq(#0,#1)")
1175
(def-inline string= :always (string string) :bool "ecl_string_eq(#0,#1)")
1178
1177
(proclaim-function string< (string-designator string-designator *) t :predicate t)
1179
1178
(proclaim-function string> (string-designator string-designator *) t :predicate t)
1208
1207
(def-inline si:structure-name :always (structure) symbol "SNAME(#0)")
1210
1209
(proclaim-function si:structure-ref (t t fixnum) t :no-side-effects t)
1211
(def-inline si:structure-ref :always (t t fixnum) t "structure_ref(#0,#1,#2)")
1210
(def-inline si:structure-ref :always (t t fixnum) t "ecl_structure_ref(#0,#1,#2)")
1213
1212
(proclaim-function si:structure-set (t t fixnum t) t)
1214
1213
(def-inline si:structure-set :always (t t fixnum t) t
1215
"structure_set(#0,#1,#2,#3)")
1214
"ecl_structure_set(#0,#1,#2,#3)")
1217
1216
(proclaim-function si:structurep (t) t :predicate t)
1218
1217
(proclaim-function si:structure-subtype-p (t t) t :predicate t)
1219
(proclaim-function si:rplaca-nthcdr (t t t) t)
1220
(proclaim-function si:list-nth (t t) t :predicate t)
1222
1219
(proclaim-function si:*make-special (*) t)
1223
1220
(proclaim-function si:*make-constant (*) t)
1312
1321
(proclaim-function si:allocate-raw-instance (t t fixnum) t)
1313
1322
(proclaim-function si:instance-ref-safe (t fixnum) t)
1314
1323
(proclaim-function si:instance-ref (t fixnum) t :no-side-effects t)
1315
(def-inline si:instance-ref :always (t fixnum) t "instance_ref((#0),(#1))")
1324
(def-inline si:instance-ref :always (t fixnum) t "ecl_instance_ref((#0),(#1))")
1316
1325
(def-inline si:instance-ref :unsafe (standard-object fixnum) t
1317
1326
"(#0)->instance.slots[#1]")
1319
1328
(proclaim-function si:instance-set (t fixnum t) t)
1320
1329
(def-inline si:instance-set :unsafe (t fixnum t) t
1321
"instance_set((#0),(#1),(#2))")
1330
"ecl_instance_set((#0),(#1),(#2))")
1322
1331
(def-inline si:instance-set :unsafe (standard-object fixnum t) t
1323
1332
"(#0)->instance.slots[#1]=(#2)")