Fixing Racket uint8-ref/set!

This commit is contained in:
retropikzel 2025-07-23 19:35:28 +03:00
parent b6f19ed4bf
commit eb68a3d2cd
1 changed files with 21 additions and 1 deletions

View File

@ -533,7 +533,27 @@
(c-bytevector-s8-set! c-bytevector index (char->integer char)))
(define (c-bytevector-uint-ref c-bytevector index endness size)
(case endness
(cond ((equal? endness 'big)
(display "BIG")
(newline)
(do ((i 0 (+ i 1))
(result 0 (+ (* 256 result)
(c-bytevector-u8-ref c-bytevector (+ index i)))))
((>= i size)
result)))
((equal? endness 'little)
(display "LITTLE")
(newline)
(do ((i (- size 1) (- i 1))
(result 0 (+ (* 256 result)
(c-bytevector-u8-ref c-bytevector (+ index i)))))
((< i 0)
result)))
(else
(display "ELSE")
(newline)
(c-bytevector-uint-ref c-bytevector index (native-endianness) size)))
#;(case endness
((big)
(display "BIG")
(newline)