summaryrefslogtreecommitdiffstats
path: root/testsuite/tests/lib-bigarray-2/bigarrfstub.c
diff options
context:
space:
mode:
authorXavier Clerc <xavier.clerc@inria.fr>2010-01-25 14:02:48 +0000
committerXavier Clerc <xavier.clerc@inria.fr>2010-01-25 14:02:48 +0000
commiteb4d79aa50fa3ab201dbe45451e9682cba6c52a2 (patch)
treebb03e4a398754e7b66bad8c52d39264a7d2dac50 /testsuite/tests/lib-bigarray-2/bigarrfstub.c
parent216de21fe494de664f1f5cd62d61b88a24dc88ed (diff)
Tests moved to 'lib-bigarray-2'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9569 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'testsuite/tests/lib-bigarray-2/bigarrfstub.c')
-rw-r--r--testsuite/tests/lib-bigarray-2/bigarrfstub.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/testsuite/tests/lib-bigarray-2/bigarrfstub.c b/testsuite/tests/lib-bigarray-2/bigarrfstub.c
new file mode 100644
index 000000000..87bd67b7b
--- /dev/null
+++ b/testsuite/tests/lib-bigarray-2/bigarrfstub.c
@@ -0,0 +1,60 @@
+#include <stdio.h>
+#include <mlvalues.h>
+#include <bigarray.h>
+
+extern void filltab_(void);
+extern void printtab_(float * data, int * dimx, int * dimy);
+extern float ftab_[];
+
+#define DIMX 6
+#define DIMY 8
+
+double ctab[DIMX][DIMY];
+
+void filltab(void)
+{
+ int x, y;
+ for (x = 0; x < DIMX; x++)
+ for (y = 0; y < DIMY; y++)
+ ctab[x][y] = x * 100 + y;
+}
+
+void printtab(double tab[DIMX][DIMY])
+{
+ int x, y;
+ for (x = 0; x < DIMX; x++) {
+ printf("%3d", x);
+ for (y = 0; y < DIMY; y++)
+ printf(" %6.1f", tab[x][y]);
+ printf("\n");
+ }
+}
+
+value c_filltab(value unit)
+{
+ filltab();
+ return alloc_bigarray_dims(BIGARRAY_FLOAT64 | BIGARRAY_C_LAYOUT,
+ 2, ctab, DIMX, DIMY);
+}
+
+value c_printtab(value ba)
+{
+ printtab(Data_bigarray_val(ba));
+ return Val_unit;
+}
+
+value fortran_filltab(value unit)
+{
+ filltab_();
+ return alloc_bigarray_dims(BIGARRAY_FLOAT32 | BIGARRAY_FORTRAN_LAYOUT,
+ 2, ftab_, 8, 6);
+}
+
+value fortran_printtab(value ba)
+{
+ int dimx = Bigarray_val(ba)->dim[0];
+ int dimy = Bigarray_val(ba)->dim[1];
+ printtab_(Data_bigarray_val(ba), &dimx, &dimy);
+ return Val_unit;
+}
+