Hi,
In the last update
(https://lists.gnu.org/archive/html/guile-devel/2017-11/msg00010.html) I
talked a lot about fixnums. This last couple weeks' work is along the
same lines.
Firstly I added support for specialized instructions that compare (in
the < or = sense) s64 and u64 values against 8-b
> (define (out-of-range x) (error "out of range" x))
> (define (not-int x) (error "expected an integer" x))
> (cond
>((fixnum? x)
> (if (<= -10 x 100)
> (* x 2)
> (out-of-range x)))
>((bignum? x)
> (if (<= -10 x 100)
> (* x 2)
> (out-of-range x)