From 4224e183522b696e60556c8ea88dec5409d8a746 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 7 May 2021 16:45:28 +0530 Subject: Move with-rstats and define with-rstats* sc macros. * src/extent-sampling.sc (with-rstats): Move to ... * src/macros/macros.sc (with-rstats): ... to here. (with-rstats*): New macro. --- src/extent-sampling.sc | 5 ----- src/macros/macros.sc | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/extent-sampling.sc b/src/extent-sampling.sc index 8d3693d..fb502a0 100644 --- a/src/extent-sampling.sc +++ b/src/extent-sampling.sc @@ -27,11 +27,6 @@ (pre-include "utils.h") (pre-include "extent-sampling.h") -(sc-define-syntax (with-rstats var body ...) - (with-alloc var gsl-rstat-workspace* - (gsl-rstat-alloc) gsl-rstat-free - body ...)) - (sc-define-syntax (with-integration-workspace var intervals body ...) (with-alloc var gsl-integration-workspace* (gsl-integration-workspace-alloc intervals) diff --git a/src/macros/macros.sc b/src/macros/macros.sc index cf6be15..8ff799b 100644 --- a/src/macros/macros.sc +++ b/src/macros/macros.sc @@ -53,3 +53,17 @@ (with-alloc var gsl-rng* (gsl-rng-alloc gsl-rng-default) gsl-rng-free body ...)) + +(sc-define-syntax (with-rstats var body ...) + (with-alloc var gsl-rstat-workspace* + (gsl-rstat-alloc) gsl-rstat-free + body ...)) + +(sc-define-syntax (with-rstats* var n body ...) + (begin + (declare var (array gsl-rstat-workspace* 3)) + (for-i i n + (array-set var i (gsl-rstat-alloc))) + body ... + (for-i i n + (gsl-rstat-free (array-get var i))))) -- cgit v1.2.3