From a938a95dd5b903f2e1f242e70b9db368ff422f41 Mon Sep 17 00:00:00 2001 From: detailer Date: Tue, 11 May 2021 11:32:12 +0530 Subject: fixed str_count --- thirdparty/linux/include/fun.h | 41 +++++++++++++++++++++++++------------ thirdparty/linux/lib/x64/libfun.so | Bin 2855912 -> 2973816 bytes 2 files changed, 28 insertions(+), 13 deletions(-) (limited to 'thirdparty') diff --git a/thirdparty/linux/include/fun.h b/thirdparty/linux/include/fun.h index e5e1fff..7336957 100644 --- a/thirdparty/linux/include/fun.h +++ b/thirdparty/linux/include/fun.h @@ -15,35 +15,50 @@ extern "C" { - typedef enum - { + typedef enum { TYPE_DOUBLE, + TYPE_COMPLEX, TYPE_STRING, + TYPE_STRUCT, }FUNCTYPE; - typedef struct - { + typedef struct { + FUNCTYPE type; // type of value in struct's field + void* key; // key of struct field + int rows; // rows dimension of struct field's value + int cols; // cols dimension of struct fields' value + void* dataReal; // Real data if struct field's value is real + void* dataImg; // Img data if struct field's value is complex + void* str; // string data if struct field's value is string + } FUNCSTRUCT; + + typedef struct { FUNCTYPE type; int n_in_rows; int n_in_cols; + int n_in_struct_len; // ip struct length int n_out_rows; int n_out_cols; + int n_out_struct_len; // op struct length int is_in_cmplx; int is_out_cmplx; + int is_out_struct; void* in_data_real; void* in_data_img; void* out_data_real; void* out_data_img; - }FUNCARGS; - + FUNCSTRUCT* in_struct; + FUNCSTRUCT* out_struct; + } FUNCARGS; + typedef struct { - 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 *err; // Name - //char *package; //Name of octave package to be loaded - FUNCARGS *argument; -} FUNCCALL; + 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 *err; // Name + //char *package; //Name of octave package to be loaded + FUNCARGS *argument; + } FUNCCALL; int fun(FUNCARGS *arr, FUNCCALL *call); } diff --git a/thirdparty/linux/lib/x64/libfun.so b/thirdparty/linux/lib/x64/libfun.so index 6c97c22..6dd4f31 100755 Binary files a/thirdparty/linux/lib/x64/libfun.so and b/thirdparty/linux/lib/x64/libfun.so differ -- cgit From 587b557257d7c5324d5c6378d84acb354e67c846 Mon Sep 17 00:00:00 2001 From: detailer Date: Tue, 11 May 2021 20:53:32 +0530 Subject: added single string output support --- thirdparty/linux/include/fun.h | 1 + thirdparty/linux/lib/x64/libfun.so | Bin 2973816 -> 2978856 bytes 2 files changed, 1 insertion(+) (limited to 'thirdparty') diff --git a/thirdparty/linux/include/fun.h b/thirdparty/linux/include/fun.h index 7336957..f79fbf4 100644 --- a/thirdparty/linux/include/fun.h +++ b/thirdparty/linux/include/fun.h @@ -42,6 +42,7 @@ extern "C" int n_out_struct_len; // op struct length int is_in_cmplx; int is_out_cmplx; + int is_out_string; int is_out_struct; void* in_data_real; void* in_data_img; diff --git a/thirdparty/linux/lib/x64/libfun.so b/thirdparty/linux/lib/x64/libfun.so index 6dd4f31..581c20b 100755 Binary files a/thirdparty/linux/lib/x64/libfun.so and b/thirdparty/linux/lib/x64/libfun.so differ -- cgit From d9b060337d3bfca571fabf3af80a4188d9d8ab37 Mon Sep 17 00:00:00 2001 From: detailer Date: Thu, 27 May 2021 07:36:19 +0530 Subject: error handling for unsupported o/p data in struct --- thirdparty/linux/lib/x64/libfun.so | Bin 2978856 -> 2976136 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'thirdparty') diff --git a/thirdparty/linux/lib/x64/libfun.so b/thirdparty/linux/lib/x64/libfun.so index 581c20b..eb0a7e0 100755 Binary files a/thirdparty/linux/lib/x64/libfun.so and b/thirdparty/linux/lib/x64/libfun.so differ -- cgit