 ;; `wids` is defined in section 3.4 of the paper. This is the variant
 ;; of the algorithm that also covers the case where range and slide
 ;; are defined on the same value.
-(defn wids-lower [min-windowing-attr t]
+(defn wids-lower [min-windowing-attr w-slide t]
   (dec (int (Math/floor (/ (- (:window-attr t)
                               min-windowing-attr) w-slide)))))
 
-(defn wids-upper [min-windowing-attr t]
+(defn wids-upper [min-windowing-attr w-range w-slide t]
   (dec (int (Math/floor (/ (- (+ (:window-attr t) w-range)
                               min-windowing-attr) w-slide)))))
 
-(defn wids [min-windowing-attr t]
-  (let [lower (wids-lower min-windowing-attr t)
-        upper (wids-upper min-windowing-attr t)]
+(defn wids [min-windowing-attr w-range w-slide t]
+  (let [lower (wids-lower min-windowing-attr w-slide t)
+        upper (wids-upper min-windowing-attr w-range w-slide t)]
     (range (inc lower) (inc upper))))
 
 ;; The follow code runs through 30 segments with

;; 27 => (5 6 7 8)
;; 28 => (5 6 7 8)
;; 29 => (5 6 7 8)

;; up with both tables we looked at above.
;;
;; (doseq [n (range 30)]
;;   (println n "=>" (wids 0 20 5 {:window-attr n})))

;; 0 => (0 1 2 3)
;; 1 => (0 1 2 3)
