Tests added to the repository.
[picobit/chj.git] / tests / test-triplet.scm
blob2cc461968ecc75ca7d6bae6d112468e83e698044
1 (define x (triplet 3 5 7))
2 (display x) ;; TODO doesn't display ok, but not really important
3 (display (fst x))
4 (display (snd x))
5 (display (trd x))
6 (display (triplet? x)) ;; TODO even bools don't diplay
7 (define iter
8   (lambda (x)
9     (if (= x 0)
10         (begin (display (fst (fst (triplet (triplet x 3 4) 5 6))))
11                (display "\n"))
12         (begin (display (fst (fst (triplet (triplet x 3 4) 5 6))))
13                (display "\n")
14                (iter (- x 1))))))
15 ;; (iter 255)
16 ;; TODO nested triplets work, but I don't really know why, I just copied the code from pairs
18 ;; vectors from triplets
19 (define y (make-u8vector 7 3))
20 (display (u8vector-ref y 4))
22 (define z (u8vector 1 2 3 4 5))
23 (display (u8vector-ref z 0))
24 (display (u8vector-ref z 1))
25 (display (u8vector-ref z 2))
26 (display (u8vector-ref z 3))
27 (display (u8vector-ref z 4))
29 (display "foo\n")
31 (define w (triplet 1 2 3))
32 (set-fst! w 4)
33 (set-snd! w 5)
34 (set-trd! w 6)
35 (display (fst w))
36 (display (snd w))
37 (display (trd w))
39 (u8vector-set! z 0 10)
40 (u8vector-set! z 1 11)
41 (u8vector-set! z 2 12)
42 (u8vector-set! z 3 13)
43 (u8vector-set! z 4 14)
44 (display (u8vector-ref z 0))
45 (display (u8vector-ref z 1))
46 (display (u8vector-ref z 2))
47 (display (u8vector-ref z 3))
48 (display (u8vector-ref z 4))
50 (define q (triplet 1 2 '()))
51 (display (if (null? (trd q))  1 2))
53 (display "\n")
55 ;; (define r (r-a-list 2 4 6 8 10 12 14 16))
56 ;; (display (r-a-ref r 4))
57 ;; (r-a-set! r 3 15)
58 ;; (display (r-a-ref r 3))
60 ;; (define r (b-list 2 4 6 8 10 12 14 16))
61 ;; (display (b-list-ref r 0))
62 ;; (display (b-list-ref r 1))
63 ;; (display (b-list-ref r 2))
64 ;; (display (b-list-ref r 3))
65 ;; (b-list-set! r 3 15)
66 ;; (display (b-list-ref r 3))
68 ;; (display "\n")
69 ;; (display (bitwise-ior (b-list-ref r 3) (b-list-ref r 7)))
70 ;; (display (bitwise-xor (b-list-ref r 3) (b-list-ref r 4)))
72 (display "\n")
73 (display (if (equal? (u8vector 2 3 4) (u8vector 2 3 5)) 1 2))
76 (display "\n")