From a8e35f90fa25a06fccd742d33a08a9f4702adc8c Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Sat, 8 Aug 2020 16:20:01 +0900 Subject: [PATCH] s/max/max in vector-segment (issue #677) --- lib/srfi/160/uvector.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/srfi/160/uvector.scm b/lib/srfi/160/uvector.scm index ffe92a21..e78fe7df 100644 --- a/lib/srfi/160/uvector.scm +++ b/lib/srfi/160/uvector.scm @@ -154,12 +154,10 @@ (define (vector-segment vec n) (let ((len (uvector-length vec))) (let lp ((i 0) (res '())) - (let ((diff (- len i))) - (if (zero? diff) - (reverse res) - (lp (max (+ i n) len) - (cons (vector-copy vec i n) res))))))) - + (if (>= i len) + (reverse res) + (lp (+ i n) + (cons (vector-copy vec i (min (+ i n) len)) res)))))) (define (vector-fold kons knil vec1 . o) (let ((len (uvector-length vec1)))