chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] u8vector to numbers bignum


From: chi
Subject: Re: [Chicken-users] u8vector to numbers bignum
Date: Thu, 28 May 2015 20:18:14 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

Also, a number->u8vector function would be nice. Converting a number to a hex
string, then taking every 2 characters of that and converting that back to a
number, for each element of the u8vector, just to keep me from accessing the
number's bytes directly, just strikes me as terribly roundabout.

(define (number->u8vector num)
  (let ((s (number->string num #x10)))
    (let ((v (make-u8vector (/ (string-length s) 2))))
      (let loop ((s s) (i 0))
        (when (< i (u8vector-length v))
          (u8vector-set! v i (string->number (substring s 0 2) #x10))
          (loop (substring s 2) (+ i 1))))
      v)))

vs

(define (numbers->u8vector num)
  (blob->u8vector (somehow-cast-to-blob (subvector (somehow-cast-to-vector num)
1))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]