Skip to content

Commit 23d9337

Browse files
committed
Use column accumulation for sampled exact outputs
1 parent f008a21 commit 23d9337

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/core/sampling.rkt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,19 @@
162162
[(and (list? exs) (not is-bad?))
163163
(define assembled-exs (assemble-output exs))
164164
(define assembled-pt (assemble-point pt))
165+
(define next-exactss
166+
(if (null? exactss)
167+
(map list assembled-exs)
168+
(map cons assembled-exs exactss)))
165169
(if (>= (+ 1 sampled) (*num-points*))
166-
(values (cons assembled-pt points) (cons assembled-exs exactss))
167-
(loop (+ 1 sampled) 0 (cons assembled-pt points) (cons assembled-exs exactss)))]
170+
(values (cons assembled-pt points) next-exactss)
171+
(loop (+ 1 sampled) 0 (cons assembled-pt points) next-exactss))]
168172
[else
169173
(when (>= skipped (*max-skipped-points*))
170174
(raise-herbie-sampling-error "Cannot sample enough valid points."
171175
#:url "faq.html#sample-valid-points"))
172176
(loop sampled (+ 1 skipped) points exactss)])))
173-
(values (cons points (flip-lists exactss)) outcomes))
177+
(values (cons points exactss) outcomes))
174178

175179
(define (combine-tables t1 t2)
176180
(define t2-total (apply + (hash-values t2)))

0 commit comments

Comments
 (0)