diff options
-rw-r--r-- | scm/extent-sampling/wrap.scm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/scm/extent-sampling/wrap.scm b/scm/extent-sampling/wrap.scm index 439a57d..306caa4 100644 --- a/scm/extent-sampling/wrap.scm +++ b/scm/extent-sampling/wrap.scm @@ -344,6 +344,16 @@ true-volume %gsl-random-state dimension rtol stats) (rstat-n stats))) +(define-public (volume-window extent-oracle true-volume dimension rtol) + (let ((samples (make-c-struct (list unsigned-int) (list 0)))) + ((pointer->procedure double + (dynamic-func "volume_window" lib-extentsampling) + (list '* double '* unsigned-int double '*)) + (maybe-procedure->extent-oracle extent-oracle) + true-volume %gsl-random-state dimension rtol samples) + (match (parse-c-struct samples (list unsigned-int)) + ((samples) samples)))) + (define-public (integral integrand extent-oracle true-integral dimension rtol) (let ((stats (rstat-alloc))) ((pointer->procedure double |