On this page:
17.1 Safe/  Unsafe Fixnums
17.1.1 Safe Fixnums
17.1.2 Unsafe Fixnums
17.2 Safe/  Unsafe Flonums
17.2.1 Safe Flonums
any->fl
fl+  -?
17.2.2 Unsafe Flonums
17.3 Safe/  Unsafe Bytes
17.3.1 Safe Bytes
17.3.2 Unsafe Bytes
17.4 Safe/  Unsafe Vectors
17.4.1 Safe Vectors
17.4.2 Unsafe Vectors
8.10

17 RRLL: Unsafe

Dominik Pantůček <dominik.pantucek@trustica.cz>

Racket Rogue-Like Library: (Un)Safe operations.

These modules contain commonly used safe and unsafe ops for some data structures.

17.1 Safe/Unsafe Fixnums

17.1.1 Safe Fixnums

Safe and unsafe variants of fixnum operations.

 (require rrll/safe/fixnum) package: rrll-unsafe

Safe operations, provides all bindings from racket/fixnum.

17.1.2 Unsafe Fixnums

 (require rrll/unsafe/fixnum) package: rrll-unsafe

Unsafe operations, exports unsafe-fixnum-* procedures as fixnum-* bindings.

17.2 Safe/Unsafe Flonums

These modules contain safe and unsafe versions of flonum operations.

17.2.1 Safe Flonums

 (require rrll/safe/flonum) package: rrll-unsafe

Provides all bindings from racket/flonum.

procedure

(any->fl v)  flonum?

  v : (or/c fixnum? flonum?)
Accepts fixnum? or flonum? and produces equivalent flonum?.

procedure

(fl+-? fl1 fl2 [#:precision precision])  boolean?

  fl1 : flonum?
  fl2 : flonum?
  precision : (or/c #f flonum?) = #f
Returns #t if the two given values are closer than precision or - if the precision is #f - when they are exactly the same.

17.2.2 Unsafe Flonums

 (require rrll/unsafe/flonum) package: rrll-unsafe

Unsafe operations, exports unsafe-flonum-* procedures as flonum-* bindings and unsafe versions of other procedures given by rrll/safe/flonum.

17.3 Safe/Unsafe Bytes

These modules contain safe and unsafe versions of bytes operations.

17.3.1 Safe Bytes

 (require rrll/safe/bytes) package: rrll-unsafe

Provides nothing, byte operations from racket/base are used.

17.3.2 Unsafe Bytes

 (require rrll/unsafe/bytes) package: rrll-unsafe

Unsafe operations, exports unsafe-bytes-* procedures as bytes-* bindings.

17.4 Safe/Unsafe Vectors

These modules provide safe and unsafe versions of vector operations.

17.4.1 Safe Vectors

 (require rrll/safe/vector) package: rrll-unsafe

Safe vector operations - racket/base bindings are used.

17.4.2 Unsafe Vectors

 (require rrll/unsafe/vector) package: rrll-unsafe

Unsafe operations, exports unsafe-vector-* procedures as vector-* bindings.