[ create a new paste ] login | about

Link: http://codepad.org/uEelSsgy    [ raw code | fork ]

Plain Text, pasted on Apr 13:
scheme@(guile-user)> ,use (srfi srfi-42)
scheme@(guile-user)> ,optimize (do-ec (:parallel (:vector i v1)
                                                 (:vector j v2))
                                      (:parallel (:vector k v1)
                                                 (:vector l v2))
                                      (f i j k l))
$1 =
(let ((vec-1 v1) (len-1 0) (vec v2) (len 0))
  (set! len-1
    ((@@ (srfi srfi-42) vector-length) vec-1))
  (set! len
    ((@@ (srfi srfi-42) vector-length) vec))
  (let loop ((i-1 0) (i 0))
    (if (and (< i-1 len-1) (< i len))
      (let ((i-2 (vector-ref vec-1 i-1))
            (j (vector-ref vec i)))
        (let ((vec-1 v1) (len-1 0) (vec v2) (len 0))
          (set! len-1
            ((@@ (srfi srfi-42) vector-length) vec-1))
          (set! len
            ((@@ (srfi srfi-42) vector-length) vec))
          (let loop ((i-1 0) (i 0))
            (if (and (< i-1 len-1) (< i len))
              (let ((k (vector-ref vec-1 i-1))
                    (l (vector-ref vec i)))
                (f i-2 j k l)
                (loop (#{1+}# i-1) (#{1+}# i))))))
        (loop (#{1+}# i-1) (#{1+}# i))))))



Create a new paste based on this one


Comments: