(import scheme chicken.fixnum chicken.foreign srfi-4 (only chicken.platform register-feature!) (only srfi-1 take drop) (only srfi-133 vector-append vector-copy vector-copy! vector-map) (only srfi.160.u8 u8vector-copy!) (only srfi.160.s8 s8vector-copy!) (only srfi.160.u16 u16vector-copy!) (only srfi.160.s16 s16vector-copy!) (only srfi.160.u32 u32vector-copy!) (only srfi.160.s32 s32vector-copy!) (only srfi.160.u64 u64vector-copy!) (only srfi.160.s64 s64vector-copy!) (only srfi.160.f32 f32vector-copy!) (only srfi.160.f64 f64vector-copy!) (only srfi.160.c64 c64vector-copy! c64vector-ref c64vector-set! make-c64vector c64vector-length) (only srfi.160.c128 c128vector-copy! c128vector-ref c128vector-set! make-c128vector c128vector-length)) (import-for-syntax chicken.fixnum (only srfi-1 iota take drop zip)) (define-syntax define-structure (syntax-rules () ((define-structure body ...) (define-record body ...)))) (define fxquotient fx/) (define fxarithmetic-shift-left fxshl) (define fxarithmetic-shift-right fxshr) (define append-vectors (cut apply vector-append <>))