about summary refs log tree commit diff
diff options
context:
space:
mode:
-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)