summaryrefslogtreecommitdiff
path: root/wolfram_link/convexminorant.tm
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2018-07-10 12:36:54 -0400
committerJaron Kent-Dobias <jaron@kent-dobias.com>2018-07-10 12:36:54 -0400
commit609fb52b670d8ed74584a988b8c63da82d8d523b (patch)
treecdc6b0ce89a7ac6e4f08dbdd3e3891fceb1e0da3 /wolfram_link/convexminorant.tm
parent25781a4041fa75a3394949d111be3abbefc97c26 (diff)
downloadc++-609fb52b670d8ed74584a988b8c63da82d8d523b.tar.gz
c++-609fb52b670d8ed74584a988b8c63da82d8d523b.tar.bz2
c++-609fb52b670d8ed74584a988b8c63da82d8d523b.zip
added wolfram link code
Diffstat (limited to 'wolfram_link/convexminorant.tm')
-rw-r--r--wolfram_link/convexminorant.tm33
1 files changed, 33 insertions, 0 deletions
diff --git a/wolfram_link/convexminorant.tm b/wolfram_link/convexminorant.tm
new file mode 100644
index 0000000..48f5650
--- /dev/null
+++ b/wolfram_link/convexminorant.tm
@@ -0,0 +1,33 @@
+
+#include <convex.h>
+#include <wstp.h>
+
+extern int WSMain(int, char **);
+
+void convexminorant(double *, int);
+
+:Begin:
+:Function: convexminorant
+:Pattern: GetConvexMinorant[ list:{___Real} ]
+:Arguments: { list }
+:ArgumentTypes: { Real64List }
+:ReturnType: Manual
+:End:
+
+:Evaluate: GetConvexMinorant[ sequence___Float]:= GetConvexMinorant[ {sequence} ]
+
+void convexminorant(double * Gammas, int len) {
+ int i;
+ for (i = 0; i < len; i++) {
+ if (Gammas[i] <= 0) {
+ break;
+ }
+ }
+ double *m = get_convex_minorant(i, Gammas);
+ WSPutReal64List(stdlink, m, i);
+}
+
+int main(int argc, char **argv) {
+ return WSMain(argc, argv);
+}
+