(load "endian-port.so") (import endian-port endian-blob) (let ([outp (port->endian-port (open-output-file "eptest"))]) (endian-port-write-ieee-float32 outp +nan.0) (endian-port-write-ieee-float32 outp 5.25) (endian-port-write-ieee-float64 outp +nan.0) (endian-port-write-ieee-float64 outp 5.25) (endian-port-write-int1 outp (inexact->exact (- (expt 2 7) 1))) (endian-port-write-int2 outp (inexact->exact (- (expt 2 15) 1))) (endian-port-write-int4 outp (inexact->exact (- (expt 2 30) 1))) (endian-port-write-byte-vector outp (string->blob "hacking endian-port")) (endian-port-write-byte-vector outp (blob->u8vector (string->blob "'error: bad argument count'"))) (endian-port-write-byte-vector outp (u8vector->endian-blob (blob->u8vector (string->blob "always one more bug")) LSB)) (close-endian-port outp)) (let ([inp (port->endian-port (open-input-file "eptest"))]) (print (endian-port-read-ieee-float32 inp)) (print (endian-port-read-ieee-float32 inp)) (print (endian-port-read-ieee-float64 inp)) (print (endian-port-read-ieee-float64 inp)) (print (endian-port-read-int1 inp)) (print (endian-port-read-int2 inp)) (print (endian-port-read-int4 inp)) (print (blob->string (endian-port-read-byte-vector inp 19))) (print (blob->string (endian-port-read-byte-vector inp 27))) (print (blob->string (endian-port-read-byte-vector inp 19))) (close-endian-port inp)) (exit)