Updated documentation
This commit is contained in:
parent
37c6d1433a
commit
c1f7a3b918
135
README.md
135
README.md
|
|
@ -366,6 +366,14 @@ Calling from Scheme:
|
|||
The passed c-bytevector, in example named cbv, should only be used **after**
|
||||
call to call-with-addres-of ends.
|
||||
|
||||
(**bytevector->c-bytevector** _bytevector_)
|
||||
|
||||
Returns a newly allocated c-bytevector of the bytes of _bytevector_.
|
||||
|
||||
(**c-bytevector->bytevector**)
|
||||
|
||||
Returns a newly allocated bytevector of the bytes of _c-bytevector_.
|
||||
|
||||
(**native-endianness**)
|
||||
|
||||
Returns the endianness symbol associated implementation’s preferred endianness
|
||||
|
|
@ -396,10 +404,10 @@ If K is not a valid index of c-bytevector the behaviour is undefined.
|
|||
|
||||
Returns the byte at index k of c-bytevector.
|
||||
|
||||
(**c-bytevector-uint-ref** _bytevector_ _k_ _endianness_ _size_)
|
||||
(**c-bytevector-sint-ref** _bytevector_ _k_ _endianness_ _size_)</br>
|
||||
(**c-bytevector-uint-set!** _bytevector_ _k_ _n_ _endianness_ _size_)</br>
|
||||
(**c-bytevector-sint-set!** _bytevector_ _k_ _n_ _endianness_ _size_)</br>
|
||||
(**c-bytevector-uint-ref** _c-bytevector_ _k_ _endianness_ _size_)</br>
|
||||
(**c-bytevector-sint-ref** _c-bytevector_ _k_ _endianness_ _size_)</br>
|
||||
(**c-bytevector-uint-set!** _c-bytevector_ _k_ _n_ _endianness_ _size_)</br>
|
||||
(**c-bytevector-sint-set!** _c-bytevector_ _k_ _n_ _endianness_ _size_)
|
||||
|
||||
Size must be a positive exact integer object. If _k_,...,_k_ + _size_ − 1 is
|
||||
not valid indices of c-bytevector the behavior is unspecified.
|
||||
|
|
@ -428,14 +436,14 @@ Examples:
|
|||
> 100
|
||||
|
||||
|
||||
(**c-bytevector-u16-ref** _bytevector_ _k_ _endianness_)
|
||||
(**c-bytevector-s16-ref** _bytevector_ _k_ _endianness_)
|
||||
(**c-bytevector-u16-native-ref** _bytevector_ _k_)
|
||||
(**c-bytevector-s16-native-ref** _bytevector_ _k_)
|
||||
(**c-bytevector-u16-set!** _bytevector_ _k_ _n_ _endianness_)
|
||||
(**c-bytevector-s16-set!** _bytevector_ _k_ _n_ _endianness_)
|
||||
(**c-bytevector-u16-native-set!** _bytevector_ _k_ _n_)
|
||||
(**c-bytevector-s16-native-set!** _bytevector_ _k_ _n_)
|
||||
(**c-bytevector-u16-ref** _c-bytevector_ _k_ _endianness_)</br>
|
||||
(**c-bytevector-s16-ref** _c-bytevector_ _k_ _endianness_)</br>
|
||||
(**c-bytevector-u16-native-ref** _c-bytevector_ _k_)</br>
|
||||
(**c-bytevector-s16-native-ref** _c-bytevector_ _k_)</br>
|
||||
(**c-bytevector-u16-set!** _c-bytevector_ _k_ _n_ _endianness_)</br>
|
||||
(**c-bytevector-s16-set!** _c-bytevector_ _k_ _n_ _endianness_)</br>
|
||||
(**c-bytevector-u16-native-set!** _c-bytevector_ _k_ _n_)</br>
|
||||
(**c-bytevector-s16-native-set!** _c-bytevector_ _k_ _n_)
|
||||
|
||||
_K_ must be a valid index of _c-bytevector_ ; so must _k_ + 1. For
|
||||
c-bytevector-u16-set! and c-bytevector-u16-native-set!, _n_ must be an exact
|
||||
|
|
@ -453,14 +461,14 @@ work only at aligned indices: _k_ must be a multiple of 2.
|
|||
|
||||
The ...-set! procedures return unspecified values.
|
||||
|
||||
(**c-bytevector-u32-ref** _bytevector_ _k_ _endianness_)
|
||||
(**c-bytevector-s32-ref** _bytevector_ _k_ _endianness_)
|
||||
(**c-bytevector-u32-native-ref** _bytevector_ _k_)
|
||||
(**c-bytevector-s32-native-ref** _bytevector_ _k_)
|
||||
(**c-bytevector-u32-set!** _bytevector_ _k_ _n_ _endianness_)
|
||||
(**c-bytevector-s32-set!** _bytevector_ _k_ _n_ _endianness_)
|
||||
(**c-bytevector-u32-native-set!** _bytevector_ _k_ _n_)
|
||||
(**c-bytevector-s32-native-set!** _bytevector_ _k_ _n_)
|
||||
(**c-bytevector-u32-ref** _c-bytevector_ _k_ _endianness_)</br>
|
||||
(**c-bytevector-s32-ref** _c-bytevector_ _k_ _endianness_)</br>
|
||||
(**c-bytevector-u32-native-ref** _c-bytevector_ _k_)</br>
|
||||
(**c-bytevector-s32-native-ref** _c-bytevector_ _k_)</br>
|
||||
(**c-bytevector-u32-set!** _c-bytevector_ _k_ _n_ _endianness_)</br>
|
||||
(**c-bytevector-s32-set!** _c-bytevector_ _k_ _n_ _endianness_)</br>
|
||||
(**c-bytevector-u32-native-set!** _c-bytevector_ _k_ _n_)</br>
|
||||
(**c-bytevector-s32-native-set!** _c-bytevector_ _k_ _n_)
|
||||
|
||||
_K_,...,_k_ + 3 must be valid indices of bytevector. For c-bytevector-u32-set!
|
||||
and bytevector-u32-native-set!, _n_ must be an exact integer object in the
|
||||
|
|
@ -478,30 +486,79 @@ work only at aligned indices: _k_ must be a multiple of 4.
|
|||
|
||||
The ...-set! procedures return unspecified values.
|
||||
|
||||
(**c-bytevector-s64-set!**)
|
||||
(**c-bytevector-s64-ref**)
|
||||
(**c-bytevector-s64-native-set!**)
|
||||
(**c-bytevector-s64-native-ref**)
|
||||
(**c-bytevector-u64-set!**)
|
||||
(**c-bytevector-u64-ref**)
|
||||
(**c-bytevector-u64-native-set!**)
|
||||
(**c-bytevector-u64-native-ref**)
|
||||
(**c-bytevector-u64-ref** _c-bytevector_ _k_ _endianness_)</br>
|
||||
(**c-bytevector-s64-ref** _c-bytevector_ _k_ _endianness_)</br>
|
||||
(**c-bytevector-u64-native-ref** _c-bytevector_ _k_)</br>
|
||||
(**c-bytevector-s64-native-ref** _c-bytevector_ _k_)</br>
|
||||
(**c-bytevector-u64-set!** _c-bytevector_ _k_ _n_ _endianness_)</br>
|
||||
(**c-bytevector-s64-set!** _c-bytevector_ _k_ _n_ _endianness_)</br>
|
||||
(**c-bytevector-u64-native-set!** _c-bytevector_ _k_ _n_)</br>
|
||||
(**c-bytevector-s64-native-set!** _c-bytevector_ _k_ _n_)
|
||||
|
||||
(**c-bytevector-ieee-single-set!**)
|
||||
(**c-bytevector-ieee-single-native-set!**)
|
||||
(**c-bytevector-ieee-single-ref**)
|
||||
(**c-bytevector-ieee-single-native-ref**)
|
||||
_K_,...,_k_ + 7 must be valid indices of _c-bytevector_. For
|
||||
c-bytevector-u64-set! and c-bytevector-u64-native-set!, _n_ must be an exact
|
||||
integer object in the interval {0,...,264 − 1}. For c-bytevector-s64-set! and
|
||||
c-bytevector-s64-native-set!, _n_ must be an exact integer object in the
|
||||
interval {−263,...,264 − 1}.
|
||||
|
||||
These retrieve and set eight-byte representations of numbers at indices
|
||||
_k_,...,_k_ + 7, according to the endianness specified by _endianness_. The
|
||||
procedures with u64 in their names deal with the unsigned representation; those
|
||||
with s64 with the two’s-complement representation.
|
||||
|
||||
The procedures with native in their names employ the native endianness, and
|
||||
work only at aligned indices: _k_ must be a multiple of 8.
|
||||
|
||||
The ...-set! procedures return unspecified values.
|
||||
|
||||
(**c-bytevector-ieee-single-native-ref**)</br>
|
||||
(**c-bytevector-ieee-single-ref**)</br>
|
||||
|
||||
_K_,...,_k_ + 3 must be valid indices of _c-bytevector_. For
|
||||
c-bytevector-ieee-single-native-ref, _k_ must be a multiple of 4.
|
||||
|
||||
These procedures return the inexact real number object that best represents the
|
||||
IEEE-754 single-precision number represented by the four bytes beginning at
|
||||
index _k_.
|
||||
|
||||
(**c-bytevector-ieee-double-set!**)
|
||||
(**c-bytevector-ieee-double-native-set!**)
|
||||
(**c-bytevector-ieee-double-ref**)
|
||||
(**c-bytevector-ieee-double-native-ref**)
|
||||
(**c-bytevector-ieee-double-ref**)
|
||||
|
||||
(**bytevector->c-bytevector**)
|
||||
(**c-bytevector->bytevector**)
|
||||
_K_,...,_k_ + 7 must be valid indices of _c-bytevector_. For
|
||||
c-bytevector-ieee-double-native-ref, _k_ must be a multiple of 8.
|
||||
|
||||
(**string->c-utf8**)
|
||||
(**c-utf8->string**)
|
||||
These procedures return the inexact real number object that best represents the
|
||||
IEEE-754 double-precision number represented by the eight bytes beginning at
|
||||
index _k_.
|
||||
|
||||
(**c-bytevector-ieee-single-native-set!**)
|
||||
(**c-bytevector-ieee-single-set!**)
|
||||
|
||||
_K_,...,_k_ + 3 must be valid indices of _c-bytevector_. For
|
||||
c-bytevector-ieee-single-native-set!, _k_ must be a multiple of 4.
|
||||
|
||||
These procedures store an IEEE-754 single-precision representation of x into
|
||||
elements _k_ through _k_ + 3 of bytevector, and return unspecified values.
|
||||
|
||||
(**c-bytevector-ieee-double-native-set!**)
|
||||
(**c-bytevector-ieee-double-set!**)
|
||||
|
||||
_K_,...,_k_ + 7 must be valid indices of bytevector. For
|
||||
c-bytevector-ieee-double-native-set!, _k_ must be a multiple of 8.
|
||||
|
||||
These procedures store an IEEE-754 double-precision representation of x into
|
||||
elements _k_ through _k_ + 7 of bytevector, andreturn unspecified values.
|
||||
|
||||
|
||||
(**string->c-utf8** _string_)
|
||||
|
||||
Returns a newly allocated (unless empty) c-bytevector that contains the
|
||||
UTF-8 encoding of the given string.
|
||||
|
||||
(**c-utf8->string** _c-bytevector_)
|
||||
|
||||
Returns a newly allocated (unless empty) string whose character sequence is
|
||||
encoded by the given c-bytevector.
|
||||
|
||||
### Environment variables
|
||||
|
||||
|
|
|
|||
|
|
@ -226,6 +226,9 @@
|
|||
c-free
|
||||
call-with-address-of
|
||||
|
||||
bytevector->c-bytevector
|
||||
c-bytevector->bytevector
|
||||
|
||||
;; TODO endianness
|
||||
native-endianness
|
||||
make-c-bytevector
|
||||
|
|
@ -265,30 +268,35 @@
|
|||
c-bytevector-u32-native-set!
|
||||
c-bytevector-s32-native-set!
|
||||
|
||||
c-bytevector-s64-set!
|
||||
c-bytevector-s64-ref
|
||||
c-bytevector-s64-native-set!
|
||||
c-bytevector-s64-native-ref
|
||||
c-bytevector-u64-set!
|
||||
c-bytevector-u64-ref
|
||||
c-bytevector-u64-native-set!
|
||||
c-bytevector-s64-ref
|
||||
c-bytevector-s64-native-ref
|
||||
c-bytevector-u64-native-ref
|
||||
c-bytevector-u64-set!
|
||||
c-bytevector-s64-set!
|
||||
c-bytevector-u64-native-set!
|
||||
c-bytevector-s64-native-set!
|
||||
|
||||
c-bytevector-ieee-single-set!
|
||||
c-bytevector-ieee-single-native-set!
|
||||
c-bytevector-ieee-single-ref
|
||||
c-bytevector-ieee-single-native-ref
|
||||
c-bytevector-ieee-single-ref
|
||||
|
||||
c-bytevector-ieee-double-set!
|
||||
c-bytevector-ieee-double-native-set!
|
||||
c-bytevector-ieee-double-ref
|
||||
c-bytevector-ieee-double-native-ref
|
||||
c-bytevector-ieee-double-ref
|
||||
|
||||
bytevector->c-bytevector
|
||||
c-bytevector->bytevector
|
||||
c-bytevector-ieee-single-native-set!
|
||||
c-bytevector-ieee-single-set!
|
||||
|
||||
c-bytevector-ieee-double-native-set!
|
||||
c-bytevector-ieee-double-set!
|
||||
|
||||
string->c-utf8
|
||||
;; TODO string->c-utf16
|
||||
;; TODO string->c-utf32
|
||||
|
||||
c-utf8->string
|
||||
;; TODO c-utf16->string
|
||||
;; TODO c-utf32->string
|
||||
|
||||
|
||||
;c-string-length ;; TODO Documentation, Testing
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue