l...@gnu.org (Ludovic Courtès) writes: > Ian Price <ianpric...@googlemail.com> skribis: > >> Branch: master >> Commit: 9b977c836bf147d386944c401113aba32776fa68 >> System: 32 bit x86 Fedora 16 >> >> (use-modules (rnrs bytevectors)) >> (define not-32-bit (expt 2 32)) >> (define bv (make-bytevector 4)) >> (bytevector-u32-set! bv 0 not-32-bit (endianness big)) >> (pk bv) > > FWIW, with 2.0.7+ on x86_64-linux-gnu, with GMP 5.1.0: > > scheme@(guile-user)> (use-modules (rnrs bytevectors)) > scheme@(guile-user)> (define not-32-bit (expt 2 32)) > scheme@(guile-user)> (define bv (make-bytevector 4)) > scheme@(guile-user)> (bytevector-u32-set! bv 0 not-32-bit (endianness big)) > <unnamed port>:4:0: In procedure #<procedure 1b1bf00 at <current input>:4:0 > ()>: > <unnamed port>:4:0: In procedure bytevector-u32-set!: Value out of range: > 4294967296
That's because you're on a 64-bit system, where 2^32 is no difficulty. Mark