Skip to content

Commit 840ef17

Browse files
committed
add (scheme bytevector)
1 parent 97fd335 commit 840ef17

File tree

2 files changed

+265
-1
lines changed

2 files changed

+265
-1
lines changed

types/index.scm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
; r7rs large tangerine
3939
((scheme bitwise) . "types/scheme.bitwise.scm")
40-
;((scheme bytevector) . "types/scheme.bytevector.scm")
40+
((scheme bytevector) . "types/scheme.bytevector.scm")
4141
((scheme division) . "types/scheme.division.scm")
4242
((scheme fixnum) . "types/scheme.fixnum.scm")
4343
((scheme flonum) . "types/scheme.flonum.scm")

types/scheme.bytevector.scm

Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
(
2+
3+
(endianness
4+
(syntax-rules ()
5+
((_ endianness-symbol))))
6+
7+
(native-endianness
8+
(lambda () symbol?))
9+
10+
(bytevector?
11+
(lambda (obj) boolean?)
12+
(pure predicate))
13+
14+
(make-bytevector
15+
(lambda ((integer? k)) bytevector?)
16+
())
17+
18+
(make-bytevector
19+
(lambda ((integer? k) (integer? byte)) bytevector?)
20+
(pure))
21+
22+
(bytevector-length
23+
(lambda ((bytevector? bytevector)) integer?)
24+
(pure))
25+
26+
(bytevector=?
27+
(lambda ((bytevector? bytevector1) (bytevector? bytevector2)) boolean?)
28+
(pure))
29+
30+
(bytevector-fill!
31+
(lambda ((bytevector? bytevector) (integer? k)) undefined)
32+
())
33+
34+
(bytevector-copy!
35+
(lambda ((bytevector? source) (integer? source-start) (bytevector? target) (integer? target-start) (integer? k)) undefined)
36+
())
37+
38+
(bytevector-copy
39+
(lambda ((bytevector? bytevector)) bytevector?)
40+
(pure))
41+
42+
(bytevector-u8-ref
43+
(lambda ((bytevector? bytevector) (integer? k)) integer?)
44+
(pure))
45+
46+
(bytevector-s8-ref
47+
(lambda ((bytevector? bytevector) (integer? k)) integer?)
48+
(pure))
49+
50+
(bytevector-u8-set!
51+
(lambda ((bytevector? bytevector) (integer? k) (integer? octet)) undefined))
52+
53+
(bytevector-s8-set!
54+
(lambda ((bytevector? bytevector) (integer? k) (integer? byte)) undefined))
55+
56+
(bytevector->u8-list
57+
(lambda ((bytevector? bytevector)) list?)
58+
(pure))
59+
60+
(u8-list->bytevector
61+
(lambda ((list? list)) bytevector?)
62+
(pure))
63+
64+
(bytevector-uint-ref
65+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
66+
(pure))
67+
68+
(bytevector-sint-ref
69+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
70+
(pure))
71+
72+
(bytevector-uint-set!
73+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined)
74+
())
75+
76+
(bytevector-sint-set!
77+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined)
78+
())
79+
80+
(bytevector->uint-list
81+
(lambda ((bytevector? bytevector) (symbol? endianness) (integer? size)) list?)
82+
(pure))
83+
84+
(bytevector->sint-list
85+
(lambda ((bytevector? bytevector) (symbol? endianness) (integer? size)) list?)
86+
(pure))
87+
88+
(uint-list->bytevector
89+
(lambda ((list? list) (symbol? endianness) (integer? size)) bytevector?)
90+
(pure))
91+
92+
(sint-list->bytevector
93+
(lambda ((list? list) (symbol? endianness) (integer? size)) bytevector?)
94+
(pure))
95+
96+
(bytevector-u16-ref
97+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
98+
(pure))
99+
100+
(bytevector-s16-ref
101+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
102+
(pure))
103+
104+
(bytevector-u16-native-ref
105+
(lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?)
106+
(pure))
107+
108+
(bytevector-s16-native-ref
109+
(lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?)
110+
(pure))
111+
112+
(bytevector-u16-set!
113+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined)
114+
())
115+
116+
(bytevector-s16-set!
117+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined)
118+
())
119+
120+
(bytevector-u16-native-set!
121+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined)
122+
())
123+
124+
(bytevector-s16-native-set!
125+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined)
126+
())
127+
128+
(bytevector-u32-ref
129+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
130+
(pure))
131+
132+
(bytevector-s32-ref
133+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
134+
(pure))
135+
136+
(bytevector-u32-native-ref
137+
(lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?)
138+
(pure))
139+
140+
(bytevector-s32-native-ref
141+
(lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?)
142+
(pure))
143+
144+
(bytevector-u32-set!
145+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined)
146+
())
147+
148+
(bytevector-s32-set!
149+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined)
150+
())
151+
152+
(bytevector-u32-native-set!
153+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined)
154+
())
155+
156+
(bytevector-s32-native-set!
157+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined)
158+
())
159+
160+
(bytevector-u64-ref
161+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
162+
(pure))
163+
164+
(bytevector-s64-ref
165+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
166+
(pure))
167+
168+
(bytevector-u64-native-ref
169+
(lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?)
170+
(pure))
171+
172+
(bytevector-s64-native-ref
173+
(lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?)
174+
(pure))
175+
176+
(bytevector-u64-set!
177+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined)
178+
())
179+
180+
(bytevector-s64-set!
181+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (symbol? endianness) (integer? size)) undefined)
182+
())
183+
184+
(bytevector-u64-native-set!
185+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined)
186+
())
187+
188+
(bytevector-s64-native-set!
189+
(lambda ((bytevector? bytevector) (integer? k) (integer? n) (integer? size)) undefined)
190+
())
191+
192+
(bytevector-ieee-single-ref
193+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
194+
(pure))
195+
196+
(bytevector-ieee-double-ref
197+
(lambda ((bytevector? bytevector) (integer? k) (symbol? endianness) (integer? size)) integer?)
198+
(pure))
199+
200+
(bytevector-ieee-single-native-ref
201+
(lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?)
202+
(pure))
203+
204+
(bytevector-ieee-double-native-ref
205+
(lambda ((bytevector? bytevector) (integer? k) (integer? size)) integer?)
206+
(pure))
207+
208+
(bytevector-ieee-single-set!
209+
(lambda ((bytevector? bytevector) (integer? k) (real? x) (symbol? endianness) (integer? size)) undefined)
210+
())
211+
212+
(bytevector-ieee-double-set!
213+
(lambda ((bytevector? bytevector) (integer? k) (real? x) (symbol? endianness) (integer? size)) undefined)
214+
())
215+
216+
(bytevector-ieee-single-native-set!
217+
(lambda ((bytevector? bytevector) (integer? k) (real? x) (integer? size)) undefined)
218+
())
219+
220+
(bytevector-ieee-double-native-set!
221+
(lambda ((bytevector? bytevector) (integer? k) (real? x) (integer? size)) undefined)
222+
())
223+
224+
(string->utf8
225+
(lambda ((string? string)) bytevector?)
226+
(pure))
227+
228+
(string->utf16
229+
(lambda ((string? string)) bytevector?)
230+
(pure))
231+
232+
(string->utf16
233+
(lambda ((string? string) (symbol? endianness)) bytevector?)
234+
(pure))
235+
236+
(string->utf32
237+
(lambda ((string? string)) bytevector?)
238+
(pure))
239+
240+
(string->utf32
241+
(lambda ((string? string) (symbol? endianness)) bytevector?)
242+
(pure))
243+
244+
(utf8->string
245+
(lambda ((bytevector? bytevector)) string?)
246+
(pure))
247+
248+
(utf16->string
249+
(lambda ((bytevector? bytevector) (symbol? endianness)) string?)
250+
(pure))
251+
252+
(utf16->string
253+
(lambda ((bytevector? bytevector) (symbol? endianness) (boolean? endianness-mandatory?)) string?)
254+
(pure))
255+
256+
(utf32->string
257+
(lambda ((bytevector? bytevector) (symbol? endianness)) string?)
258+
(pure))
259+
260+
(utf32->string
261+
(lambda ((bytevector? bytevector) (symbol? endianness) (boolean? endianness-mandatory?)) string?)
262+
(pure))
263+
264+
)

0 commit comments

Comments
 (0)