* Added bytevector=?
This commit is contained in:
parent
1e364d3186
commit
3629e0b0d9
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -3,13 +3,13 @@
|
||||||
(export make-bytevector bytevector-length bytevector-s8-ref
|
(export make-bytevector bytevector-length bytevector-s8-ref
|
||||||
bytevector-u8-ref bytevector-u8-set! bytevector-s8-set!
|
bytevector-u8-ref bytevector-u8-set! bytevector-s8-set!
|
||||||
bytevector-copy! u8-list->bytevector bytevector->u8-list
|
bytevector-copy! u8-list->bytevector bytevector->u8-list
|
||||||
bytevector-fill! bytevector-copy)
|
bytevector-fill! bytevector-copy bytevector=?)
|
||||||
(import
|
(import
|
||||||
(except (ikarus)
|
(except (ikarus)
|
||||||
make-bytevector bytevector-length bytevector-s8-ref
|
make-bytevector bytevector-length bytevector-s8-ref
|
||||||
bytevector-u8-ref bytevector-u8-set! bytevector-s8-set!
|
bytevector-u8-ref bytevector-u8-set! bytevector-s8-set!
|
||||||
bytevector-copy! u8-list->bytevector bytevector->u8-list
|
bytevector-copy! u8-list->bytevector bytevector->u8-list
|
||||||
bytevector-fill! bytevector-copy)
|
bytevector-fill! bytevector-copy bytevector=?)
|
||||||
(ikarus system $fx)
|
(ikarus system $fx)
|
||||||
(ikarus system $pairs)
|
(ikarus system $pairs)
|
||||||
(ikarus system $bytevectors))
|
(ikarus system $bytevectors))
|
||||||
|
@ -138,6 +138,19 @@
|
||||||
($bytevector-set! dst i ($bytevector-u8-ref src i))
|
($bytevector-set! dst i ($bytevector-u8-ref src i))
|
||||||
(f src dst ($fxadd1 i) n)])))))
|
(f src dst ($fxadd1 i) n)])))))
|
||||||
|
|
||||||
|
(define bytevector=?
|
||||||
|
(lambda (x y)
|
||||||
|
(unless (bytevector? x)
|
||||||
|
(error 'bytevector=? "~s is not a bytevector" x))
|
||||||
|
(unless (bytevector? y)
|
||||||
|
(error 'bytevector=? "~s is not a bytevector" y))
|
||||||
|
(let ([n ($bytevector-length x)])
|
||||||
|
(and ($fx= n ($bytevector-length y))
|
||||||
|
(let f ([x x] [y y] [i 0] [n n])
|
||||||
|
(or ($fx= i n)
|
||||||
|
(and ($fx= ($bytevector-u8-ref x i)
|
||||||
|
($bytevector-u8-ref y i))
|
||||||
|
(f x y ($fxadd1 i) n))))))))
|
||||||
|
|
||||||
(define bytevector-copy!
|
(define bytevector-copy!
|
||||||
(lambda (src src-start dst dst-start k)
|
(lambda (src src-start dst dst-start k)
|
||||||
|
|
|
@ -282,6 +282,7 @@
|
||||||
[bytevector-copy! i]
|
[bytevector-copy! i]
|
||||||
[bytevector-copy i]
|
[bytevector-copy i]
|
||||||
[bytevector-fill! i]
|
[bytevector-fill! i]
|
||||||
|
[bytevector=? i]
|
||||||
|
|
||||||
[for-each i r]
|
[for-each i r]
|
||||||
[map i r]
|
[map i r]
|
||||||
|
|
Loading…
Reference in New Issue