bytevector: IEEE754 unaligned access fixes.
[guile-r6rs-libs.git] / ChangeLog
blobc442d33576daa595b3dbceacd3eadf0ec60baa55
1 # do not edit -- automatically generated by arch changelog
2 # arch-tag: automatic-ChangeLog--lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0
5 2007-08-03 09:12:25 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-38
7     Summary:
8       bytevector: IEEE754 unaligned access fixes.
9     Revision:
10       guile-r6rs-libs--devo--0--patch-38
12     * src/bytevector.c (IEEE754_REF): Use `memcpy' rather than raw
13       dereferences to avoid unaligned accesses and "bus errors" on SPARC.
14       (IEEE754_NATIVE_REF): Likewise.
15       (IEEE754_SET): Likewise.
16       (IEEE754_NATIVE_SET): Likewise.
17     
18     * tests/bytevector.test (2.6 Operations on IEEE-754 Numbers)
19       [bytevector-ieee-single-{ref,set!} [unaligned]]: New.
21     modified files:
22      ChangeLog src/bytevector.c tests/bytevector.test
25 2007-08-03 08:52:04 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-37
27     Summary:
28       bytevector: More integer unaligned accesses fixes.
29     Revision:
30       guile-r6rs-libs--devo--0--patch-37
32     * src/bytevector.c (INTEGER_REF): Use `memcpy ()' instead of raw
33       dereferences, to avoid unaligned accesses and bus errors.
34       (INTEGER_NATIVE_REF): Likewise.
35       (INTEGER_SET): Likewise.
36       (INTEGER_NATIVE_SET): Likewise.
37     
38     * tests/bytevector.test (2.4 Operations on 16-Bit
39       Integers)[bytevector-s16-ref [unaligned]]: New.
40       [bytevector-s16-{ref,set!} [unaligned]]: New.
42     modified files:
43      ChangeLog src/bytevector.c tests/bytevector.test
46 2007-08-03 08:28:05 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-36
48     Summary:
49       bytevector: More unaligned access ("bus error") fixes.
50     Revision:
51       guile-r6rs-libs--devo--0--patch-36
53     * src/bytevector.c (GENERIC_INTEGER_SET): Use `memcpy ()' instead of raw
54       cast+dereferences to avoid unaligned accesses on SPARC.
55     
56     * tests/bytevector.test (2.2 Operations on Bytes and
57       Octets)[bytevector-sint-set! [small]]: New.
59     modified files:
60      ChangeLog src/bytevector.c tests/bytevector.test
63 2007-08-02 16:51:52 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-35
65     Summary:
66       bytevector: Fixed "bus error" on SPARC.
67     Revision:
68       guile-r6rs-libs--devo--0--patch-35
70     * src/bytevector.c (GENERIC_INTEGER_REF): Use `memcpy ()' rather than
71       dereferences of casts to avoid "bus error" due to unaligned memory
72       accesses on architectures such as SPARC.
74     modified files:
75      ChangeLog src/bytevector.c
78 2007-05-21 16:14:44 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-34
80     Summary:
81       Tiny build fixes.
82     Revision:
83       guile-r6rs-libs--devo--0--patch-34
85     * src/Makefile.am (libguile_r6rs_libs_v_0_la_LIBADD): Added `libgnu'.
86     
87     * tests/run-test.scm: Use `primitive-load' instead of `load' since the
88       latter resolve file names relative to the previously-loaded file,
89       making out-of-tree `make checks' fail.
91     modified files:
92      ChangeLog src/Makefile.am tests/run-test.scm
95 2007-03-04 18:38:56 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-33
97     Summary:
98       Switched to version 0.1.
99     Revision:
100       guile-r6rs-libs--devo--0--patch-33
102     * configure.ac: Bumped version to 0.1.
104     modified files:
105      ChangeLog configure.ac
108 2007-03-03 10:48:41 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-32
110     Summary:
111       Cosmetic changes.
112     Revision:
113       guile-r6rs-libs--devo--0--patch-32
115     * STATUS: Added a foot note for "I/O".
116     
117     * modules/r6rs/i/o/ports.scm (call-with-port): Removed the comment about
118       lack of clarity of the spec.
120     modified files:
121      ChangeLog STATUS modules/r6rs/i/o/ports.scm
124 2007-02-26 13:42:16 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-31
126     Summary:
127       I/O: Small fixes in `get-bytevector-n' and `get-bytevector-n!'.
128     Revision:
129       guile-r6rs-libs--devo--0--patch-31
131     * src/ports.c (scm_r6rs_get_bytevector_n): Don't invoke `scm_c_read ()'
132       when C_COUNT is zero since it may block.  Don't return EOF when both
133       C_READ and C_COUNT are zero; return the empty bytevector instead.
134       (scm_r6rs_get_bytevector_n_x): Likewise.
136     modified files:
137      ChangeLog src/ports.c
140 2007-02-25 15:40:53 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-30
142     Summary:
143       Implemented inlined bytevectors.
144     Revision:
145       guile-r6rs-libs--devo--0--patch-30
147     * src/bytevector.c (SCM_R6RS_BYTEVECTOR_SET_LENGTH,
148       SCM_R6RS_BYTEVECTOR_SET_CONTENTS): New macros.
149       (scm_r6rs_null_bytevector): New.
150       (make_bytevector_from_buffer): New.
151       (make_bytevector): Check whether LEN is inlineable and only allocate
152       when non-inlineable.  Don't take a CONTENTS argument: allocate space here.
153       (scm_r6rs_c_make_bytevector): Updated.
154       (scm_r6rs_c_take_bytevector): Check whether LEN is inlineable.
155       (scm_r6rs_i_shrink_bytevector): New.
156       (free_bytevector): Only free when BV is in-line.
157       (scm_r6rs_make_bytevector): Updated.
158       (scm_r6rs_bytevector_copy): Likewise.
159       (scm_r6rs_u8_list_to_bytevector): Likewise.
160       (INTEGER_LIST_TO_BYTEVECTOR): Likewise.
161       (scm_init_r6rs_bytevector): Initialize SCM_R6RS_NULL_BYTEVECTOR.
162     
163     * src/bytevector.h (SCM_R6RS_BYTEVECTOR_CONTENTS): Check whether BV is
164       inline and return the appropriate pointer.
165       (SCM_R6RS_BYTEVECTOR_INLINE_THRESHOLD,
166       SCM_R6RS_BYTEVECTOR_INLINEABLE_SIZE_P, SCM_R6RS_BYTEVECTOR_INLINE_P):
167       New macros.
168       (scm_r6rs_c_shrink_bytevector): New macro.
169       (scm_r6rs_i_shrink_bytevector, scm_r6rs_null_bytevector): New
170       declarations.
171     
172     * src/ports.c (scm_r6rs_get_bytevector_n): Use
173       `scm_r6rs_c_make_bytevector ()' instead of custom memory management.
174       At the end, use `scm_r6rs_c_shrink_bytevector ()'.
176     modified files:
177      ChangeLog src/bytevector.c src/bytevector.h src/ports.c
180 2007-02-23 15:02:03 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-29
182     Summary:
183       Bytevectors: Fixed `bytevector->[us]int-list' for empty vectors.
184     Revision:
185       guile-r6rs-libs--devo--0--patch-29
187     * src/bytevector.c (INTEGERS_TO_LIST): Properly handle C_LEN == 0.
188       (scm_r6rs_bytevector_to_uint_list): Fixed `FUNC_NAME'.
189     
190     * tests/bytevector.test (2.3 Operations on Integers of Arbitrary
191       Size)[bytevector->uint-list [empty]]: New test.
193     modified files:
194      ChangeLog src/bytevector.c tests/bytevector.test
197 2007-02-23 09:40:05 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-28
199     Summary:
200       Bytevector output ports: Optimized buffer growing.
201     Revision:
202       guile-r6rs-libs--devo--0--patch-28
204     * src/ports.c (bop_buffer_grow): Take a MIN_SIZE parameter.  Perform only
205       one malloc/realloc after having computed a suitable size.
206       (bop_write): Updated accordingly.
208     modified files:
209      ChangeLog src/ports.c
212 2007-02-22 17:59:01 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-27
214     Summary:
215       ports: Added `open-bytevector-output-port'.
216     Revision:
217       guile-r6rs-libs--devo--0--patch-27
219     * modules/r6rs/i/o/ports.scm: Export `open-bytevector-output-port'.
220     
221     * src/ports.c: Include <string.h>.
222       (transcoders_not_implemented): New.
223       (scm_r6rs_open_bytevector_input_port): Use it.
224       (bytevector_output_port_type): New.
225       (SCM_GC_BOP, SCM_BOP_BUFFER_INITIAL_SIZE, SCM_R6RS_BOP_BUFFER,
226       SCM_R6RS_SET_BOP_BUFFER): New macros.
227       (scm_t_bop_buffer): New type.
228       (bop_buffer_init, bop_buffer_grow): New functions.
229       (make_bop, bop_free, bop_write, bop_seek): New.
230       (bop_proc_apply, bop_proc_mark): New.
231       (scm_r6rs_open_bytevector_output_port): New.
232       (initialize_bytevector_output_ports): New.
233       (scm_init_r6rs_ports): Call it.
234     
235     * src/ports.h: Updated.
236     
237     * tests/io-ports.test: Use `srfi-11'.
238       (7.2.11 Binary Output)[open-bytevector-output-port]: New test.
239       [bytevector output port supports `port-position']: New test.
241     modified files:
242      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c src/ports.h
243      tests/io-ports.test
246 2007-02-22 15:07:35 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-26
248     Summary:
249       ports: Fixed seeking for custom binary input ports.
250     Revision:
251       guile-r6rs-libs--devo--0--patch-26
253     * src/ports.c (cbip_seek): Fixed.
254     
255     * tests/io-ports.test (7.2.7 Input Ports)[custom binary input port does
256       not support `port-position']: New test.
257       [custom binary input port supports `port-position']: New test.
259     modified files:
260      ChangeLog src/ports.c tests/io-ports.test
263 2007-02-22 14:49:22 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-25
265     Summary:
266       Implemented `seek' support for bytevector input ports.
267     Revision:
268       guile-r6rs-libs--devo--0--patch-25
270     * src/ports.c (bip_seek): New.
271       (initialize_bytevector_input_ports): Use it.
272     
273     * tests/io-ports.test (7.2.7 Input Ports)[bytevector input port supports
274       seeking]: New test.
276     modified files:
277      ChangeLog src/ports.c tests/io-ports.test
280 2007-02-22 14:30:46 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-24
282     Summary:
283       Added missing procedures from Section 7.2.6, "Input and Output Ports".
284     Revision:
285       guile-r6rs-libs--devo--0--patch-24
287     * modules/r6rs/i/o/ports.scm (port-transcoder, binary-input-port?,
288       transcoded-port, port-position, set-port-position!,
289       port-has-port-position?, port-has-set-port-position!?, call-with-port):
290       New.
292     modified files:
293      ChangeLog modules/r6rs/i/o/ports.scm
296 2007-02-22 13:49:16 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-23
298     Summary:
299       Added support for custom binary input ports.
300     Revision:
301       guile-r6rs-libs--devo--0--patch-23
303     * modules/r6rs/i/o/ports.scm: Export `make-custom-binary-input-port'.
304     
305     * src/ports.c (bip_fill_input): Don't increment C_PORT->READ_POS in the
306       `else' branch.
307       (custom_binary_input_port_type): New.
308       (CBIP_BUFFER_SIZE, SCM_R6RS_CBIP_*): New macros.
309       (make_cbip, cbip_mark, cbip_fill_input, cbip_seek, cbip_close,
310       scm_r6rs_make_custom_binary_input_port,
311       initialize_custom_binary_input_ports): New functions.
312       (scm_init_r6rs_ports): Invoke `initialize_custom_binary_input_ports ()'.
313     
314     * src/ports.h: Updated accordingly.
315     
316     * tests/io-ports.test: Moved "7.2.7 Input Ports" to the bottom.
317       (7.2.7 Input Ports)[make-custom-binary-input-port]: New test.
319     modified files:
320      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c src/ports.h
321      tests/io-ports.test
324 2007-02-20 16:59:05 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-22
326     Summary:
327       Have the test suite exit with an error status upon failure.
328     Revision:
329       guile-r6rs-libs--devo--0--patch-22
331     * tests/Makefile.am (TESTS_ENVIRONMENT): Appended
332       `$(srcdir)/run-test.scm'.
333       (EXTRA_DIST): Added `run-test.scm'.
335     new files:
336      tests/run-test.scm
338     modified files:
339      ChangeLog tests/Makefile.am
342 2007-02-20 16:40:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-21
344     Summary:
345       Bytevectors: Added support for IEEE-754 single-precision numbers.
346     Revision:
347       guile-r6rs-libs--devo--0--patch-21
349     * modules/r6rs/bytevector.scm: Export the `ieee-single' procedures.
350     
351     * src/bytevector.c (IEEE754_TO_SCM): Always use `scm_from_double ()'.
352       (IEEE754_FROM_SCM): Always use `scm_to_double ()'.
353       (IEEE754_ACCESSOR_PROLOGUE): Multiply `sizeof (_type)' by 8.
354       (scm_r6rs_bytevector_ieee_single_ref,
355       scm_r6rs_bytevector_ieee_single_native_ref,
356       scm_r6rs_bytevector_ieee_single_set_x,
357       scm_r6rs_bytevector_ieee_single_native_set_x): New functions.
358     
359     * src/bytevector.h: Updated accordingly.
360     
361     * tests/bytevector.test: Added tests for the `ieee-single' procedures.
363     modified files:
364      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
365      src/bytevector.h tests/bytevector.test
368 2007-02-20 15:07:48 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-20
370     Summary:
371       Templatized the IEEE-754 double-precision code.
372     Revision:
373       guile-r6rs-libs--devo--0--patch-20
375     * src/Makefile.am (noinst_HEADERS): Reflect renaming of
376       `ieee754-double.h' to `ieee-754.h'.
377     
378     * src/bytevector.c: Include "ieee-754.h".
379       (float_to_foreign_endianness, float_from_foreign_endianness): New.
380       (IEEE754_UNION, IEEE754_TO_SCM, IEEE754_FROM_SCM,
381       IEEE754_FROM_FOREIGN_ENDIANNESS, IEEE754_TO_FOREIGN_ENDIANNESS): New.
382       (DOUBLE_*): Renamed to `IEEE754_*'.  Take a TYPE parameter.  Updated
383       users.
384     
385     * src/ieee-754.h (scm_r6rs_ieee754_float): New union.
386       (ieee754_double): Renamed to `scm_r6rs_ieee754_double'.
388     modified files:
389      ChangeLog src/Makefile.am src/bytevector.c src/ieee-754.h
391     renamed files:
392      src/.arch-ids/ieee754-double.h.id
393        ==> src/.arch-ids/ieee-754.h.id
394      src/ieee754-double.h
395        ==> src/ieee-754.h
398 2007-02-15 16:08:50 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-19
400     Summary:
401       Added support for bytevector input ports (Section 7.2.7).
402     Revision:
403       guile-r6rs-libs--devo--0--patch-19
405     * modules/r6rs/i/o/ports.scm: Export `open-bytevector-input-port'.
406     
407     * src/ports.c (bytevector_input_port_type): New.
408       (make_bip, bip_mark, bip_fill_input): New.
409       (initialize_bytevector_input_ports): New.
410       (scm_r6rs_open_bytevector_input_port): New.
411       (scm_init_r6rs_ports): Invoke `initialize_bytevector_input_ports ()'.
412     
413     * src/ports.h: Updated.
414     
415     * tests/io-ports.test (7.2.7 Input Ports): New test prefix.
417     modified files:
418      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c src/ports.h
419      tests/io-ports.test
422 2007-02-14 16:22:55 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-18
424     Summary:
425       bytevector: Fixed `large_set' with zero.
426     Revision:
427       guile-r6rs-libs--devo--0--patch-18
429     * src/bytevector.c (bytevector_large_set): Handle zero using `memset ()'
430       instead of `mpz_export ()' since the latter would write nothing to C_BV
431       (WORD_COUNT == 0).
432     
433     * tests/bytevector.test (2.5(bis) Operations on 64-bit Integers)[ref/set!
434       with zero]: New test.
436     modified files:
437      ChangeLog src/bytevector.c tests/bytevector.test
440 2007-02-14 09:16:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-17
442     Summary:
443       Fixed installation of modules.
444     Revision:
445       guile-r6rs-libs--devo--0--patch-17
447     * modules/Makefile.am (guilemoduledir): Removed `/r6rs'.
448       (dist_guilemodule_DATA): Renamed to...
449       (nobase_dist_guilemodule_DATA): New.
451     modified files:
452      ChangeLog modules/Makefile.am
455 2007-02-13 16:04:45 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-16
457     Summary:
458       Added `ports.h'.
459     Revision:
460       guile-r6rs-libs--devo--0--patch-16
462     * src/Makefile.am (r6rsinclude_HEADERS): Added `ports.h'.
463     
464     * src/ports.c: Include it.
465       (scm_r6rs_put_bytevector): Appropriately cast the result of
466       `SCM_R6RS_BYTEVECTOR_CONTENTS ()'.
468     new files:
469      src/ports.h
471     modified files:
472      ChangeLog src/Makefile.am src/ports.c
475 2007-02-13 15:48:23 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-15
477     Summary:
478       Added an `eof-object' test, updated `STATUS'.
479     Revision:
480       guile-r6rs-libs--devo--0--patch-15
482     * STATUS (I/O): Marked as partial.
483     
484     * tests/io-ports.test (7.2.5 End-of-File Object): New test prefix.
486     modified files:
487      ChangeLog STATUS tests/io-ports.test
490 2007-02-13 15:15:21 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-14
492     Summary:
493       Implemented binary output (Section 7.2.11).
494     Revision:
495       guile-r6rs-libs--devo--0--patch-14
497     * modules/r6rs/i/o/ports.scm: Export `put-u8' and `put-bytevector'.
498     
499     * src/ports.c (SCM_VALIDATE_R6RS_BINARY_INPUT_PORT): Alias
500       `SCM_VALIDATE_INPUT_PORT' instead of just `SCM_VALIDATE_PORT'.
501       (scm_r6rs_get_u8): Return an unsigned char.
502       (SCM_VALIDATE_R6RS_BINARY_OUTPUT_PORT): New.
503       (scm_r6rs_put_u8, scm_r6rs_put_bytevector): New.
504     
505     * tests/io-ports.test: Use `(srfi srfi-1)'.  Added new tests.
507     modified files:
508      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c
509      tests/io-ports.test
512 2007-02-13 14:20:00 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-13
514     Summary:
515       Implemented binary input (Section 7.2.8).
516     Revision:
517       guile-r6rs-libs--devo--0--patch-13
519     * modules/Makefile.am (dist_guilemodule_DATA): Added
520       `r6rs/i/o/ports.scm'.
521     
522     * src/Makefile.am (BUILT_SOURCES): Added `ports.c.x'.
523       (CLEAN_FILES): Likewise.
524       (libguile_r6rs_libs_v_0_la_SOURCES): Added `ports.c'.
525       (CPPFLAGS): Renamed to `AM_CPPFLAGS'.
526       (noinst_HEADERS): Added `utils.h'.
527       (snarfcppopts): Added `$(AM_CPPFLAGS)'.
528     
529     * src/bytevector.c: Include "utils.h".
530       (EXPECT): Moved to "utils.h".
531       (SCM_VALIDATE_R6RS_BYTEVECTOR, SCM_R6RS_BYTEVECTOR_LENGTH,
532       SCM_R6RS_BYTEVECTOR_LENGTH): Likewise.
533       (scm_r6rs_c_make_bytevector, scm_r6rs_c_take_bytevector): New.
534       (free_bytevector): Check for NULL bytevectors.
535     
536     * src/bytevector.h: Updated accordingly.
537     
538     * tests/Makefile.am (TESTS): Added `io-ports.test'.
539       (EXTRA_DIST): Likewise.  
541     new files:
542      modules/r6rs/i/.arch-ids/=id modules/r6rs/i/o/.arch-ids/=id
543      modules/r6rs/i/o/ports.scm src/ports.c src/utils.h
544      tests/io-ports.test
546     modified files:
547      ChangeLog modules/Makefile.am src/Makefile.am src/bytevector.c
548      src/bytevector.h tests/Makefile.am
550     new directories:
551      modules/r6rs/i modules/r6rs/i/.arch-ids modules/r6rs/i/o
552      modules/r6rs/i/o/.arch-ids
555 2007-02-12 14:39:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-12
557     Summary:
558       Fixed various build glitches.
559     Revision:
560       guile-r6rs-libs--devo--0--patch-12
562     * modules/Makefile.am (guilemodule_DATA): Renamed to...
563       (dist_guilemodule_DATA): New.
564     
565     * pre-inst-guile.in: Use the new library name.
566     
567     * src/Makefile.am (CPPFLAGS): New.
569     modified files:
570      ChangeLog modules/Makefile.am pre-inst-guile.in
571      src/Makefile.am
574 2007-02-12 14:30:43 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-11
576     Summary:
577       Renamed the library.
578     Revision:
579       guile-r6rs-libs--devo--0--patch-11
581     * configure.ac: Use `guile-r6rs-libs' as the project name rather than
582       `guile-r6rs'.
583     
584     * src/Makefile.am: Renamed library from `libguile-r6rs-v0' to
585       `libguile-r6rs-libs-v-0'.
586     
587     * modules/r6rs/bytevector.scm: Updated.
589     new files:
590      .arch-ids/STATUS.id STATUS
592     modified files:
593      ChangeLog configure.ac modules/r6rs/bytevector.scm
594      src/Makefile.am
597 2007-02-09 15:59:23 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-10
599     Summary:
600       Bytevectors: Fixed typo in IEEE-double endianness conversion.
601     Revision:
602       guile-r6rs-libs--devo--0--patch-10
604     * src/bytevector.c (double_to_foreign_endianness): Fixed the
605       !WORD_BIGENDIAN case.
607     modified files:
608      ChangeLog src/bytevector.c
611 2007-02-09 14:43:17 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-9
613     Summary:
614       Bytevectors: Added a "printer" for the SMOB type.
615     Revision:
616       guile-r6rs-libs--devo--0--patch-9
618     * src/bytevector.c (print_bytevector): New.
620     modified files:
621      ChangeLog src/bytevector.c
624 2007-02-09 13:29:52 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-8
626     Summary:
627       Bytevectors: Added support for IEEE-754 endianness conversion.
628     Revision:
629       guile-r6rs-libs--devo--0--patch-8
631     * src/Makefile.am (noinst_HEADERS): New.
632     
633     * src/bytevector.c: Include "ieee754-double.h".
634       (double_to_foreign_endianness): New.
635       (double_from_foreign_endianness): New.
636       (DOUBLE_REF): Use it.
637       (DOUBLE_SET): Likewise.
638     
639     * tests/bytevector.test: New test.
641     new files:
642      src/.arch-ids/ieee754-double.h.id src/ieee754-double.h
644     modified files:
645      ChangeLog src/Makefile.am src/bytevector.c
646      tests/bytevector.test
649 2007-02-08 17:43:18 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-7
651     Summary:
652       Added "bytevector.h".
653     Revision:
654       guile-r6rs-libs--devo--0--patch-7
656     * src/Makefile.am (r6rsincludedir): New.
657       (r6rsinclude_HEADERS): New.
658     
659     * src/bytevector.c: Include "bytevector.h".
661     new files:
662      src/bytevector.h
664     modified files:
665      ChangeLog src/Makefile.am src/bytevector.c
668 2007-02-08 17:21:49 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-6
670     Summary:
671       Partial impl. of Section 2.6, "Operations on IEEE-754 Numbers".
672     Revision:
673       guile-r6rs-libs--devo--0--patch-6
675     * modules/r6rs/bytevector.scm: Export the ` ieee-double' procedures.
676     
677     * src/bytevector.c (DOUBLE_ACCESSOR_PROLOGUE, DOUBLE_REF, DOUBLE_SET,
678       DOUBLE_NATIVE_REF, DOUBLE_NATIVE_SET): New macros.
679       (scm_r6rs_*ieee_double*): New.
680     
681     * tests/bytevector.test: New ieee-double tests, native endianness only.
683     modified files:
684      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
685      tests/bytevector.test
688 2007-02-08 16:43:25 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-5
690     Summary:
691       Section 2.5: Operations on 32- and 64-bit Integers.
692     Revision:
693       guile-r6rs-libs--devo--0--patch-5
695     * modules/r6rs/bytevector.scm: Exported the 32/64 functions.
696     
697     * src/bytevector.c (SIGNEDNESS_signed, SIGNEDNESS_unsigned, SIGNEDNESS):
698       New macros.
699       (BV_SIGNED_signed, BV_SIGNED_unsigned): Removed.
700       (GENERIC_INTEGER_REF): Use `SIGNEDNESS ()'.
701       (GENERIC_INTEGER_SET): Likewise.
702       (LARGE_INTEGER_REF, LARGE_INTEGER_SET, LARGE_INTEGER_NATIVE_REF,
703       LARGE_INTEGER_NATIVE_SET): New macros.
704       (scm_r6rs_bytevector_*{32,64}*): New functions.
705     
706     * tests/bytevector.test: Improved the 16-bit tests.  New tests.
707     
708     * configure.ac: Check for `sizeof (void *)'.
710     modified files:
711      ChangeLog configure.ac modules/r6rs/bytevector.scm
712      src/bytevector.c tests/bytevector.test
715 2007-02-08 14:49:11 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-4
717     Summary:
718       Section 2.4: Operations on 16-bit Integers.
719     Revision:
720       guile-r6rs-libs--devo--0--patch-4
722     * modules/r6rs/bytevector.scm: Export the s16/u16 procedures.
723     
724     * src/bytevector.c (INT_TYPE, INT_SWAP, INT_VALID_P): New macros.
725       (INTEGER_ACCESSOR_PROLOGUE, INTEGER_REF, INTEGER_NATIVE_REF,
726       INTEGER_SET, INTEGER_NATIVE_SET): New macros.
727       (OCTET_ACCESSOR_PROLOGUE): Removed.
728       (scm_r6rs_bytevector_{u8,s8}_{ref,set_x}): Use the new macros.
729       (GENERIC_INTEGER_ACCESSOR_PROLOGUE, GENERIC_INTEGER_REF,
730       GENERIC_INTEGER_SET): New name for the macros previously same-named but
731       without `GENERIC_'.
732       (scm_r6rs_bytevector_{u16,s16}_{ref,set_x}): New.
733     
734     * tests/bytevector.test: New tests.
736     modified files:
737      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
738      tests/bytevector.test
741 2007-02-08 10:44:42 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-3
743     Summary:
744       Use Gnulib's `byteswap' module.
745     Revision:
746       guile-r6rs-libs--devo--0--patch-3
748     * Makefile.am (SUBDIRS): Added `lib'.
749       (ACLOCAL_AMFLAGS): New.
750     
751     * configure.ac: (AC_CONFIG_MACRO_DIR): New.
752       (gl_INIT, gl_EARLY): New.
753       No longer check for <byteswap.h>.  Output `lib/Makefile'.
754     
755     * src/bytevector.c: Include <byteswap.h> unconditionally.
756       (non_native_byteswap_16, non_native_byteswap_32): Removed, use
757       `bswap_{16,32}' directly.
758       (bswap_24): New macro (unused).
759     
760     * tests/Makefile.am (check_DATA): Renamed to `EXTRA_DIST'.
762     new files:
763      m4/.arch-ids/=id m4/.arch-ids/gnulib-cache.m4.id
764      m4/.arch-inventory m4/gnulib-cache.m4
766     modified files:
767      .arch-inventory ChangeLog Makefile.am configure.ac
768      src/bytevector.c tests/Makefile.am
770     new directories:
771      m4 m4/.arch-ids
774 2007-02-08 10:03:37 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-2
776     Summary:
777       Bytevectors Section 2.3: "Operations on Integers of Arbitrary Size"
778     Revision:
779       guile-r6rs-libs--devo--0--patch-2
781     * modules/r6rs/bytevector.scm: Export the procedures from Section 2.3.
782     
783     * src/bytevector.c (is_signed_int8, is_unsigned_int8, is_signed_int16,
784       is_unsigned_int16): New macros.
785       (bytevector_signed_ref, bytevector_unsigned_ref, bytevector_signed_set,
786       bytevector_unsigned_set): New inlines.
787       (scm_r6rs_bytevector_uint_ref, scm_r6rs_bytevector_sint_ref,
788       scm_r6rs_bytevector_uint_set, scm_r6rs_bytevector_sint_set): Use them.
789       (INTEGERS_TO_LIST, INTEGER_LIST_TO_BYTEVECTOR): New macros.
790       (scm_r6rs_bytevector_to_uint_list, scm_r6rs_bytevector_to_sint_list,
791       scm_r6rs_uint_list_to_bytevector, scm_r6rs_sint_list_to_bytevector):
792       New.
793     
794     * tests/bytevector.test: New tests.  
796     modified files:
797      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
798      tests/bytevector.test
801 2007-02-07 16:28:08 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-1
803     Summary:
804       Finished bytevectors Section 2.2: "Operations on Bytes and Octets".
805     Revision:
806       guile-r6rs-libs--devo--0--patch-1
808     * configure.ac: No longer look for <arpa/inet.h>; look for <byteswap.h>
809       and <limits.h>.  No longer look for `htons ()' and friends.
810     
811     * modules/r6rs/bytevector.scm: Updated exports.
812       (endianness): Fixed.
813     
814     * src/bytevector.c: Include <limits.h> and <byteswap.h>
815       (non_native_byteswap_16, non_native_byteswap_32): Fixed.
816       (twos_complement): New.
817       (bytevector_large_ref): Fixed.
818       (bytevector_large_set): New.
819       (INTEGER_ACCESSOR_PROLOGUE): New.
820       (INTEGER_SET): New.
821       (scm_r6rs_bytevector_uint_set_x, scm_r6rs_bytevector_sint_set_x): New.
822     
823     * tests/bytevector.test: New tests.
825     modified files:
826      ChangeLog configure.ac modules/r6rs/bytevector.scm
827      src/bytevector.c tests/bytevector.test
830 2007-02-06 15:51:25 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      base-0
832     Summary:
833       initial import
834     Revision:
835       guile-r6rs-libs--devo--0--base-0
837     
838     (automatically generated log message)
840     new files:
841      AUTHORS COPYING ChangeLog INSTALL Makefile.am NEWS README
842      configure.ac modules/Makefile.am modules/r6rs/bytevector.scm
843      modules/test-suite/lib.scm pre-inst-guile.in src/Makefile.am
844      src/bytevector.c tests/Makefile.am tests/bytevector.test