chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] ftl egg


From: Thomas Christian Chust
Subject: Re: [Chicken-users] ftl egg
Date: Fri, 29 Jun 2007 10:20:56 +0200
User-agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.4) Gecko/20070509 SeaMonkey/1.1.2

Thomas Christian Chust wrote:

> [...]
> Additionally I suggest the following handy output and accumulator
> interfaces:
> [...]

I forgot to suggest the following algorithm:

  ;;; Map vectors to an equal size mutable vector.
  (define (%v-map->%mv v mv)
    (let ((v-length (%v-length v))
          (v-ref (%v-ref v))
          (make-mv (make-%mv mv))
          (mv-set! (%mv-set! mv))
          (list->min (%i->%a i=list a=min)))
      (lambda (proc . vs)
        (let ((min-length (list->min (map v-length vs))))
          (do ((mvec (make-mv min-length))
               (i 0 (fx+ i 1)))
              ((>= i min-length) mvec)
            (mv-set! mvec i (apply proc (map (cut v-ref <> i) vs))))))))

cu,
Thomas


-- 
Murphy's Law is recursive.  Washing your car to make it rain doesn't work.




reply via email to

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