summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--demo.sce7
-rw-r--r--macros/scilab_error.binbin1951 -> 1951 bytes
-rw-r--r--macros/scilab_sum.binbin913 -> 913 bytes
-rwxr-xr-xsci_gateway/cpp/libscilab_toolbox.sobin17024 -> 17024 bytes
-rw-r--r--sci_gateway/cpp/sci_matrix.cpp16
-rw-r--r--thirdparty/linux/include/fun.h2
-rwxr-xr-xthirdparty/linux/lib/x64/libfun.sobin2755296 -> 2755312 bytes
7 files changed, 19 insertions, 6 deletions
diff --git a/demo.sce b/demo.sce
index 0b0217d..a5f901e 100644
--- a/demo.sce
+++ b/demo.sce
@@ -1,4 +1,11 @@
clc
+disp("Checking Matrix inversion")
+A=[1 2 3;4 5 6;7 8 0]
+y = octave_fun("inv",A)
+y*A
+pause
+
+
disp("Testing octaves built in function hamming")
y = octave_fun("hamming",5)
pause
diff --git a/macros/scilab_error.bin b/macros/scilab_error.bin
index ad8631c..41c22ca 100644
--- a/macros/scilab_error.bin
+++ b/macros/scilab_error.bin
Binary files differ
diff --git a/macros/scilab_sum.bin b/macros/scilab_sum.bin
index f4f1124..925a0fc 100644
--- a/macros/scilab_sum.bin
+++ b/macros/scilab_sum.bin
Binary files differ
diff --git a/sci_gateway/cpp/libscilab_toolbox.so b/sci_gateway/cpp/libscilab_toolbox.so
index 5d957ed..3aec94f 100755
--- a/sci_gateway/cpp/libscilab_toolbox.so
+++ b/sci_gateway/cpp/libscilab_toolbox.so
Binary files differ
diff --git a/sci_gateway/cpp/sci_matrix.cpp b/sci_gateway/cpp/sci_matrix.cpp
index 7153903..0e2bc2c 100644
--- a/sci_gateway/cpp/sci_matrix.cpp
+++ b/sci_gateway/cpp/sci_matrix.cpp
@@ -18,7 +18,6 @@ extern "C"
static const char fname[] = "octave_fun";
-///////#####call octave_fun("hamming",[5],"periodic") ########////////////
int sci_octave_fun(scilabEnv env, int nin, scilabVar* in, int nopt, scilabOpt* opt, int nout, scilabVar* out)
{
@@ -59,11 +58,18 @@ int sci_octave_fun(scilabEnv env, int nin, scilabVar* in, int nopt, scilabOpt* o
ins[i].in_data = malloc(sizeof(double)*size);
d = (double *)ins[i].in_data;
- for(j=0;j<size;j++)
+////This code snippet is to flatten matrix row wise and then store it
+ int p,q,k = 0;
+ for(p=0;p<row;p++)
{
- d[j] = n[j];
- //printf("%f\n",d[j]);
+ for(q=0;q<col;q++)
+ {
+ d[k] = n[p + q*row];
+ k++;
+ //printf("%f\n",d[j]);
+ }
}
+/////////////////////////////////////////
}
else if(scilab_getType(env, in[i])==10)
{
@@ -126,7 +132,7 @@ int sci_octave_fun(scilabEnv env, int nin, scilabVar* in, int nopt, scilabOpt* o
}
else
{
- Scierror(77, _("%s: Wrong number of output argument(s): This function can return a maximum of %d output(s).\n"), fname, funcall.n_out_arguments);
+ Scierror(77, _("%s: Wrong number of output arguments: This function can return a maximum of %d output(s).\n"), fname, funcall.n_out_arguments);
return 1;
}
diff --git a/thirdparty/linux/include/fun.h b/thirdparty/linux/include/fun.h
index 45f5a7d..abc5e17 100644
--- a/thirdparty/linux/include/fun.h
+++ b/thirdparty/linux/include/fun.h
@@ -25,7 +25,7 @@ extern "C"
int n_in_arguments; // number of input arguments
int n_out_arguments; // number of output arguments
int n_out_user; // number of output arguments
- //char *name; // Name
+ char *err; // Name
//char *package; //Name of octave package to be loaded
FUNCARGS *argument;
} FUNCCALL;
diff --git a/thirdparty/linux/lib/x64/libfun.so b/thirdparty/linux/lib/x64/libfun.so
index aa4502e..4b3bf0d 100755
--- a/thirdparty/linux/lib/x64/libfun.so
+++ b/thirdparty/linux/lib/x64/libfun.so
Binary files differ