3.2 Numeric Types
_int8 : ctype? |
_sint8 : ctype? |
_uint8 : ctype? |
_int16 : ctype? |
_sint16 : ctype? |
_uint16 : ctype? |
_int32 : ctype? |
_sint32 : ctype? |
_uint32 : ctype? |
_int64 : ctype? |
_sint64 : ctype? |
_uint64 : ctype? |
The basic integer types at various sizes. The s or
u prefix specifies a signed or an unsigned integer,
respectively; the ones with no prefix are signed.
Aliases for basic integer types. The _byte aliases correspond
to _int8. The _short and _word aliases
correspond to _int16. The _int aliases correspond to
_int32. The _long aliases correspond to either
_int32 or _int64, depending on the platform. Similarly,
the _intptr aliases correspond to either
_int32 or _int64, depending on the platform.
For cases where speed matters and where you know that the integer is
small enough, the types _fixnum and _ufixnum are
similar to _intptr and _uintptr but assume that the
quantities fit in Racket’s immediate integers (i.e., not bignums).
Similar to _fixnum/_ufixnum, but based on
_int/_uint instead of
_intptr/_uintptr, and coercions from C are checked
to be in range.
The _float and _double types represent the
corresponding C types. Both single- and double-precision Racket
numbers are accepted for conversion via both _float and
_double, while both _float and _double
coerce C values to double-precision Racket numbers.
The type _double*
coerces any Racket real number to a C double.