aboutsummaryrefslogtreecommitdiff
path: root/scm
diff options
context:
space:
mode:
authorArun Isaac2021-04-20 17:08:43 +0530
committerArun Isaac2021-04-20 17:08:43 +0530
commita08d432edd52ddd28c5afd806b59cf28aee63ef9 (patch)
tree3b9e63f0e54ca28a2a0d55d92c5dae15fe3bb332 /scm
parentaf21f83217c2bd249356ba5088fd3033a3909914 (diff)
downloadnsmc-a08d432edd52ddd28c5afd806b59cf28aee63ef9.tar.gz
nsmc-a08d432edd52ddd28c5afd806b59cf28aee63ef9.tar.lz
nsmc-a08d432edd52ddd28c5afd806b59cf28aee63ef9.zip
Wrap ellipsoid functions.
* scm/nsmc/wrap.scm (make-ellipsoid-params, make-ellipsoid-oracle, ellipsoid-true-volume): New functions.
Diffstat (limited to 'scm')
-rw-r--r--scm/nsmc/wrap.scm11
1 files changed, 11 insertions, 0 deletions
diff --git a/scm/nsmc/wrap.scm b/scm/nsmc/wrap.scm
index 5e4c8be..9226483 100644
--- a/scm/nsmc/wrap.scm
+++ b/scm/nsmc/wrap.scm
@@ -315,6 +315,17 @@
((true-volume-procedure "spheroid_true_volume")
dimension (make-spheroid-params eccentricity)))
+(define (make-ellipsoid-params axes)
+ (make-c-struct (list '*) (list axes)))
+
+(define-public (make-ellipsoid-oracle axes)
+ (make-extent-oracle (dynamic-func "ellipsoid_extent_oracle" lib-nsmc)
+ (make-ellipsoid-params axes)))
+
+(define-public (ellipsoid-true-volume axes)
+ ((true-volume-procedure "ellipsoid_true_volume")
+ (vector-size axes) (make-ellipsoid-params axes)))
+
;; integrands
(define (make-integrand integrand params)