diff options
Diffstat (limited to 'modules/polynomials/sci_gateway')
127 files changed, 7017 insertions, 0 deletions
diff --git a/modules/polynomials/sci_gateway/c/.deps/.dirstamp b/modules/polynomials/sci_gateway/c/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/.dirstamp diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-gw_polynomials.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-gw_polynomials.Plo new file mode 100755 index 000000000..05c4ad406 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-gw_polynomials.Plo @@ -0,0 +1,274 @@ +sci_gateway/c/libscipolynomials_la-gw_polynomials.lo: \ + sci_gateway/c/gw_polynomials.c /usr/include/stdc-predef.h \ + includes/gw_polynomials.h includes/dynlib_polynomials.h \ + ../../modules/core/includes/callFunctionFromGateway.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h /usr/include/string.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/core_math.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/stack-def.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/stackTypeVariable.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/core/includes/stack1.h \ + ../../modules/core/includes/scisparse.h \ + ../../modules/core/includes/stack2.h \ + ../../modules/core/includes/stack3.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/api_scilab/includes/api_common.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/api_scilab/includes/api_double.h \ + ../../modules/core/includes/doublecomplex.h \ + ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \ + /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + ../../modules/api_scilab/includes/api_int.h \ + ../../modules/api_scilab/includes/api_poly.h \ + ../../modules/api_scilab/includes/api_sparse.h \ + ../../modules/api_scilab/includes/api_boolean.h \ + ../../modules/api_scilab/includes/api_boolean_sparse.h \ + ../../modules/api_scilab/includes/api_pointer.h \ + ../../modules/api_scilab/includes/api_list.h \ + ../../modules/api_scilab/includes/api_error.h \ + ../../modules/api_scilab/includes/api_handle.h \ + ../../modules/api_scilab/includes/api_optional.h \ + ../../modules/core/includes/stack-optional.h \ + ../../modules/api_scilab/includes/api_hypermat.h \ + ../../modules/core/includes/core_math.h \ + ../../modules/core/includes/sci_types.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h + +/usr/include/stdc-predef.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/callFunctionFromGateway.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/core_math.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/stack-def.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/stackTypeVariable.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/core/includes/stack1.h: + +../../modules/core/includes/scisparse.h: + +../../modules/core/includes/stack2.h: + +../../modules/core/includes/stack3.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/core/includes/sci_types.h: + +../../modules/api_scilab/includes/api_common.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/api_scilab/includes/api_double.h: + +../../modules/core/includes/doublecomplex.h: + +../../modules/api_scilab/includes/api_string.h: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +../../modules/api_scilab/includes/api_int.h: + +../../modules/api_scilab/includes/api_poly.h: + +../../modules/api_scilab/includes/api_sparse.h: + +../../modules/api_scilab/includes/api_boolean.h: + +../../modules/api_scilab/includes/api_boolean_sparse.h: + +../../modules/api_scilab/includes/api_pointer.h: + +../../modules/api_scilab/includes/api_list.h: + +../../modules/api_scilab/includes/api_error.h: + +../../modules/api_scilab/includes/api_handle.h: + +../../modules/api_scilab/includes/api_optional.h: + +../../modules/core/includes/stack-optional.h: + +../../modules/api_scilab/includes/api_hypermat.h: + +../../modules/core/includes/core_math.h: + +../../modules/core/includes/sci_types.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_bezout.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_bezout.Plo new file mode 100755 index 000000000..fdd7d9c8d --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_bezout.Plo @@ -0,0 +1,62 @@ +sci_gateway/c/libscipolynomials_la-sci_bezout.lo: \ + sci_gateway/c/sci_bezout.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/machine.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/machine.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_cleanp.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_cleanp.Plo new file mode 100755 index 000000000..5908e0450 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_cleanp.Plo @@ -0,0 +1,61 @@ +sci_gateway/c/libscipolynomials_la-sci_cleanp.lo: \ + sci_gateway/c/sci_cleanp.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h ../../modules/core/includes/machine.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/machine.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_coeff.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_coeff.Plo new file mode 100755 index 000000000..099ae9101 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_coeff.Plo @@ -0,0 +1,61 @@ +sci_gateway/c/libscipolynomials_la-sci_coeff.lo: \ + sci_gateway/c/sci_coeff.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h ../../modules/core/includes/machine.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/machine.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_degree.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_degree.Plo new file mode 100755 index 000000000..e69dca0d7 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_degree.Plo @@ -0,0 +1,61 @@ +sci_gateway/c/libscipolynomials_la-sci_degree.lo: \ + sci_gateway/c/sci_degree.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h ../../modules/core/includes/machine.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/machine.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_diag.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_diag.Plo new file mode 100755 index 000000000..f419ba091 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_diag.Plo @@ -0,0 +1,60 @@ +sci_gateway/c/libscipolynomials_la-sci_diag.lo: sci_gateway/c/sci_diag.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h ../../modules/core/includes/machine.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/machine.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_div.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_div.Plo new file mode 100755 index 000000000..4cfc6aafd --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_div.Plo @@ -0,0 +1,61 @@ +sci_gateway/c/libscipolynomials_la-sci_div.lo: sci_gateway/c/sci_div.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/machine.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/machine.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_poly.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_poly.Plo new file mode 100755 index 000000000..85dd8b60b --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_poly.Plo @@ -0,0 +1,60 @@ +sci_gateway/c/libscipolynomials_la-sci_poly.lo: sci_gateway/c/sci_poly.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h ../../modules/core/includes/machine.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/machine.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_prod.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_prod.Plo new file mode 100755 index 000000000..4fa01ef31 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_prod.Plo @@ -0,0 +1,60 @@ +sci_gateway/c/libscipolynomials_la-sci_prod.lo: sci_gateway/c/sci_prod.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h ../../modules/core/includes/machine.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/machine.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_roots.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_roots.Plo new file mode 100755 index 000000000..9f8ad699f --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_roots.Plo @@ -0,0 +1,62 @@ +sci_gateway/c/libscipolynomials_la-sci_roots.lo: \ + sci_gateway/c/sci_roots.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/machine.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/machine.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sfact.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sfact.Plo new file mode 100755 index 000000000..d142dfe91 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sfact.Plo @@ -0,0 +1,62 @@ +sci_gateway/c/libscipolynomials_la-sci_sfact.lo: \ + sci_gateway/c/sci_sfact.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/machine.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/machine.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp.Plo new file mode 100755 index 000000000..c2ed02293 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp.Plo @@ -0,0 +1,61 @@ +sci_gateway/c/libscipolynomials_la-sci_simp.lo: sci_gateway/c/sci_simp.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/machine.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/machine.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp_mode.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp_mode.Plo new file mode 100755 index 000000000..141d6c695 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_simp_mode.Plo @@ -0,0 +1,62 @@ +sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo: \ + sci_gateway/c/sci_simp_mode.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/machine.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/machine.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sum.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sum.Plo new file mode 100755 index 000000000..66339332e --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_sum.Plo @@ -0,0 +1,61 @@ +sci_gateway/c/libscipolynomials_la-sci_sum.lo: sci_gateway/c/sci_sum.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/machine.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/machine.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_tril.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_tril.Plo new file mode 100755 index 000000000..b25f510d2 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_tril.Plo @@ -0,0 +1,60 @@ +sci_gateway/c/libscipolynomials_la-sci_tril.lo: sci_gateway/c/sci_tril.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h ../../modules/core/includes/machine.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/machine.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_triu.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_triu.Plo new file mode 100755 index 000000000..9047a2bfa --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_triu.Plo @@ -0,0 +1,60 @@ +sci_gateway/c/libscipolynomials_la-sci_triu.lo: sci_gateway/c/sci_triu.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h ../../modules/core/includes/machine.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: + +../../modules/core/includes/machine.h: diff --git a/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_varn.Plo b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_varn.Plo new file mode 100755 index 000000000..a3eecd299 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.deps/libscipolynomials_la-sci_varn.Plo @@ -0,0 +1,61 @@ +sci_gateway/c/libscipolynomials_la-sci_varn.lo: sci_gateway/c/sci_varn.c \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/machine.h includes/gw_polynomials.h \ + includes/dynlib_polynomials.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/machine.h: + +includes/gw_polynomials.h: + +includes/dynlib_polynomials.h: diff --git a/modules/polynomials/sci_gateway/c/.dirstamp b/modules/polynomials/sci_gateway/c/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.dirstamp diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-gw_polynomials.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-gw_polynomials.o Binary files differnew file mode 100755 index 000000000..a6bbb051e --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-gw_polynomials.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_bezout.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_bezout.o Binary files differnew file mode 100755 index 000000000..df9859a0e --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_bezout.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_cleanp.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_cleanp.o Binary files differnew file mode 100755 index 000000000..636bb4f89 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_cleanp.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_coeff.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_coeff.o Binary files differnew file mode 100755 index 000000000..9e91becb6 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_coeff.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_degree.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_degree.o Binary files differnew file mode 100755 index 000000000..d904d2122 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_degree.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_diag.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_diag.o Binary files differnew file mode 100755 index 000000000..77d1920b3 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_diag.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_div.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_div.o Binary files differnew file mode 100755 index 000000000..64d121b08 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_div.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_poly.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_poly.o Binary files differnew file mode 100755 index 000000000..db4442c66 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_poly.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_prod.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_prod.o Binary files differnew file mode 100755 index 000000000..c632d150e --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_prod.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_roots.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_roots.o Binary files differnew file mode 100755 index 000000000..6c7b142bc --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_roots.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sfact.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sfact.o Binary files differnew file mode 100755 index 000000000..15085ffa0 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sfact.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp.o Binary files differnew file mode 100755 index 000000000..08300b3e6 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp_mode.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp_mode.o Binary files differnew file mode 100755 index 000000000..432e10607 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_simp_mode.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sum.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sum.o Binary files differnew file mode 100755 index 000000000..3de28d3d8 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_sum.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_tril.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_tril.o Binary files differnew file mode 100755 index 000000000..24efec6f9 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_tril.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_triu.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_triu.o Binary files differnew file mode 100755 index 000000000..84bee6b41 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_triu.o diff --git a/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_varn.o b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_varn.o Binary files differnew file mode 100755 index 000000000..55bd5b678 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/.libs/libscipolynomials_la-sci_varn.o diff --git a/modules/polynomials/sci_gateway/c/gw_polynomials.c b/modules/polynomials/sci_gateway/c/gw_polynomials.c new file mode 100755 index 000000000..f9114f4e0 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/gw_polynomials.c @@ -0,0 +1,59 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ + +#include "gw_polynomials.h" +#include "callFunctionFromGateway.h" +#include "api_scilab.h" +#include "MALLOC.h" +/*--------------------------------------------------------------------------*/ +static int sci_notused(char *fname, unsigned long fname_len) +{ + /* not used */ + return 0; +} +/*--------------------------------------------------------------------------*/ +static gw_generic_table Tab[] = +{ + {sci_poly_primitive, "poly"}, + {sci_roots, "roots"}, + {sci_degree, "degree"}, + {sci_coeff, "coeff"}, + {sci_notused, ""}, /* not used but required primitives order (short cut fin,fun) */ + {sci_pppdiv, "pppdiv"}, + {sci_simp, "simp"}, + {sci_psum, "sum"}, + {sci_pprod, "prod"}, + {sci_pdiag, "diag"}, + {sci_ptriu, "triu"}, + {sci_ptril, "tril"}, + {sci_bezout, "bezout"}, + {sci_sfact, "sfact"}, + {sci_simp_mode, "simp_mode"}, + {sci_varn, "varn"}, + {sci_cleanp, "cleanp"} +}; +/*--------------------------------------------------------------------------*/ +int gw_polynomials(void) +{ + callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab)); + + if (pvApiCtx == NULL) + { + pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx)); + } + + pvApiCtx->pstName = (char*)Tab[Fin - 1].name; + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-gw_polynomials.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-gw_polynomials.lo new file mode 100755 index 000000000..8e519f64f --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-gw_polynomials.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-gw_polynomials.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-gw_polynomials.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_bezout.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_bezout.lo new file mode 100755 index 000000000..557d0625d --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_bezout.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_bezout.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_bezout.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_cleanp.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_cleanp.lo new file mode 100755 index 000000000..0349fca1b --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_cleanp.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_cleanp.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_cleanp.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_coeff.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_coeff.lo new file mode 100755 index 000000000..9f52ef861 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_coeff.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_coeff.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_coeff.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_degree.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_degree.lo new file mode 100755 index 000000000..40c6c1695 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_degree.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_degree.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_degree.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_diag.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_diag.lo new file mode 100755 index 000000000..6c0f035ba --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_diag.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_diag.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_diag.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_div.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_div.lo new file mode 100755 index 000000000..da0340274 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_div.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_div.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_div.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_poly.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_poly.lo new file mode 100755 index 000000000..be259b290 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_poly.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_poly.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_poly.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_prod.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_prod.lo new file mode 100755 index 000000000..9232c8fe4 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_prod.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_prod.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_prod.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_roots.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_roots.lo new file mode 100755 index 000000000..a10d0db18 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_roots.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_roots.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_roots.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sfact.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sfact.lo new file mode 100755 index 000000000..9023fe73a --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sfact.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_sfact.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_sfact.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp.lo new file mode 100755 index 000000000..850b7a11e --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_simp.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_simp.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo new file mode 100755 index 000000000..69cb17fa6 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_simp_mode.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_simp_mode.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sum.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sum.lo new file mode 100755 index 000000000..4f413b210 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_sum.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_sum.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_sum.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_tril.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_tril.lo new file mode 100755 index 000000000..476224aa3 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_tril.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_tril.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_tril.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_triu.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_triu.lo new file mode 100755 index 000000000..6b0f3bf7d --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_triu.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_triu.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_triu.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_varn.lo b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_varn.lo new file mode 100755 index 000000000..2f8774dba --- /dev/null +++ b/modules/polynomials/sci_gateway/c/libscipolynomials_la-sci_varn.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscipolynomials_la-sci_varn.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscipolynomials_la-sci_varn.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/c/sci_bezout.c b/modules/polynomials/sci_gateway/c/sci_bezout.c new file mode 100755 index 000000000..56f95b9eb --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_bezout.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "machine.h" +#include "gw_polynomials.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intbez)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_bezout(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intbez)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_cleanp.c b/modules/polynomials/sci_gateway/c/sci_cleanp.c new file mode 100755 index 000000000..a3a3c2415 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_cleanp.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "gw_polynomials.h" +#include "machine.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intpclean)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_cleanp(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intpclean)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_coeff.c b/modules/polynomials/sci_gateway/c/sci_coeff.c new file mode 100755 index 000000000..58eb7fdf8 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_coeff.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "gw_polynomials.h" +#include "machine.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intcoeff)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_coeff(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intcoeff)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_degree.c b/modules/polynomials/sci_gateway/c/sci_degree.c new file mode 100755 index 000000000..0e856d23b --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_degree.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "gw_polynomials.h" +#include "machine.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intdegree)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_degree(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intdegree)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_diag.c b/modules/polynomials/sci_gateway/c/sci_diag.c new file mode 100755 index 000000000..f63433850 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_diag.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "gw_polynomials.h" +#include "machine.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intpdiag)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_pdiag(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intpdiag)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_div.c b/modules/polynomials/sci_gateway/c/sci_div.c new file mode 100755 index 000000000..1f2809fc3 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_div.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "machine.h" +#include "gw_polynomials.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intpdiv)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_pppdiv(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intpdiv)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_poly.c b/modules/polynomials/sci_gateway/c/sci_poly.c new file mode 100755 index 000000000..63fb3f8ce --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_poly.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "gw_polynomials.h" +#include "machine.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intpoly)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_poly_primitive(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intpoly)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_prod.c b/modules/polynomials/sci_gateway/c/sci_prod.c new file mode 100755 index 000000000..779ba48cb --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_prod.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "gw_polynomials.h" +#include "machine.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intpprod)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_pprod(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intpprod)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_roots.c b/modules/polynomials/sci_gateway/c/sci_roots.c new file mode 100755 index 000000000..8b4bfa820 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_roots.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "machine.h" +#include "gw_polynomials.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(introots)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_roots(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(introots)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_sfact.c b/modules/polynomials/sci_gateway/c/sci_sfact.c new file mode 100755 index 000000000..627474c38 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_sfact.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "machine.h" +#include "gw_polynomials.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intsfact)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_sfact(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intsfact)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_simp.c b/modules/polynomials/sci_gateway/c/sci_simp.c new file mode 100755 index 000000000..829724bc3 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_simp.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "machine.h" +#include "gw_polynomials.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intsimp)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_simp(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intsimp)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_simp_mode.c b/modules/polynomials/sci_gateway/c/sci_simp_mode.c new file mode 100755 index 000000000..ecaee9e68 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_simp_mode.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "machine.h" +#include "gw_polynomials.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intsimpmd)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_simp_mode(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intsimpmd)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_sum.c b/modules/polynomials/sci_gateway/c/sci_sum.c new file mode 100755 index 000000000..86df6fa4e --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_sum.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "machine.h" +#include "gw_polynomials.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intpsum)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_psum(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intpsum)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_tril.c b/modules/polynomials/sci_gateway/c/sci_tril.c new file mode 100755 index 000000000..acf28e7f1 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_tril.c @@ -0,0 +1,27 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "gw_polynomials.h" +#include "machine.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intptriu)(int *job, int *id); +/*--------------------------------------------------------------------------*/ +int sci_ptril(char *fname, unsigned long fname_len) +{ + static int id[6]; + int job = 0; + C2F(intptriu)(&job, id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_triu.c b/modules/polynomials/sci_gateway/c/sci_triu.c new file mode 100755 index 000000000..4fbe99611 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_triu.c @@ -0,0 +1,27 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "gw_polynomials.h" +#include "machine.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intptriu)(int *job, int *id); +/*--------------------------------------------------------------------------*/ +int sci_ptriu(char *fname, unsigned long fname_len) +{ + static int id[6]; + int job = 1; + C2F(intptriu)(&job, id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/c/sci_varn.c b/modules/polynomials/sci_gateway/c/sci_varn.c new file mode 100755 index 000000000..82d9908e8 --- /dev/null +++ b/modules/polynomials/sci_gateway/c/sci_varn.c @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*--------------------------------------------------------------------------*/ +#include <string.h> +#include "machine.h" +#include "gw_polynomials.h" +/*--------------------------------------------------------------------------*/ +extern int C2F(intvarn)(int *id); +/*--------------------------------------------------------------------------*/ +int sci_varn(char *fname, unsigned long fname_len) +{ + static int id[6]; + C2F(intvarn)(id); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/polynomials/sci_gateway/fortran/.deps/.dirstamp b/modules/polynomials/sci_gateway/fortran/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.deps/.dirstamp diff --git a/modules/polynomials/sci_gateway/fortran/.dirstamp b/modules/polynomials/sci_gateway/fortran/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.dirstamp diff --git a/modules/polynomials/sci_gateway/fortran/.libs/polops.o b/modules/polynomials/sci_gateway/fortran/.libs/polops.o Binary files differnew file mode 100755 index 000000000..20b83c840 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/polops.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_bezout.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_bezout.o Binary files differnew file mode 100755 index 000000000..b76a9ea3b --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_bezout.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_coeff.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_coeff.o Binary files differnew file mode 100755 index 000000000..9309cb75c --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_coeff.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_degree.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_degree.o Binary files differnew file mode 100755 index 000000000..090e85bb1 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_degree.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_diag.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_diag.o Binary files differnew file mode 100755 index 000000000..cf935c4ba --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_diag.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_div.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_div.o Binary files differnew file mode 100755 index 000000000..b27de7b61 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_div.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_pclean.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_pclean.o Binary files differnew file mode 100755 index 000000000..a14bba60e --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_pclean.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_poly.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_poly.o Binary files differnew file mode 100755 index 000000000..07b2e6fc3 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_poly.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_prod.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_prod.o Binary files differnew file mode 100755 index 000000000..b576885f3 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_prod.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_psimp.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_psimp.o Binary files differnew file mode 100755 index 000000000..ac0039da2 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_psimp.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_roots.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_roots.o Binary files differnew file mode 100755 index 000000000..12ad51e1f --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_roots.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_rsimp.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_rsimp.o Binary files differnew file mode 100755 index 000000000..66c01579c --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_rsimp.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sfact.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sfact.o Binary files differnew file mode 100755 index 000000000..e46e3fdf6 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sfact.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simp.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simp.o Binary files differnew file mode 100755 index 000000000..5bf790c1f --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simp.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simpmd.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simpmd.o Binary files differnew file mode 100755 index 000000000..f5c936f89 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_simpmd.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sum.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sum.o Binary files differnew file mode 100755 index 000000000..facb58ca4 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_sum.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_triu_tril.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_triu_tril.o Binary files differnew file mode 100755 index 000000000..a0ea3a888 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_triu_tril.o diff --git a/modules/polynomials/sci_gateway/fortran/.libs/sci_f_varn.o b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_varn.o Binary files differnew file mode 100755 index 000000000..2aab1bc59 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/.libs/sci_f_varn.o diff --git a/modules/polynomials/sci_gateway/fortran/polops.f b/modules/polynomials/sci_gateway/fortran/polops.f new file mode 100755 index 000000000..bac9cd8f5 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/polops.f @@ -0,0 +1,2213 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, +c which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine polops +c ================================================================= +c === +c +c operations on polynomial matrices +c +c ================================================================= +c === +c + include 'stack.h' +c + + integer plus,minus,star,dstar,slash,bslash,dot,colon + integer quote,equal,less,great,insert,extrac +c + double precision sr,si,e1,e2,st + integer vol,var1(4),var2(4),var3(4),var4(4),volr,rhs1,top0,op + integer topin + logical chkvar + integer sadr,iadr + integer colonid(nsiz) +c + data plus/45/,minus/46/,star/47/,dstar/62/,slash/48/ + data bslash/49/,dot/51/,colon/44/,quote/53/ + data equal/50/,less/59/,great/60/,insert/2/,extrac/3/ + data colonid/673720364,673720360,673720360,673720360, + $ 673720360,673720360/ +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + op=fin +c + fun=0 + lw=lstk(top+1) + topin=top + + if(op.eq.dstar) goto 80 + if(op.eq.dstar+dot) goto 70 + + if(op.eq.colon) goto 200 + if(op.eq.extrac) goto 130 + if(op.eq.insert) goto 120 +c + + top0=top+1-rhs + rhs1=rhs + +c + var2(1)=0 + it2=0 + if(rhs.eq.1) goto 05 + il2=iadr(lstk(top)) + if(istk(il2).lt.0) il2=iadr(istk(il2+1)) + if(istk(il2).gt.2) goto 03 + m2=istk(il2+1) + n2=istk(il2+2) + it2=istk(il2+3) + mn2=m2*n2 + if(istk(il2).ne.1) then + id2=il2+8 + call icopy(4,istk(il2+4),1,var2,1) + l2r=sadr(id2+mn2+1) + vol=istk(id2+mn2)-1 + l2i=l2r+vol + l3r=lw + goto 03 + else + l2r=sadr(il2+4) + l2i=l2r+mn2 + id2=iadr(lw) + l3r=sadr(id2+mn2+1) + err=l3r-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call ivimp(1,mn2+1,1,istk(id2)) + l3r=l3r+1 + endif + 03 continue + + top = top-1 + 05 il1=iadr(lstk(top)) + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + if(istk(il1).gt.2) goto 10 + m1=istk(il1+1) + n1=istk(il1+2) + it1=istk(il1+3) + mn1 = m1*n1 + if(istk(il1).ne.1) then + id1=il1+8 + call icopy(4,istk(il1+4),1,var1,1) +c + if(var2(1).eq.0) call icopy(4,var1,1,var2,1) + if(op.ne.equal.and.op.ne.less+great) then + if(.not.chkvar(var1,var2)) then + fin=-fin + top=top+1 + return + endif + endif +c + l1r=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + l1i=l1r+vol + else + l1r=sadr(il1+4) + l1i=l1r+mn1 + call icopy(4,var2,1,var1,1) + id1=iadr(l3r) + l3r=sadr(id1+mn1+1) + err=l3r-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call ivimp(1,mn1+1,1,istk(id1)) + l3r=l3r+1 + lw=l3r + endif +c + 10 it3=max(it1,it2) + +c + goto (60,120,130,65) op + if (op .eq. quote.or.op .eq. quote+dot) goto 110 + if (rhs .eq. 1 .and. op .eq. minus) goto 101 + if (op .eq. plus .or. op .eq. minus) go to 20 + if (op .eq. star.or. op.eq.star+dot) go to 40 + if(op.eq.slash.or.op.eq.slash+dot) goto 150 + if(op.eq.bslash.or.op.eq.bslash+dot) goto 155 + if(op.eq.equal.or.op.eq.less+great) goto 160 +c +c operations non implantees + top=top0-1+rhs + fin=-fin + return +c +c addition et soustraction +c + 20 continue + vol=istk(id2+mn2)-1 + if(op.eq.minus.and.vol.gt.0) call dscal(vol*(it2+1),-1.0d+0 + $ ,stk(l2r),1) + if(m1.eq.1.and.n1.eq.1.and.mn2.gt.1) then +c . p+P , p-P +c . p*ones(P) is generated + n=istk(id1+1)-istk(id1) + istk(il1+1)=m2 + istk(il1+2)=n2 + m1=m2 + n1=n2 + mn1=m1*n1 + l=l1r +c + id1=iadr(l3r) + l1r=sadr(id1+mn2+1) + vol=mn1*n + l1i=l1r+vol + l3r=l1i+vol*it1 + err=l3r-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + l1=l1r + istk(id1)=1 + do 21 i=1,mn1 + istk(id1+i)=istk(id1-1+i)+n + call unsfdcopy(n,stk(l),1,stk(l1),1) + if(it1.eq.1) call unsfdcopy(n,stk(l+n),1,stk(l1+vol),1) + l1=l1+n + 21 continue + elseif(m2.eq.1.and.n2.eq.1.and.mn1.gt.1) then +c . P+p, P-p +c . p*ones(P) is generated + n=istk(id2+1)-istk(id2) + m2=abs(m1) + n2=abs(n1) + mn2=m2*n2 + l=l2r +c + id2=iadr(l3r) + l2r=sadr(id2+mn1+1) + vol=mn2*n + l2i=l2r+vol + l3r=l2i+vol*it2 + err=l3r-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + l2=l2r + istk(id2)=1 + do 22 i=1,mn2 + istk(id2+i)=istk(id2-1+i)+n + call unsfdcopy(n,stk(l),1,stk(l2),1) + if(it2.eq.1) call unsfdcopy(n,stk(l+n),1,stk(l2+vol),1) + l2=l2+n + 22 continue + elseif(mn1.eq.0) then +c . []+P, []-P + call icopy(9+mn2,istk(il2),1,istk(il1),1) + l1=sadr(il1+9+mn2) + vol=(istk(id2+mn2)-1)*(it2+1) + call unsfdcopy(vol,stk(l2r),1,stk(l1),1) + lstk(top+1)=l1+vol + goto 999 + elseif(mn2.eq.0) then +c . P+[] , P-[] + goto 999 + elseif(m1.lt.0) then +c eye*p+A +c . p*eye(A) is generated + n=istk(id1+1)-istk(id1) + istk(il1+1)=m2 + istk(il1+2)=n2 + m1=abs(m2) + n1=abs(n2) + mn1=m1*n1 + l=l1r + + id1=iadr(l3r) + l1r=sadr(id1+mn2+1) + vol=min(n1,m1)*(n-1)+mn2 + l1i=l1r+vol + l3r=l1i+vol*it1 + err=l3r-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(vol*(it1+1),0.0d+0,stk(l1r),1) + l1=l1r + do 23 i=1,min(n1,m1) + call unsfdcopy(n,stk(l),1,stk(l1),1) + if(it1.eq.1) call unsfdcopy(n,stk(l+n),1,stk(l1+vol),1) + l1=l1+n+m1 + 23 continue + l1=id1 + istk(l1)=1 + do 25 j=1,n1 + do 24 i=1,m1 + l1=l1+1 + istk(l1)=istk(l1-1)+1 + if(i.eq.j) istk(l1)=istk(l1)+n-1 + 24 continue + 25 continue + elseif(m2.lt.0) then +c A+eye*p +c . p*eye(A) is generated + m2=abs(m1) + n2=abs(n1) + l=l2r + id=id2 + n=istk(id+1)-istk(id) + id2=iadr(l3r) + l2r=sadr(id2+mn1+1) + vol=m2*(n-1)+mn1 + l2i=l2r+vol + l3r=l2i+vol*it2 + err=l3r-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(vol*(it2+1),0.0d+0,stk(l2r),1) + l2=l2r + do 26 i=1,min(n2,m2) + call unsfdcopy(n,stk(l),1,stk(l2),1) + if(it2.eq.1) call unsfdcopy(n,stk(l+n),1,stk(l2+vol),1) + l2=l2+n+m2 + 26 continue + l2=id2 + istk(l2)=1 + do 28 j=1,n2 + do 27 i=1,m2 + l2=l2+1 + istk(l2)=istk(l2-1)+1 + if(i.eq.j) istk(l2)=istk(l2)+n-1 + 27 continue + 28 continue + elseif(m1.eq.m2.and.n1.eq.n2) then +c . P1+P2 P1-P2 + else + if (op.eq.plus) then + call error(8) + else + call error(9) + endif + return + endif + +c + id3=iadr(l3r) + l3r=sadr(id3+mn1+1) + vol=0 + do 31 k=1,mn1 + vol=vol+max(istk(id1+k)-istk(id1+k-1),istk(id2+k) + $ -istk(id2+k-1)) + 31 continue + l3i=l3r+vol + err=l3i+vol*it3-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + goto (32,33,34) it1+2*it2 + call dmpad(stk(l1r),istk(id1),m1,stk(l2r),istk(id2),m2,stk(l3r), + & istk(id3),m1,n1) + call dmpadj(stk(l3r),istk(id3),m1,n1) + goto 35 + 32 call wdmpad(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),istk(id2), + & m2,stk(l3r),stk(l3i),istk(id3),m1,n1) + call wmpadj(stk(l3r),stk(l3i),istk(id3),m1,n1) + goto 35 + 33 call wdmpad(stk(l2r),stk(l2i),istk(id2),m2,stk(l1r),istk(id1), + & m1,stk(l3r),stk(l3i),istk(id3),m1,n1) + call wmpadj(stk(l3r),stk(l3i),istk(id3),m1,n1) + goto 35 + 34 call wmpad(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),stk(l2i), + & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,n1) + call wmpadj(stk(l3r),stk(l3i),istk(id3),m1,n1) + 35 continue + istk(il1)=2 + istk(il1+1)=m1 + istk(il1+2)=n1 + istk(il1+3)=it3 + call icopy(4,var1,1,istk(il1+4),1) + vol=istk(id3+m1*n1)-1 + call icopy(mn1+1,istk(id3),1,istk(il1+8),1) + l1r=sadr(il1+9+mn1) + call unsfdcopy(vol,stk(l3r),1,stk(l1r),1) + if(it3.eq.1) call unsfdcopy(vol,stk(l3i),1,stk(l1r+vol),1) + lstk(top+1)=l1r+vol*(it3+1) + goto 999 +c +c multiplications +c + 40 if(mn1.eq.0.or.mn2.eq.0) then + istk(il1)=1 + istk(il1+1)=0 + istk(il1+2)=0 + istk(il1+3)=0 + lstk(top+1)=sadr(il1+4)+1 + goto 999 + endif + indef=0 + if(m1.lt.0) then + if(mn2.eq.1) then + indef=1 + else + call error(14) + return + endif + elseif(m2.lt.0) then + if(mn1.eq.1) then + indef=1 + else + call error(14) + return + endif + endif + m1=abs(m1) + n1=abs(n1) + m2=abs(m2) + n2=abs(n2) + if(mn1.gt.1.and.mn2.gt.1 .and. op.gt.dot) then +c . a.*b + if(m1.ne.m2.or.n1.ne.n2) then + call error(10) + return + endif + m3=m1 + n3=n1 + n1=0 + vol=istk(id1+mn1)+istk(id2+mn2)-mn2-2 + elseif(mn1.eq.1) then +c . cst*b or cst.*b + m1=0 + n1=m2 + m3=m2 + n3=n2 + vol=istk(id2+mn2)-1+mn2*(istk(id1+1)-2) + elseif(mn2.eq.1) then +c . a*cst or a.*cst + n2=0 + m3=m1 + n3=n1 + vol=istk(id1+mn1)-1+mn1*(istk(id2+1)-2) + else +c . a*b + if(n1.ne.m2) then + call error(10) + return + endif + m3=m1 + n3=n2 +c . estimate result size + vol=0 + do 46 i=1,m3 + j1=id2-m2 + do 45 j=1,n3 + j1=j1+m2 + k1=id1-m1 + mx=0 + do 44 k=1,n1 + k1=k1+m1 + ll1=istk(i+k1)-istk(i-1+k1) + ll2=istk(k+j1)-istk(k-1+j1) + mx=max(mx,ll1+ll2) + 44 continue + vol=vol+mx-1 + 45 continue + 46 continue + endif + +c + id3=iadr(l3r) + l3r=sadr(id3+m3*n3+1) + l3i=l3r+vol + err=l3i+it3*vol-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif +c + m=max(1,m1) + goto (51,52,53) it1+2*it2 + call dmpmu(stk(l1r),istk(id1),m,stk(l2r),istk(id2),m2, + & stk(l3r),istk(id3),m1,n1,n2) + call dmpadj(stk(l3r),istk(id3),m3,n3) + goto 55 + 51 call wdmpmu(stk(l1r),stk(l1i),istk(id1),m,stk(l2r),istk(id2), + & m2,stk(l3r),stk(l3i),istk(id3),m1,n1,n2) + call wmpadj(stk(l3r),stk(l3i),istk(id3),m3,n3) + goto 55 + 52 continue + call dwmpmu(stk(l1r),istk(id1),m,stk(l2r),stk(l2i),istk(id2), + & m2,stk(l3r),stk(l3i),istk(id3),m1,n1,n2) + call wmpadj(stk(l3r),stk(l3i),istk(id3),m3,n3) + goto 55 + 53 call wmpmu(stk(l1r),stk(l1i),istk(id1),m,stk(l2r),stk(l2i), + & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,n1,n2) + call wmpadj(stk(l3r),stk(l3i),istk(id3),m3,n3) + goto 55 +c + 55 if(istk(il1).eq.1) id1=il1+8 + l1r=sadr(id1+m3*n3+1) + call icopy(m3*n3+1,istk(id3),1,istk(id1),1) + vol=istk(id1+m3*n3)-1 + call unsfdcopy(vol,stk(l3r),1,stk(l1r),1) + if(it3.eq.1) call unsfdcopy(vol,stk(l3i),1,stk(l1r+vol),1) + lstk(top+1)=l1r+vol*(it3+1) + istk(il1)=2 + istk(il1+1)=m3 + istk(il1+2)=n3 + istk(il1+3)=it3 + call icopy(4,var1,1,istk(il1+4),1) + + if(indef.eq.0) goto 999 + istk(il1+1)=-1 + istk(il1+2)=-1 + goto 999 +c +c concatenation [a b] +c + 60 continue + if(m1.lt.0.or.m2.lt.0) then + call error(14) + return + endif + if(m2.eq.0) then + return + elseif(m1.eq.0)then + call unsfdcopy(lstk(top+2)-lstk(top+1),stk(lstk(top+1)),1, + & stk(lstk(top)),1) + lstk(top+1)=lstk(top)+lstk(top+2)-lstk(top+1) + return + elseif(m1.ne.m2) then + call error(5) + return + endif +c + id3=iadr(l3r) + l3r=sadr(id3+mn1+mn2+1) + vol=istk(id1+mn1)+istk(id2+mn2)-2 + l3i=l3r+vol + lw=l3i+vol*it3 + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + goto (61,62,63) it1+2*it2 + call dmpcnc(stk(l1r),istk(id1),m1,stk(l2r),istk(id2),m1, + & stk(l3r),istk(id3),m1,n1,n2,1) + goto 64 + 61 call wmpcnc(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),st, + & istk(id2),m1,stk(l3r),stk(l3i),istk(id3),m1,n1,n2,3) + goto 64 + 62 call wmpcnc(stk(l1r),st,istk(id1),m1,stk(l2r),stk(l2i), + & istk(id2),m1,stk(l3r),stk(l3i),istk(id3),m1,n1,n2,2) + goto 64 + 63 call wmpcnc(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),stk(l2i), + & istk(id2),m1,stk(l3r),stk(l3i),istk(id3),m1,n1,n2,1) + goto 64 +c + 64 istk(il1)=2 + istk(il1+1)=m1 + istk(il1+2)=n1+n2 + istk(il1+3)=it3 + call icopy(mn1+mn2+1,istk(id3),1,istk(il1+8),1) + l1r=sadr(il1+9+mn1+mn2) + call unsfdcopy(vol*(it3+1),stk(l3r),1,stk(l1r),1) + call icopy(4,var1,1,istk(il1+4),1) + lstk(top+1)=l1r+vol*(it3+1) + goto 999 +c +c concatenation [a;b] + 65 if(n1.lt.0.or.n2.lt.0) then + call error(14) + return + endif + if(n2.eq.0) then + goto 999 + elseif(n1.eq.0)then + call unsfdcopy(lstk(top+2)-lstk(top+1),stk(lstk(top+1)),1, + & stk(lstk(top)),1) + lstk(top+1)=lstk(top)+lstk(top+2)-lstk(top+1) + goto 999 + elseif(n1.ne.n2) then + call error(6) + return + endif + m=m1+m2 + mn=m*n1 +c + id3=iadr(l3r) + l3r=sadr(id3+mn+1) + vol=istk(id1+mn1)+istk(id2+mn2)-2 + l3i=l3r+vol + lw=l3i+vol*it3 + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + goto (66,67,68) it1+2*it2 + call dmpcnc(stk(l1r),istk(id1),m1,stk(l2r),istk(id2),m2, + & stk(l3r),istk(id3),m1,m2,n2,-1) + goto 69 + 66 call wmpcnc(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),st, + & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,m2,n2,-3) + goto 69 + 67 call wmpcnc(stk(l1r),st,istk(id1),m1,stk(l2r),stk(l2i), + & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,m2,n2,-2) + goto 69 + 68 call wmpcnc(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),stk(l2i), + & istk(id2),m2,stk(l3r),stk(l3i),istk(id3),m1,m2,n2,-1) + goto 69 +c + 69 istk(il1)=2 + istk(il1+1)=m + istk(il1+2)=n1 + istk(il1+3)=it3 + call icopy(mn1+mn2+1,istk(id3),1,istk(il1+8),1) + l1r=sadr(il1+9+mn1+mn2) + call unsfdcopy(vol*(it3+1),stk(l3r),1,stk(l1r),1) + call icopy(4,var1,1,istk(il1+4),1) + lstk(top+1)=l1r+vol*(it3+1) + goto 999 +c +c puissance .^ +c + 70 il2=iadr(lstk(top)) + m2=istk(il2+1) + n2=istk(il2+2) + top=top-1 + if(istk(il2).ne.1.or.istk(il2+3).ne.0) then + call error(30) + return + endif + mn2=istk(il2+1)*istk(il2+2) + if (mn2.eq.0) then + il1=iadr(lstk(top)) + istk(il1)=1 + istk(il1+1)=0 + istk(il1+2)=0 + istk(il1+3)=0 + lstk(top+1)=sadr(il1+4)+1 + return + endif + l2=sadr(il2+4) +c + il1=iadr(lstk(top)) + m1=abs(istk(il1+1)) + n1=abs(istk(il1+2)) + it1=istk(il1+3) + mn1=m1*n1 + id1=il1+8 + l1r=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + l1i=l1r+vol +c + if (mn2 .gt. 1) then + m=m2 + n=n2 + inc2=1 + if (mn1 .eq.1) then + inc1=0 + elseif(m1.eq.m2.and.n1.eq.n2) then + inc1=1 + else + call error(30) + return + endif + else + inc2=0 + inc1=1 + m=m1 + n=n1 + endif + mn=m*n +c + idr=iadr(lw) + lr=sadr(idr+mn+1) + err=lr-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + istk(idr)=1 + do 71 i=0,mn-1 + i1=i*inc1 + i2=i*inc2 + nexp=int(stk(l2+i2)) + if(dble(nexp).ne.stk(l2+i2)) then + call error(30) + return + elseif(nexp.lt.0) then + fin=-fin + top=top+1 + return + endif + istk(idr+i+1)=istk(idr+i)+ + $ (istk(id1+i1+1)-istk(id1+i1)-1)*nexp+1 + 71 continue + + nr=istk(idr+mn)-1 + err=lr+nr*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + + do 73 i=1,mn + i1=(i-1)*inc1 + i2=(i-1)*inc2 + nexp=int(stk(l2+i2)) + l1=l1r+istk(id1+i1)-1 + l=lr+istk(idr+i-1)-1 + + ni=istk(id1+i1+1)-istk(id1+i1) + if(nexp.gt.0) then + call unsfdcopy(ni,stk(l1),1,stk(l),1) + if(it1.eq.1) call unsfdcopy(ni,stk(l1+vol),1,stk(l+nr),1) + else + stk(l)=1.0d0 + if(it1.eq.1) stk(l+nr)=0.0d0 + endif + mi=ni-1 + if(nexp.gt.1) then + do 72 ne=2,nexp + if(it1.eq.0) then + call dpmul1(stk(l),mi,stk(l1),ni-1,stk(l)) + else + call wpmul1(stk(l),stk(l+nr),mi,stk(l1), + & stk(l1+vol),ni-1,stk(l),stk(l+nr)) + endif + mi=mi+ni-1 + 72 continue + endif + 73 continue + istk(il1+1)=m + istk(il1+2)=n + istk(il1+3)=it1 + call icopy(mn+1,istk(idr),1,istk(id1),1) + l1=sadr(id1+mn+1) + call unsfdcopy(nr*(it1+1),stk(lr),1,stk(l1),1) + lstk(top+1)=l1+nr*(it1+1) + goto 999 + +c puissance de matrice + 80 continue + il2=iadr(lstk(top)) + mn2=istk(il2+1)*istk(il2+2) + il1=iadr(lstk(top-1)) + m1=abs(istk(il1+1)) + n1=abs(istk(il1+2)) + it1=istk(il1+3) + mn1=m1*n1 + + if(mn1.eq.1) goto 70 + if(mn2.gt.1) then + fin=-fin + return + endif + if(m1.ne.n1) then + if(mn2.eq.1.and.(m1.eq.1.or.n1.eq.1)) then + call msgs(116) + goto 70 + endif + err=1 + call error(20) + return + endif + fin=-fin + return +c + 101 vol=istk(id1+mn1)-1 +c multiplication par -1 + call dscal(vol*(it1+1),-1.0d+0,stk(l1r),1) + goto 999 +c +c transposition + 110 continue + vol=istk(id1+mn1)-1 + if(abs(m1).eq.1.or.abs(n1).eq.1) then + if(it1.eq.1.and.op.ne.quote+dot) then + call dscal(vol,-1.0d0,stk(l1i),1) + endif + istk(il1+1)=n1 + istk(il1+2)=m1 + goto 999 + endif + + id2=iadr(lstk(top+1)) + l2r=sadr(id2+mn1+1) + l2i=l2r+vol + err=l2r+vol*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + if(it1.eq.1) goto 111 + call dmptra(stk(l1r),istk(id1),m1,stk(l2r),istk(id2),m1,n1) + goto 112 + 111 call wmptra(stk(l1r),stk(l1i),istk(id1),m1,stk(l2r),stk(l2i), + & istk(id2),m1,n1) + 112 istk(il1+1)=n1 + istk(il1+2)=m1 + call icopy(mn1+1,istk(id2),1,istk(id1),1) + call unsfdcopy(vol*(it1+1),stk(l2r),1,stk(l1r),1) + if (it1.eq.1.and.op.ne.quote+dot) then + call dscal(vol,-1.0d0,stk(l1r+vol),1) + endif + goto 999 +c +c +c insertion +c + 120 continue + if(rhs.gt.4) then + top=topin + fin=-fin + return + endif + if(rhs.eq.4) goto 124 +c arg3(arg1)=arg2 +c +c get arg3 + var3(1)=0 + il3=iadr(lstk(top)) + if(istk(il3).lt.0) il3=iadr(istk(il3+1)) + m3=istk(il3+1) + n3=istk(il3+2) + it3=istk(il3+3) + mn3=m3*n3 + if(istk(il3).eq.2) then + id3=il3+8 + call icopy(4,istk(il3+4),1,var3,1) + l3r=sadr(id3+mn3+1) + vol=istk(id3+mn3)-1 + l3i=l3r+vol + elseif(istk(il3).eq.1) then + l3r=sadr(il3+4) + l3i=l3r+mn3 + id3=iadr(lw) + lw=sadr(id3+mn3+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call ivimp(1,mn3+1,1,istk(id3)) + endif +c get arg2 + top=top-1 + var2(1)=0 + il2=iadr(lstk(top)) + if(istk(il2).lt.0) il2=iadr(istk(il2+1)) + if(istk(il2).eq.0) then + call error(220) + return + endif + m2=istk(il2+1) + n2=istk(il2+2) + it2=istk(il2+3) + mn2=m2*n2 + if(istk(il2).eq.2) then + id2=il2+8 + call icopy(4,istk(il2+4),1,var2,1) + l2r=sadr(id2+mn2+1) + vol=istk(id2+mn2)-1 + l2i=l2r+vol + else + l2r=sadr(il2+4) + l2i=l2r+mn2 + id2=iadr(lw) + lw=sadr(id2+mn2+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call ivimp(1,mn2+1,1,istk(id2)) + endif + if(var2(1).eq.0) call icopy(4,var3,1,var2,1) + if(.not.chkvar(var2,var3)) then + fin=-fin + top=top+1 + call error(278) + return + endif +c get arg1 + top=top-1 + il1=iadr(lstk(top)) + ilrs=il1 + if(il1.lt.0) il1=iadr(istk(il1)) + if(istk(il1).eq.0) then + call error(220) + return + endif + if (istk(il1).eq.10.or.istk(il1).eq.15) then + top=topin + fin=-fin + return + endif + m1=istk(il1+1) + n1=istk(il1+2) +c + if (m2.eq.0) then +c . arg3(arg1)=[] + if(m1.eq.-1) then +c . arg3(:)=[] -->[] + istk(ilrs)=1 + istk(ilrs+1)=0 + istk(ilrs+2)=0 + istk(ilrs+3)=0 + lstk(top+1)=sadr(ilrs+4)+1 + goto 999 + elseif(m1.eq.0) then +c . arg3([])=[] --> arg3 + volr=istk(id3+mn3)-1 + istk(ilrs)=2 + istk(ilrs+1)=m3 + istk(ilrs+2)=n3 + istk(ilrs+3)=it3 + call icopy(4,var2,1,istk(ilrs+4),1) + call icopy(mn3+1,istk(id3),1,istk(ilrs+8),1) + l1=sadr(ilrs+9+mn3) + call unsfdcopy(volr*(it3+1),stk(l3r),1,stk(l1),1) + lstk(top+1)=l1+volr*(it3+1) + goto 999 + else +c . arg3(arg1)=[] --> arg3(compl(arg1)) + call indxgc(il1,mn3,ilr,mi,mx,lw) + if(err.gt.0) return + l2r=l3r + l2i=l3i + n2=n3 + m2=m3 + mn2=m2*n2 + it2=it3 + id2=id3 + ili=ilr +c . call extraction + goto 131 + endif + elseif(m2.lt.0.or.m3.lt.0) then +c . arg3=eye,arg2=eye + call error(14) + return + elseif(m1.lt.0) then +c . arg3(:)=arg2 + if(mn2.ne.mn3) then + if(mn2.eq.1) goto 121 + call error(15) + return + endif +c . reshape arg2 according to arg3 + volr=lstk(top+2)-lstk(top+1) +c . copy arg2 + call unsfdcopy(volr,stk(lstk(top+1)),1,stk(lstk(top)),1) + +c . change dimensions + istk(ilrs+1)=m3 + istk(ilrs+2)=n3 + lstk(top+1)=lstk(top)+volr + goto 999 + endif + 121 call indxg(il1,mn3,ili,mi,mxi,lw,1) + if(err.gt.0) return + if(mi.eq.0) then +c . arg3([])=arg2 + if(mn2.eq.1) then +c . arg3([])=c --> arg3 + volr=istk(id3+mn3)-1 + istk(ilrs)=2 + istk(ilrs+1)=m3 + istk(ilrs+2)=n3 + istk(ilrs+3)=it3 + call icopy(4,var2,1,istk(ilrs+4),1) + call icopy(mn3+1,istk(id3),1,istk(ilrs+8),1) + l1=sadr(ilrs+9+mn3) + call unsfdcopy(volr*(it3+1),stk(l3r),1,stk(l1),1) + lstk(top+1)=l1+volr*(it3+1) + goto 999 + else + call error(15) + return + endif + endif + inc2=1 + if(mi.ne.mn2) then + if(mn2.eq.1) then + inc2=0 + else + call error(15) + return + endif + endif +c + if (n3.gt.1.and.m3.gt.1) then +c . arg3 is not a vector + if(n2.gt.1.and.m2.gt.1) then + call error(15) + return + endif + if(mxi.gt.m3*n3) then + call error(21) + return + endif + mr=m3 + nr=n3 + elseif (n3.le.1.and.n2.le.1) then +c . arg3 and arg2 are column vectors + mr=max(m3,mxi) + nr=max(n3,1) + + elseif (m3.le.1.and.m2.le.1) then +c . row vectors + nr=max(n3,mxi) + mr=max(m3,1) + else +c . arg3 and arg2 dimensions dont agree + call error(15) + return + endif +c + itr=max(it2,it3) + mnr=mr*nr +c set result pointers + idr=iadr(lw) + ilr=idr+mr*nr+1 + lr=sadr(ilr) + ilw=ilr + err=sadr(ilr+mr*nr+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call mpinsp(istk(id3),m3*n3,1,istk(ili),mi,1,1,istk(id2),m2*n2,1 + $ ,istk(idr),mr*nr,1,1,istk(ilw),err) + if(err.gt.0) then + call error(15) + return + endif + volr=istk(idr) +c set result coefficients + li=lr+volr + lw=li+volr*itr + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif +c + if(it2.eq.0) then + if(it3.eq.0) then + call dmpins(stk(l3r),istk(id3),m3*n3,1,stk(l2r),istk(id2), + $ m2*n2,1,stk(lr),istk(idr),mr*nr,1) + else + l2i=lw + lw=l2i+istk(id2+mn2) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(istk(id2+mn2)-1,0.0d+0,stk(l2i),1) + call wmpins(stk(l3r),stk(l3i),istk(id3),m3*n3,1, + $ stk(l2r),stk(l2i),istk(id2),m2*n2,1,stk(lr), + $ stk(lr+volr),istk(idr),mr*nr,1) + endif + else + if(it3.eq.0) then + l3i=lw + lw=l3i+istk(id3+mn3) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(istk(id3+mn3)-1,0.0d+0,stk(l3i),1) + call wmpins(stk(l3r),stk(l3i),istk(id3),m3*n3,1, + $ stk(l2r),stk(l2i),istk(id2),m2*n2,1,stk(lr), + $ stk(lr+volr),istk(idr),mr*nr,1) + else + call wmpins(stk(l3r),stk(l3i),istk(id3),m3*n3,1, + $ stk(l2r),stk(l2i),istk(id2),m2*n2,1,stk(lr), + $ stk(lr+volr),istk(idr),mr*nr,1) + endif + endif +c set output variable + il1=iadr(lstk(top)) + istk(il1)=2 + istk(il1+1)=mr + istk(il1+2)=nr + istk(il1+3)=itr + call icopy(4,var2,1,istk(il1+4),1) + call icopy(mr*nr+1,istk(idr),1,istk(il1+8),1) + l1=sadr(il1+mr*nr+9) + call unsfdcopy(volr*(itr+1),stk(lr),1,stk(l1),1) + lstk(top+1)=l1+volr*(itr+1) + goto 999 +c + 124 continue +c arg4(arg1,arg2)=arg3 +c get arg4 + var4(1)=0 + il4=iadr(lstk(top)) + if(istk(il4).lt.0) il4=iadr(istk(il4+1)) + m4=istk(il4+1) + n4=istk(il4+2) + it4=istk(il4+3) + mn4=m4*n4 + if(istk(il4).eq.2) then + id4=il4+8 + call icopy(4,istk(il4+4),1,var4,1) + l4r=sadr(id4+mn4+1) + vol=istk(id4+mn4)-1 + l4i=l4r+vol + else + l4r=sadr(il4+4) + l4i=l4r+mn4 + id4=iadr(lw) + lw=sadr(id4+mn4+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call ivimp(1,mn4+1,1,istk(id4)) + endif + top=top-1 +c get arg3 + var3(1)=0 + il3=iadr(lstk(top)) + if(istk(il3).lt.0) il3=iadr(istk(il3+1)) + if(istk(il3).eq.0) then + call error(220) + return + endif + m3=istk(il3+1) + n3=istk(il3+2) + it3=istk(il3+3) + mn3=m3*n3 + if(istk(il3).eq.2) then + id3=il3+8 + call icopy(4,istk(il3+4),1,var3,1) + l3r=sadr(id3+mn3+1) + vol=istk(id3+mn3)-1 + l3i=l3r+vol + else + l3r=sadr(il3+4) + l3i=l3r+mn3 + id3=iadr(lw) + lw=sadr(id3+mn3+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call ivimp(1,mn3+1,1,istk(id3)) + endif + if(var3(1).eq.0) call icopy(4,var4,1,var3,1) + if(.not.chkvar(var3,var4)) then + fin=-fin + top=top+2 + endif +c get arg2 + top=top-1 + il2=iadr(lstk(top)) + if(istk(il2).lt.0) il2=iadr(istk(il2+1)) + if(istk(il2).eq.0) then + call error(220) + return + endif + m2=istk(il2+1) +c get arg1 + top=top-1 + il1=iadr(lstk(top)) + ilrs=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + if(istk(il1).eq.0) then + call error(220) + return + endif + m1=istk(il1+1) + + if (m3.eq.0) then +c . arg4(arg1,arg2)=[] + if(m1.eq.-1.and.m2.eq.-1) then +c . arg4(:,:)=[] -->[] + istk(ilrs)=1 + istk(ilrs+1)=0 + istk(ilrs+2)=0 + istk(ilrs+3)=0 + lstk(top+1)=sadr(ilrs+4)+1 + goto 999 + elseif(m1.eq.0.or.m2.eq.0) then +c . arg4([],arg2)=[], arg4(arg1,[])=[] --> arg4 + volr=istk(id4+mn4)-1 + istk(ilrs)=2 + istk(ilrs+1)=m4 + istk(ilrs+2)=n4 + istk(ilrs+3)=it4 + call icopy(4,var3,1,istk(ilrs+4),1) + call icopy(mn4+1,istk(id4),1,istk(ilrs+8),1) + l1=sadr(ilrs+9+mn4) + call unsfdcopy(volr*(it4+1),stk(l4r),1,stk(l1),1) + lstk(top+1)=l1+volr*(it4+1) + goto 999 + elseif(m2.eq.-1) then +c . arg4(arg1,:)=[] --> arg3(compl(arg1),:) + call indxgc(il1,m4,ili,mi,mxi,lw) + if(err.gt.0) return + call indxg(il2,n4,ilj,nj,mxj,lw,1) + if(err.gt.0) return + l3r=l4r + l3i=l4i + n3=n4 + m3=m4 + mn3=m3*n3 + it3=it4 + id3=id4 +c . call extraction + goto 133 + elseif(m1.eq.-1) then +c . arg4(:,arg2)=[] --> arg4(:,compl(arg2)) + call indxgc(il2,n4,ilj,nj,mxj,lw) + if(err.gt.0) return + call indxg(il1,m4,ili,mi,mxi,lw,1) + if(err.gt.0) return + l3r=l4r + l3i=l4i + n3=n4 + m3=m4 + mn3=m3*n3 + it3=it4 + id3=id4 +c . call extraction + goto 133 + else +c . arg4(arg1,arg2)=[] + lw1=lw + call indxgc(il2,n4,ilj,nj,mxj,lw) + if(err.gt.0) return + if(nj.eq.0) then +c . arg4(arg1,1:n4)=[] + call indxgc(il1,m4,ili,mi,mxi,lw) + lw2=lw + if(err.gt.0) return +c . arg2=1:n4 + if(mi.eq.0) then +c . arg4(1:m4,1:n4)=[] + istk(ilrs)=1 + istk(ilrs+1)=0 + istk(ilrs+2)=0 + istk(ilrs+3)=0 + lstk(top+1)=sadr(ilrs+4)+1 + goto 999 + else +c . arg4(arg1,1:n4)=[] +c . replace arg2 by ":" + il2=iadr(lw2) + istk(il2)=1 + istk(il2+1)=-1 + istk(il2+2)=-1 + istk(il2+3)=0 +c . + lw=lw2+2 + call indxg(il2,n4,ilj,nj,mxj,lw,1) + if(err.gt.0) return + l3r=l4r + n3=n4 + m3=m4 + it3=it4 + mn3=m3*n3 + id3=id4 +c . call extraction + goto 133 + endif + elseif(nj.eq.n4) then +c . arg4(arg1,[])=[] --> arg4 + volr=istk(id4+mn4)-1 + istk(ilrs)=2 + istk(ilrs+1)=m4 + istk(ilrs+2)=n4 + istk(ilrs+3)=it4 + call icopy(4,var3,1,istk(ilrs+4),1) + call icopy(mn4+1,istk(id4),1,istk(ilrs+8),1) + l1=sadr(ilrs+9+mn4) + call unsfdcopy(volr*(it4+1),stk(l4r),1,stk(l1),1) + lstk(top+1)=l1+volr*(it4+1) + goto 999 + else + call indxgc(il1,m4,ili,mi,mxi,lw) + if(err.gt.0) return + + if(mi.eq.0) then +c . arg4(1:m4,arg2)=[] + call indxg(il1,m4,ili,mi,mxi,lw,1) + if(err.gt.0) return + l3r=l4r + n3=n4 + m3=m4 +C . given set is larger than 1:m4 + mi=min(m4,mi) + it3=it4 + mn3=m3*n3 + id3=id4 +c . call extraction + goto 133 + elseif(mi.eq.m4) then +c . arg4([],arg2)=[] --> arg4 + volr=istk(id4+mn4)-1 + istk(ilrs)=2 + istk(ilrs+1)=m4 + istk(ilrs+2)=n4 + istk(ilrs+3)=it4 + call icopy(4,var3,1,istk(ilrs+4),1) + call icopy(mn4+1,istk(id4),1,istk(ilrs+8),1) + l1=sadr(ilrs+9+mn4) + call unsfdcopy(volr*(it4+1),stk(l4r),1,stk(l1),1) + lstk(top+1)=l1+volr*(it4+1) + goto 999 + else + call error(15) + return + endif + endif + endif + elseif(m3.lt.0.or.m4.lt.0) then +c . arg3=eye , arg4=eye + call error(14) + return + elseif(m1.eq.-1.and.m2.eq.-1) then +c . arg4(:,:)=arg3 + if(mn3.ne.mn4) then + if(mn3.eq.1) goto 125 + call error(15) + return + endif +c . reshape arg3 according to arg4 + volr=istk(id3+mn3)-1 + istk(ilrs)=2 + istk(ilrs+1)=m4 + istk(ilrs+2)=n4 + istk(ilrs+3)=it3 + call icopy(4,var3,1,istk(ilrs+4),1) + call icopy(mn3+1,istk(id3),1,istk(ilrs+8),1) + l1=sadr(ilrs+9+mn3) + call unsfdcopy(volr*(it3+1),stk(l3r),1,stk(l1),1) + lstk(top+1)=l1+volr*(it3+1) + goto 999 + endif + + 125 continue + init4=0 + if(m1.eq.-1.and.m4.eq.0) then +c . arg4(:,i)=arg3 + m3=m3*n3 + n3=1 + n4=1 + m4=m3 + init4=1 + + elseif(m2.eq.-1.and.m4.eq.0) then +c . arg4(i,:)=arg3 + n3=m3*n3 + m3=1 + m4=1 + n4=n3 + init4=1 + endif + if(init4.eq.1) then + + mn4=m4*n4 + l4r=lw + l4i=l4r+mn4 + id4=iadr(l4i) + lw=sadr(id4+mn4+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(mn4,0.0d0,stk(l4r),1) + call ivimp(1,mn4+1,1,istk(id4)) + endif + call indxg(il1,m4,ili,mi,mxi,lw,1) + if(err.gt.0) return + call indxg(il2,n4,ilj,mj,mxj,lw,1) + if(err.gt.0) return + if(mi.ne.m3.or.mj.ne.n3) then +c . sizes of arg1 or arg2 dont agree with arg3 sizes + inc3=1 + if(mn3.eq.1) then + if(mi.eq.0.or.mj.eq.0) then + volr=istk(id4+mn4)-1 + istk(ilrs)=2 + istk(ilrs+1)=m4 + istk(ilrs+2)=n4 + istk(ilrs+3)=it4 + call icopy(4,var3,1,istk(ilrs+4),1) + call icopy(mn4+1,istk(id4),1,istk(ilrs+8),1) + l1=sadr(ilrs+9+mn4) + call unsfdcopy(volr*(it4+1),stk(l4r),1,stk(l1),1) + lstk(top+1)=l1+volr*(it4+1) + goto 999 + endif + inc3=0 + else + call error(15) + return + endif + else + if(mi.eq.0.or.mj.eq.0) then + call error(15) + return + endif + endif + mr=max(m4,mxi) + nr=max(n4,mxj) +c + mnr=mr*nr + itr=max(it4,it3) +c set result pointers + idr=iadr(lw) + ilr=idr+mr*nr+1 + lr=sadr(ilr) + ilw=ilr + err=sadr(ilw+mr+nr)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call mpinsp(istk(id4),m4,n4,istk(ili),mi,istk(ilj),mj,istk(id3) + $ ,m3,n3,istk(idr),mr,nr,1,istk(ilw),err) + if(err.gt.0) then + call error(15) + return + endif + volr=istk(idr) +c set result coefficients + li=lr+volr + lw=li+volr*itr + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif +c + if(it3.eq.0) then + if(it4.eq.0) then + call dmpins(stk(l4r),istk(id4),m4,n4,stk(l3r),istk(id3), + $ m3,n3,stk(lr),istk(idr),mr,nr) + else + l3i=lw + lw=l3i+istk(id3+mn3) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(istk(id3+mn3),0.0d+0,stk(l3i),1) + call wmpins(stk(l4r),stk(l4i),istk(id4),m4,n4, + $ stk(l3r),stk(l3i),istk(id3),m3,n3,stk(lr), + $ stk(lr+volr),istk(idr),mr,nr) + endif + else + if(it4.eq.0) then + l4i=lw + lw=l4i+istk(id4+mn4) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(istk(id4+mn4),0.0d+0,stk(l4i),1) + call wmpins(stk(l4r),stk(l4i),istk(id4),m4,n4, + $ stk(l3r),stk(l3i),istk(id3),m3,n3,stk(lr), + $ stk(lr+volr),istk(idr),mr,nr) + else + call wmpins(stk(l4r),stk(l4i),istk(id4),m4,n4, + $ stk(l3r),stk(l3i),istk(id3),m3,n3,stk(lr), + $ stk(lr+volr),istk(idr),mr,nr) + endif + endif +c set output variable + il1=iadr(lstk(top)) + istk(il1)=2 + istk(il1+1)=mr + istk(il1+2)=nr + istk(il1+3)=itr + call icopy(4,var3,1,istk(il1+4),1) + call icopy(mr*nr+1,istk(idr),1,istk(il1+8),1) + l1=sadr(il1+mr*nr+9) + call unsfdcopy(volr*(itr+1),stk(lr),1,stk(l1),1) + lstk(top+1)=l1+volr*(itr+1) + goto 999 + + +c +c extraction + 130 continue + if(rhs.lt.2) then + call error(227) + return + endif + if(rhs.eq.3) goto 132 + if(rhs.gt.3) then + fin=-fin + return + endif +c arg2(arg1) +c get arg2 + il2=iadr(lstk(top)) + if(istk(il2).lt.0) il2=iadr(istk(il2+1)) + m2=istk(il2+1) + n2=istk(il2+2) + it2=istk(il2+3) + mn2=m2*n2 + id2=il2+8 + call icopy(4,istk(il2+4),1,var2,1) + l2r=sadr(id2+mn2+1) + vol=istk(id2+mn2)-1 + l2i=l2r+vol +c get arg1 + top=top-1 + il1=iadr(lstk(top)) + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + if(istk(il1).eq.0) then + call error(220) + return + endif + m1=istk(il1+1) + n1=istk(il1+2) + + if(mn2.eq.0) then +c . arg2=[] + il1=iadr(lstk(top)) + istk(il1)=1 + istk(il1+1)=0 + istk(il1+2)=0 + istk(il1+3)=0 + l1=sadr(il1+4) + lstk(top+1)=l1+1 + goto 999 + elseif(m2.lt.0) then +c . arg2=eye + call error(14) + return + elseif(m1.lt.0) then +c . arg2(:), just reshape to column vector + volr=istk(id2+mn2)-1 + il1=iadr(lstk(top)) + istk(il1)=2 + istk(il1+1)=mn2 + istk(il1+2)=1 + istk(il1+3)=istk(il2+3) + call icopy(4,var2,1,istk(il1+4),1) + call icopy(mn2+1,istk(id2),1,istk(il1+8),1) + l1=sadr(il1+9+mn2) + call unsfdcopy(volr*(it2+1),stk(l2r),1,stk(l1),1) + lstk(top+1)=l1+volr*(it2+1) + goto 999 + endif +c check and convert indices variable + call indxg(il1,mn2,ili,mi,mx,lw,1) + if(err.gt.0) return + if(mx.gt.mn2) then + call error(21) + return + endif + 131 if(mi.eq.0) then +c arg2([]) + il1=iadr(lstk(top)) + istk(il1)=1 + istk(il1+1)=0 + istk(il1+2)=0 + istk(il1+3)=0 + l1=sadr(il1+4) + lstk(top+1)=l1+1 + goto 999 + endif +c get memory for the result + idr=iadr(lw) + lr=sadr(idr+mi+1) + lw=lr + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif +c set result pointers + if (m2 .gt. 1.or.m1.lt.0) then + call dmpext(stk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,stk(lr) + $ ,istk(idr),0,err) + else + call dmpext(stk(l2r),istk(id2),m2,n2,1,1,istk(ili),mi,stk(lr) + $ ,istk(idr),0,err) + endif + if(err.gt.0) then + call error(21) + return + endif +c set result coefficients + volr=istk(idr+mi)-1 + lw=lr+volr*(it2+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + if (m2.eq.1.and.n2.eq.1.and.m1.gt.0) then + m = m1 + n = min(n1,mi) + call dmpext(stk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,stk(lr) + $ ,istk(idr),1,err) + if(it2.eq.1) call dmpext(stk(l2i),istk(id2),m2,n2,istk(ili),mi + $ ,1,1,stk(lr+volr),istk(idr),1,err) + elseif (m2 .gt. 1.or.m1.lt.0) then + call dmpext(stk(l2r),istk(id2),m2,n2,istk(ili),mi,1,1,stk(lr) + $ ,istk(idr),1,err) + if(it2.eq.1) call dmpext(stk(l2i),istk(id2),m2,n2,istk(ili),mi + $ ,1,1,stk(lr+volr),istk(idr),1,err) + m = mi + n = 1 + else + call dmpext(stk(l2r),istk(id2),m2,n2,1,1,istk(ili),mi,stk(lr) + $ ,istk(idr),1,err) + if(it2.eq.1) call dmpext(stk(l2i),istk(id2),m2,n2,1,1,istk(ili) + $ ,mi,stk(lr+volr),istk(idr),1,err) + n = mi + m = 1 + endif +c form resulting variable + il1=iadr(lstk(top)) + istk(il1)=2 + istk(il1+1)=m + istk(il1+2)=n + istk(il1+3)=it2 + call icopy(4,var2,1,istk(il1+4),1) + call icopy(mi+1,istk(idr),1,istk(il1+8),1) + l1=sadr(il1+9+mi) + call unsfdcopy(volr*(it2+1),stk(lr),1,stk(l1),1) + lstk(top+1)=l1+volr*(it2+1) + go to 999 +c + 132 continue +c arg3(arg1,arg2) +c get arg3 + il3=iadr(lstk(top)) + if(istk(il3).lt.0) il3=iadr(istk(il3+1)) + m3=istk(il3+1) + n3=istk(il3+2) + it3=istk(il3+3) + mn3=m3*n3 + id3=il3+8 + call icopy(4,istk(il3+4),1,var3,1) + l3r=sadr(id3+mn3+1) + vol=istk(id3+mn3)-1 + l3i=l3r+vol +c get arg2 + top=top-1 + il2=iadr(lstk(top)) + if(istk(il2).lt.0) il2=iadr(istk(il2+1)) + if(istk(il2).eq.0) then + call error(220) + return + endif + m2=istk(il2+1) +c get arg1 + top=top-1 + il1=iadr(lstk(top)) + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + if(istk(il1).eq.0) then + call error(220) + return + endif + m1=istk(il1+1) +c + if(mn3.eq.0) then +c . arg3=[] + il1=iadr(lstk(top)) + istk(il1)=1 + istk(il1+1)=0 + istk(il1+2)=0 + istk(il1+3)=0 + l1=sadr(il1+4) + lstk(top+1)=l1+1 + goto 999 + elseif(m3.lt.0) then +c .arg3=eye + call error(14) + return + endif +c check and convert indices variables + call indxg(il1,m3,ili,mi,mxi,lw,1) + if(err.gt.0) return + if(mxi.gt.m3) then + call error(21) + return + endif + call indxg(il2,n3,ilj,nj,mxj,lw,1) + if(err.gt.0) return + if(mxj.gt.n3) then + call error(21) + return + endif +c +c perform extraction + 133 mnr=mi*nj + if(mnr.eq.0) then +c . arg1=[] or arg2=[] + il1=iadr(lstk(top)) + istk(il1)=1 + istk(il1+1)=0 + istk(il1+2)=0 + istk(il1+3)=0 + l1=sadr(il1+4) + lstk(top+1)=l1+1 + goto 999 + endif + idr=iadr(lw) + lr=sadr(idr+mnr+1) + lw=lr + err=lr-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif +c set result pointers + call dmpext(stk(l3r),istk(id3),m3,n3,istk(ili),mi,istk(ilj),nj + $ ,stk(lr),istk(idr),0,err) + if(err.gt.0) then + call error(21) + return + endif +c set result coefficients + volr=istk(idr+mnr)-1 + lw=lr+volr*(it3+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dmpext(stk(l3r),istk(id3),m3,n3,istk(ili),mi,istk(ilj),nj + $ ,stk(lr),istk(idr),1,err) + if(it3.eq.1) call dmpext(stk(l3i),istk(id3),m3,n3,istk(ili),mi + $ ,istk(ilj),nj,stk(lr+volr),istk(idr),1,err) +c + il1=iadr(lstk(top)) + istk(il1)=2 + istk(il1+1)=mi + istk(il1+2)=nj + istk(il1+3)=it3 + call icopy(4,var3,1,istk(il1+4),1) + call icopy(mnr+1,istk(idr),1,istk(il1+8),1) + l1=sadr(il1+9+mnr) + call unsfdcopy(volr*(it3+1),stk(lr),1,stk(l1),1) + lstk(top+1)=l1+volr*(it3+1) + goto 999 +c +c divisions +c +c division a droite + 150 continue + if(mn1.eq.0.or.mn2.eq.0) then + istk(il1)=1 + istk(il1+1)=0 + istk(il1+2)=0 + istk(il1+3)=0 + lstk(top+1)=sadr(il1+4)+1 + goto 999 + endif + if(op.eq.slash) then + if(mn2.ne.1.and.mn1.ne.1.and.n2.ne.n1) then + call error(11) + return + endif + if(istk(il2).ne.1) then +c . divisor is a polynomial + fin=-op + top=top+1 + goto 999 + elseif(mn2.gt.1) then +c . divisor is not a scalar + fin=-op + top=top+1 + goto 999 + else +c . scalar divisor + mn=mn2 + l=l2r + il=il2 + it=it2 + goto 157 + endif + elseif(op.eq.dot+slash) then + if(mn2.ne.1.and.mn1.ne.1.and.(m1.ne.m2.or.n1.ne.n2)) then + call error(11) + return + endif + if(istk(il2).ne.1) then +c . divisor is a polynomial + fin=-op + top=top+1 + goto 999 + else +c . divisor is a vector of scalar + mn=mn2 + l=l2r + il=il2 + it=it2 + goto 157 + endif + endif +c +c +c division a gauche + 155 continue + if(mn1.eq.0.or.mn2.eq.0) then + istk(il1)=1 + istk(il1+1)=0 + istk(il1+2)=0 + istk(il1+3)=0 + lstk(top+1)=sadr(il1+4)+1 + goto 999 + endif + if(op.eq.bslash) then + if(mn2.ne.1.and.mn1.ne.1.and.m2.ne.m1) then + call error(12) + return + endif + if(istk(il1).ne.1) then +c . divisor is a polynomial + fin=-op + top=top+1 + goto 999 + elseif(mn1.gt.1) then +c . divisor is not a scalar + fin=-op + top=top+1 + goto 999 + else +c . scalar divisor + mn=mn1 + l=l1r + il=il1 + it=it1 + goto 157 + endif + elseif(op.eq.dot+bslash) then + if(mn2.ne.1.and.mn1.ne.1.and.(m1.ne.m2.or.n1.ne.n2)) then + call error(12) + return + endif + if(istk(il1).ne.1) then +c . divisor is a polynomial + fin=-op + top=top+1 + goto 999 + else +c . divisor is a vector of scalar + mn=mn1 + l=l1r + il=il1 + it=it1 + goto 157 + endif + endif + go to 999 + +c in-line inversion procedure + 157 continue +c divisor is a vector of scalars + do 158 i=1,mn + sr=stk(l-1+i) + si=0.0d+0 + if(it.eq.1) si=stk(l+mn-1+i) + e1=max(abs(sr),abs(si)) + if(e1.eq.0.d0) then + call error(27) + return + endif + sr=sr/e1 + si=si/e1 + e1=e1*(sr*sr+si*si) + stk(l-1+i)=sr/e1 + if(it.eq.1) stk(l+mn-1+i)=-si/e1 + 158 continue +c . goto multiplication alg + goto 40 + +c +c comparaisons + 160 continue + itrue=1 + if(op.eq.less+great) itrue=0 +c comparaison des types + if(istk(il1).gt.2.or.istk(il2).gt.2) then + istk(il1)=4 + istk(il1+1)=1 + istk(il1+2)=1 + istk(il1+3)=1-itrue + lstk(top+1)=sadr(il1+4) + return + endif +c des nom de variable + do 161 i=1,4 + if(var1(i).ne.var2(i)) then + istk(il1)=4 + istk(il1+1)=1 + istk(il1+2)=1 + istk(il1+3)=1-itrue + lstk(top+1)=sadr(il1+4) + return + endif + 161 continue +c des dimensions + if(m1.eq.-1) then +c . eye op b + nn1=istk(id1+1)-1 + il1w=iadr(lw) + lw=sadr(il1w+m2*n2) + err=lw+2-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + stk(lw)=0.0d0 + stk(lw+1)=0.0d0 + i2=id2 + n2=abs(n2) + m2=abs(m2) + do 166 i=1,n2 + do 165 j=1,m2 + if (i.eq.j) then + if(nn1.ne.istk(i2+1)-istk(i2) ) goto 164 + nl=nn1 + l1=l1r-1 + else + if(1.ne.istk(i2+1)-istk(i2) ) goto 164 + l1=lw-1 + nl=1 + endif + l2=l2r+istk(i2)-2 + do 162 ii=1,nl + if(stk(l1+ii).ne.stk(l2+ii)) goto 164 + 162 continue + if(max(it1,it2).eq.1) then + e1=0.0d+0 + e2=0.0d+0 + do 163 ii=1,nl + if(it1.eq.1) e1=stk(l1+nl+ii) + if(it2.eq.1) e2=stk(l2i+istk(i2)-2+ii) + if(e1.ne.e2) goto 164 + 163 continue + endif + i2=i2+1 + istk(il1w-1+(j-1)*m2+i)=itrue + goto 165 + 164 continue + i2=i2+1 + istk(il1w-1+(j-1)*m2+i)=1-itrue + 165 continue + 166 continue + istk(il1)=4 + istk(il1+1)=m2 + istk(il1+2)=n2 + call icopy(m2*n2,istk(il1w),1,istk(il1+3),1) + lstk(top+1)=sadr(il1+3+m2*n2) + goto 999 + elseif(m2.eq.-1) then +c . b op eye + nn2=istk(id2+1)-1 + il1w=iadr(lw) + lw=sadr(il1w+m1*n1) + err=lw+2-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + stk(lw)=0.0d0 + stk(lw+1)=0.0d0 + i1=id1 + do 176 i=1,n1 + do 175 j=1,m1 + if (i.eq.j) then + if(nn2.ne.istk(i1+1)-istk(i1) ) goto 174 + nl=nn2 + l2=l2r-1 + else + if(1.ne.istk(i1+1)-istk(i1) ) goto 174 + l2=lw-1 + nl=1 + endif + l1=l1r+istk(i1)-2 + do 172 ii=1,nl + if(stk(l2+ii).ne.stk(l1+ii)) goto 174 + 172 continue + if(max(it1,it2).eq.1) then + e1=0.0d+0 + e2=0.0d+0 + do 173 ii=1,nl + if(it1.eq.1) e1=stk(l2+nl+ii) + if(it2.eq.1) e2=stk(l1i+istk(i1)-2+ii) + if(e1.ne.e2) goto 174 + 173 continue + endif + i1=i1+1 + istk(il1w-1+(j-1)*m1+i)=itrue + goto 175 + 174 continue + i2=i2+1 + istk(il1w-1+(j-1)*m1+i)=1-itrue + 175 continue + 176 continue + istk(il1)=4 + istk(il1+1)=m1 + istk(il1+2)=n1 + call icopy(m1*n1,istk(il1w),1,istk(il1+3),1) + lstk(top+1)=sadr(il1+3+m1*n1) + goto 999 + + elseif(mn1.eq.1.and.mn2.gt.1) then + nn1=istk(id1+1)-1 + err=lw+nn1*(it1+1)+2-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(nn1*(it1+1),stk(l1r),1,stk(lw),1) + l1r=lw + l1i=l1r+nn1 + id1=iadr(l1r+nn1*(it1+1)) + istk(id1)=1 + istk(id1+1)=nn1+1 + inc1=0 + inc2=1 + mn1=mn2 + m1=m2 + n1=n2 + istk(il1+1)=m1 + istk(il1+2)=n1 + else if(mn2.eq.1.and.mn1.gt.1) then + nn2=istk(id2+1)-1 + err=lw+nn2*(it2+1)+2-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(nn2*(it2+1),stk(l2r),1,stk(lw),1) + l2r=lw + l2i=l2r+nn2 + id2=iadr(l2r+nn2*(it2+1)) + istk(id2)=1 + istk(id2+1)=nn2+1 + inc1=1 + inc2=0 + mn2=mn1 + m2=m1 + n2=n1 + else if(n1.ne.n2.or.m1.ne.m2) then + istk(il1)=4 + istk(il1+1)=1 + istk(il1+2)=1 + istk(il1+3)=1-itrue + lstk(top+1)=sadr(il1+4) + return + else + inc1=1 + inc2=1 + endif +c des valeurs + i1=id1-inc1 + i2=id2-inc2 + l1r=l1r-1 + l2r=l2r-1 + l1i=l1i-1 + l2i=l2i-1 + do 185 i=0,mn1-1 + i1=i1+inc1 + i2=i2+inc2 + if(istk(il2).eq.1) then +c poly == double +c check rank + if(istk(i1+1)-istk(i1)-1.ne.0) goto 184 +c check real values + if(stk(l1r+istk(i1)).ne.stk(l2r+(i*inc2)+1)) goto 184 +c check imaginary values + if(it1+it2.eq.2) then + if(stk(l1i+istk(i1)).ne.stk(l2i+(i*inc2)+1)) goto 184 + else if(it1.eq.1) then + if(stk(l1i+istk(i1)).ne.0.0d+0) goto 184 + else if(it2.eq.1) then + if(0.0d+0.ne.stk(l2i+(i*inc2)+1)) goto 184 + endif + else if (istk(il1).eq.1) then +c double == poly +c check rank + if(istk(i2+1)-istk(i2)-1.ne.0) goto 184 +c check real values + if(stk(l1r+(i*inc1)+1).ne.stk(l2r+istk(i2))) goto 184 +c check imaginary values + if(it1+it2.eq.2) then + if(stk(l1i+(i*inc1)+1).ne.stk(l2i+istk(i2))) goto 184 + else if(it1.eq.1) then + if(stk(l1i+(i*inc1)+1).ne.0.0d+0) goto 184 + else if(it2.eq.1) then + if(0.0d+0.ne.stk(l2i+istk(i2))) goto 184 + endif + else +c poly == poly +c check rank + if(istk(i1+1)-istk(i1).ne.istk(i2+1)-istk(i2) ) goto 184 + nl=istk(i1+1)-istk(i1)-1 +c check real values + do 182 ii=0,nl + if(stk(l1r+istk(i1)+ii).ne.stk(l2r+istk(i2)+ii)) goto 184 + 182 continue + istk(il1+3+i)=itrue + if(max(it1,it2).eq.0) goto 185 + e1=0.0d+0 + e2=0.0d+0 +c check imaginary values + do 183 ii=0,nl + if(it1.eq.1) e1=stk(l1i+istk(i1)+ii) + if(it2.eq.1) e2=stk(l2i+istk(i2)+ii) + if(e1.ne.e2) goto 184 + 183 continue + endif + istk(il1+3+i)=itrue + goto 185 + 184 istk(il1+3+i)=1-itrue + 185 continue + istk(il1)=4 + istk(il1+1)=m1 + istk(il1+2)=n1 + lstk(top+1)=sadr(il1+3+mn1) + goto 999 +c + 200 continue +c a [:b]:c + var1(1)=0 + if(rhs.eq.3) then + il3=iadr(lstk(top)) + if(istk(il3).lt.0) il3=iadr(istk(il3+1)) + if(istk(il3+1).ne.1.or.istk(il3+2).ne.1) then + err=3 + call putid(ids(1,pt+1),colonid) + call error(204) + return + endif + if(istk(il3+3).ne.0) then + err=3 + call error(52) + return + endif + if(istk(il3).eq.1) then + n3=1 + l3=sadr(il3+4) + else + n3=istk(il3+9)-1 + l3=sadr(il3+10) + call icopy(4,istk(il3+4),1,var1,1) + endif + top=top-1 + endif + if (rhs.ge.2) then + il2=iadr(lstk(top)) + if(istk(il2).lt.0) il2=iadr(istk(il2+1)) + if(istk(il2+1).ne.1.or.istk(il2+2).ne.1) then + err=2 + call putid(ids(1,pt+1),colonid) + call error(204) + return + endif + if(istk(il2+3).ne.0) then + err=2 + call error(52) + return + endif + if(istk(il2).eq.1) then + n2=1 + l2=sadr(il2+4) + else + n2=istk(il2+9)-1 + l2=sadr(il2+10) + if (var1(1).ne.0) then + if(var1(1).ne.istk(il2+4).or.var1(2).ne.istk(il2+5).or + $ .var1(3).ne.istk(il2+6).or.var1(4).ne.istk(il2+7)) + $ then + call error(278) + return + endif + else + call icopy(4,istk(il2+4),1,var1,1) + endif + endif + top=top-1 + endif + il1=iadr(lstk(top)) + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + if(istk(il1+1).ne.1.or.istk(il1+2).ne.1) then + err=1 + call putid(ids(1,pt+1),colonid) + call error(204) + return + endif + if(istk(il1+3).ne.0) then + err=2 + call error(52) + return + endif + if(istk(il1).eq.1) then + n1=1 + l1=sadr(il1+4) + else + n1=istk(il1+9)-1 + l1=sadr(il1+10) + if (var1(1).ne.0) then + if(var1(1).ne.istk(il1+4).or.var1(2).ne.istk(il1+5).or. + $ var1(3).ne.istk(il1+6).or.var1(4).ne.istk(il1+7)) then + call error(278) + return + endif + else + call icopy(4,istk(il1+4),1,var1,1) + endif + endif + if (rhs.eq.2) then + n3=n2 + l3=l2 + n2=1 + l2=lw + stk(l2)=1 + lw=lw+1 + endif + call unsfdcopy(n1,stk(l1),1,stk(lw),1) + call unsfdcopy(n2,stk(l2),1,stk(lw+n1),1) + call unsfdcopy(n3,stk(l3),1,stk(lw+n1+n2),1) + il1=iadr(lstk(top)) + istk(il1)=129 + istk(il1+1)=1 + istk(il1+2)=3 + istk(il1+3)=0 + call icopy(4,var1,1,istk(il1+4),1) + istk(il1+8)=1 + istk(il1+9)=1+n1 + istk(il1+10)=istk(il1+9)+n2 + istk(il1+11)=istk(il1+10)+n3 + l=sadr(il1+12) + call unsfdcopy(n1+n2+n3,stk(lw),1,stk(l),1) + lstk(top+1)=l+n1+n2+n3 +c + 999 return + end diff --git a/modules/polynomials/sci_gateway/fortran/polops.lo b/modules/polynomials/sci_gateway/fortran/polops.lo new file mode 100755 index 000000000..430858609 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/polops.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/polops.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/polops.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_bezout.f b/modules/polynomials/sci_gateway/fortran/sci_f_bezout.f new file mode 100755 index 000000000..21cc216bc --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_bezout.f @@ -0,0 +1,156 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine intbez(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer vol,blank,ipb(6) + double precision er + + logical refa,refb + data blank/40/ +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + + if(rhs.ne.2) then + call error(42) + return + endif + if(lhs.ne.2.and.lhs.ne.3) then + call error(41) + return + endif + lw =lstk(top+1) +c + ilb=iadr(lstk(top)) + ilbr=ilb + if(istk(ilb).lt.0) ilb=iadr(istk(ilb+1)) + if(istk(ilb).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'bezout',ilb) + return + endif + refb=ilbr.ne.ilb + itb=istk(ilb+3) + if(itb.ne.0) then + fun=-1 + call funnam(ids(1,pt+1),'bezout',ilb) + return + endif + if(istk(ilb+1)*istk(ilb+2).ne.1)then + err=2 + call error(89) + return + endif + if(istk(ilb).eq.1) then + nb=0 + lb=sadr(ilb+4) + id(1)=0 + else + nb=istk(ilb+9)-2 + lb=sadr(ilb+9) + call icopy(4,istk(ilb+4),1,id,1) + endif +c + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + if(istk(il1).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'bezout',il1) + return + endif + refa=ilr.ne.il1 + it1=istk(il1+3) + if(it1.ne.0) then + fun=-1 + call funnam(ids(1,pt+1),'bezout',il1) + return + endif + if(istk(il1+1)*istk(il1+2).ne.1) then + err=1 + call error(89) + return + endif + mn1=1 + if(istk(il1).eq.2) then + id1=il1+8 + l1=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + na=vol-1 + if(id(1).eq.0) call icopy(4,istk(il1+4),1,id,1) + else + l1=sadr(il1+4) + na=0 + endif + if(id(1).eq.0) call iset(4,blank,id,1) +c + lf=lstk(top+1)+na+9 + if(refa) lf=lw+na+9 +c + lw=lf+2*(na+nb)+min(na,nb)+3 + n0=max(na,nb)+1 + err=lw+10*n0+3*n0*n0-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call recbez(stk(l1),na,stk(lb),nb,stk(lf),ipb,stk(lw),er) +c pgcd + istk(ilr)=2 + istk(ilr+1)=1 + istk(ilr+2)=1 + istk(ilr+3)=0 + call icopy(4,id,1,istk(ilr+4),1) + l1=sadr(ilr+8+mn1+1) + istk(ilr+8)=1 + np=ipb(2)-ipb(1)-1 + istk(ilr+9)=2+np + call unsfdcopy(np+1,stk(lf+ipb(1)-1),1,stk(l1),1) + lstk(top)=l1+np+1 + +c matrice q + il=iadr(lstk(top)) + istk(il)=2 + istk(il+1)=2 + istk(il+2)=2 + istk(il+3)=0 + call icopy(4,id,1,istk(il+4),1) + il=il+8 + istk(il)=1 + l=sadr(il+5) + do 71 i=1,4 + ii=i+1 + istk(il+1)=istk(il)+ipb(ii+1)-ipb(ii) + call unsfdcopy(istk(il+1)-istk(il),stk(lf+ipb(ii)-1),1, + $ stk(l),1) + l=l+istk(il+1)-istk(il) + il=il+1 + 71 continue + lstk(top+1)=l + if(lhs.eq.3) then +c retour de l'erreur + top=top+1 + il=iadr(lstk(top)) + istk(il)=1 + istk(il+1)=1 + istk(il+2)=1 + istk(il+3)=0 + l=sadr(il+4) + stk(l)=er + lstk(top+1)=l+1 + endif + goto 999 + 999 return + end + +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_bezout.lo b/modules/polynomials/sci_gateway/fortran/sci_f_bezout.lo new file mode 100755 index 000000000..c29808b4a --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_bezout.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_bezout.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_bezout.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_coeff.f b/modules/polynomials/sci_gateway/fortran/sci_f_coeff.f new file mode 100755 index 000000000..65874cab4 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_coeff.f @@ -0,0 +1,207 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine intcoeff(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer v2,vol,top0 + logical ref +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.ne.1.and.rhs.ne.2) then + call error(42) + return + endif + top0=top +c + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=il1.ne.ilr + if(istk(il1).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'coeff',il1) + return + endif + + if(rhs.eq.2) then + ilv=iadr(lstk(top)) + if(istk(ilv).lt.0) ilv=iadr(istk(ilv+1)) + if(istk(ilv).ne.1) then + err=2 + call error(53) + return + endif + if(istk(ilv+3).ne.0) then + err=2 + call error(52) + return + endif + nv=istk(ilv+1)*istk(ilv+2) + if(nv.eq.0) then + top=top-1 + istk(ilr)=1 + istk(ilr+1)=0 + istk(ilr+2)=0 + istk(ilr+3)=0 + lstk(top+1)=sadr(ilr+4) + return + endif + if(istk(ilv+1).ne.1.and.istk(ilv+2).ne.1) then + err=2 + call error(89) + return + endif + lv=sadr(ilv+4) + do 10 i=0,nv-1 + if(int(stk(lv+i)).lt.0) then + err=2 + call error(116) + return + endif + 10 continue + top=top-1 + endif +c + m1=istk(il1+1) + n1=istk(il1+2) + it1=istk(il1+3) + mn1=m1*n1 +c + if(ref) then + lr=sadr(ilr+4) + else + lr=lstk(top+1) + endif +c + if(istk(il1).eq.2) then +c coeff of a matrix of polynomials + id1=il1+8 + l1=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + + if(rhs.eq.1) then + mx=0 + do 20 ij=1,mn1 + nij=istk(id1+ij)-istk(id1+ij-1) + if(nij.gt.mx) mx=nij + 20 continue + v2=mn1*mx + err=lr+v2*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(v2*(it1+1),0.0d+0,stk(lr),1) + do 30 ij=1,mn1 + nij=istk(id1+ij)-istk(id1+ij-1) + lij=l1-1+istk(id1+ij-1) + call unsfdcopy(nij,stk(lij),1,stk(lr-1+ij),mn1) + if(it1.eq.1) then + call unsfdcopy(nij,stk(lij+vol),1,stk(lr+v2-1+ij),mn1) + endif + 30 continue + if(.not.ref) then + l=sadr(ilr+4) + call unsfdcopy(v2*(it1+1),stk(lr),1,stk(l),1) + lr=l + endif + istk(ilr)=1 + istk(ilr+1)=m1 + istk(ilr+2)=n1*mx + istk(ilr+3)=it1 + lstk(top+1)=lr+v2*(it1+1) + else + lw=max(lstk(top0+1),lr+mn1*nv*(it1+1)) + err=lw+nv-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(nv,stk(lv),1,stk(lw),1) + lv=lw + call dset(mn1*nv*(it1+1),0.0d+0,stk(lr),1) + do 41 ij=1,mn1 + nij=istk(id1+ij)-istk(id1+ij-1) + lij=l1-1+istk(id1+ij-1) + do 40 k=1,nv + mv=int(stk(lv-1+k)) + if(mv.ge.nij) goto 40 + stk(lr+ij-1+(k-1)*mn1)=stk(lij+mv) + if(it1.ne.0) stk(lr+ij-1+(k-1+nv)*mn1)=stk(lij+mv+vol) + 40 continue + 41 continue + l=sadr(ilr+4) + if(.not.ref) call unsfdcopy(mn1*nv*(it1+1),stk(lr),1, + $ stk(l),1) + istk(ilr)=1 + istk(ilr+1)=m1 + istk(ilr+2)=n1*nv + istk(ilr+3)=it1 + lstk(top+1)=l+mn1*nv*(it1+1) + endif + else +c coeff of a matrix of numbers + if(rhs.eq.1) then +c . return the input matrix + if(ref) then +c . copy matrix on the top of the stack + k=istk(ilr+2) + err=lstk(top)+lstk(k+1)-lstk(k)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(lstk(k+1)-lstk(k),stk(lstk(k)),1 + $ ,stk(lstk(top)),1) + lstk(top+1)=lstk(top)+lstk(k+1)-lstk(k) + endif + return + endif + l1=sadr(il1+4) + vol=mn1 + + lw=lr+mn1*nv*(it1+1) + err=lw+nv-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + if(lv.le.lw) then + call unsfdcopy(nv,stk(lv),-1,stk(lw),-1) + lv=lw + endif + call dset(mn1*nv*(it1+1),0.0d+0,stk(lr),1) + do 50 k=1,nv + if(stk(lv-1+k).eq.0.0d0) then + call unsfdcopy(mn1,stk(l1),1,stk(lr+(k-1)*mn1),1) + if(it1.eq.1) call unsfdcopy(mn1,stk(l1+mn1),1, + $ stk(lr+(k-1)*mn1+mn1*nv),1) + endif + 50 continue + l=sadr(ilr+4) + if(.not.ref) call unsfdcopy(mn1*nv*(it1+1),stk(lr),1,stk(l),1) + istk(ilr)=1 + istk(ilr+1)=m1 + istk(ilr+2)=n1*nv + istk(ilr+3)=it1 + lstk(top+1)=l+mn1*nv*(it1+1) + endif + + return + end + +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_coeff.lo b/modules/polynomials/sci_gateway/fortran/sci_f_coeff.lo new file mode 100755 index 000000000..ed1378ffc --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_coeff.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_coeff.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_coeff.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_degree.f b/modules/polynomials/sci_gateway/fortran/sci_f_degree.f new file mode 100755 index 000000000..0b9d0fa27 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_degree.f @@ -0,0 +1,93 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine intdegree(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + logical ref +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 + + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.ne.1) then + call error(42) + return + endif +c + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=il1.ne.ilr + if(istk(il1).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'degree',il1) + return + endif + + m1=istk(il1+1) + n1=istk(il1+2) + mn1=m1*n1 + + if(mn1.eq.0) then + if (ref) then + l=sadr(ilr+4) + err=l-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + istk(ilr)=1 + istk(ilr+1)=0 + istk(ilr+2)=0 + istk(ilr+3)=0 + lstk(top+1)=l + endif + return + endif +c + if(istk(il1).eq.2) then + id1=il1+8 + if(ref) then + l1=sadr(ilr+4) + l=l1 + else + l1=sadr(id1+mn1+1) + l=sadr(ilr+4) + endif + do 31 k=1,mn1 + stk(l1-1+k)=dble(istk(id1+k)-istk(id1+k-1)-1) + 31 continue + if(ref) then + istk(ilr)=1 + istk(ilr+1)=m1 + istk(ilr+2)=n1 + istk(ilr+3)=0 + else + istk(ilr)=1 + istk(ilr+3)=0 + call unsfdcopy(mn1,stk(l1),1,stk(l),1) + endif + lstk(top+1)=l+mn1 + elseif(istk(il1).eq.1) then + istk(ilr)=1 + istk(ilr+1)=m1 + istk(ilr+2)=n1 + istk(ilr+3)=0 + l=sadr(ilr+4) + call dset(mn1,0.0d+0,stk(l),1) + lstk(top+1)=l+mn1 + endif + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_degree.lo b/modules/polynomials/sci_gateway/fortran/sci_f_degree.lo new file mode 100755 index 000000000..80f6015a8 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_degree.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_degree.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_degree.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_diag.f b/modules/polynomials/sci_gateway/fortran/sci_f_diag.f new file mode 100755 index 000000000..0815b02f7 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_diag.f @@ -0,0 +1,132 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine intpdiag(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer volr,vol,tops + logical ref + +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + lw=lstk(top+1) + tops=top +c + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.ne.1.and.rhs.ne.2) then + call error(42) + return + endif +c + kdiag=0 + if (rhs .eq. 2) then + il=iadr(lstk(top)) + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).ne.1) then + err=1 + call error(53) + return + endif + if(istk(il+3).ne.0) then + err=1 + call error(52) + return + endif + if(istk(il+1)*istk(il+2).ne.1) then + err=1 + call error(89) + return + endif + kdiag = int(stk(sadr(il+4))) + top = top-1 + endif + + lw=lstk(top+1) +c + il1=iadr(lstk(top)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=il1.ne.ilr + if(istk(il1).ne.2) then + fun=-1 + top=tops + call funnam(ids(1,pt+1),'diag',il1) + return + endif +c + id1=il1+8 + m1=istk(il1+1) + n1=istk(il1+2) + it1=istk(il1+3) + mn1=m1*n1 + l1=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + +c + if(ref) then + idr=ilr+8 + else + idr=iadr(lw) + endif + if(m1.eq.1.or.n1.eq.1) then + m1=mn1 + n1=0 + err=sadr(idr+mn1*(mn1+abs(kdiag)))-lstk(bot) + else + err=sadr(idr+min(n1,m1))-lstk(bot) + endif + if(err.gt.0) then + call error(17) + return + endif +c + call mpdiag(istk(id1),m1,n1,kdiag,istk(idr),mr,nr) + if(nr.le.0.or.mr.le.0) then + istk(ilr)=1 + istk(ilr+1)=0 + istk(ilr+2)=0 + istk(ilr+3)=0 + lstk(top+1)=sadr(ilr+4) + goto 999 + endif + lr=sadr(idr+mr*nr+1) + volr=istk(idr) + err=lr+volr*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + if (it1.eq.0) then + call dmpins(stk(l1),istk(id1),mn1,1,stk,1,0,0, + 1 stk(lr),istk(idr),mr,nr) + else + call wmpins(stk(l1),stk(l1+vol),istk(id1),mn1,1, + 1 stk,stk,1,0,0,stk(lr),stk(lr+volr),istk(idr),mr,nr) + endif + if(ref) then + call icopy(8,istk(il1),1,istk(ilr),1) + l1=sadr(idr+mr*nr+1) + else + call icopy(mr*nr+1,istk(idr),1,istk(id1),1) + l1=sadr(id1+mr*nr+1) + call unsfdcopy(volr*(it1+1),stk(lr),1,stk(l1),1) + endif + istk(ilr+1)=mr + istk(ilr+2)=nr + lstk(top+1)=l1+volr*(it1+1) + goto 999 + 999 return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_diag.lo b/modules/polynomials/sci_gateway/fortran/sci_f_diag.lo new file mode 100755 index 000000000..eda62b669 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_diag.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_diag.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_diag.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_div.f b/modules/polynomials/sci_gateway/fortran/sci_f_div.f new file mode 100755 index 000000000..e0b63bf4c --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_div.f @@ -0,0 +1,299 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine intpdiv(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer voln,vold,v2 +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + if(lhs.ne.1.and.lhs.ne.2) then + call error(41) + return + endif + if(rhs.ne.2) then + call error(42) + return + endif +c + lw=lstk(top+1) +c + iln=iadr(lstk(top+1-rhs)) + + il=iln + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'pdiv',il) + return + endif +c + ild=iadr(lstk(top)) + + il=ild + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'pdiv',il) + return + endif +c + if(istk(iln).lt.0) then +c move d and copy value of n in place of its reference + k=istk(iln+2) + voln=lstk(k+1)-lstk(k) + vold=lstk(top+1)-lstk(top) + err=lstk(top)+voln+vold-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(vold,stk(lstk(top)),-1,stk(lstk(top-1)+voln),-1) + call unsfdcopy(voln,stk(lstk(k)),1,stk(lstk(top-1)),1) + lstk(top)=lstk(top-1)+voln + ild=iadr(lstk(top)) + lstk(top+1)=lstk(top)+vold + endif + + if(istk(ild).lt.0) then +c copy value of b in place of its reference + k=istk(ild+2) + vold=lstk(k+1)-lstk(k) + err=lstk(top)+vold-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(vold,stk(lstk(k)),1,stk(lstk(top)),1) + lstk(top+1)=lstk(top)+vold + endif + lw=lstk(top+1) + + il1=iln + m1=istk(il1+1) + n1=istk(il1+2) + it1=istk(il1+3) + l1=sadr(il1+4) + mn1=m1*n1 + if(mn1.ne.1) then + err=1 + call error(89) + return + endif + if(istk(il1).eq.2) then + id1=il1+8 + l1=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + call icopy(4,istk(il1+4),1,id,1) + nn=istk(id1+1)-2 + else + nn=0 + id(1)=0 + endif +c +c denominateur + + nd=istk(ild+1)*istk(ild+2) + if(nd.ne.1) then + err=2 + call error(89) + return + endif + itd=istk(ild+3) + if(istk(ild).eq.1) then + ld=sadr(ild+4) + nd=0 + if (id(1).eq.0) then + err=2 + call error(54) + return + endif + v2=1 + else + if(id(1).eq.0) call icopy(4,istk(ild+4),1,id,1) + do 61 i=1,4 + if(id(i).ne.istk(ild+3+i)) then + call error(43) + return + endif + 61 continue + nd=istk(ild+9)-2 + ld=sadr(ild+10) + v2=istk(ild+9)-1 + endif + +c test degre du denominateur + 64 continue + if(itd.eq.0) then + if(stk(ld+nd).ne.0.0d+0) goto 65 + else + if(abs(stk(ld+nd))+abs(stk(ld+v2+nd)).ne.0.0d+0) goto 65 + endif + nd=nd-1 + if(nd.lt.0) then + call error(27) + return + endif + goto 64 +c + 65 if(nn.lt.nd) then +c . No division to perform + if(lhs.eq.2) then + istk(ild)=1 + ld=sadr(ild+4) + stk(ld)=0.0d+0 + lstk(top+1)=ld+1 + else + top=top-1 + istk(il1)=1 + stk(l1)=0.0d+0 + lstk(top+1)=l1+1 + endif + goto 999 + endif +c + if(it1.eq.0) then + if (itd.eq.0) then + call dpodiv(stk(l1),stk(ld),nn,nd) + else + l1i=lw + lw=l1i+nn+1 + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + ldi=ld+v2 + call dset(nn+1,0.0d0,stk(l1i),1) + call wpodiv(stk(l1),stk(l1i),stk(ld),stk(ldi),nn,nd,ierr) + endif + else + l1i=l1+nn+1 + if (itd.eq.0) then + ldi=lw + lw=ldi+nd+1 + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(nd+1,0.0d0,stk(ldi),1) + call wpodiv(stk(l1),stk(l1i),stk(ld),stk(ldi),nn,nd,ierr) + else + ldi=ld+v2 + call wpodiv(stk(l1),stk(l1i),stk(ld),stk(ldi),nn,nd,ierr) + endif + endif +c + itr=max(it1,itd) + nq=nn-nd + + if(lhs.eq.1) then +c . only q is returned + top=top-1 +c . set type + istk(il1+3)=itr +c . set length + istk(il1+9)=nq+2 +c . install real and imaginary part + call unsfdcopy(nq+1,stk(l1+nd),1,stk(l1),1) + if(itr.eq.1) call unsfdcopy(nq+1,stk(l1i+nd),1,stk(l1+nq+1),1) + else +c . computes remainder degree + nr=nd + 66 nr=nr-1 + if(nr.lt.0) goto 67 + if (itr.eq.0) then + if(stk(l1+nr).eq.0.0d+0) goto 66 + else + if(stk(l1+nr).eq.0.0d+0.and.stk(l1i+nr).eq.0.0d+0) goto 66 + endif + 67 continue + +c + if(itr.eq.0) then +c . real result + if(nr.gt.0) then +c . remainder is a polynomial + istk(id1+1)=nr+2 + lstk(top)=l1+(nr+1) + else +c . remainder is a scalar + istk(il1)=1 + istk(il1+1)=1 + istk(il1+2)=1 + lr=sadr(il1+4) + stk(lr)=stk(l1) +c???? stk(lr+1)=stk(l1i) + lstk(top)=lr+1 + endif + ilq=iadr(lstk(top)) + lq=sadr(ilq+10) + inc=1 + if (l1+nd.lt.lq) inc=-1 + call unsfdcopy(nq+1,stk(l1+nd),inc,stk(lq),inc) + if(nr.lt.0) stk(lr)=0.0d+0 + istk(ilq)=2 + istk(ilq+1)=1 + istk(ilq+2)=1 + istk(ilq+3)=0 + call icopy(4,id,1,istk(ilq+4),1) + idq=ilq+8 + istk(idq)=1 + istk(idq+1)=nq+2 + lstk(top+1)=lq+nq+1 + goto 999 + else +c . complex result +c . preserve quotient coeff + lqs=lw + lw=lqs+sadr(10)+(nq+1)*2 + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(nq+1,stk(l1+nd),1,stk(lqs),1) + call unsfdcopy(nq+1,stk(l1i+nd),1,stk(lqs+nq+1),1) + +c . set remainder + if(nr.ge.0) then + istk(il1+3)=1 + call unsfdcopy(nr+1,stk(l1i),1,stk(l1+nr+1),1) + istk(id1+1)=nr+2 + lstk(top)=l1+(nr+1)*2 + else + istk(il1+3)=0 + stk(l1)=0.0d0 + istk(id1+1)=2 + lstk(top)=l1+1 + endif +c . set quotient + ilq=iadr(lstk(top)) + istk(ilq)=2 + istk(ilq+1)=1 + istk(ilq+2)=1 + istk(ilq+3)=1 + call icopy(4,id,1,istk(ilq+4),1) + idq=ilq+8 + istk(idq)=1 + istk(idq+1)=nq+2 + lq=sadr(ilq+10) + call unsfdcopy(2*(nq+1),stk(lqs),1,stk(lq),1) + lstk(top+1)=lq+(nq+1)*2 + endif + endif + + goto 999 + 999 return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_div.lo b/modules/polynomials/sci_gateway/fortran/sci_f_div.lo new file mode 100755 index 000000000..a67a05fd8 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_div.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_div.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_div.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_pclean.f b/modules/polynomials/sci_gateway/fortran/sci_f_pclean.f new file mode 100755 index 000000000..d82b39a7a --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_pclean.f @@ -0,0 +1,124 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine intpclean(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer vol + logical ref + double precision epsa,epsr +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + if(lhs.ne.1) then + call error(41) + return + endif + if (rhs.lt.1.or.rhs.gt.3) then + call error(42) + return + endif +c + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + if(istk(il1).ne.2) then + fun=-1 + call funnam(ids(1,pt+1),'clean',il1) + return + endif + ref=il1.ne.ilr + +c get relative and absolute tolerances + epsr=1.0d-10 + epsa=1.0d-10 + + if (rhs.eq.3) then + il=iadr(lstk(top)) + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).ne.1) then + err=3 + call error(52) + return + endif + if(istk(il+1)*istk(il+2).ne.1) then + err=3 + call error(60) + return + endif + if(istk(il+3).ne.0) then + err=3 + call error(52) + return + endif + epsr=stk(sadr(il+4)) + top=top-1 + endif + + if (rhs.ge.2) then + il=iadr(lstk(top)) + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).ne.1) then + err=3 + call error(52) + return + endif + if(istk(il+1)*istk(il+2).ne.1) then + err=3 + call error(60) + return + endif + if(istk(il+3).ne.0) then + err=3 + call error(52) + return + endif + epsa=stk(sadr(il+4)) + top=top-1 + endif + + if(ref) then + k=istk(ilr+2) + vol=lstk(k+1)-lstk(k) + err=lstk(top)+vol-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(vol,stk(lstk(k)),1,stk(lstk(top)),1) + lstk(top+1)=lstk(top)+vol + il1=ilr + endif + it1=istk(il1+3) + m1=istk(il1+1) + n1=istk(il1+2) + mn1=m1*n1 + id1=il1+8 + l1=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + + + id2=iadr(lstk(top+1)) + err=sadr(id2+mn1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + if(it1.eq.0) then + call dmpcle(stk(l1),istk(id1),m1,n1,istk(id2),epsr,epsa) + else + call wmpcle(stk(l1),stk(l1+vol),istk(id1),m1,n1, + & istk(id2),epsr,epsa) + endif + lstk(top+1)=l1+(istk(id1+mn1)-1)*(it1+1) + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_pclean.lo b/modules/polynomials/sci_gateway/fortran/sci_f_pclean.lo new file mode 100755 index 000000000..333a22fe3 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_pclean.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_pclean.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_pclean.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_poly.f b/modules/polynomials/sci_gateway/fortran/sci_f_poly.f new file mode 100755 index 000000000..d17617517 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_poly.f @@ -0,0 +1,244 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine intpoly(id) + + INCLUDE 'stack.h' + integer id(nsiz) + integer iadr, sadr, w + integer blank,racine,coeff + logical roots,ref + integer r(5) + integer c(5) + integer size + character*256 tmpmsg +c + data blank/40/,racine/27/,coeff/12/ + data r/27, 24, 24, 29, 28/ + data c/12, 24, 14, 15, 15/ +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + lw=lstk(top+1) + w = 0 + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.lt.1.or.rhs.gt.3) then + call error(42) + return + endif +c + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + if(istk(il1).ne.1) then + fun=-1 + call funnam(ids(1,pt+1),'poly',il1) + return + endif + ref=il1.ne.ilr +c + roots=.true. + + if(rhs.eq.3) then + il=iadr(lstk(top)) + if(istk(il).lt.0) il=iadr(istk(il+1)) + rhs=rhs-1 + top=top-1 + if(istk(il).ne.10) then + err=rhs + call error(55) + return + endif + size = istk(il+5)-1 + if (size.ne.5 .and. size.ne.1) then + w = 1 + endif + il=il+5+istk(il+1)*istk(il+2) + if(abs(istk(il)).ne.racine) then + roots=.false. + if(abs(istk(il)).ne.coeff) then + err=rhs + call error(36) + return + endif + endif + if(w.eq.0) then + do 22 i=1,size + if(c(i).ne.abs(istk(il+i-1)).and. + $ r(i).ne.abs(istk(il+i-1))) then + w = 1 + endif + 22 continue + endif + else + roots=.true. + endif + + if(w.eq.1) then + call msgstxt('Warning:') + call msgstxt('This usage of 3rd argument of poly is obsolete.') + call msgstxt('It will be more strict in scilab 6.0.0.') + call msgstxt('Please use roots, coeff, r or c instead.') + endif + +c formal variable + il=iadr(lstk(top)) + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).ne.10) then + err=2 + call error(55) + return + endif + if(istk(il+1)*istk(il+2).ne.1) then + err=2 + call error(89) + return + endif + n=istk(il+5)-1 + if(n.gt.4) call msgs(115,0) + if (abs(istk(il+5+1)).lt.10) then + err=2 + call error(248) + return + endif + do 12 i=1,4 + id(i)=blank + if(i.le.n) then + if (abs(istk(il+5+i)).ge.blank) then + err=2 + call error(248) + return + endif + id(i)=istk(il+5+i) + else +c . fill with space + id(i)=blank + endif + 12 continue + +c +c first argument + top=top-1 + m1=istk(il1+1) + n1=istk(il1+2) + it1=istk(il1+3) + l1=sadr(il1+4) + mn1=m1*n1 + itr=it1 + + if(.not.roots) goto 17 + if(mn1.eq.1.or.m1.ne.n1) goto 14 +c polynome caracteristique,decomposition spectrale de la matrice + + if(ref) then +c necessary while matdsr and matdsc cannot be called by reference + lr=sadr(ilr+4) + err=lr+mn1*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call icopy(4,istk(il1),1,istk(ilr),1) + call unsfdcopy(mn1*(it1+1),stk(l1),1,stk(lr),1) + lstk(top+1)=lr+mn1*(it1+1) + endif + rhs=1 + call intspec('spec') + call putlhsvar + if(err.gt.0) return + il1=iadr(lstk(top)) + l1=sadr(il1+4) + mn1=m1 + m1=1 + n1=mn1 + itr=min(it1,istk(il1+3)) + it1=istk(il1+3) + lw=l1+mn1*(it1+1) + ref=.false. + ilr=il1 + goto 14 +c +c polynome defini par ses racines + 14 ild=ilr+8 + lc=sadr(ild+2) + lr=lc+(mn1+1)*(it1+1) + if(ref) then + err=lr-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + else + err=lr+mn1*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(mn1*(it1+1),stk(l1),1,stk(lr),1) + l1=lr + endif + istk(ilr)=2 + istk(ilr+1)=1 + istk(ilr+2)=1 + istk(ilr+3)=itr + call icopy(4,id,1,istk(ilr+4),1) + istk(ild)=1 + istk(ild+1)=mn1+2 + lstk(top+1)=lc+(mn1+1)*(itr+1) + + if(it1.eq.0) then + call dprxc(mn1,stk(l1),stk(lc)) + else + call wprxc(mn1,stk(l1),stk(l1+mn1),stk(lc),stk(lc+mn1+1)) + do 16 i=1,mn1+1 + l=lc-1+i + if( stk(l)+stk(l+mn1+1).ne.stk(l)) goto 999 + 16 continue + istk(ilr+3)=0 + lstk(top+1)=lc+mn1+1 + endif + goto 999 +c +c polynome defini par ses coefficients + 17 if(istk(il1).ne.1) then + err=1 + call error(53) + return + endif + if(mn1.eq.0) return + + if(n1.ne.1.and.m1.ne.1) then + err=1 + call error(89) + return + endif + + lr=sadr(ilr+10) + err=lr+mn1*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(mn1*(it1+1),stk(l1),-1,stk(lr),-1) + istk(ilr)=2 + istk(ilr+1)=1 + istk(ilr+2)=1 + istk(ilr+3)=it1 + call icopy(4,id,1,istk(ilr+4),1) + istk(ilr+8)=1 + istk(ilr+9)=1+mn1 + lstk(top+1)=lr+mn1*(it1+1) + goto 999 +c + 999 return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_poly.lo b/modules/polynomials/sci_gateway/fortran/sci_f_poly.lo new file mode 100755 index 000000000..eecc829e6 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_poly.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_poly.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_poly.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_prod.f b/modules/polynomials/sci_gateway/fortran/sci_f_prod.f new file mode 100755 index 000000000..d1380992a --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_prod.f @@ -0,0 +1,96 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine intpprod(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer vol + logical ref +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.ne.1) then + if(rhs.ge.2) then + call funnam(ids(1,pt+1),'prod',iadr(lstk(top-rhs+1))) + fun=-1 + return + endif + call error(42) + return + endif +c + lw=lstk(top+1) +c + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=il1.ne.ilr + if(istk(il1).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'prod',il1) + return + endif + +c + it1=istk(il1+3) + l1=sadr(il1+4) + mn1=istk(il1+1)*istk(il1+2) + id1=il1+8 + l1=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + + if(ref) then + lr=sadr(ilr+10) + else + lr=lw + endif + + maxd=istk(id1+mn1)-mn1 + err=lr+maxd*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif +c + stk(lr)=1.0d+0 + if(it1.eq.1) stk(lr+maxd)=0.0d+0 + m=0 + do 59 i=1,mn1 + n=istk(id1+i)-istk(id1+i-1)-1 + li=l1-1+istk(id1+i-1) + if(it1.eq.0) call dpmul1(stk(li),n,stk(lr),m,stk(lr)) + if(it1.eq.1) call wpmul1(stk(li),stk(li+vol),n,stk(lr), + 1 stk(lr+maxd),m,stk(lr),stk(lr+maxd)) + m=m+n + 59 continue + + if(ref) then + call icopy(9,istk(il1),1,istk(ilr),1) + istk(ilr)=2 + istk(ilr+1)=1 + istk(ilr+2)=1 + istk(ilr+9)=1+maxd + else + istk(ilr+1)=1 + istk(ilr+2)=1 + istk(ilr+9)=1+maxd + l1=sadr(il1+10) + call unsfdcopy(maxd*(it1+1),stk(lr),1,stk(l1),1) + lr=l1 + endif + lstk(top+1)=lr+maxd*(it1+1) + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_prod.lo b/modules/polynomials/sci_gateway/fortran/sci_f_prod.lo new file mode 100755 index 000000000..d3fbfe022 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_prod.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_prod.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_prod.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_psimp.f b/modules/polynomials/sci_gateway/fortran/sci_f_psimp.f new file mode 100755 index 000000000..0bab577de --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_psimp.f @@ -0,0 +1,213 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine intpsimp(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer vola,volb + logical chkvar +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + +c simp(num,den) +c + if(lhs.ne.2) then + call error(41) + return + endif +c + ila=iadr(lstk(top+1-rhs)) + + il=ila + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'simp',il) + return + endif +c + ilb=iadr(lstk(top)) + + il=ilb + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'simp',il) + return + endif +c + if(istk(ila).lt.0) then +c move b and copy value of a in place of its reference + k=istk(ila+2) + vola=lstk(k+1)-lstk(k) + volb=lstk(top+1)-lstk(top) + err=lstk(top)+vola+volb-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(volb,stk(lstk(top)),-1,stk(lstk(top-1)+vola),-1) + call unsfdcopy(vola,stk(lstk(k)),1,stk(lstk(top-1)),1) + lstk(top)=lstk(top-1)+vola + ilb=iadr(lstk(top)) + lstk(top+1)=lstk(top)+volb + endif + + if(istk(ilb).lt.0) then +c copy value of b in place of its reference + k=istk(ilb+2) + volb=lstk(k+1)-lstk(k) + err=lstk(top)+volb-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(volb,stk(lstk(k)),1,stk(lstk(top)),1) + lstk(top+1)=lstk(top)+volb + endif + lw=lstk(top+1) + +c + if(istk(ila+3).ne.0.or.istk(ilb+3).ne.0) then + fun=-1 + call funnam(ids(1,pt+1),'simp',ilb) + return + endif +c + mna=istk(ila+1)*istk(ila+2) + id(1)=0 + if(istk(ila).eq.2) then + ida=ila+8 + la=sadr(ida+mna+1) + call icopy(4,istk(ila+4),1,id,1) + else + la=sadr(ila+4) + ida=iadr(lw) + lw=sadr(ida+mna+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + do 74 i=1,mna+1 + istk(ida+i-1)=i + 74 continue + endif +c + mnb=istk(ilb+1)*istk(ilb+2) + if(istk(ilb).eq.2) then + idb=ilb+8 + lb=sadr(idb+mnb+1) + if(id(1).eq.0) then + call icopy(4,istk(ilb+4),1,id,1) + else + if(.not.chkvar(id,istk(ilb+4))) then + call error(43) + return + endif + endif + else + lb=sadr(ilb+4) + idb=iadr(lw) + lw=sadr(idb+mna+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + do 75 i=1,mna+1 + istk(idb+i-1)=i + 75 continue + endif + + if(mnb.ne.mna)then + call error(60) + return + endif +c +c determine max of the degrees + na=0 + nb=0 + do 76 i=1,mna + na=max(na,istk(ida+i)-istk(ida-1+i)) + nb=max(nb,istk(idb+i)-istk(idb-1+i)) + 76 continue +c preserve adress of the beginning of a and b coefficients + + lar=la + lbr=lb +c allocate memory for intermediate results + law=lw + lbw=law+na+1 + lw=lbw+nb+1 + +c simplify + la1=la + lb1=lb + do 79 i=1,mna + na=istk(ida+i)-istk(ida-1+i)-1 + nb=istk(idb+i)-istk(idb-1+i)-1 + ierr=lstk(bot)-lw + call dpsimp(stk(la),na,stk(lb),nb,stk(law),nnum, + $ stk(lbw),nden,stk(lw),ierr) + if(ierr.eq.1) then + call error(27) + return + elseif(ierr.eq.2) then + call msgs(43,i) + endif +c . copy overwrite initial polynomials with simplified ones + call dcopy(nnum,stk(law),1,stk(la1),1) + call dcopy(nden,stk(lbw),1,stk(lb1),1) + + la=la+na+1 + lb=lb+nb+1 + la1=la1+nnum + lb1=lb1+nden + istk(ida-1+i)=nnum + istk(idb-1+i)=nden + 79 continue +c +c form vector of pointers from vector of degrees+1 + ma=1 + mb=1 + do 80 i=1,mna+1 + na=istk(ida-1+i) + nb=istk(idb-1+i) + istk(ida-1+i)=ma + istk(idb-1+i)=mb + ma=ma+na + mb=mb+nb + 80 continue +c +c compute position of the a and b simplified in the result + lstk(top)=lar+istk(ida+mna)-1 + il=iadr(lstk(top)) +c +c put new b variable in place + if(istk(ilb).eq.2) then +c b matrice de polynome + l=sadr(il+9+mna) +c . move b data up + call icopy(9+mna,istk(ilb),1,istk(il),1) + call unsfdcopy(istk(il+8+mna),stk(lbr),1,stk(l),1) + l=l+istk(il+8+mna)-1 + else +c b matrice de scalaires + call icopy(4,istk(ilb),1,istk(il),1) + l=sadr(il+4) + call unsfdcopy(mna,stk(lbr),1,stk(l),1) + l=l+mna + endif + lstk(top+1)=l + end + +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_psimp.lo b/modules/polynomials/sci_gateway/fortran/sci_f_psimp.lo new file mode 100755 index 000000000..59e360eb1 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_psimp.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_psimp.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_psimp.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_roots.f b/modules/polynomials/sci_gateway/fortran/sci_f_roots.f new file mode 100755 index 000000000..3ef6de770 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_roots.f @@ -0,0 +1,243 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA - Serge Steer +c Copyright (C) 2011 - DIGITEO - Michael Baudin +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine introots(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + double precision t,sr,si + integer vol + integer fail + logical ref,eigen + integer algo_eig + integer algo_fast + data algo_eig/14/ + data algo_fast/15/ +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + lw=lstk(top+1) + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.ne.1.and.rhs.ne.2) then + call error(42) + return + endif +c +c if algo=="e", then eigen = .true. +c if algo=="f", then eigen = .false. +c + eigen=.true. +c Read the algo option + if (rhs.eq.2) then + ilopt=iadr(lstk(top)) + if(istk(ilopt).lt.0) ilopt=iadr(istk(ilopt+1)) + if(istk(ilopt).ne.10) then + err=2 + call error(55) + return + endif + if(istk(ilopt+1).ne.1.or.istk(ilopt+2).ne.1) then + err=2 + call error(89) + return + endif + if(istk(ilopt+5).ne.2) then + err=2 + call error(116) + return + else + if (istk(ilopt+6)==algo_eig) then + eigen=.true. + elseif (istk(ilopt+6)==algo_fast) then + eigen=.false. + else + err=2 + call error(116) + return + endif + endif + rhs=rhs-1 + top=top-1 + endif + + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=il1.ne.ilr + if(istk(il1).gt.2) then + fun=-1 + call funnam(ids(1,pt+1),'roots',il1) + return + endif +c + m1=istk(il1+1) + n1=istk(il1+2) + mn1=m1*n1 + if(m1*n1.eq.0) then + return + endif + + it1=istk(il1+3) +c If "fast" algo was chosen and polynomial is complex, +c then produce an error. + if ( .not.eigen .and. it1 .eq. 1 ) then + err=2 + call error(116) + return + endif + + if(istk(il1).eq.1) then +c for Matlab compatibility root of the vector of coefficients + vol=mn1 + l1=sadr(il1+4) + + n=mn1 + if(.not.ref) then + call dtild(n,stk(l1),1) + if(it1.eq.1) then + call dtild(n,stk(l1+n),1) + endif + lc=l1 + else + lc=lw + lw=lc+n*(it1+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dcopy(n,stk(l1),1,stk(lc),-1) + if(it1.eq.1) call dcopy(n,stk(l1+n),1,stk(lc+n),-1) + endif + else + if(mn1.ne.1) then + err=1 + call error(43) + return + endif + + if(istk(il1).lt.2) goto 24 + + id1=il1+8 + lc=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + call icopy(4,istk(il1+4),1,id,1) + n=vol + endif + l1=sadr(ilr+4) + 21 n=n-1 + if(n.lt.0) then + goto 24 + endif + t=abs(stk(lc+n)) + if(it1.eq.1) then + t=t+abs(stk(lc+n+vol)) + endif + if(t.eq.0.0d+0) then + goto 21 + endif + + if ( .not.eigen .and.n.gt.100) then +c If "fast" algo was chosen and polynomial has degree greater than 100, +c then produce an error. + err=2 + call error(116) + return + endif + + if (.not.eigen) then +c +c real polynomial: rpoly algorithm +c this alg is much more speedy, but it may happens that it gives +C erroneous results without messages : example +C roots(%s^31-8*%s^30+9*%s^29+0.995) should have two real roots near +C 1.355 and 6.65 and the other ones inside a circle centered in 0 +C with radius 1 +C + + lp=max(lw,l1+2*n) + err=lp+n+1-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(n+1,stk(lc),1,stk(lp),1) + call dtild(n+1,stk(lp),1) + call rpoly(stk(lp),n,stk(l1),stk(l1+n),fail) + if(fail.eq.1) then + call error(24) + return + elseif(fail.eq.2) then + call error(74) + return + elseif(fail.eq.3) then + call error(75) + return + + endif + istk(ilr)=1 + istk(ilr+1)=n + istk(ilr+2)=1 + if(n.eq.0) istk(ilr+2)=0 + istk(ilr+3)=1 + lstk(top+1)=l1+2*n + return + else +c +c Companion matrix method + lw=lw+n*n*(it1+1) + err=lw+n*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + sr=stk(lc+n) + call unsfdcopy(n,stk(lc),-1,stk(lw),1) + if(it1.eq.0) then + call dscal(n,-1.0d+0/sr,stk(lw),1) + else + si=stk(lc+vol+n) + t=sr*sr+si*si + sr=-sr/t + si=si/t + call unsfdcopy(n,stk(lc+vol),-1,stk(lw+n),1) + call wscal(n,sr,si,stk(lw),stk(lw+n),1) + endif + call dset(n*n*(it1+1),0.0d+0,stk(l1),1) + call dset(n-1,1.0d+0,stk(l1+n),n+1) + call unsfdcopy(n,stk(lw),1,stk(l1),1) + if(it1.eq.1) then + call unsfdcopy(n,stk(lw+n),1,stk(l1+n*n),1) + endif + lstk(top+1)=l1+n*n*(it1+1) + istk(ilr)=1 + istk(ilr+1)=n + istk(ilr+2)=n + istk(ilr+3)=it1 + fin=3 + fun=2 +c *call* matds(r c) + return + endif + +c polynome de degre 0 + 24 istk(ilr)=1 + istk(ilr+1)=0 + istk(ilr+2)=0 + istk(ilr+3)=0 + lstk(top+1)=sadr(ilr+4) + + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_roots.lo b/modules/polynomials/sci_gateway/fortran/sci_f_roots.lo new file mode 100755 index 000000000..3fe91314d --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_roots.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_roots.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_roots.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.f b/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.f new file mode 100755 index 000000000..2c44ce5a9 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.f @@ -0,0 +1,211 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine intrsimp(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer vola,volb,vol + logical refr,chkvar,israt,ok +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + lw=lstk(top+1) + +c simplification of a transfer function + if(lhs.ne.1) then + call error(41) + return + endif + il1=iadr(lstk(top)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + refr=il1.ne.ilr + if(.not.israt(il1,ila,ilb,ildom)) then + fun=-1 + call funnam(ids(1,pt+1),'simp',il1) + return + endif +c + if(istk(ila+3).ne.0.or.istk(ilb+3).ne.0) then + fun=-1 + call funnam(ids(1,pt+1),'simp',il1) + return + endif +c + if(refr) then + k=istk(ilr+2) + vol=lstk(k+1)-lstk(k) + err=lstk(top)+vol-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(vol,stk(lstk(k)),1,stk(lstk(top)),1) + lstk(top+1)=lstk(top)+vol + lw=lstk(top+1) + il1=ilr + ok=israt(il1,ila,ilb,ildom) + endif +c + mna=istk(ila+1)*istk(ila+2) + id(1)=0 + if(istk(ila).eq.2) then + ida=ila+8 + la=sadr(ida+mna+1) + call icopy(4,istk(ila+4),1,id,1) + else + la=sadr(ila+4) + ida=iadr(lw) + lw=sadr(ida+mna+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + do 74 i=1,mna+1 + istk(ida+i-1)=i + 74 continue + endif +c + mnb=istk(ilb+1)*istk(ilb+2) + if(istk(ilb).eq.2) then + idb=ilb+8 + lb=sadr(idb+mnb+1) + if(id(1).eq.0) then + call icopy(4,istk(ilb+4),1,id,1) + else + if(.not.chkvar(id,istk(ilb+4))) then + call error(43) + return + endif + endif + else + lb=sadr(ilb+4) + idb=iadr(lw) + lw=sadr(idb+mna+1) + err=lw-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + do 75 i=1,mna+1 + istk(idb+i-1)=i + 75 continue + endif + + if(mnb.ne.mna)then + call error(60) + return + endif +c +c determine max of the degrees + na=0 + nb=0 + do 76 i=1,mna + na=max(na,istk(ida+i)-istk(ida-1+i)) + nb=max(nb,istk(idb+i)-istk(idb-1+i)) + 76 continue +c +c set adress where to put the results + ll=sadr(il1+7) + ill=iadr(ll) + la1=la + lb1=lb + ida1=ida + idb1=idb +c +c allocate memory for intermediate results + law=lw + lbw=law+na+1 + lw=lbw+nb+1 + +c beginning of numerator in resulting structure + l0=ll+istk(ilr+4)-1 + +c + lar=la1 + lbr=lb1 + nta=istk(ida+mna) + ntb=istk(idb+mnb) +c simplify + do 79 i=1,mna + na=istk(ida+i)-istk(ida-1+i)-1 + nb=istk(idb+i)-istk(idb-1+i)-1 + ierr=lstk(bot)-lw + call dpsimp(stk(la),na,stk(lb),nb,stk(law),nnum, + $ stk(lbw),nden,stk(lw),ierr) + if(ierr.eq.1) then + call error(27) + return + elseif(ierr.eq.2) then + call msgs(43,i) + endif + +c . copy overwrite initial polynomials with simplified ones + call dcopy(nnum,stk(law),1,stk(la1),1) + call dcopy(nden,stk(lbw),1,stk(lb1),1) + + la=la+na+1 + lb=lb+nb+1 + la1=la1+nnum + lb1=lb1+nden + istk(ida1-1+i)=nnum + istk(idb1-1+i)=nden + 79 continue +c +c form vector of pointers from vector of degrees+1 + ma=1 + mb=1 + do 80 i=1,mna+1 + na=istk(ida1-1+i) + nb=istk(idb1-1+i) + istk(ida1-1+i)=ma + istk(idb1-1+i)=mb + ma=ma+na + mb=mb+nb + 80 continue +c +c update size of numerator + vola=istk(ilr+4)-istk(ilr+3)+istk(ida1+mna)-nta + istk(ilr+4)=istk(ilr+3)+vola + +c compute position of new denominator in the result + ll0=ll+istk(ilr+4)-1 + il=iadr(ll0) +c +c put new b variable in place + if(istk(ilb).eq.2) then +c b matrice de polynome + call icopy(9+mna,istk(ilb),1,istk(il),1) + idb1=il+8 + l=sadr(il+9+mna) + call unsfdcopy(istk(idb1+mna)-1,stk(lbr),1,stk(l),1) + l=l+istk(idb1+mna)-1 + else +c b matrice de scalaires + call icopy(4,istk(ilb),1,istk(il),1) + l=sadr(il+4) + call unsfdcopy(mna,stk(lbr),1,stk(l),1) + l=l+mna + endif + volb=l-ll0 + +c copy 4th entry of the list + mb=istk(ilr+6)-istk(ilr+5) + call unsfdcopy(mb,stk(ll+istk(ilr+5)-1),1,stk(l),1) + l=l+mb + lstk(top+1)=l +c adjust components sizes + istk(ilr+5)=istk(ilr+4)+volb + istk(ilr+6)=istk(ilr+5)+mb + + + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.lo b/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.lo new file mode 100755 index 000000000..b729e4c4f --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_rsimp.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_rsimp.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_rsimp.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_sfact.f b/modules/polynomials/sci_gateway/fortran/sci_f_sfact.f new file mode 100755 index 000000000..76610aeb6 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_sfact.f @@ -0,0 +1,166 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + + subroutine intsfact(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer vol + logical ref + +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + maxit=100 + lw=lstk(top+1) + + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.ne.1) then + call error(42) + return + endif + + il1=iadr(lstk(top)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=ilr.ne.il1 + if(istk(il1).ne.2) then + fun=-1 + call funnam(ids(1,pt+1),'sfact',il1) + return + endif + m1=istk(il1+1) + n1=istk(il1+2) + it1=istk(il1+3) + if(it1.ne.0) then + err=1 + call error(52) + return + endif + mn1=m1*n1 + id1=il1+8 + l1=sadr(id1+mn1+1) + lr=l1 + vol=istk(id1+mn1)-1 + + if(mn1.eq.1) then +c +c sfact of a polynomial + if(ref) then +c . sfact1 modifies its input argument + lr=sadr(ilr+8+mn1+1) + lstk(top+1)=lr+vol + err=lstk(top+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call icopy(8+mn1+1,istk(il1),1,istk(ilr),1) + call unsfdcopy(vol,stk(l1),1,stk(lr),1) + lstk(top+1)=lr+vol + endif +c +c . check symmetry + n1=istk(id1+1)-2 + if (2*int(n1/2).ne.n1) then + call error(88) + return + endif + n=1+n1/2 + do 81 i=0,n-1 + if(stk(lr+i).ne.stk(lr+n1-i)) then + call error(88) + return + endif + 81 continue +c + lw=lstk(top+1) + err=lw+6*n-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call sfact1(stk(lr),n-1,stk(lw),maxit,ierr) + if(ierr.eq.2) then + call writebufstfacta(buf,n-1) + call error(999) + return + else if(ierr.eq.1) then + call error(24) + return + else if(ierr.lt.0) then +c convergence incomplete + call writebufstfacta(buf,ierr) + call msgs(22,0) + endif + lstk(top+1)=lr+n + istk(ilr+8+1)=n+1 + else +c multivariable case + if(m1.ne.n1) then + err=1 + call error(20) + return + endif +c . convert matrix of polynomials to a polynomial matrix + n1=0 + do 87 i=1,mn1 + n1=max(n1,istk(id1+i)-istk(id1+i-1)) + 87 continue +c + n1=1+(n1-1)/2 + l2=lstk(top+1) + if(ref) l2=l2+mn1+9+mn1*n1 + lw=l2+mn1*n1 + err=lw+sadr((n1+1)*m1*((n1+1)*m1)+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif +c + call dset(mn1*n1,0.0d+0,stk(l2),1) + do 88 i1=0,mn1-1 + lij=l1-1+istk(id1+i1) + mij=2+istk(id1+i1+1)-istk(id1+i1)-1-n1 + if(mij.gt.0) call unsfdcopy(mij,stk(lij+n1-1),1, + $ stk(l2+i1),mn1) + 88 continue +c + maxit=maxit+n1 + call sfact2(stk(l2),m1,n1-1,stk(lw),maxit,ierr) + if(ierr.lt.0) then + call error(24) + return + endif + if(ierr.gt.0) then + call error(88) + return + endif +c . convert polynomial matrix to matrix of polynomials + id1=ilr+8 + lr=sadr(id1+mn1+1) + l1=lr + do 89 i=0,mn1-1 + call unsfdcopy(n1,stk(l2+i),mn1,stk(l1),1) + l1=l1+n1 + 89 continue + do 90 i=0,mn1 + istk(id1+i)=1+n1*i + 90 continue + if(ref) call icopy(8,istk(il1),1,istk(ilr),1) + + lstk(top+1)=l1 + endif + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_sfact.lo b/modules/polynomials/sci_gateway/fortran/sci_f_sfact.lo new file mode 100755 index 000000000..e40db441f --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_sfact.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_sfact.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_sfact.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_simp.f b/modules/polynomials/sci_gateway/fortran/sci_f_simp.f new file mode 100755 index 000000000..e1e0eaed3 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_simp.f @@ -0,0 +1,34 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine intsimp(id) + INCLUDE 'stack.h' + +Cc (DLL Import Intel Fortran) +cDEC$ IF DEFINED (FORDLL) +cDEC$ ATTRIBUTES DLLIMPORT:: /csimp/ +cDEC$ ENDIF + integer id(nsiz) + integer simpmd + common/csimp/ simpmd +c + if(simpmd.eq.0) then + call ref2val() + return + endif + if(rhs.eq.1) then + call intrsimp(id) + elseif(rhs.eq.2) then + call intpsimp(id) + else + call error(39) + endif +c + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_simp.lo b/modules/polynomials/sci_gateway/fortran/sci_f_simp.lo new file mode 100755 index 000000000..b3b85bb83 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_simp.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_simp.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_simp.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.f b/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.f new file mode 100755 index 000000000..26c2c5bf3 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.f @@ -0,0 +1,57 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine intsimpmd(id) + INCLUDE 'stack.h' + +Cc (DLL Import Intel Fortran) +cDEC$ IF DEFINED (FORDLL) +cDEC$ ATTRIBUTES DLLIMPORT:: /csimp/ +cDEC$ ENDIF + integer iadr, sadr + integer id(nsiz) + integer simpmd + + common/csimp/ simpmd +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + if(rhs.gt.1) then + call error(39) + return + endif + if(rhs.le.0) then + top=top+1 + il=iadr(lstk(top)) + istk(il)=4 + istk(il+1)=1 + istk(il+2)=1 + istk(il+3)=simpmd + lstk(top+1)=sadr(il+4) + else + il=iadr(lstk(top)) + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).ne.4) then + err=1 + call error(208) + return + endif + if(istk(il+1)*istk(il+2).ne.1) then + err=1 + call error(36) + return + endif + simpmd=istk(il+3) + il=iadr(lstk(top)) + istk(il)=0 + lstk(top+1)=sadr(il+1) + endif + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.lo b/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.lo new file mode 100755 index 000000000..45cd365a1 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_simpmd.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_simpmd.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_simpmd.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_sum.f b/modules/polynomials/sci_gateway/fortran/sci_f_sum.f new file mode 100755 index 000000000..a6ba90e24 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_sum.f @@ -0,0 +1,94 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine intpsum(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + + integer vol + logical ref +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.ne.1) then + if(rhs.ge.2) then + call funnam(ids(1,pt+1),'sum',iadr(lstk(top-rhs+1))) + fun=-1 + return + endif + call error(42) + return + endif +c + lw=lstk(top+1) +c + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=il1.ne.ilr + if(istk(il1).ne.2) then + fun=-1 + call funnam(ids(1,pt+1),'sum',il1) + return + endif +c + it1=istk(il1+3) + l1=sadr(il1+4) + mn1=istk(il1+1)*istk(il1+2) + id1=il1+8 + l1=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 +c + maxd=0 + do 56 i=1,mn1 + m=istk(id1+i)-istk(id1-1+i) + if(m.gt.maxd) maxd=m + 56 continue + + if(ref) then + lr=sadr(ilr+10) + else + lr=lw + endif + + err=lw+maxd*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call dset(maxd*(it1+1),0.0d+0,stk(lr),1) + do 57 i=1,mn1 + li=l1-1+istk(id1-1+i) + n=istk(id1+i)-istk(id1-1+i) + call dadd(n,stk(li),1,stk(lr),1) + if(it1.eq.1) call dadd(n,stk(li+vol),1,stk(lr+maxd),1) + 57 continue + if(ref) then + call icopy(9,istk(il1),1,istk(ilr),1) + istk(ilr)=2 + istk(ilr+1)=1 + istk(ilr+2)=1 + istk(ilr+9)=1+maxd + else + istk(ilr+1)=1 + istk(ilr+2)=1 + istk(ilr+9)=1+maxd + l1=sadr(il1+10) + call unsfdcopy(maxd*(it1+1),stk(lr),1,stk(l1),1) + lr=l1 + endif + lstk(top+1)=lr+maxd*(it1+1) + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_sum.lo b/modules/polynomials/sci_gateway/fortran/sci_f_sum.lo new file mode 100755 index 000000000..a8b23659a --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_sum.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_sum.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_sum.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.f b/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.f new file mode 100755 index 000000000..d3e164b25 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.f @@ -0,0 +1,117 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine intptriu(job,id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer volr,vol,tops + logical ref + +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + tops=top +c + if(lhs.ne.1) then + call error(41) + return + endif + if(rhs.ne.1.and.rhs.ne.2) then + call error(42) + return + endif +c + kdiag=0 + if (rhs .eq. 2) then + il=iadr(lstk(top)) + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).ne.1) then + err=1 + call error(53) + return + endif + if(istk(il+3).ne.0) then + err=1 + call error(52) + return + endif + if(istk(il+1)*istk(il+2).ne.1) then + err=1 + call error(89) + return + endif + kdiag = int(stk(sadr(il+4))) + top = top-1 + endif + + lw=lstk(top+1) +c + il1=iadr(lstk(top)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=il1.ne.ilr + if(istk(il1).gt.2) then + fun=-1 + top=tops + call funnam(ids(1,pt+1),'triu',il1) + return + endif +c + id1=il1+8 + m1=istk(il1+1) + n1=istk(il1+2) + it1=istk(il1+3) + mn1=m1*n1 + l1=sadr(id1+mn1+1) + vol=istk(id1+mn1)-1 + +c + if(ref) then + idr=ilr+8 + else + idr=iadr(lw) + endif + + lr=sadr(idr+mn1+1) + err=lr-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + + call mptri(istk(id1),m1,n1,kdiag,istk(idr),job) + volr=istk(idr) + err=lr+volr*(it1+1)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + if (it1.eq.0) then + call dmpins(stk(l1),istk(id1),m1,n1,stk,1,0,0, + 1 stk(lr),istk(idr),m1,n1) + else + call wmpins(stk(l1),stk(l1+vol),istk(id1),m1,n1, + 1 stk,stk,1,0,0,stk(lr),stk(lr+volr),istk(idr),m1,n1) + endif + + if(ref) then + call icopy(8,istk(il1),1,istk(ilr),1) + l1=lr + else + call icopy(mn1+1,istk(idr),1,istk(id1),1) + l1=sadr(id1+mn1+1) + call unsfdcopy(volr*(it1+1),stk(lr),1,stk(l1),1) + endif + istk(ilr+1)=m1 + istk(ilr+2)=n1 + lstk(top+1)=l1+volr*(it1+1) + 999 return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.lo b/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.lo new file mode 100755 index 000000000..a76ce7cca --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_triu_tril.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_triu_tril.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_triu_tril.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_varn.f b/modules/polynomials/sci_gateway/fortran/sci_f_varn.f new file mode 100755 index 000000000..64e365456 --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_varn.f @@ -0,0 +1,116 @@ +c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +c Copyright (C) ????-2008 - INRIA +c +c This file must be used under the terms of the CeCILL. +c This source file is licensed as described in the file COPYING, which +c you should have received as part of this distribution. The terms +c are also available at +c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + subroutine intvarn(id) + INCLUDE 'stack.h' + integer iadr, sadr + integer id(nsiz) + integer vol,blank + logical ref + data blank/40/ +c + iadr(l)=l+l-1 + sadr(l)=(l/2)+1 +c + if(lhs.ne.1) then + call error(41) + return + endif +c + il1=iadr(lstk(top+1-rhs)) + ilr=il1 + if(istk(il1).lt.0) il1=iadr(istk(il1+1)) + ref=ilr.ne.il1 + if(istk(il1).ne.2) then + if(rhs.eq.2.and.istk(il1).eq.1) then + top=top-1 + if (ref) then + k=istk(ilr+2) + vol=lstk(k+1)-lstk(k) + err=lstk(top)+vol-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(vol,stk(lstk(k)),1,stk(lstk(top)),1) + lstk(top+1)=lstk(top)+vol + endif + return + endif + fun=-1 + call funnam(ids(1,pt+1),'varn',il1) + return + endif + call icopy(4,istk(il1+4),1,id,1) + + if(rhs.eq.1) then +c get formal variable name + if(ref) then + err=sadr(ilr+10)-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + endif +c extraction du nom de la variable muette + istk(ilr)=10 + istk(ilr+1)=1 + istk(ilr+2)=1 + istk(ilr+3)=0 + do 10 ii=4,1,-1 + if(istk(il1+3+ii).ne.blank) then + nv=ii + goto 11 + endif + 10 continue + 11 call icopy(nv,istk(il1+4),-1,istk(ilr+6),-1) + istk(ilr+4)=1 + istk(ilr+5)=nv+1 + lstk(top+1)=sadr(ilr+10) + elseif(rhs.eq.2) then +c change formal variable name +c . get new variable name + il=iadr(lstk(top)) + if(istk(il).lt.0) il=iadr(istk(il+1)) + if(istk(il).ne.10) then + err=2 + call error(55) + return + endif + if(istk(il+1)*istk(il+2).ne.1) then + err=2 + call error(36) + return + endif + nc=istk(il+5)-1 + if(istk(il1).eq.1) goto 106 + call icopy(max(4,nc),istk(il+6),1,id,1) + if(nc.lt.4) call iset(4-nc,blank,id(nc+1),1) + 106 top=top-1 + if(ref) then +c . variable is passed by reference copy it on the top of the +c stack + k=istk(ilr+2) + vol=lstk(k+1)-lstk(k) + err=lstk(top)+vol-lstk(bot) + if(err.gt.0) then + call error(17) + return + endif + call unsfdcopy(vol,stk(lstk(k)),1,stk(lstk(top)),1) + lstk(top+1)=lstk(top)+vol + endif + ilr=iadr(lstk(top)) + call icopy(4,id,1,istk(ilr+4),1) + else + call error(42) + return + endif + return + end +c ======================================= diff --git a/modules/polynomials/sci_gateway/fortran/sci_f_varn.lo b/modules/polynomials/sci_gateway/fortran/sci_f_varn.lo new file mode 100755 index 000000000..50465962b --- /dev/null +++ b/modules/polynomials/sci_gateway/fortran/sci_f_varn.lo @@ -0,0 +1,12 @@ +# sci_gateway/fortran/sci_f_varn.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/sci_f_varn.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/polynomials/sci_gateway/polynomials_gateway.xml b/modules/polynomials/sci_gateway/polynomials_gateway.xml new file mode 100755 index 000000000..ba2f017f0 --- /dev/null +++ b/modules/polynomials/sci_gateway/polynomials_gateway.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Sylvestre LEDRU + * Copyright (C) 2007-2008 - INRIA - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> + +<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd"> +<GATEWAY name="polynomials"> + <!-- =================== --> + <!-- + Scilab + Interface description. In this file, we define the list of the function which + will be available into Scilab and the link to the "native" function. + + gatewayId is the position in the hashtable 'Interfaces' defined in the + file SCI/modules/core/src/c/callinterf.h + + primitiveId is the position in the hashtable '<module>Table Tab[]' defined + in the file modules/<module>/sci_gateway/c/gw_<module>.c + + primitiveName is the name of the Scilab function + + =================== + Don't touch if you do not know what you are doing +--> + <!-- =================== --> + + <!-- + Some hardcoded call to interfaces in polynomials gateway : + SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_clean.f(34): fun=16 fin=18 + SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_diag.f(143): fun=16 fin=10 + SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_prod.f(173): fun=16 fin=9 + SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_sum.f(127): fun=16 fin=8 + SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_tril.f(96): fun=16 fin=12 + SCI/modules/elementary_functions/sci_gateway/fortran/sci_f_triu.f(98): fun=16 fin=11 + --> + + <PRIMITIVE gatewayId="16" primitiveId="1" primitiveName="poly" /> + <PRIMITIVE gatewayId="16" primitiveId="2" primitiveName="roots" /> + <PRIMITIVE gatewayId="16" primitiveId="3" primitiveName="degree" /> + <PRIMITIVE gatewayId="16" primitiveId="4" primitiveName="coeff" /> + <PRIMITIVE gatewayId="16" primitiveId="6" primitiveName="pppdiv" /> + <PRIMITIVE gatewayId="16" primitiveId="7" primitiveName="simp" /> + <PRIMITIVE gatewayId="16" primitiveId="13" primitiveName="bezout" /> + <PRIMITIVE gatewayId="16" primitiveId="14" primitiveName="sfact" /> + <PRIMITIVE gatewayId="16" primitiveId="15" primitiveName="simp_mode" /> + <PRIMITIVE gatewayId="16" primitiveId="16" primitiveName="varn" /> +</GATEWAY> |