Commit | Line | Data |
---|---|---|
0336d18b MV |
1 | 2004-12-29 Marius Vollmer <mvo@zagadka.de> |
2 | ||
3 | No longer use creators to specify the type of an array. Creators | |
4 | expose the fact that arrays are wrapped around vectors, but that | |
5 | might change. | |
6 | ||
7 | * srfi-4.h (scm_i_proc_make_u8vector, scm_i_proc_make_s8vector, | |
8 | scm_i_proc_make_u16vector, scm_i_proc_make_s16vector, | |
9 | scm_i_proc_make_u32vector, scm_i_proc_make_s32vector, | |
10 | scm_i_proc_make_u64vector, scm_i_proc_make_s64vector, | |
11 | scm_i_proc_make_f32vector, scm_i_proc_make_f64vector, | |
12 | scm_i_proc_make_c32vector, scm_i_proc_make_c64vector, | |
13 | uvec_proc_vars): Removed. | |
14 | (scm_i_generalized_vector_creator): Removed. | |
15 | (scm_i_generalized_vector_type): New. | |
16 | ||
17 | * unif.h, unif.c (scm_typed_array_p, scm_make_array, | |
18 | scm_make_typed_array, scm_array_type, scm_list_to_array, | |
19 | scm_list_to_typed_array, scm_is_array, scm_is_typed_array): New. | |
20 | (scm_array_creator): Removed. | |
21 | (scm_array_p): Deprecated second PROT argument. | |
22 | (scm_dimensions_to_uniform_array, scm_list_to_uniform_array): | |
23 | Deprecated, reimplemented in terms of scm_make_typed_array and | |
24 | scm_list_to_typed_array. | |
25 | (scm_i_proc_make_vector, scm_i_proc_make_string, | |
26 | scm_i_proc_make_bitvector): Removed. | |
27 | (type_creator_table, init_type_creator_table, type_to_creator, | |
28 | make_typed_vector): New. | |
29 | (scm_i_convert_old_prototype): Removed. | |
30 | (prototype_to_type): New. | |
31 | (scm_make_uve): Deprecated, reimplemented using make_typed_vector. | |
32 | (scm_array_dimensions): Use scm_list_1 instead of scm_cons for | |
33 | minor added clarity. | |
34 | (scm_make_shared_array, scm_ra2contig): Use make_typed_vector | |
35 | instead of scm_make_uve. | |
36 | (tag_creator_table, scm_i_tag_to_creator): Removed. | |
37 | (tag_to_type): New. | |
38 | (scm_i_read_array): Use scm_list_to_typed_array instead of | |
39 | scm_list_to_uniform_array. | |
40 | ||
277e8472 MV |
41 | 2004-12-27 Marius Vollmer <mvo@zagadka.de> |
42 | ||
32b26202 MV |
43 | * unif.h, unif.c (scm_bitvector_elements): Made return value "const". |
44 | (scm_bitvector_writable_elements): New. | |
45 | (scm_bitvector_release, scm_bitvector_release_elements): | |
46 | Renamed former to latter. Added explicit call to | |
47 | scm_remember_upto_here_1. | |
48 | (scm_frame_bitvector_release, | |
49 | scm_frame_bitvector_release_elements): Renamed former to latter. | |
50 | (scm_bitvector_release_writable_elements, | |
51 | scm_bitvector_release_writable_elements): New. | |
52 | Changed all uses as required by the changes above. | |
53 | ||
54 | * srfi-4.h, srfi-4.c, srfi-4.i.c (scm_uniform_vector_elements, | |
55 | scm_u8vector_elements, etc): Made return value "const". | |
56 | (scm_uniform_vector_writable_elements, | |
57 | scm_u8vector_writable_elements, etc): New. | |
58 | (scm_uniform_vector_release, scm_uniform_vector_release_elements): | |
59 | Renamed former to latter. Added explicit call to | |
60 | scm_remember_upto_here_1. | |
61 | (scm_frame_uniform_vector_release, | |
62 | scm_frame_uniform_vector_release_elements): Renamed former to latter. | |
63 | (scm_uniform_vector_release_writable_elements, | |
64 | scm_frame_uniform_vector_release_writable_elements): New. Takes | |
65 | crown of longest identifier yet. | |
66 | Changed all uses as required by the changes above. | |
67 | ||
277e8472 MV |
68 | * vectors.h, vectors.c (scm_c_vector_set_x): Make return type |
69 | void. | |
70 | (scm_is_vector, scm_vector_p, scm_vector_length, | |
71 | scm_c_vector_length, scm_vector_ref, scm_c_vector_ref, | |
72 | scm_vector_set_x, scm_c_vector_set_x, scm_vector_to_list, | |
73 | scm_vector_move_left_x, scm_vector_move_right_x, | |
74 | scm_vector_fill_x): handle one-dimensional arrays. | |
32b26202 MV |
75 | (scm_vector_elements, scm_vector_release_elements, |
76 | scm_vector_frame_release_elements, scm_vector_writable_elements, | |
77 | scm_vector_release_writable_elements, | |
78 | scm_vector_frame_release_writable_elements): New. | |
79 | (scm_list_to_vector, scm_vector_to_list, scm_vector_fill, | |
80 | scm_vector_move_left_x, scm_vector_move_right_x): Use them. | |
277e8472 MV |
81 | |
82 | * ramap.c (scm_ramapc, scm_raeql): Use | |
83 | scm_c_generalized_vector_length instead of | |
84 | scm_uniform_vector_length. | |
85 | (scm_ramap, rafe): Use scm_c_vector_ref instead of SCM_VELTS. use | |
86 | scm_c_generalized_vector_ref instead of scm_uniform_vector_ref. | |
87 | ||
49c51610 MV |
88 | 2004-12-23 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
89 | ||
90 | * continuations.h, continuations.c (scm_t_contregs): New 'offset' | |
91 | member for relocating debug frames. | |
92 | (scm_make_continuation): Set it. | |
93 | ||
94 | * stacks.c (read_frame, read_frames, scm_make_stack, | |
95 | scm_last_stack_frame, scm_stack_id): Use the new 'offset' member | |
96 | of continuations instead of calculating the offset ourselves. | |
97 | Relocate 'vect' member of scm_t_debug_frame. | |
98 | ||
3b2ee265 KR |
99 | 2004-12-16 Kevin Ryde <user42@zip.com.au> |
100 | ||
101 | * ramap.c (scm_array_map_x): Check for at least one source argument. | |
102 | ||
e120686a KR |
103 | 2004-12-14 Kevin Ryde <user42@zip.com.au> |
104 | ||
105 | * srfi-13.c (string-any, string-every): Use a scheme wrapper around | |
106 | the C code so for the final call to the predicate procedure is a tail | |
107 | call, per SRFI-13 spec. | |
108 | ||
680b5237 KR |
109 | 2004-12-10 Kevin Ryde <user42@zip.com.au> |
110 | ||
111 | * eq.c (scm_eq_p, scm_eqv_p, scm_equal_p): Update docstrings from | |
112 | recent revision to the reference manual. | |
113 | ||
114 | * numbers.c (scm_modulo): Amend fixme comment about negative divisor | |
115 | with "%", C99 says it's well-defined. | |
116 | ||
117 | * socket.c (scm_from_ipv6): Just use mpz_import. Don't bother trying | |
118 | to fit scm_from_ulong_long, since that uses mpz_import anyway. Don't | |
119 | bother trying to fit scm_from_ulong, not really worth the trouble if | |
120 | addresses are more than 4 bytes usually. | |
121 | ||
446d320c KR |
122 | 2004-11-30 Kevin Ryde <user42@zip.com.au> |
123 | ||
124 | * gc_os_dep.c (NetBSD): Test __m68k__ and __arm__ as well as m68k and | |
125 | arm32. Reported by Greg Troxel. | |
126 | ||
f2654760 MV |
127 | 2004-11-14 mvo <mvo@zagadka.de> |
128 | ||
129 | * unif.c, unif.h (scm_i_cvref): Made non-static for ramap.c. | |
130 | ||
131 | * Makefile.am (INCLUDES): It is "@LTDLINCL@", not "@LTDLINC@". | |
132 | ||
d550e35f MV |
133 | 2004-11-12 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
134 | ||
135 | Enclosed arrays are now their own smob. This has been done to | |
136 | make the code more explicit about them and to prepare for the time | |
f2654760 MV |
137 | when generalized vectors include arbitrary one-dimensional |
138 | arrays. (Uptonow, enclosed arrays have been recognized by their | |
139 | use of an array as their storage 'vector'. When all generalized | |
140 | vectors are allowed as storage, including one-dimensional arrays, | |
141 | this will no longer work.) | |
d550e35f MV |
142 | |
143 | * unif.h, unif.c: (scm_tc16_enclosed_array, SCM_ENCLOSED_ARRAYP): | |
144 | New. | |
145 | (exactly_one_third, singp): Removed. | |
146 | (scm_array_p, scm_array_dimensions, scm_shared_array_root, | |
147 | scm_shared_array_offset, scm_shared_array_increments): Handle | |
148 | enclosed arrays explicitely. | |
149 | (scm_array_rank): Likewise. Also, do not return zero for | |
150 | non-arrays, signal an error instead since arrays with rank zero do | |
151 | exist. | |
152 | (scm_i_make_ra): New, for specifying the tag of the new array. | |
153 | (scm_make_enclosed_array): Use it. | |
154 | (scm_make_ra): Reimplemented in terms of scm_i_make_ra. | |
155 | (scm_make_shared_array): Use scm_c_generalized_vector_length | |
156 | instead of scm_uniform_vector_length. | |
157 | (scm_array_in_bounds_p): Rewritten to be much cleaner. | |
158 | (scm_i_cvref): New, doing the job of scm_cvref. | |
159 | (scm_cvref): Use scm_i_cvref. | |
160 | (scm_array_ref): Do not accept non-arrays when no indices are | |
161 | given. Use scm_i_cvref to do the actual access. | |
162 | ("uniform-array-set1"): Do not register. | |
163 | (scm_array_set_x, scm_uniform_array_read_x, | |
164 | scm_uniform_array_write): Handle enclosed arrays explicitly. | |
165 | (ra2l): Use scm_i_cvref instead of scm_uniform_vector_ref to also | |
166 | handle enclosed arrays. | |
167 | (scm_array_to_list): Handle enclosed arrays explicitly. | |
168 | (rapr1): Removed. | |
169 | (scm_i_print_array_dimension): Use scm_i_cvref to also handle | |
170 | enclosed arrays. | |
171 | (scm_i_print_enclosed_array): New. | |
172 | (tag_proto_table, tag_creator_table): Renamed former to latter. | |
173 | Added "a" and "b" for strings and bitvectors, resp. | |
174 | (scm_i_tag_to_prototype, scm_i_tag_to_creator): Renamed former to | |
175 | latter. Tag "a" is in the table now, no need to handle it as a | |
176 | legacy tag. | |
177 | (scm_raprin1): Just call scm_iprin1. | |
178 | (scm_array_creator, scm_array_prototype): Handle enclosed arrays | |
179 | explicitly. | |
180 | (scm_init_unif): Initialize scm_tc16_enclosed_array smob. | |
181 | Use scm_i_print_array as printer for scm_tc16_array. | |
182 | ||
2ed34885 MV |
183 | 2004-11-10 Marius Vollmer <mvo@zagadka.de> |
184 | ||
823086c1 MV |
185 | * ramap.c (cind): Changed second arg to be pointer to long instead |
186 | of uniform vector. | |
187 | (scm_ramapc): Allocate index vector with scm_malloc and not as | |
d550e35f | 188 | uniform vector. Wrap it in a frame so that it gets properly freed. |
823086c1 MV |
189 | (scm_array_index_map_x): Likewise. |
190 | ||
191 | * unif.c: Changed all uses of scm_array_prototype to | |
192 | scm_array_creator. (scm_i_get_old_prototype): Signal error when no | |
193 | prototype is known. | |
194 | (scm_uniform_array_read_x, scm_uniform_array_write): Reimplemented | |
195 | in terms of scm_uniform_vector_read_x and | |
196 | scm_uniform_vector_write, respectively. Strings and | |
197 | bitvector support has been dropped. | |
198 | ||
2ed34885 MV |
199 | * srfi-4.h, srfi-4.c: Do not include <libguile.h>, include the |
200 | needed files directly. Include config.h, <unistd.h> and <io.h> | |
201 | when available. | |
202 | (scm_uniform_vector_read_x, scm_uniform_vector_write): New. | |
203 | ||
2c72f253 MV |
204 | 2004-11-09 Marius Vollmer <mvo@zagadka.de> |
205 | ||
206 | * gh_data.c (gh_uniform_vector_length): Properly use | |
207 | scm_c_uniform_vector_length instead of scm_uniform_vector_length. | |
208 | ||
3cc0a296 MV |
209 | 2004-11-09 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
210 | ||
211 | * srfi-4.h (scm_c_uniform_vector_ref, scm_c_uniform_vector_set_x): | |
212 | New. | |
213 | (scm_i_uniform_vector_creator): Removed. | |
214 | (scm_i_generalized_vector_creator): New. | |
215 | (scm_uniform_vector_length, scm_uniform_element_size): Do not | |
216 | handle generalized vectors, only uniform numeric vectors. | |
217 | (alloc_uvec): Do length check here... | |
218 | (make_uvec): ...but not here. | |
219 | (coerce_to_uvec): Use new generalized vector functions to handle | |
220 | all kinds of vectors in one go. | |
221 | ||
222 | * tags.h (scm_tc7_bvect): Renamed to scm_tc7_unused7, renaming the | |
223 | remaining scm_tc7_unused tags to get a neatly ordered list. | |
224 | ||
225 | * eq.c, evalext.c, gc-card.c, gc-mark.c, objects.c, print.c: Do no | |
226 | longer handle scm_tc7_bvect bitvectors. | |
227 | ||
228 | * ramap.c: Use the new generalized vector functions to handle all | |
229 | vector like things. | |
230 | ||
231 | * vectors.h, vectors.c (scm_is_vector, scm_c_vector_length, | |
232 | scm_c_vector_ref, scm_c_vector_set_x, scm_generalized_vector_p, | |
233 | scm_generalized_vector_length, scm_generalized_vector_ref, | |
234 | scm_generalized_vector_set_x, scm_generalized_vector_to_list, | |
235 | scm_is_generalized_vector, scm_c_generalized_vector_length, | |
236 | scm_c_generalized_vector_ref, scm_c_generalized_vector_set_x): | |
237 | New. | |
238 | ||
239 | * unif.h, unif.c (scm_bitvector_p, scm_bitvector, | |
240 | scm_make_bitvector, scm_bitvector_length, scm_bitvector_ref, | |
241 | scm_bitvector_set_x, scm_list_to_bitvector, scm_bitvector_to_list, | |
242 | scm_bitvector_fill_x, scm_is_bitvector, scm_c_make_bitvector, | |
243 | scm_c_bitvector_length, scm_c_bitvector_ref, | |
244 | scm_c_bitvector_set_x, scm_bitvector_elements, | |
245 | scm_bitvector_release, scm_frame_bitvector_release, | |
246 | scm_tc16_bitvector, bitvector_free, bitvector_print, | |
247 | bitvector_equalp, count_ones, find_first_one): New. | |
248 | (scm_bit_count, scm_bit_position, scm_bit_set_star_x, | |
249 | scm_bit_count_star, scm_bit_invert_x, scm_istr2bve): Rewritten | |
250 | using the new C API for bitvectors and maybe count_ones or | |
251 | find_first_one, as appropriate. | |
252 | (SCM_I_MAX_LENGTH, SCM_BITVECTOR_P, SCM_BITVECTOR_BASE, | |
253 | SCM_SET_BITVECTOR_BASE, SCM_BITVECTOR_MAX_LENGTH, | |
254 | SCM_BITVECTOR_LENGTH, SCM_MAKE_BITVECTOR_TAG, | |
255 | SCM_SET_BITVECTOR_LENGTH): Removed. Replaced all uses with the | |
256 | new functions from above. | |
257 | (scm_i_proc_make_vector, scm_i_proc_make_string, | |
258 | scm_i_proc_make_bitvector): Made non-static for use in | |
259 | scm_i_generalized_vector_creator. | |
260 | (scm_make_u1vector): Removed, replaced by scm_make_bitvector. | |
261 | (scm_make_uve): Validate that the created object is a generalized | |
262 | vector. | |
263 | (scm_i_legacy_tag): Removed. | |
264 | (scm_i_print_array): Do it here. | |
265 | (scm_raprin1): Only print enclosed arrays. | |
266 | ||
267 | * Makefile.am (DOT_DOC_FILES): Added srfi-4.doc. | |
268 | ||
c24d026b MV |
269 | 2004-11-04 Marius Vollmer <marius.vollmer@uni-dortmund.de> |
270 | ||
1f2328fe MV |
271 | * srfi-4.c (make_uvec): Use SCM_I_SIZE_MAX instead of SIZE_MAX for |
272 | added portability. | |
273 | ||
274 | * chars.c (scm_charnames, scm_charnums): Added "sp" as an alias | |
275 | for "space". Thanks to Bruce Korb! | |
276 | ||
c24d026b MV |
277 | * rw.c (scm_read_string_x_partial): Bugfix, apply offset to dest |
278 | only after dest has been set. Thanks to Hyper Division! | |
279 | ||
280 | * gh_data.c (gh_uniform_vector_length): Use | |
281 | scm_uniform_vector_length instead of SCM_UVECTOR_LENGTH. | |
282 | ||
d4ea47c8 MV |
283 | 2004-11-03 Marius Vollmer <mvo@zagadka.de> |
284 | ||
285 | * unif.h (SCM_UVECTOR_BASE, SCM_SET_UVECTOR_BASE, | |
286 | SCM_UVECTOR_MAXLENGTH, SCM_UVECTOR_LENGTH, SCM_MAKE_UVECTOR_TAG, | |
287 | SCM_SET_UVECTOR_LENGTH): Removed. | |
288 | ||
236288e2 MV |
289 | 2004-11-02 Marius Vollmer <mvo@zagadka.de> |
290 | ||
291 | Content-type: text/html