aboutsummaryrefslogtreecommitdiff
path: root/scm/nsmc/wrap.scm
diff options
context:
space:
mode:
Diffstat (limited to 'scm/nsmc/wrap.scm')
-rw-r--r--scm/nsmc/wrap.scm34
1 files changed, 15 insertions, 19 deletions
diff --git a/scm/nsmc/wrap.scm b/scm/nsmc/wrap.scm
index 9226483..14d328f 100644
--- a/scm/nsmc/wrap.scm
+++ b/scm/nsmc/wrap.scm
@@ -185,7 +185,7 @@
;; Running statistics
-(define rstat-alloc
+(define-public rstat-alloc
(make-gsl-alloc "gsl_rstat_alloc" (list) "gsl_rstat_free"))
(define-public rstat-n
@@ -371,24 +371,20 @@
%null-pointer))
(integrand integrand)))
-(define-public (volume extent-oracle true-volume dimension rtol)
- (let ((stats (rstat-alloc)))
- ((pointer->procedure void
- (dynamic-func "volume" lib-nsmc)
- (list '* double '* unsigned-int double '*))
- (maybe-procedure->extent-oracle extent-oracle)
- true-volume %gsl-random-state dimension rtol stats)
- stats))
-
-(define-public (integral integrand extent-oracle true-integral dimension rtol)
- (let ((stats (rstat-alloc)))
- ((pointer->procedure void
- (dynamic-func "integral" lib-nsmc)
- (list '* '* double '* unsigned-int double '*))
- (maybe-procedure->integrand integrand)
- (maybe-procedure->extent-oracle extent-oracle)
- true-integral %gsl-random-state dimension rtol stats)
- stats))
+(define-public (volume extent-oracle true-volume dimension rtol stats)
+ ((pointer->procedure void
+ (dynamic-func "volume" lib-nsmc)
+ (list '* double '* unsigned-int double '*))
+ (maybe-procedure->extent-oracle extent-oracle)
+ true-volume %gsl-random-state dimension rtol stats))
+
+(define-public (integral integrand extent-oracle true-integral dimension rtol stats)
+ ((pointer->procedure void
+ (dynamic-func "integral" lib-nsmc)
+ (list '* '* double '* unsigned-int double '*))
+ (maybe-procedure->integrand integrand)
+ (maybe-procedure->extent-oracle extent-oracle)
+ true-integral %gsl-random-state dimension rtol stats))
(define-public (volume-importance extent-oracle mean samples-per-cone
solid-angle-factor solid-angle-threshold-exponent-factor)