126
126
(def-inline aref :unsafe ((array bit) t) :fixnum "aref_bv(#0,fix(#1))")
127
127
(def-inline aref :unsafe ((array bit) fixnum) :fixnum "aref_bv(#0,#1)")
128
128
(def-inline aref :unsafe ((array base-char) fixnum) t
129
"CODE_CHAR((#0)->string.self[#1])")
129
"CODE_CHAR((#0)->base_string.self[#1])")
131
(def-inline aref :unsafe ((array character) fixnum fixnum) t
132
"@0;(#0)->string.self[#1*(#0)->array.dims[1]+#2]")
130
133
(def-inline aref :unsafe ((array long-float) fixnum) t
131
134
"make_longfloat((#0)->array.self.lf[#1])")
132
135
(def-inline aref :unsafe ((array short-float) fixnum) t
134
137
(def-inline aref :unsafe ((array fixnum) fixnum) t
135
138
"MAKE_FIXNUM((#0)->array.self.fix[#1])")
136
139
(def-inline aref :unsafe ((array base-char) fixnum) :fixnum
137
"(#0)->string.self[#1]")
140
"(#0)->base_string.self[#1]")
142
(def-inline aref :unsafe ((array character) fixnum) :fixnum
143
"CHAR_CODE((#0)->base_string.self[#1])")
138
144
(def-inline aref :unsafe ((array base-char) fixnum) :char
139
"(#0)->string.self[#1]")
145
"(#0)->base_string.self[#1]")
140
146
(def-inline aref :unsafe ((array long-float) fixnum) :double
141
147
"(#0)->array.self.lf[#1]")
142
148
(def-inline aref :unsafe ((array short-float) fixnum) :float
154
160
(def-inline si:aset :unsafe (t (array bit) fixnum fixnum) :fixnum
155
161
"@0;aset_bv(#1,(#2)*(#1)->array.dims[1]+(#3),fix(#0))")
156
162
(def-inline si:aset :unsafe (character (array base-char) fixnum fixnum) :char
157
"@1;(#1)->string.self[#2*(#1)->array.dims[1]+#3]= #0")
163
"@1;(#1)->base_string.self[#2*(#1)->array.dims[1]+#3]= #0")
158
164
(def-inline si:aset :unsafe (long-float (array long-float) fixnum fixnum)
159
165
:double "@1;(#1)->array.self.lf[#2*(#1)->array.dims[1]+#3]= #0")
160
166
(def-inline si:aset :unsafe (short-float (array short-float) fixnum fixnum)
210
219
(proclaim-function array-has-fill-pointer-p (*) t :predicate t)
211
220
(proclaim-function fill-pointer (vector) fixnum :no-side-effects t)
212
(def-inline fill-pointer :unsafe (t) :fixnum "((#0)->string.fillp)")
221
(def-inline fill-pointer :unsafe (t) :fixnum "((#0)->vector.fillp)")
214
223
(proclaim-function si:fill-pointer-set (vector fixnum) fixnum)
215
224
(def-inline si:fill-pointer-set :unsafe (t fixnum) :fixnum
216
"((#0)->string.fillp)=(#1)")
225
"((#0)->vector.fillp)=(#1)")
218
227
(proclaim-function si:replace-array (*) t)
965
974
(proclaim-function characterp (t) t :predicate t :no-side-effects t)
966
975
(def-inline characterp :always (t) :bool "CHARACTERP(#0)")
978
(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)")
968
981
(proclaim-function stringp (t) t :predicate t :no-side-effects t)
969
(def-inline stringp :always (t) :bool "type_of(#0)==t_string")
983
(def-inline stringp :always (t) :bool "type_of(#0)==t_base_string")
985
(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)")
971
989
(proclaim-function bit-vector-p (t) t :predicate t :no-side-effects t)
972
990
(def-inline bit-vector-p :always (t) :bool "(type_of(#0)==t_bitvector)")
974
992
(proclaim-function vectorp (t) t :predicate t :no-side-effects t)
975
(def-inline vectorp :always (t) :bool "@0;type_of(#0)==t_vector||
994
(def-inline vectorp :always (t) :bool "@0;type_of(#0)==t_vector||
995
type_of(#0)==t_base_string||
996
type_of(#0)==t_bitvector")
998
(def-inline vectorp :always (t) :bool "@0;type_of(#0)==t_vector||
999
type_of(#0)==t_base_string||
976
1000
type_of(#0)==t_string||
977
1001
type_of(#0)==t_bitvector")
1120
1144
(proclaim-function char (string fixnum) character :no-side-effects t)
1121
1145
(def-inline char :always (t t) t "cl_char(#0,#1)")
1122
1146
(def-inline char :always (t fixnum) t "aref1(#0,#1)")
1123
(def-inline char :unsafe (t t) t "CODE_CHAR((#0)->string.self[fix(#1)])")
1124
(def-inline char :unsafe (t fixnum) :fixnum "(#0)->string.self[#1]")
1125
(def-inline char :unsafe (t fixnum) :char "(#0)->string.self[#1]")
1147
(def-inline char :unsafe (t t) t "CODE_CHAR((#0)->base_string.self[fix(#1)])")
1148
(def-inline char :unsafe (t fixnum) :fixnum "(#0)->base_string.self[#1]")
1149
(def-inline char :unsafe (t fixnum) :char "(#0)->base_string.self[#1]")
1127
1151
(proclaim-function si:char-set (string fixnum character) character)
1128
1152
(def-inline si:char-set :always (t t t) t "si_char_set(#0,#1,#2)")
1129
1153
(def-inline si:char-set :always (t fixnum t) t "aset1(#0,#1,#2)")
1130
1154
(def-inline si:char-set :unsafe (t t t) t
1131
"@2;((#0)->string.self[fix(#1)]=char_code(#2),(#2))")
1155
"@2;((#0)->base_string.self[fix(#1)]=char_code(#2),(#2))")
1132
1156
(def-inline si:char-set :unsafe (t fixnum character) :char
1133
"(#0)->string.self[#1]= #2")
1157
"(#0)->base_string.self[#1]= #2")
1135
1159
(proclaim-function schar (simple-string fixnum) character :no-side-effects t)
1136
1160
(def-inline schar :always (t t) t "elt(#0,fixint(#1))")
1137
1161
(def-inline schar :always (t fixnum) t "elt(#0,#1)")
1138
(def-inline schar :unsafe (t t) t "CODE_CHAR((#0)->string.self[fix(#1)])")
1139
(def-inline schar :unsafe (t t) :fixnum "(#0)->string.self[fix(#1)]")
1140
(def-inline schar :unsafe (t fixnum) :fixnum "(#0)->string.self[#1]")
1141
(def-inline schar :unsafe (t fixnum) :char "(#0)->string.self[#1]")
1162
(def-inline schar :unsafe (t t) t "CODE_CHAR((#0)->base_string.self[fix(#1)])")
1163
(def-inline schar :unsafe (t t) :fixnum "(#0)->base_string.self[fix(#1)]")
1164
(def-inline schar :unsafe (t fixnum) :fixnum "(#0)->base_string.self[#1]")
1165
(def-inline schar :unsafe (t fixnum) :char "(#0)->base_string.self[#1]")
1143
1167
(proclaim-function si:schar-set (string fixnum character) character)
1144
1168
(def-inline si:schar-set :always (t t t) t "elt_set(#0,fixint(#1),#2)")
1145
1169
(def-inline si:schar-set :always (t fixnum t) t "elt_set(#0,#1,#2)")
1146
1170
(def-inline si:schar-set :unsafe (t t t) t
1147
"@2;((#0)->string.self[fix(#1)]=char_code(#2),(#2))")
1171
"@2;((#0)->base_string.self[fix(#1)]=char_code(#2),(#2))")
1148
1172
(def-inline si:schar-set :unsafe (t fixnum character) :char
1149
"(#0)->string.self[#1]= #2")
1173
"(#0)->base_string.self[#1]= #2")
1151
1175
(proclaim-function string= (string-designator string-designator *) t :predicate t :no-side-effects t)
1152
1176
(def-inline string= :always (string string) :bool "string_eq(#0,#1)")
1154
(proclaim-function string-equal (string-designator string-designator *) t :predicate t
1156
(def-inline string-equal :always (string string) :bool "string_equal(#0,#1)")
1158
1178
(proclaim-function string< (string-designator string-designator *) t :predicate t)
1159
1179
(proclaim-function string> (string-designator string-designator *) t :predicate t)
1160
1180
(proclaim-function string<= (string-designator string-designator *) t :predicate t)
1161
1181
(proclaim-function string>= (string-designator string-designator *) t :predicate t)
1162
1182
(proclaim-function string/= (string-designator string-designator *) t :predicate t)
1183
(proclaim-function string-equal (string-designator string-designator *) t :predicate t
1163
1185
(proclaim-function string-lessp (string-designator string-designator *) t :predicate t)
1164
1186
(proclaim-function string-greaterp (string-designator string-designator *) t :predicate t)
1165
1187
(proclaim-function string-not-lessp (string-designator string-designator *) t :predicate t)