Fix c-size-of to c-type-size

This commit is contained in:
retropikzel 2025-05-15 20:32:13 +03:00
parent c487f7a1b1
commit d1998aca58
11 changed files with 42 additions and 42 deletions

View File

@ -145,22 +145,22 @@
cpointer-data-set!
;c-bytevector-s8-set!
;c-bytevector-s8-set!
cpointer-set-int8_t!
cpointer-ref-int8_t
cpointer-set-uint8_t!
cpointer-ref-uint8_t
cpointer-set-int16_t!
cpointer-ref-int16_t
cpointer-set-uint16_t!
cpointer-ref-uint16_t
cpointer-set-int32_t!
cpointer-ref-int32_t
cpointer-set-uint32_t!
cpointer-ref-uint32_t
cpointer-set-int64_t!
cpointer-ref-int64_t
cpointer-set-uint64_t!
cpointer-ref-uint64_t
cpointer-set-int8!
cpointer-ref-int8
cpointer-set-uint8!
cpointer-ref-uint8
cpointer-set-int16!
cpointer-ref-int16
cpointer-set-uint16!
cpointer-ref-uint16
cpointer-set-int32!
cpointer-ref-int32
cpointer-set-uint32!
cpointer-ref-uint32
cpointer-set-int64!
cpointer-ref-int64
cpointer-set-uint64!
cpointer-ref-uint64
cpointer-set-char!
cpointer-ref-char
cpointer-set-short!

View File

@ -36,12 +36,12 @@
((equal? type 'uint64) (c-bytevector-u64-ref pointer offset))
((equal? type 'char) (integer->char (c-bytevector-s8-ref pointer offset)))
((equal? type 'unsigned-char) (integer->char (c-bytevector-u8-ref pointer offset)))
((equal? type 'short) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'short)))
((equal? type 'unsigned-short) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'unsigned-short)))
((equal? type 'int) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'int)))
((equal? type 'unsigned-int) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'unsigned-int)))
((equal? type 'long) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'long)))
((equal? type 'unsigned-long) (c-bytevector-sint-ref pointer offset (native-endianness) (c-size-of 'unsigned-long)))
((equal? type 'short) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'short)))
((equal? type 'unsigned-short) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'unsigned-short)))
((equal? type 'int) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'int)))
((equal? type 'unsigned-int) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'unsigned-int)))
((equal? type 'long) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'long)))
((equal? type 'unsigned-long) (c-bytevector-sint-ref pointer offset (native-endianness) (c-type-size 'unsigned-long)))
((equal? type 'float) (c-bytevector-ieee-single-native-ref pointer offset))
((equal? type 'double) (c-bytevector-ieee-double-native-ref pointer offset))
((equal? type 'pointer) (c-bytevector-pointer-ref pointer offset))

View File

@ -100,21 +100,21 @@
0
(c-bytevector->address pointer)
(native-endianness)
(c-size-of 'pointer))))
(c-type-size 'pointer))))
#;(define c-bytevector-pointer-ref
(lambda (c-bytevector k)
(address->c-bytevector (c-bytevector-uint-ref c-bytevector
0
(native-endianness)
(c-size-of 'pointer)))))
(c-type-size 'pointer)))))
(cond-expand
;(kawa #t) ; Defined in kawa.scm
(else (define-syntax call-with-address-of
(syntax-rules ()
((_ input-pointer thunk)
(let ((address-pointer (make-c-bytevector (c-size-of 'pointer))))
(let ((address-pointer (make-c-bytevector (c-type-size 'pointer))))
(c-bytevector-pointer-set! address-pointer 0 input-pointer)
(let ((result (apply thunk (list address-pointer))))
(set! input-pointer (c-bytevector-pointer-ref address-pointer 0))

View File

@ -184,7 +184,7 @@
(type->libffi-type-number return-type)
(map type->libffi-type-number argument-types)
c-function
(c-size-of return-type)
(c-type-size return-type)
arguments)))
(c-bytevector-get return-pointer return-type 0))))))

View File

@ -5,7 +5,7 @@
(c-system-include "stdio.h")
(c-system-include "ffi.h")
;; c-size-of
;; c-type-size
(c-declare "
int size_of_int8_t() { return sizeof(int8_t); }
int size_of_uint8_t() { return sizeof(uint8_t); }

View File

@ -189,7 +189,7 @@
#;(define-syntax call-with-address-of-c-bytevector
(syntax-rules ()
((_ input-pointer thunk)
(let ((address-pointer (make-c-bytevector (c-size-of 'pointer))))
(let ((address-pointer (make-c-bytevector (c-type-size 'pointer))))
(pointer-set! address-pointer 'pointer 0 input-pointer)
(apply thunk (list address-pointer))
(set! input-pointer (pointer-get address-pointer 'pointer 0))

View File

@ -43,19 +43,19 @@
(define c-bytevector-u8-set!
(lambda (c-bytevector k byte)
(syscall syscall:poke-bytes c-bytevector k (c-size-of 'uint8) byte)))
(syscall syscall:poke-bytes c-bytevector k (c-type-size 'uint8) byte)))
(define c-bytevector-u8-ref
(lambda (c-bytevector k)
(syscall syscall:peek-bytes c-bytevector k (c-size-of 'uint8))))
(syscall syscall:peek-bytes c-bytevector k (c-type-size 'uint8))))
(define c-bytevector-pointer-set!
(lambda (c-bytevector k pointer)
(syscall syscall:poke-bytes c-bytevector k (c-size-of 'pointer) pointer)))
(syscall syscall:poke-bytes c-bytevector k (c-type-size 'pointer) pointer)))
(define c-bytevector-pointer-ref
(lambda (c-bytevector k)
(syscall syscall:peek-bytes c-bytevector k (c-size-of 'pointer))))
(syscall syscall:peek-bytes c-bytevector k (c-type-size 'pointer))))
(define-syntax define-c-procedure
(syntax-rules ()

View File

@ -76,7 +76,7 @@
#;(define-syntax call-with-address-of-c-bytevector
(syntax-rules ()
((_ input-pointer thunk)
(let ((address-pointer (make-c-bytevector (c-size-of 'pointer))))
(let ((address-pointer (make-c-bytevector (c-type-size 'pointer))))
(c-bytevector-pointer-set! address-pointer 0 input-pointer)
(apply thunk (list address-pointer))
(set! input-pointer (c-bytevector-pointer-ref address-pointer 0))

View File

@ -93,8 +93,8 @@
((equal? type 'double) 8)
((equal? type 'pointer) 8))))
(define c-bytevector-u8-set! cpointer-set-uint8_t!)
(define c-bytevector-u8-ref cpointer-ref-uint8_t)
(define c-bytevector-u8-set! cpointer-set-uint8!)
(define c-bytevector-u8-ref cpointer-ref-uint8)
(define c-bytevector-pointer-set! cpointer-set-pointer!)
(define c-bytevector-pointer-ref cpointer-ref-pointer)

View File

@ -31,27 +31,27 @@
(define c-bytevector-u8-set!
(lambda (c-bytevector k byte)
(bytevector-c-int8-set! (make-bytevector-mapping (+ c-bytevector k)
(c-size-of 'uint8))
(c-type-size 'uint8))
0
byte)))
(define c-bytevector-u8-ref
(lambda (c-bytevector k)
(bytevector-c-int8-ref (make-bytevector-mapping (+ c-bytevector k)
(c-size-of 'uint8))
(c-type-size 'uint8))
0)))
(define c-bytevector-pointer-set!
(lambda (c-bytevector k pointer)
(let ((bv (make-bytevector-mapping (+ c-bytevector k) (c-size-of 'pointer))))
(let ((bv (make-bytevector-mapping (+ c-bytevector k) (c-type-size 'pointer))))
(bytevector-c-void*-set! bv 0 pointer))))
(define c-bytevector-pointer-ref
(lambda (c-bytevector k)
(let ((bv (make-bytevector-mapping (+ c-bytevector k) (c-size-of 'pointer))))
(let ((bv (make-bytevector-mapping (+ c-bytevector k) (c-type-size 'pointer))))
(bytevector-c-void*-ref bv 0))))
#;(define pointer-set!
(lambda (pointer type offset value)
(let ((bv (make-bytevector-mapping (+ pointer offset) (c-size-of type))))
(let ((bv (make-bytevector-mapping (+ pointer offset) (c-type-size type))))
(cond ((equal? type 'int8) (bytevector-c-int8-set! bv 0 value))
((equal? type 'uint8) (bytevector-c-int8-set! bv 0 value))
((equal? type 'int16) (bytevector-c-int16-set! bv 0 value))
@ -74,7 +74,7 @@
#;(define pointer-get
(lambda (pointer type offset)
(let ((bv (make-bytevector-mapping (+ pointer offset) (c-size-of type))))
(let ((bv (make-bytevector-mapping (+ pointer offset) (c-type-size type))))
(cond ((equal? type 'int8) (bytevector-c-int8-ref bv 0))
((equal? type 'uint8) (bytevector-c-uint8-ref bv 0))
((equal? type 'int16) (bytevector-c-int16-ref bv 0))

View File

@ -87,7 +87,7 @@
'int
'(pointer pointer))
(define input-pointer (make-c-bytevector (c-size-of 'int)))
(define input-pointer (make-c-bytevector (c-type-size 'int)))
(c-bytevector-s32-native-set! input-pointer 0 100)
(assert equal? (= (c-bytevector-s32-native-ref input-pointer 0) 100) #t)
(debug (c-bytevector-s32-native-ref input-pointer 0))