From fc128fa8927271efb03e812af68d2792fa33b2da Mon Sep 17 00:00:00 2001 From: rxg Date: Thu, 20 Dec 2018 15:20:43 -0500 Subject: [PATCH] Fix type error in sample-multivariate-normal Racket 7.1 does not accept code as-is. Modeled this change off of normal-dist.rkt distributed with Racket. --- multivariate-normal.rkt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/multivariate-normal.rkt b/multivariate-normal.rkt index 213f05c..45f849b 100644 --- a/multivariate-normal.rkt +++ b/multivariate-normal.rkt @@ -70,12 +70,12 @@ (define L (array->flarray (cholesky covariance))) (: sample : (Sample [Matrix Flonum])) - (define (sample [samples #f]) - (if samples - (for/list: : [Listof [Matrix Flonum]] + (define sample + (case-lambda: + [() (matrix+ mean (matrix* L (base-mvn (square-matrix-size covariance))))] + [(samples) (for/list: : [Listof [Matrix Flonum]] ([i (in-range 0 samples)]) - (matrix+ mean (matrix* L (base-mvn (square-matrix-size covariance))))) - (matrix+ mean (matrix* L (base-mvn (square-matrix-size covariance)))))) + (matrix+ mean (matrix* L (base-mvn (square-matrix-size covariance)))))])) sample)