Fixing Racket uint8-ref/set!

This commit is contained in:
retropikzel 2025-07-23 19:45:56 +03:00
parent a8264b23b5
commit be5529f8a4
2 changed files with 1 additions and 44 deletions

View File

@ -531,45 +531,18 @@
(define (c-bytevector-uint-ref c-bytevector index endness size)
(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)
(do ((i 0 (+ i 1))
(result 0 (+ (* 256 result)
(c-bytevector-u8-ref c-bytevector (+ index i)))))
((>= i size)
result)))
((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))))
(define (c-bytevector-sint-ref c-bytevector index endness size)
@ -578,12 +551,6 @@
index
(+ index size -1))))
(uresult (c-bytevector-uint-ref c-bytevector index endness size)))
(display "High byte: ")
(display high-byte)
(newline)
(display "Uresult: ")
(display uresult)
(newline)
(if (> high-byte 127)
(- uresult (expt 256 size))
uresult)))

View File

@ -63,17 +63,7 @@
(define c-bytevector-u8-ref
(lambda (c-bytevector k)
(let ((result (ptr-ref c-bytevector _uint8 'abs k)))
(display "c-bytevector: ")
(display c-bytevector)
(newline)
(display "k: ")
(display k)
(newline)
(display "Result: ")
(display result)
(newline)
result)))
(ptr-ref c-bytevector _uint8 'abs k)))
(define c-bytevector-pointer-set!
(lambda (c-bytevector k pointer)