1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
;; -*-theme-d-*-
;; Copyright (C) 2020, 2021 Tommi Höynälänmaa
;; Distributed under GNU General Public License version 3,
;; see file doc/GPL-3.
;; Expected results: translation and running OK
(define-proper-program (tests test780)
(import (standard-library core)
(standard-library bytevector)
(standard-library console-io)
(tests numerical-test-env))
(define-main-proc (() <none> nonpure)
(let* ((bv1 (make-bytevector 30 0))
(bv2 (bytevector 90 100 10 1 0 1 2 3 99 101 15 10))
(bv3 (bytevector-copy bv1))
(s-endianness (native-endianness))
(bv4 (string->utf8 "Hello"))
(bv5 (string->utf16 "Hello" s-endianness))
(bv6 (string->utf32 "Hello" s-endianness)))
(report-result (bytevector-length bv1))
(report-result (bytevector->u8-list bv2))
(report-result (bytevector-u8-ref bv2 2))
(report-result (bytevector-s8-ref bv2 2))
(report-result (bytevector-u16-ref bv2 4 s-endianness))
(report-result (bytevector-s16-ref bv2 4 s-endianness))
(report-result (bytevector-u32-ref bv2 4 s-endianness))
(report-result (bytevector-s32-ref bv2 4 s-endianness))
(report-result (bytevector-u64-ref bv2 4 s-endianness))
(report-result (bytevector-s64-ref bv2 4 s-endianness))
(bytevector-u8-set! bv1 0 10)
(bytevector-s8-set! bv1 1 -2)
(bytevector-u16-set! bv1 2 #x1001 s-endianness)
(bytevector-s16-set! bv1 4 -5600 s-endianness)
(bytevector-u32-set! bv1 6 #xFF021001 s-endianness)
(bytevector-s32-set! bv1 10 -105600 s-endianness)
(bytevector-u64-set! bv1 14 #x20FF021001 s-endianness)
(bytevector-s64-set! bv1 22 -1056000 s-endianness)
(report-result (bytevector->u8-list bv1))
(bytevector-ieee-single-set! bv3 4 1.78 s-endianness)
(report-result (bytevector-ieee-single-ref bv3 4 s-endianness))
(bytevector-ieee-double-set! bv3 8 -10.6 s-endianness)
(report-result (bytevector-ieee-double-ref bv3 8 s-endianness))
(console-display-line (bytevector->u8-list bv4))
(console-display-line (bytevector->u8-list bv5))
(console-display-line (bytevector->u8-list bv6))
(report-result (utf8->string bv4))
(report-result (utf16->string bv5 s-endianness))
(report-result (utf32->string bv6 s-endianness)))))
|