diff options
Diffstat (limited to 'modules/fftw')
181 files changed, 24771 insertions, 0 deletions
diff --git a/modules/fftw/.libs/libscifftw-algo.a b/modules/fftw/.libs/libscifftw-algo.a Binary files differnew file mode 100755 index 000000000..204e5d3e3 --- /dev/null +++ b/modules/fftw/.libs/libscifftw-algo.a diff --git a/modules/fftw/.libs/libscifftw-algo.la b/modules/fftw/.libs/libscifftw-algo.la new file mode 120000 index 000000000..684bb42f6 --- /dev/null +++ b/modules/fftw/.libs/libscifftw-algo.la @@ -0,0 +1 @@ +../libscifftw-algo.la
\ No newline at end of file diff --git a/modules/fftw/.libs/libscifftw.a b/modules/fftw/.libs/libscifftw.a Binary files differnew file mode 100755 index 000000000..0fc91bd37 --- /dev/null +++ b/modules/fftw/.libs/libscifftw.a diff --git a/modules/fftw/.libs/libscifftw.la b/modules/fftw/.libs/libscifftw.la new file mode 120000 index 000000000..fe579a093 --- /dev/null +++ b/modules/fftw/.libs/libscifftw.la @@ -0,0 +1 @@ +../libscifftw.la
\ No newline at end of file diff --git a/modules/fftw/Elementary_functions_f_Import.def b/modules/fftw/Elementary_functions_f_Import.def new file mode 100755 index 000000000..a687a6752 --- /dev/null +++ b/modules/fftw/Elementary_functions_f_Import.def @@ -0,0 +1,5 @@ +LIBRARY elementary_functions_f.dll + + +EXPORTS +dset_
\ No newline at end of file diff --git a/modules/fftw/Makefile b/modules/fftw/Makefile new file mode 100755 index 000000000..498639673 --- /dev/null +++ b/modules/fftw/Makefile @@ -0,0 +1,1609 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# modules/fftw/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2007 - INRIA - Sylvestre LEDRU +# Copyright (C) 2007 - 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 + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr> +# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr> +# +# 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 +# + +########## +### Makefile included stuff +### Target, variable, suffixes which are supposed to be useful in every makefile.am +########## + + + +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/scilab +pkgincludedir = $(includedir)/scilab +pkglibdir = $(libdir)/scilab +pkglibexecdir = $(libexecdir)/scilab +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +am__append_1 = libscifftw-algo.la +DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \ + $(top_srcdir)/config/depcomp +am__append_2 = java +subdir = modules/fftw +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \ + $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \ + $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \ + $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \ + $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \ + $(top_srcdir)/m4/intel_compiler.m4 \ + $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \ + $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \ + $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \ + $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \ + $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(pkglibdir)" \ + "$(DESTDIR)$(libscifftw_la_etcdir)" \ + "$(DESTDIR)$(libscifftw_la_rootdir)" \ + "$(DESTDIR)$(libscifftw_la_sci_gatewaydir)" +LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES) +libscifftw_algo_la_LIBADD = +am__libscifftw_algo_la_SOURCES_DIST = src/nofftw/nofftw.c \ + src/c/callfftw.c src/c/fftwlibname.c src/c/fftw_utilities.c \ + src/c/sci_data_utilities.c src/c/with_fftw.c +am__dirstamp = $(am__leading_dot)dirstamp +#am__objects_1 = src/nofftw/libscifftw_algo_la-nofftw.lo +am__objects_1 = src/c/libscifftw_algo_la-callfftw.lo \ + src/c/libscifftw_algo_la-fftwlibname.lo \ + src/c/libscifftw_algo_la-fftw_utilities.lo \ + src/c/libscifftw_algo_la-sci_data_utilities.lo \ + src/c/libscifftw_algo_la-with_fftw.lo +am_libscifftw_algo_la_OBJECTS = $(am__objects_1) +libscifftw_algo_la_OBJECTS = $(am_libscifftw_algo_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +am_libscifftw_algo_la_rpath = +#am_libscifftw_algo_la_rpath = +am__DEPENDENCIES_1 = +libscifftw_la_DEPENDENCIES = libscifftw-algo.la \ + $(am__DEPENDENCIES_1) +am__libscifftw_la_SOURCES_DIST = src/nofftw/nofftw.c src/c/callfftw.c \ + src/c/fftwlibname.c src/c/fftw_utilities.c \ + src/c/sci_data_utilities.c src/c/with_fftw.c \ + sci_gateway/c/gw_fftw.c \ + sci_gateway/c/sci_fftwlibraryisloaded.c \ + sci_gateway/c/sci_disposefftwlibrary.c \ + sci_gateway/c/sci_fftw.c sci_gateway/c/sci_fftw_flags.c \ + sci_gateway/c/sci_loadfftwlibrary.c \ + sci_gateway/c/sci_get_fftw_wisdom.c \ + sci_gateway/c/sci_set_fftw_wisdom.c \ + sci_gateway/c/sci_fftw_forget_wisdom.c sci_gateway/c/sci_dct.c \ + sci_gateway/c/sci_dst.c +#am__objects_2 = src/nofftw/libscifftw_la-nofftw.lo +am__objects_2 = src/c/libscifftw_la-callfftw.lo \ + src/c/libscifftw_la-fftwlibname.lo \ + src/c/libscifftw_la-fftw_utilities.lo \ + src/c/libscifftw_la-sci_data_utilities.lo \ + src/c/libscifftw_la-with_fftw.lo +am__objects_3 = sci_gateway/c/libscifftw_la-gw_fftw.lo \ + sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo \ + sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo \ + sci_gateway/c/libscifftw_la-sci_fftw.lo \ + sci_gateway/c/libscifftw_la-sci_fftw_flags.lo \ + sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo \ + sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo \ + sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo \ + sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo \ + sci_gateway/c/libscifftw_la-sci_dct.lo \ + sci_gateway/c/libscifftw_la-sci_dst.lo +#am_libscifftw_la_OBJECTS = $(am__objects_2) +am_libscifftw_la_OBJECTS = $(am__objects_3) +libscifftw_la_OBJECTS = $(am_libscifftw_la_OBJECTS) +libscifftw_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libscifftw_la_LDFLAGS) $(LDFLAGS) -o $@ +am_libscifftw_la_rpath = +#am_libscifftw_la_rpath = -rpath $(pkglibdir) +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/modules/core/includes +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libscifftw_algo_la_SOURCES) $(libscifftw_la_SOURCES) +DIST_SOURCES = $(am__libscifftw_algo_la_SOURCES_DIST) \ + $(am__libscifftw_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(libscifftw_la_etc_DATA) $(libscifftw_la_root_DATA) \ + $(libscifftw_la_sci_gateway_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing aclocal-1.14 +ALL_LINGUAS = en_US fr_FR zh_CN zh_TW ru_RU ca_ES de_DE es_ES pt_BR ja_JP it_IT uk_UA pl_PL cs_CZ +ALL_LINGUAS_DOC = en_US fr_FR pt_BR ja_JP ru_RU +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +ANT = /usr/bin/ant +ANTLR = /usr/share/java/antlr.jar +AR = ar +ARPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -larpack +ASM3 = /usr/share/java/asm3-3.3.2.jar +AUTOCONF = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoconf +AUTOHEADER = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoheader +AUTOMAKE = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing automake-1.14 +AVALON_FRAMEWORK = /home/shashank/scilab-master_5.5.2/thirdparty/avalon-framework.jar +AWK = mawk +BATIK = /home/shashank/scilab-master_5.5.2/thirdparty/batik-all-1.7.jar +BLAS_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lblas +CC = gcc +CCACHE = +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CHECKSTYLE = +COBERTURA = /usr/share/java/cobertura.jar +COMMONS_BEANUTILS = +COMMONS_IO = /home/shashank/scilab-master_5.5.2/thirdparty/commons-io.jar +COMMONS_LOGGING = /home/shashank/scilab-master_5.5.2/thirdparty/commons-logging.jar +CPP = gcc -E +CPPFLAGS = +CURL_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +CURL_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/curl-config +CURL_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lcurl -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lssl -lcrypto -lrt -lz +CURL_VERSION = libcurl 7.19.7 +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEMOTOOLS_ENABLE = yes +DEPDIR = .deps +DLLTOOL = false +DOCBOOK_ROOT = /home/shashank/scilab-master_5.5.2/thirdparty/docbook/ +DOXYGEN_BIN = +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECJ = /home/shashank/scilab-master_5.5.2/thirdparty/ecj.jar +EGREP = /bin/grep -E +EXEEXT = +F77 = gfortran +FFLAGS = -g -O2 +FFTW3_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lfftw3 +FFTW_ENABLE = yes +FGREP = /bin/grep -F +FLEXDOCK = /home/shashank/scilab-master_5.5.2/thirdparty/flexdock-1.2.4.jar +FLIBS = -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lpthread -ldl -lcurses -lgfortran -lm -lquadmath +FOP = /home/shashank/scilab-master_5.5.2/thirdparty/fop.jar +FREEHEP_GRAPHICS2D = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphics2d.jar +FREEHEP_GRAPHICSIO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio.jar +FREEHEP_GRAPHICSIO_EMF = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio-emf.jar +FREEHEP_IO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-io.jar +FREEHEP_UTIL = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-util.jar +GENHTML = +GETTEXT_MACRO_VERSION = 0.19 +GIWS_BIN = +GLUEGEN2_RT = /home/shashank/scilab-master_5.5.2/thirdparty/gluegen2-rt.jar +GMSGFMT = /usr/bin/msgfmt +GMSGFMT_015 = /usr/bin/msgfmt +GRAPHICS_ENABLE = yes +GREP = /bin/grep +GUI_ENABLE = yes +HDF5_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +HDF5_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lhdf5 -lhdf5_hl +HELP_ENABLE = yes +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INTLLIBS = +INTL_MACOSX_LIBS = +JAR = /usr/lib/jvm/java-8-openjdk-amd64/bin/jar +JAVA = /usr/lib/jvm/java-8-openjdk-amd64/bin/java +JAVAC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javac +JAVAC_DEBUG = off +JAVADOC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc +JAVAH = /usr/lib/jvm/java-8-openjdk-amd64/bin/javah +JAVASCI_ENABLE = yes +JAVA_ENABLE = yes +JAVA_G = /usr/lib/jvm/java-8-openjdk-amd64/bin/java +JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64 +JAVA_JNI_INCLUDE = -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux +JAVA_JNI_LIBS = -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64 -ljava -lverify -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm +JDB = /usr/lib/jvm/java-8-openjdk-amd64/bin/jdb +JEUCLID_CORE = /home/shashank/scilab-master_5.5.2/thirdparty/jeuclid-core.jar +JGRAPHX = /home/shashank/scilab-master_5.5.2/thirdparty/jgraphx.jar +JHALL = /home/shashank/scilab-master_5.5.2/thirdparty/jhall.jar +JLATEXMATH = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-1.0.3.jar +JLATEXMATH_FOP = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-fop-1.0.3.jar +JOGL2 = /home/shashank/scilab-master_5.5.2/thirdparty/jogl2.jar +JROSETTA_API = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-API.jar +JROSETTA_ENGINE = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-engine.jar +JUNIT4 = /usr/share/java/junit4.jar +LAPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -llapack +LCOV = +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -Wl,--no-as-needed +LIBICONV = -liconv +LIBINTL = +LIBM = -lm +LIBOBJS = +LIBS = -lpthread -ldl -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LOGGING_LEVEL = SEVERE +LOOKS = /home/shashank/scilab-master_5.5.2/thirdparty/looks-2.1.1.jar +LTLIBICONV = -liconv +LTLIBINTL = +LTLIBOBJS = +MAINT = # +MAKEINFO = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing makeinfo +MANIFEST_TOOL = : +MATIO_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +MATIO_ENABLE = yes +MATIO_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lm -lz -lmatio -lhdf5 +MKDIR_P = /bin/mkdir -p +MPI_ENABLE = no +MSGCAT = /usr/bin/msgcat +MSGFMT = /usr/bin/msgfmt +MSGFMT_015 = /usr/bin/msgfmt +MSGMERGE = /usr/bin/msgmerge +NM = nm +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OCAMLC = ocamlc +OCAMLDEP = ocamldep +OCAMLLEX = ocamllex +OCAMLOPT = ocamlopt +OCAMLYACC = ocamlyacc +OPENMPI_CC = +OPENMPI_CFLAGS = +OPENMPI_CXX = +OPENMPI_CXXFLAGS = +OPENMPI_LIBS = +OPENMP_CFLAGS = -fopenmp +OPENMP_CXXFLAGS = -fopenmp +OPENMP_ENABLE = yes +OPENMP_LIBS = -lgomp -lstdc++ +OTOOL = +OTOOL64 = +PACKAGE = scilab +PACKAGE_BUGREPORT = http://bugzilla.scilab.org/ +PACKAGE_NAME = Scilab +PACKAGE_STRING = Scilab 5 +PACKAGE_TARNAME = scilab +PACKAGE_URL = +PACKAGE_VERSION = 5 +PATH_SEPARATOR = : +PCRE_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +PCRE_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/pcre-config +PCRE_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lpcreposix -lpcre +PCRE_VERSION = 8.35 +PKG_CONFIG = /usr/bin/pkg-config +POSUB = po +POW_LIB = +PYTHON = +RANLIB = ranlib +RELOCATABLE = no +RT_LIB = -lrt +SAXON = /home/shashank/scilab-master_5.5.2/thirdparty/saxon9he.jar +SCILAB_BINARY_VERSION = 5.5.2 +SCILAB_LIBRARY_VERSION = 5:5:2 +SCILAB_VERSION_MAINTENANCE = 2 +SCILAB_VERSION_MAJOR = 5 +SCILAB_VERSION_MINOR = 5 +SCIRENDERER = ${modules.dir}/scirenderer/${build.jar.dir}/scirenderer.jar +SCIRENDERER_CP = $SCILAB/modules/scirenderer/jar/scirenderer.jar +SCI_CFLAGS = -D_LARGEFILE64_SOURCE -DNDEBUG -m64 -fno-stack-protector +SCI_CXXFLAGS = -DNDEBUG -fno-stack-protector +SCI_FFLAGS = -DNDEBUG -m64 -fPIC +SCI_LDFLAGS = +SED = /bin/sed +SET_MAKE = +SET_RELOCATABLE = +SHELL = /bin/bash +SKINLF = /home/shashank/scilab-master_5.5.2/thirdparty/skinlf.jar +SPLINT = no +STRIP = strip +SWIG_BIN = +SWIG_JAVA = +SWIG_RUNTIME_LIBS_DIR = +SWIG_SCILAB = +TCLTK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -ltk8.5 -L/home/shashank/scilab-master_5.5.2/usr/lib -ltcl8.5 -ldl +TCL_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include +TK_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include +UMFPACK_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +UMFPACK_ENABLE = yes +UMFPACK_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lumfpack -lamd +USE_NLS = yes +VERSION = 5 +WITH_OCAML = +WITH_TKSCI = yes +XCOS_ENABLE = yes +XGETTEXT = /usr/bin/xgettext +XGETTEXT_015 = /usr/bin/xgettext +XGETTEXT_EXTRA_OPTIONS = +XMKMF = +XMLGRAPHICS_COMMONS = /home/shashank/scilab-master_5.5.2/thirdparty/xmlgraphics-commons-1.4.jar +XML_APIS_EXT = /home/shashank/scilab-master_5.5.2/thirdparty/xml-apis-ext.jar +XML_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/xml2-config +XML_FLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include/libxml2 +XML_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lxml2 -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lz -lm -ldl +XML_VERSION = 2.9.1 +X_CFLAGS = +X_EXTRA_LIBS = +X_LIBS = +X_PRE_LIBS = +abs_builddir = /home/shashank/scilab-master_5.5.2/modules/fftw +abs_srcdir = /home/shashank/scilab-master_5.5.2/modules/fftw +abs_top_builddir = /home/shashank/scilab-master_5.5.2 +abs_top_srcdir = /home/shashank/scilab-master_5.5.2 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +ac_ct_F77 = gfortran +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +builddir = . +cxx_present = yes +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/shashank/scilab-master_5.5.2/config/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +modulename = fftw +#pkglib_LTLIBRARIES = libscifftw.la +noinst_LTLIBRARIES = libscifftw.la \ + $(am__append_1) +#noinst_LTLIBRARIES = $(am__append_1) +libscifftw_la_LDFLAGS = $(AM_LDFLAGS) + +#### fftw : Conf files #### +libscifftw_la_rootdir = $(mydatadir) + +#### fftw : init scripts #### +libscifftw_la_etcdir = $(mydatadir)/etc +libscifftw_la_etc_DATA = etc/fftw.quit etc/fftw.start +#FFTW_C_SOURCES = src/nofftw/nofftw.c +FFTW_C_SOURCES = src/c/callfftw.c \ +src/c/fftwlibname.c \ +src/c/fftw_utilities.c \ +src/c/sci_data_utilities.c \ +src/c/with_fftw.c + +GATEWAY_C_SOURCES = sci_gateway/c/gw_fftw.c \ + sci_gateway/c/sci_fftwlibraryisloaded.c \ + sci_gateway/c/sci_disposefftwlibrary.c \ + sci_gateway/c/sci_fftw.c \ + sci_gateway/c/sci_fftw_flags.c \ + sci_gateway/c/sci_loadfftwlibrary.c \ + sci_gateway/c/sci_get_fftw_wisdom.c \ + sci_gateway/c/sci_set_fftw_wisdom.c \ + sci_gateway/c/sci_fftw_forget_wisdom.c \ + sci_gateway/c/sci_dct.c \ + sci_gateway/c/sci_dst.c + + +#### fftw : Conf files #### +libscifftw_la_root_DATA = license.txt + +#### fftw : gateway declaration #### +libscifftw_la_sci_gatewaydir = $(mydatadir)/sci_gateway +libscifftw_la_sci_gateway_DATA = sci_gateway/fftw_gateway.xml +libscifftw_algo_la_SOURCES = $(FFTW_C_SOURCES) +#libscifftw_la_SOURCES = $(FFTW_C_SOURCES) +libscifftw_la_SOURCES = $(GATEWAY_C_SOURCES) +libscifftw_algo_la_CPPFLAGS = $(libscifftw_la_CPPFLAGS) + +# For the code check (splint) +CHECK_SRC = $(FFTW_C_SOURCES) $(GATEWAY_C_SOURCES) +INCLUDE_FLAGS = $(libscifftw_la_CPPFLAGS) +libscifftw_la_LIBADD = libscifftw-algo.la $(FFTW3_LIB) +#libscifftw_la_CPPFLAGS = -I$(srcdir)/includes/ \ +# -I$(srcdir)/src/c/ \ +# -I$(top_srcdir)/modules/api_scilab/includes/ \ +# -I$(top_srcdir)/modules/output_stream/includes/ \ +# -I$(top_srcdir)/modules/localization/includes/ \ +# $(AM_CPPFLAGS) + +libscifftw_la_CPPFLAGS = -I$(srcdir)/includes/ \ + -I$(srcdir)/src/c/ \ + -I$(top_srcdir)/modules/dynamic_link/includes/ \ + -I$(top_srcdir)/modules/fileio/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ \ + -I$(top_srcdir)/modules/api_scilab/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + $(FFTW3_CFLAGS) \ + $(AM_CPPFLAGS) + + +# Where all the Scilab stuff is installed (macros, help, ...) +mydatadir = $(pkgdatadir)/modules/$(modulename) + +# Set AM_* SCI detected settings +AM_CPPFLAGS = $(SCI_CPPFLAGS) +AM_CFLAGS = $(SCI_CFLAGS) +AM_CXXFLAGS = $(SCI_CXXFLAGS) +# append includes to AM_FFLAGS to manage fortran includes +AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/ + +# Tag shared libraries with the Scilab version +AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION) + +# splint options +SPLINT_OPTIONS = -weak -booltype BOOL + +########################### JAVA ###################################### +#### We are delegating java compilation to ant... Thanks to that +#### the procedure will be the same with Microsoft Windows (C) +#### and Linux/Unix +####################################################################### +TARGETS_ALL = $(am__append_2) + +################ MACROS ###################### +# Rule to build a macro +# NOT USED AT THE MOMENT +SUFFIXES = .sci + +########### INSTALL DOCUMENTATION ################### + +# Install documentation files into the right target +# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because +# automake needs the html files to be present which is not the case when +# we are building Scilab + +# Where it should be installed +pkgdocdir = $(mydatadir) + +# What is the mask of the help source +DOCMASKXML = *.xml + +# What is the mask of the MathML sources +DOCMASKMML = *.mml + +########### INSTALL DATA ################### +# Install macros, help & demos +# Where it should be installed +pkgmacrosdir = $(mydatadir) +# Which directory we process +MACRODIRS = macros/ +# Mask of the Scilab sources macros +MACROMASK = *.sci +# Mask of the Scilab executable sources macros +MACROBUILDMASK = *.sce +# Mask of the Scilab compiled macros +MACROBINMASK = *.bin +# List of the standard directory for tests +TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java +# Where the demos should be installed +pkgdemosdir = $(mydatadir) +# List of the standard directory for demos +DEMOS_DIR = demos +# List of the standard directory for examples +EXAMPLES_DIR = examples +# Where to export JAVA archives (.jar) +JARDIR = jar/ +# JAR files mask +JARMASK = *.jar +# Chapter file +HELP_CHAPTERDIR = help/ +HELP_CHAPTERFILE = addchapter.sce +HELP_CHAPTERLANG = en_US fr_FR pt_BR +all: all-am + +.SUFFIXES: +.SUFFIXES: .sci .bin .c .lo .o .obj +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/fftw/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign modules/fftw/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(top_srcdir)/Makefile.incl.am: + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: # $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): # $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ + } + +uninstall-pkglibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ + done + +clean-pkglibLTLIBRARIES: + -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) + @list='$(pkglib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +src/nofftw/$(am__dirstamp): + @$(MKDIR_P) src/nofftw + @: > src/nofftw/$(am__dirstamp) +src/nofftw/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/nofftw/$(DEPDIR) + @: > src/nofftw/$(DEPDIR)/$(am__dirstamp) +src/nofftw/libscifftw_algo_la-nofftw.lo: src/nofftw/$(am__dirstamp) \ + src/nofftw/$(DEPDIR)/$(am__dirstamp) +src/c/$(am__dirstamp): + @$(MKDIR_P) src/c + @: > src/c/$(am__dirstamp) +src/c/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/c/$(DEPDIR) + @: > src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-callfftw.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-fftwlibname.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-fftw_utilities.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-sci_data_utilities.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-with_fftw.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) + +libscifftw-algo.la: $(libscifftw_algo_la_OBJECTS) $(libscifftw_algo_la_DEPENDENCIES) $(EXTRA_libscifftw_algo_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(am_libscifftw_algo_la_rpath) $(libscifftw_algo_la_OBJECTS) $(libscifftw_algo_la_LIBADD) $(LIBS) +src/nofftw/libscifftw_la-nofftw.lo: src/nofftw/$(am__dirstamp) \ + src/nofftw/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-callfftw.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-fftwlibname.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-fftw_utilities.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-sci_data_utilities.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-with_fftw.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/$(am__dirstamp): + @$(MKDIR_P) sci_gateway/c + @: > sci_gateway/c/$(am__dirstamp) +sci_gateway/c/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) sci_gateway/c/$(DEPDIR) + @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-gw_fftw.lo: sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_fftw.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_fftw_flags.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_dct.lo: sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_dst.lo: sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) + +libscifftw.la: $(libscifftw_la_OBJECTS) $(libscifftw_la_DEPENDENCIES) $(EXTRA_libscifftw_la_DEPENDENCIES) + $(AM_V_CCLD)$(libscifftw_la_LINK) $(am_libscifftw_la_rpath) $(libscifftw_la_OBJECTS) $(libscifftw_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f sci_gateway/c/*.$(OBJEXT) + -rm -f sci_gateway/c/*.lo + -rm -f src/c/*.$(OBJEXT) + -rm -f src/c/*.lo + -rm -f src/nofftw/*.$(OBJEXT) + -rm -f src/nofftw/*.lo + +distclean-compile: + -rm -f *.tab.c + +include sci_gateway/c/$(DEPDIR)/libscifftw_la-gw_fftw.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dct.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_disposefftwlibrary.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dst.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_flags.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_forget_wisdom.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftwlibraryisloaded.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_get_fftw_wisdom.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_loadfftwlibrary.Plo +include sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_set_fftw_wisdom.Plo +include src/c/$(DEPDIR)/libscifftw_algo_la-callfftw.Plo +include src/c/$(DEPDIR)/libscifftw_algo_la-fftw_utilities.Plo +include src/c/$(DEPDIR)/libscifftw_algo_la-fftwlibname.Plo +include src/c/$(DEPDIR)/libscifftw_algo_la-sci_data_utilities.Plo +include src/c/$(DEPDIR)/libscifftw_algo_la-with_fftw.Plo +include src/c/$(DEPDIR)/libscifftw_la-callfftw.Plo +include src/c/$(DEPDIR)/libscifftw_la-fftw_utilities.Plo +include src/c/$(DEPDIR)/libscifftw_la-fftwlibname.Plo +include src/c/$(DEPDIR)/libscifftw_la-sci_data_utilities.Plo +include src/c/$(DEPDIR)/libscifftw_la-with_fftw.Plo +include src/nofftw/$(DEPDIR)/libscifftw_algo_la-nofftw.Plo +include src/nofftw/$(DEPDIR)/libscifftw_la-nofftw.Plo + +.c.o: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< + +.c.obj: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_CC)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< + +src/nofftw/libscifftw_algo_la-nofftw.lo: src/nofftw/nofftw.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/nofftw/libscifftw_algo_la-nofftw.lo -MD -MP -MF src/nofftw/$(DEPDIR)/libscifftw_algo_la-nofftw.Tpo -c -o src/nofftw/libscifftw_algo_la-nofftw.lo `test -f 'src/nofftw/nofftw.c' || echo '$(srcdir)/'`src/nofftw/nofftw.c + $(AM_V_at)$(am__mv) src/nofftw/$(DEPDIR)/libscifftw_algo_la-nofftw.Tpo src/nofftw/$(DEPDIR)/libscifftw_algo_la-nofftw.Plo +# $(AM_V_CC)source='src/nofftw/nofftw.c' object='src/nofftw/libscifftw_algo_la-nofftw.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/nofftw/libscifftw_algo_la-nofftw.lo `test -f 'src/nofftw/nofftw.c' || echo '$(srcdir)/'`src/nofftw/nofftw.c + +src/c/libscifftw_algo_la-callfftw.lo: src/c/callfftw.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-callfftw.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-callfftw.Tpo -c -o src/c/libscifftw_algo_la-callfftw.lo `test -f 'src/c/callfftw.c' || echo '$(srcdir)/'`src/c/callfftw.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-callfftw.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-callfftw.Plo +# $(AM_V_CC)source='src/c/callfftw.c' object='src/c/libscifftw_algo_la-callfftw.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-callfftw.lo `test -f 'src/c/callfftw.c' || echo '$(srcdir)/'`src/c/callfftw.c + +src/c/libscifftw_algo_la-fftwlibname.lo: src/c/fftwlibname.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-fftwlibname.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-fftwlibname.Tpo -c -o src/c/libscifftw_algo_la-fftwlibname.lo `test -f 'src/c/fftwlibname.c' || echo '$(srcdir)/'`src/c/fftwlibname.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-fftwlibname.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-fftwlibname.Plo +# $(AM_V_CC)source='src/c/fftwlibname.c' object='src/c/libscifftw_algo_la-fftwlibname.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-fftwlibname.lo `test -f 'src/c/fftwlibname.c' || echo '$(srcdir)/'`src/c/fftwlibname.c + +src/c/libscifftw_algo_la-fftw_utilities.lo: src/c/fftw_utilities.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-fftw_utilities.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-fftw_utilities.Tpo -c -o src/c/libscifftw_algo_la-fftw_utilities.lo `test -f 'src/c/fftw_utilities.c' || echo '$(srcdir)/'`src/c/fftw_utilities.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-fftw_utilities.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-fftw_utilities.Plo +# $(AM_V_CC)source='src/c/fftw_utilities.c' object='src/c/libscifftw_algo_la-fftw_utilities.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-fftw_utilities.lo `test -f 'src/c/fftw_utilities.c' || echo '$(srcdir)/'`src/c/fftw_utilities.c + +src/c/libscifftw_algo_la-sci_data_utilities.lo: src/c/sci_data_utilities.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-sci_data_utilities.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-sci_data_utilities.Tpo -c -o src/c/libscifftw_algo_la-sci_data_utilities.lo `test -f 'src/c/sci_data_utilities.c' || echo '$(srcdir)/'`src/c/sci_data_utilities.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-sci_data_utilities.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-sci_data_utilities.Plo +# $(AM_V_CC)source='src/c/sci_data_utilities.c' object='src/c/libscifftw_algo_la-sci_data_utilities.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-sci_data_utilities.lo `test -f 'src/c/sci_data_utilities.c' || echo '$(srcdir)/'`src/c/sci_data_utilities.c + +src/c/libscifftw_algo_la-with_fftw.lo: src/c/with_fftw.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-with_fftw.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-with_fftw.Tpo -c -o src/c/libscifftw_algo_la-with_fftw.lo `test -f 'src/c/with_fftw.c' || echo '$(srcdir)/'`src/c/with_fftw.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-with_fftw.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-with_fftw.Plo +# $(AM_V_CC)source='src/c/with_fftw.c' object='src/c/libscifftw_algo_la-with_fftw.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-with_fftw.lo `test -f 'src/c/with_fftw.c' || echo '$(srcdir)/'`src/c/with_fftw.c + +src/nofftw/libscifftw_la-nofftw.lo: src/nofftw/nofftw.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/nofftw/libscifftw_la-nofftw.lo -MD -MP -MF src/nofftw/$(DEPDIR)/libscifftw_la-nofftw.Tpo -c -o src/nofftw/libscifftw_la-nofftw.lo `test -f 'src/nofftw/nofftw.c' || echo '$(srcdir)/'`src/nofftw/nofftw.c + $(AM_V_at)$(am__mv) src/nofftw/$(DEPDIR)/libscifftw_la-nofftw.Tpo src/nofftw/$(DEPDIR)/libscifftw_la-nofftw.Plo +# $(AM_V_CC)source='src/nofftw/nofftw.c' object='src/nofftw/libscifftw_la-nofftw.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/nofftw/libscifftw_la-nofftw.lo `test -f 'src/nofftw/nofftw.c' || echo '$(srcdir)/'`src/nofftw/nofftw.c + +src/c/libscifftw_la-callfftw.lo: src/c/callfftw.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-callfftw.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-callfftw.Tpo -c -o src/c/libscifftw_la-callfftw.lo `test -f 'src/c/callfftw.c' || echo '$(srcdir)/'`src/c/callfftw.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-callfftw.Tpo src/c/$(DEPDIR)/libscifftw_la-callfftw.Plo +# $(AM_V_CC)source='src/c/callfftw.c' object='src/c/libscifftw_la-callfftw.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-callfftw.lo `test -f 'src/c/callfftw.c' || echo '$(srcdir)/'`src/c/callfftw.c + +src/c/libscifftw_la-fftwlibname.lo: src/c/fftwlibname.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-fftwlibname.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-fftwlibname.Tpo -c -o src/c/libscifftw_la-fftwlibname.lo `test -f 'src/c/fftwlibname.c' || echo '$(srcdir)/'`src/c/fftwlibname.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-fftwlibname.Tpo src/c/$(DEPDIR)/libscifftw_la-fftwlibname.Plo +# $(AM_V_CC)source='src/c/fftwlibname.c' object='src/c/libscifftw_la-fftwlibname.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-fftwlibname.lo `test -f 'src/c/fftwlibname.c' || echo '$(srcdir)/'`src/c/fftwlibname.c + +src/c/libscifftw_la-fftw_utilities.lo: src/c/fftw_utilities.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-fftw_utilities.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-fftw_utilities.Tpo -c -o src/c/libscifftw_la-fftw_utilities.lo `test -f 'src/c/fftw_utilities.c' || echo '$(srcdir)/'`src/c/fftw_utilities.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-fftw_utilities.Tpo src/c/$(DEPDIR)/libscifftw_la-fftw_utilities.Plo +# $(AM_V_CC)source='src/c/fftw_utilities.c' object='src/c/libscifftw_la-fftw_utilities.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-fftw_utilities.lo `test -f 'src/c/fftw_utilities.c' || echo '$(srcdir)/'`src/c/fftw_utilities.c + +src/c/libscifftw_la-sci_data_utilities.lo: src/c/sci_data_utilities.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-sci_data_utilities.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-sci_data_utilities.Tpo -c -o src/c/libscifftw_la-sci_data_utilities.lo `test -f 'src/c/sci_data_utilities.c' || echo '$(srcdir)/'`src/c/sci_data_utilities.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-sci_data_utilities.Tpo src/c/$(DEPDIR)/libscifftw_la-sci_data_utilities.Plo +# $(AM_V_CC)source='src/c/sci_data_utilities.c' object='src/c/libscifftw_la-sci_data_utilities.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-sci_data_utilities.lo `test -f 'src/c/sci_data_utilities.c' || echo '$(srcdir)/'`src/c/sci_data_utilities.c + +src/c/libscifftw_la-with_fftw.lo: src/c/with_fftw.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-with_fftw.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-with_fftw.Tpo -c -o src/c/libscifftw_la-with_fftw.lo `test -f 'src/c/with_fftw.c' || echo '$(srcdir)/'`src/c/with_fftw.c + $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-with_fftw.Tpo src/c/$(DEPDIR)/libscifftw_la-with_fftw.Plo +# $(AM_V_CC)source='src/c/with_fftw.c' object='src/c/libscifftw_la-with_fftw.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-with_fftw.lo `test -f 'src/c/with_fftw.c' || echo '$(srcdir)/'`src/c/with_fftw.c + +sci_gateway/c/libscifftw_la-gw_fftw.lo: sci_gateway/c/gw_fftw.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-gw_fftw.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-gw_fftw.Tpo -c -o sci_gateway/c/libscifftw_la-gw_fftw.lo `test -f 'sci_gateway/c/gw_fftw.c' || echo '$(srcdir)/'`sci_gateway/c/gw_fftw.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-gw_fftw.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-gw_fftw.Plo +# $(AM_V_CC)source='sci_gateway/c/gw_fftw.c' object='sci_gateway/c/libscifftw_la-gw_fftw.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-gw_fftw.lo `test -f 'sci_gateway/c/gw_fftw.c' || echo '$(srcdir)/'`sci_gateway/c/gw_fftw.c + +sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo: sci_gateway/c/sci_fftwlibraryisloaded.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftwlibraryisloaded.Tpo -c -o sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo `test -f 'sci_gateway/c/sci_fftwlibraryisloaded.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftwlibraryisloaded.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftwlibraryisloaded.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftwlibraryisloaded.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_fftwlibraryisloaded.c' object='sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo `test -f 'sci_gateway/c/sci_fftwlibraryisloaded.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftwlibraryisloaded.c + +sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo: sci_gateway/c/sci_disposefftwlibrary.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_disposefftwlibrary.Tpo -c -o sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo `test -f 'sci_gateway/c/sci_disposefftwlibrary.c' || echo '$(srcdir)/'`sci_gateway/c/sci_disposefftwlibrary.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_disposefftwlibrary.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_disposefftwlibrary.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_disposefftwlibrary.c' object='sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo `test -f 'sci_gateway/c/sci_disposefftwlibrary.c' || echo '$(srcdir)/'`sci_gateway/c/sci_disposefftwlibrary.c + +sci_gateway/c/libscifftw_la-sci_fftw.lo: sci_gateway/c/sci_fftw.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_fftw.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw.Tpo -c -o sci_gateway/c/libscifftw_la-sci_fftw.lo `test -f 'sci_gateway/c/sci_fftw.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_fftw.c' object='sci_gateway/c/libscifftw_la-sci_fftw.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_fftw.lo `test -f 'sci_gateway/c/sci_fftw.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw.c + +sci_gateway/c/libscifftw_la-sci_fftw_flags.lo: sci_gateway/c/sci_fftw_flags.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_fftw_flags.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_flags.Tpo -c -o sci_gateway/c/libscifftw_la-sci_fftw_flags.lo `test -f 'sci_gateway/c/sci_fftw_flags.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw_flags.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_flags.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_flags.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_fftw_flags.c' object='sci_gateway/c/libscifftw_la-sci_fftw_flags.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_fftw_flags.lo `test -f 'sci_gateway/c/sci_fftw_flags.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw_flags.c + +sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo: sci_gateway/c/sci_loadfftwlibrary.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_loadfftwlibrary.Tpo -c -o sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo `test -f 'sci_gateway/c/sci_loadfftwlibrary.c' || echo '$(srcdir)/'`sci_gateway/c/sci_loadfftwlibrary.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_loadfftwlibrary.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_loadfftwlibrary.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_loadfftwlibrary.c' object='sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo `test -f 'sci_gateway/c/sci_loadfftwlibrary.c' || echo '$(srcdir)/'`sci_gateway/c/sci_loadfftwlibrary.c + +sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo: sci_gateway/c/sci_get_fftw_wisdom.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_get_fftw_wisdom.Tpo -c -o sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo `test -f 'sci_gateway/c/sci_get_fftw_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_get_fftw_wisdom.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_get_fftw_wisdom.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_get_fftw_wisdom.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_get_fftw_wisdom.c' object='sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo `test -f 'sci_gateway/c/sci_get_fftw_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_get_fftw_wisdom.c + +sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo: sci_gateway/c/sci_set_fftw_wisdom.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_set_fftw_wisdom.Tpo -c -o sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo `test -f 'sci_gateway/c/sci_set_fftw_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_set_fftw_wisdom.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_set_fftw_wisdom.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_set_fftw_wisdom.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_set_fftw_wisdom.c' object='sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo `test -f 'sci_gateway/c/sci_set_fftw_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_set_fftw_wisdom.c + +sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo: sci_gateway/c/sci_fftw_forget_wisdom.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_forget_wisdom.Tpo -c -o sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo `test -f 'sci_gateway/c/sci_fftw_forget_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw_forget_wisdom.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_forget_wisdom.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_forget_wisdom.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_fftw_forget_wisdom.c' object='sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo `test -f 'sci_gateway/c/sci_fftw_forget_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw_forget_wisdom.c + +sci_gateway/c/libscifftw_la-sci_dct.lo: sci_gateway/c/sci_dct.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_dct.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dct.Tpo -c -o sci_gateway/c/libscifftw_la-sci_dct.lo `test -f 'sci_gateway/c/sci_dct.c' || echo '$(srcdir)/'`sci_gateway/c/sci_dct.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dct.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dct.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_dct.c' object='sci_gateway/c/libscifftw_la-sci_dct.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_dct.lo `test -f 'sci_gateway/c/sci_dct.c' || echo '$(srcdir)/'`sci_gateway/c/sci_dct.c + +sci_gateway/c/libscifftw_la-sci_dst.lo: sci_gateway/c/sci_dst.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_dst.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dst.Tpo -c -o sci_gateway/c/libscifftw_la-sci_dst.lo `test -f 'sci_gateway/c/sci_dst.c' || echo '$(srcdir)/'`sci_gateway/c/sci_dst.c + $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dst.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dst.Plo +# $(AM_V_CC)source='sci_gateway/c/sci_dst.c' object='sci_gateway/c/libscifftw_la-sci_dst.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_dst.lo `test -f 'sci_gateway/c/sci_dst.c' || echo '$(srcdir)/'`sci_gateway/c/sci_dst.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs + -rm -rf src/c/.libs src/c/_libs + -rm -rf src/nofftw/.libs src/nofftw/_libs +install-libscifftw_la_etcDATA: $(libscifftw_la_etc_DATA) + @$(NORMAL_INSTALL) + @list='$(libscifftw_la_etc_DATA)'; test -n "$(libscifftw_la_etcdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscifftw_la_etcdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscifftw_la_etcdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifftw_la_etcdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifftw_la_etcdir)" || exit $$?; \ + done + +uninstall-libscifftw_la_etcDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscifftw_la_etc_DATA)'; test -n "$(libscifftw_la_etcdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscifftw_la_etcdir)'; $(am__uninstall_files_from_dir) +install-libscifftw_la_rootDATA: $(libscifftw_la_root_DATA) + @$(NORMAL_INSTALL) + @list='$(libscifftw_la_root_DATA)'; test -n "$(libscifftw_la_rootdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscifftw_la_rootdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscifftw_la_rootdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifftw_la_rootdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifftw_la_rootdir)" || exit $$?; \ + done + +uninstall-libscifftw_la_rootDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscifftw_la_root_DATA)'; test -n "$(libscifftw_la_rootdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscifftw_la_rootdir)'; $(am__uninstall_files_from_dir) +install-libscifftw_la_sci_gatewayDATA: $(libscifftw_la_sci_gateway_DATA) + @$(NORMAL_INSTALL) + @list='$(libscifftw_la_sci_gateway_DATA)'; test -n "$(libscifftw_la_sci_gatewaydir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscifftw_la_sci_gatewaydir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscifftw_la_sci_gatewaydir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifftw_la_sci_gatewaydir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifftw_la_sci_gatewaydir)" || exit $$?; \ + done + +uninstall-libscifftw_la_sci_gatewayDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscifftw_la_sci_gateway_DATA)'; test -n "$(libscifftw_la_sci_gatewaydir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscifftw_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) all-local +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscifftw_la_etcdir)" "$(DESTDIR)$(libscifftw_la_rootdir)" "$(DESTDIR)$(libscifftw_la_sci_gatewaydir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp) + -rm -f sci_gateway/c/$(am__dirstamp) + -rm -f src/c/$(DEPDIR)/$(am__dirstamp) + -rm -f src/c/$(am__dirstamp) + -rm -f src/nofftw/$(DEPDIR)/$(am__dirstamp) + -rm -f src/nofftw/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-local \ + clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/nofftw/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-data-local install-libscifftw_la_etcDATA \ + install-libscifftw_la_rootDATA \ + install-libscifftw_la_sci_gatewayDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: install-html-local + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/nofftw/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libscifftw_la_etcDATA \ + uninstall-libscifftw_la_rootDATA \ + uninstall-libscifftw_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \ + check-local clean clean-generic clean-libtool clean-local \ + clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-local install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-html-local install-info \ + install-info-am install-libscifftw_la_etcDATA \ + install-libscifftw_la_rootDATA \ + install-libscifftw_la_sci_gatewayDATA install-man install-pdf \ + install-pdf-am install-pkglibLTLIBRARIES install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libscifftw_la_etcDATA \ + uninstall-libscifftw_la_rootDATA \ + uninstall-libscifftw_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + + +# This target enables tests for Scilab +check-local: $(top_builddir)/scilab-bin test + if test -d $(mydatadir)/tests; then \ + @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \ + fi +check-code: + if test -f build.xml; then \ + $(ANT) checkstyle; \ + fi + if test -x "$(SPLINT)"; then \ + $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \ + fi +java: +# Some configurations needs to export JAVA_HOME in the current env + @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ + if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT); \ + fi + +clean-java: +# Some configurations needs to export JAVA_HOME in the current env + @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ + if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) clean; \ + fi; + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +#swig: $(SWIG_WRAPPERS) +# @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \ +# SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \ +# if test -n "$(SWIG_WRAPPERS)"; then \ +# for file in $(SWIG_WRAPPERS) ; do \ +# echo "Swig process of $$file (Java) ..."; \ +# $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \ +# done; \ +# fi + +#swig-scilab: $(SWIG_SCILAB_WRAPPERS) +# @SWIG_OUTDIR=src/swig/; \ +# if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \ +# for file in $(SWIG_SCILAB_WRAPPERS) ; do \ +# echo "Swig process of $$file (Scilab) ..."; \ +# $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \ +# done; \ +# fi + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +#giws: $(GIWS_WRAPPERS) +# @GIWS_OUTPUTDIR=src/jni/; \ +# MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \ +# if test -n "$(GIWS_WRAPPERS)"; then \ +# for file in $(GIWS_WRAPPERS) ; do \ +# echo "GIWS process of $$file ..."; \ +# if test -z "$(GIWS_OPTIONS)"; then \ +# $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +# else \ +# echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \ +# $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +# fi \ +# done; \ +# fi + +#giws-exception: +# @GIWS_OUTPUTDIR=src/jni/;\ +# echo "GIWS: Generation of exception class ..."; \ +# $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR + +macros: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been built"; \ + else \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\ + fi) + +# Removes the macros +clean-macros: +# Removes macros (*.bin generated from .sci) + @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \ + rm -f $(builddir)/$$dir/$(MACROBINMASK); \ + done + +test: +# More tests could be added here + @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) test; \ + fi + +all-local: $(TARGETS_ALL) + +.sci.bin: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been build"; \ + else \ + echo "Creating $@"; \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \ + fi ) + +install-html-local: + +install-data-local-local: +# Mainly for javasci + @if test -d $(srcdir)/javadoc; then \ + cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \ + fi +# If the user wants the help sources to be installed + @echo "-------- Install of XML sources of help files --------"; \ + for lang in $(ALL_LINGUAS); do \ + if test -d $(srcdir)/help/$$lang; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \ + if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \ + for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \ + done ; \ + fi; \ + fi; \ + done; \ + @echo "-------- Install of MathML sources --------"; \ + if test -d $(srcdir)/help/mml/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \ + if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \ + for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \ + done ; \ + fi; \ + fi +install-data-local: +# Install the tests + @echo "-------- Install tests (if any) --------"; \ + for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the help chapter + @echo "-------- Install the help chapter (if any) --------"; \ + for lang in $(HELP_CHAPTERLANG); do \ + HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \ + if test -f $$HELPFILE; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + fi; \ + done +# Install the demos & examples + @echo "-------- Install demos & examples (if any) --------"; \ + for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the macros + @echo "-------- Install macros (if any) --------"; \ + for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + if test -d $(srcdir)/$$dir/; then \ + FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\ + if test -n "$(MACROSSPECIALEXT)"; then \ + specialExtDir=""; \ + for specialExt in $(MACROSSPECIALEXT); do \ + specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \ + done; \ + FILELIST="$$FILELIST $$specialExtDir"; \ + fi; \ + for file in `ls -1 $$FILELIST 2>/dev/null`; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \ + done; \ + fi; \ + done +# Install java files (.jar) + @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \ + echo "-------- Install jar files --------"; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \ + for file in $(srcdir)/$(JARDIR)$(JARMASK); do\ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \ + done ; \ + fi + +########### CLEAN ################### +# Clean help (generated automatically by Scilab) +# It used to clean the macro (clean-macros) but this was causing +# make clean && make to fail Scilab startup +clean-local: clean-java +#clean-local: + +distclean-local: + rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_* + +.PHONY: macros java swig giws + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/fftw/Makefile.am b/modules/fftw/Makefile.am new file mode 100755 index 000000000..bb757093e --- /dev/null +++ b/modules/fftw/Makefile.am @@ -0,0 +1,95 @@ +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2007 - INRIA - Sylvestre LEDRU +# Copyright (C) 2007 - 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 + +modulename=fftw + +if MAINTAINER_MODE +pkglib_LTLIBRARIES = libscifftw.la +noinst_LTLIBRARIES = +else +noinst_LTLIBRARIES = libscifftw.la +endif + + +if FFTW +noinst_LTLIBRARIES += libscifftw-algo.la +endif + +libscifftw_la_LDFLAGS = $(AM_LDFLAGS) + +#### fftw : Conf files #### +libscifftw_la_rootdir = $(mydatadir) + +#### fftw : init scripts #### +libscifftw_la_etcdir = $(mydatadir)/etc +libscifftw_la_etc_DATA = etc/fftw.quit etc/fftw.start + +if FFTW + +FFTW_C_SOURCES = src/c/callfftw.c \ +src/c/fftwlibname.c \ +src/c/fftw_utilities.c \ +src/c/sci_data_utilities.c \ +src/c/with_fftw.c + +GATEWAY_C_SOURCES = sci_gateway/c/gw_fftw.c \ + sci_gateway/c/sci_fftwlibraryisloaded.c \ + sci_gateway/c/sci_disposefftwlibrary.c \ + sci_gateway/c/sci_fftw.c \ + sci_gateway/c/sci_fftw_flags.c \ + sci_gateway/c/sci_loadfftwlibrary.c \ + sci_gateway/c/sci_get_fftw_wisdom.c \ + sci_gateway/c/sci_set_fftw_wisdom.c \ + sci_gateway/c/sci_fftw_forget_wisdom.c \ + sci_gateway/c/sci_dct.c \ + sci_gateway/c/sci_dst.c + +#### fftw : Conf files #### +libscifftw_la_root_DATA = license.txt + +#### fftw : gateway declaration #### +libscifftw_la_sci_gatewaydir = $(mydatadir)/sci_gateway +libscifftw_la_sci_gateway_DATA = sci_gateway/fftw_gateway.xml + +libscifftw_algo_la_SOURCES = $(FFTW_C_SOURCES) +libscifftw_la_SOURCES = $(GATEWAY_C_SOURCES) +libscifftw_algo_la_CPPFLAGS = $(libscifftw_la_CPPFLAGS) + +# For the code check (splint) +CHECK_SRC= $(FFTW_C_SOURCES) $(GATEWAY_C_SOURCES) +INCLUDE_FLAGS = $(libscifftw_la_CPPFLAGS) + +libscifftw_la_LIBADD = libscifftw-algo.la $(FFTW3_LIB) + +libscifftw_la_CPPFLAGS = -I$(srcdir)/includes/ \ + -I$(srcdir)/src/c/ \ + -I$(top_srcdir)/modules/dynamic_link/includes/ \ + -I$(top_srcdir)/modules/fileio/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ \ + -I$(top_srcdir)/modules/api_scilab/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + $(FFTW3_CFLAGS) \ + $(AM_CPPFLAGS) + +else + +FFTW_C_SOURCES = src/nofftw/nofftw.c + +libscifftw_la_SOURCES = $(FFTW_C_SOURCES) + +libscifftw_la_CPPFLAGS = -I$(srcdir)/includes/ \ + -I$(srcdir)/src/c/ \ + -I$(top_srcdir)/modules/api_scilab/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + $(AM_CPPFLAGS) +endif + +include $(top_srcdir)/Makefile.incl.am diff --git a/modules/fftw/Makefile.in b/modules/fftw/Makefile.in new file mode 100755 index 000000000..67fd8a005 --- /dev/null +++ b/modules/fftw/Makefile.in @@ -0,0 +1,1609 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2007 - INRIA - Sylvestre LEDRU +# Copyright (C) 2007 - 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 + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr> +# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr> +# +# 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 +# + +########## +### Makefile included stuff +### Target, variable, suffixes which are supposed to be useful in every makefile.am +########## + + +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@FFTW_TRUE@am__append_1 = libscifftw-algo.la +DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \ + $(top_srcdir)/config/depcomp +@NEED_JAVA_TRUE@am__append_2 = java +subdir = modules/fftw +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \ + $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \ + $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \ + $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \ + $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \ + $(top_srcdir)/m4/intel_compiler.m4 \ + $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \ + $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \ + $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \ + $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \ + $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(pkglibdir)" \ + "$(DESTDIR)$(libscifftw_la_etcdir)" \ + "$(DESTDIR)$(libscifftw_la_rootdir)" \ + "$(DESTDIR)$(libscifftw_la_sci_gatewaydir)" +LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES) +libscifftw_algo_la_LIBADD = +am__libscifftw_algo_la_SOURCES_DIST = src/nofftw/nofftw.c \ + src/c/callfftw.c src/c/fftwlibname.c src/c/fftw_utilities.c \ + src/c/sci_data_utilities.c src/c/with_fftw.c +am__dirstamp = $(am__leading_dot)dirstamp +@FFTW_FALSE@am__objects_1 = src/nofftw/libscifftw_algo_la-nofftw.lo +@FFTW_TRUE@am__objects_1 = src/c/libscifftw_algo_la-callfftw.lo \ +@FFTW_TRUE@ src/c/libscifftw_algo_la-fftwlibname.lo \ +@FFTW_TRUE@ src/c/libscifftw_algo_la-fftw_utilities.lo \ +@FFTW_TRUE@ src/c/libscifftw_algo_la-sci_data_utilities.lo \ +@FFTW_TRUE@ src/c/libscifftw_algo_la-with_fftw.lo +@FFTW_TRUE@am_libscifftw_algo_la_OBJECTS = $(am__objects_1) +libscifftw_algo_la_OBJECTS = $(am_libscifftw_algo_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +@FFTW_TRUE@@MAINTAINER_MODE_FALSE@am_libscifftw_algo_la_rpath = +@FFTW_TRUE@@MAINTAINER_MODE_TRUE@am_libscifftw_algo_la_rpath = +am__DEPENDENCIES_1 = +@FFTW_TRUE@libscifftw_la_DEPENDENCIES = libscifftw-algo.la \ +@FFTW_TRUE@ $(am__DEPENDENCIES_1) +am__libscifftw_la_SOURCES_DIST = src/nofftw/nofftw.c src/c/callfftw.c \ + src/c/fftwlibname.c src/c/fftw_utilities.c \ + src/c/sci_data_utilities.c src/c/with_fftw.c \ + sci_gateway/c/gw_fftw.c \ + sci_gateway/c/sci_fftwlibraryisloaded.c \ + sci_gateway/c/sci_disposefftwlibrary.c \ + sci_gateway/c/sci_fftw.c sci_gateway/c/sci_fftw_flags.c \ + sci_gateway/c/sci_loadfftwlibrary.c \ + sci_gateway/c/sci_get_fftw_wisdom.c \ + sci_gateway/c/sci_set_fftw_wisdom.c \ + sci_gateway/c/sci_fftw_forget_wisdom.c sci_gateway/c/sci_dct.c \ + sci_gateway/c/sci_dst.c +@FFTW_FALSE@am__objects_2 = src/nofftw/libscifftw_la-nofftw.lo +@FFTW_TRUE@am__objects_2 = src/c/libscifftw_la-callfftw.lo \ +@FFTW_TRUE@ src/c/libscifftw_la-fftwlibname.lo \ +@FFTW_TRUE@ src/c/libscifftw_la-fftw_utilities.lo \ +@FFTW_TRUE@ src/c/libscifftw_la-sci_data_utilities.lo \ +@FFTW_TRUE@ src/c/libscifftw_la-with_fftw.lo +@FFTW_TRUE@am__objects_3 = sci_gateway/c/libscifftw_la-gw_fftw.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_fftw.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_fftw_flags.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_dct.lo \ +@FFTW_TRUE@ sci_gateway/c/libscifftw_la-sci_dst.lo +@FFTW_FALSE@am_libscifftw_la_OBJECTS = $(am__objects_2) +@FFTW_TRUE@am_libscifftw_la_OBJECTS = $(am__objects_3) +libscifftw_la_OBJECTS = $(am_libscifftw_la_OBJECTS) +libscifftw_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libscifftw_la_LDFLAGS) $(LDFLAGS) -o $@ +@MAINTAINER_MODE_FALSE@am_libscifftw_la_rpath = +@MAINTAINER_MODE_TRUE@am_libscifftw_la_rpath = -rpath $(pkglibdir) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/modules/core/includes +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libscifftw_algo_la_SOURCES) $(libscifftw_la_SOURCES) +DIST_SOURCES = $(am__libscifftw_algo_la_SOURCES_DIST) \ + $(am__libscifftw_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(libscifftw_la_etc_DATA) $(libscifftw_la_root_DATA) \ + $(libscifftw_la_sci_gateway_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +ALL_LINGUAS_DOC = @ALL_LINGUAS_DOC@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +ANT = @ANT@ +ANTLR = @ANTLR@ +AR = @AR@ +ARPACK_LIBS = @ARPACK_LIBS@ +ASM3 = @ASM3@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AVALON_FRAMEWORK = @AVALON_FRAMEWORK@ +AWK = @AWK@ +BATIK = @BATIK@ +BLAS_LIBS = @BLAS_LIBS@ +CC = @CC@ +CCACHE = @CCACHE@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHECKSTYLE = @CHECKSTYLE@ +COBERTURA = @COBERTURA@ +COMMONS_BEANUTILS = @COMMONS_BEANUTILS@ +COMMONS_IO = @COMMONS_IO@ +COMMONS_LOGGING = @COMMONS_LOGGING@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CURL_CFLAGS = @CURL_CFLAGS@ +CURL_CONFIG = @CURL_CONFIG@ +CURL_LIBS = @CURL_LIBS@ +CURL_VERSION = @CURL_VERSION@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEMOTOOLS_ENABLE = @DEMOTOOLS_ENABLE@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOCBOOK_ROOT = @DOCBOOK_ROOT@ +DOXYGEN_BIN = @DOXYGEN_BIN@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECJ = @ECJ@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFTW3_LIB = @FFTW3_LIB@ +FFTW_ENABLE = @FFTW_ENABLE@ +FGREP = @FGREP@ +FLEXDOCK = @FLEXDOCK@ +FLIBS = @FLIBS@ +FOP = @FOP@ +FREEHEP_GRAPHICS2D = @FREEHEP_GRAPHICS2D@ +FREEHEP_GRAPHICSIO = @FREEHEP_GRAPHICSIO@ +FREEHEP_GRAPHICSIO_EMF = @FREEHEP_GRAPHICSIO_EMF@ +FREEHEP_IO = @FREEHEP_IO@ +FREEHEP_UTIL = @FREEHEP_UTIL@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GIWS_BIN = @GIWS_BIN@ +GLUEGEN2_RT = @GLUEGEN2_RT@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GRAPHICS_ENABLE = @GRAPHICS_ENABLE@ +GREP = @GREP@ +GUI_ENABLE = @GUI_ENABLE@ +HDF5_CFLAGS = @HDF5_CFLAGS@ +HDF5_LIBS = @HDF5_LIBS@ +HELP_ENABLE = @HELP_ENABLE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAC_DEBUG = @JAVAC_DEBUG@ +JAVADOC = @JAVADOC@ +JAVAH = @JAVAH@ +JAVASCI_ENABLE = @JAVASCI_ENABLE@ +JAVA_ENABLE = @JAVA_ENABLE@ +JAVA_G = @JAVA_G@ +JAVA_HOME = @JAVA_HOME@ +JAVA_JNI_INCLUDE = @JAVA_JNI_INCLUDE@ +JAVA_JNI_LIBS = @JAVA_JNI_LIBS@ +JDB = @JDB@ +JEUCLID_CORE = @JEUCLID_CORE@ +JGRAPHX = @JGRAPHX@ +JHALL = @JHALL@ +JLATEXMATH = @JLATEXMATH@ +JLATEXMATH_FOP = @JLATEXMATH_FOP@ +JOGL2 = @JOGL2@ +JROSETTA_API = @JROSETTA_API@ +JROSETTA_ENGINE = @JROSETTA_ENGINE@ +JUNIT4 = @JUNIT4@ +LAPACK_LIBS = @LAPACK_LIBS@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBM = @LIBM@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LOGGING_LEVEL = @LOGGING_LEVEL@ +LOOKS = @LOOKS@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MATIO_CFLAGS = @MATIO_CFLAGS@ +MATIO_ENABLE = @MATIO_ENABLE@ +MATIO_LIBS = @MATIO_LIBS@ +MKDIR_P = @MKDIR_P@ +MPI_ENABLE = @MPI_ENABLE@ +MSGCAT = @MSGCAT@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLC = @OCAMLC@ +OCAMLDEP = @OCAMLDEP@ +OCAMLLEX = @OCAMLLEX@ +OCAMLOPT = @OCAMLOPT@ +OCAMLYACC = @OCAMLYACC@ +OPENMPI_CC = @OPENMPI_CC@ +OPENMPI_CFLAGS = @OPENMPI_CFLAGS@ +OPENMPI_CXX = @OPENMPI_CXX@ +OPENMPI_CXXFLAGS = @OPENMPI_CXXFLAGS@ +OPENMPI_LIBS = @OPENMPI_LIBS@ +OPENMP_CFLAGS = @OPENMP_CFLAGS@ +OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@ +OPENMP_ENABLE = @OPENMP_ENABLE@ +OPENMP_LIBS = @OPENMP_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PCRE_CFLAGS = @PCRE_CFLAGS@ +PCRE_CONFIG = @PCRE_CONFIG@ +PCRE_LIBS = @PCRE_LIBS@ +PCRE_VERSION = @PCRE_VERSION@ +PKG_CONFIG = @PKG_CONFIG@ +POSUB = @POSUB@ +POW_LIB = @POW_LIB@ +PYTHON = @PYTHON@ +RANLIB = @RANLIB@ +RELOCATABLE = @RELOCATABLE@ +RT_LIB = @RT_LIB@ +SAXON = @SAXON@ +SCILAB_BINARY_VERSION = @SCILAB_BINARY_VERSION@ +SCILAB_LIBRARY_VERSION = @SCILAB_LIBRARY_VERSION@ +SCILAB_VERSION_MAINTENANCE = @SCILAB_VERSION_MAINTENANCE@ +SCILAB_VERSION_MAJOR = @SCILAB_VERSION_MAJOR@ +SCILAB_VERSION_MINOR = @SCILAB_VERSION_MINOR@ +SCIRENDERER = @SCIRENDERER@ +SCIRENDERER_CP = @SCIRENDERER_CP@ +SCI_CFLAGS = @SCI_CFLAGS@ +SCI_CXXFLAGS = @SCI_CXXFLAGS@ +SCI_FFLAGS = @SCI_FFLAGS@ +SCI_LDFLAGS = @SCI_LDFLAGS@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SET_RELOCATABLE = @SET_RELOCATABLE@ +SHELL = @SHELL@ +SKINLF = @SKINLF@ +SPLINT = @SPLINT@ +STRIP = @STRIP@ +SWIG_BIN = @SWIG_BIN@ +SWIG_JAVA = @SWIG_JAVA@ +SWIG_RUNTIME_LIBS_DIR = @SWIG_RUNTIME_LIBS_DIR@ +SWIG_SCILAB = @SWIG_SCILAB@ +TCLTK_LIBS = @TCLTK_LIBS@ +TCL_INC_PATH = @TCL_INC_PATH@ +TK_INC_PATH = @TK_INC_PATH@ +UMFPACK_CFLAGS = @UMFPACK_CFLAGS@ +UMFPACK_ENABLE = @UMFPACK_ENABLE@ +UMFPACK_LIB = @UMFPACK_LIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_OCAML = @WITH_OCAML@ +WITH_TKSCI = @WITH_TKSCI@ +XCOS_ENABLE = @XCOS_ENABLE@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMKMF = @XMKMF@ +XMLGRAPHICS_COMMONS = @XMLGRAPHICS_COMMONS@ +XML_APIS_EXT = @XML_APIS_EXT@ +XML_CONFIG = @XML_CONFIG@ +XML_FLAGS = @XML_FLAGS@ +XML_LIBS = @XML_LIBS@ +XML_VERSION = @XML_VERSION@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +cxx_present = @cxx_present@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +modulename = fftw +@MAINTAINER_MODE_TRUE@pkglib_LTLIBRARIES = libscifftw.la +@MAINTAINER_MODE_FALSE@noinst_LTLIBRARIES = libscifftw.la \ +@MAINTAINER_MODE_FALSE@ $(am__append_1) +@MAINTAINER_MODE_TRUE@noinst_LTLIBRARIES = $(am__append_1) +libscifftw_la_LDFLAGS = $(AM_LDFLAGS) + +#### fftw : Conf files #### +libscifftw_la_rootdir = $(mydatadir) + +#### fftw : init scripts #### +libscifftw_la_etcdir = $(mydatadir)/etc +libscifftw_la_etc_DATA = etc/fftw.quit etc/fftw.start +@FFTW_FALSE@FFTW_C_SOURCES = src/nofftw/nofftw.c +@FFTW_TRUE@FFTW_C_SOURCES = src/c/callfftw.c \ +@FFTW_TRUE@src/c/fftwlibname.c \ +@FFTW_TRUE@src/c/fftw_utilities.c \ +@FFTW_TRUE@src/c/sci_data_utilities.c \ +@FFTW_TRUE@src/c/with_fftw.c + +@FFTW_TRUE@GATEWAY_C_SOURCES = sci_gateway/c/gw_fftw.c \ +@FFTW_TRUE@ sci_gateway/c/sci_fftwlibraryisloaded.c \ +@FFTW_TRUE@ sci_gateway/c/sci_disposefftwlibrary.c \ +@FFTW_TRUE@ sci_gateway/c/sci_fftw.c \ +@FFTW_TRUE@ sci_gateway/c/sci_fftw_flags.c \ +@FFTW_TRUE@ sci_gateway/c/sci_loadfftwlibrary.c \ +@FFTW_TRUE@ sci_gateway/c/sci_get_fftw_wisdom.c \ +@FFTW_TRUE@ sci_gateway/c/sci_set_fftw_wisdom.c \ +@FFTW_TRUE@ sci_gateway/c/sci_fftw_forget_wisdom.c \ +@FFTW_TRUE@ sci_gateway/c/sci_dct.c \ +@FFTW_TRUE@ sci_gateway/c/sci_dst.c + + +#### fftw : Conf files #### +@FFTW_TRUE@libscifftw_la_root_DATA = license.txt + +#### fftw : gateway declaration #### +@FFTW_TRUE@libscifftw_la_sci_gatewaydir = $(mydatadir)/sci_gateway +@FFTW_TRUE@libscifftw_la_sci_gateway_DATA = sci_gateway/fftw_gateway.xml +@FFTW_TRUE@libscifftw_algo_la_SOURCES = $(FFTW_C_SOURCES) +@FFTW_FALSE@libscifftw_la_SOURCES = $(FFTW_C_SOURCES) +@FFTW_TRUE@libscifftw_la_SOURCES = $(GATEWAY_C_SOURCES) +@FFTW_TRUE@libscifftw_algo_la_CPPFLAGS = $(libscifftw_la_CPPFLAGS) + +# For the code check (splint) +@FFTW_TRUE@CHECK_SRC = $(FFTW_C_SOURCES) $(GATEWAY_C_SOURCES) +@FFTW_TRUE@INCLUDE_FLAGS = $(libscifftw_la_CPPFLAGS) +@FFTW_TRUE@libscifftw_la_LIBADD = libscifftw-algo.la $(FFTW3_LIB) +@FFTW_FALSE@libscifftw_la_CPPFLAGS = -I$(srcdir)/includes/ \ +@FFTW_FALSE@ -I$(srcdir)/src/c/ \ +@FFTW_FALSE@ -I$(top_srcdir)/modules/api_scilab/includes/ \ +@FFTW_FALSE@ -I$(top_srcdir)/modules/output_stream/includes/ \ +@FFTW_FALSE@ -I$(top_srcdir)/modules/localization/includes/ \ +@FFTW_FALSE@ $(AM_CPPFLAGS) + +@FFTW_TRUE@libscifftw_la_CPPFLAGS = -I$(srcdir)/includes/ \ +@FFTW_TRUE@ -I$(srcdir)/src/c/ \ +@FFTW_TRUE@ -I$(top_srcdir)/modules/dynamic_link/includes/ \ +@FFTW_TRUE@ -I$(top_srcdir)/modules/fileio/includes/ \ +@FFTW_TRUE@ -I$(top_srcdir)/modules/output_stream/includes/ \ +@FFTW_TRUE@ -I$(top_srcdir)/modules/api_scilab/includes/ \ +@FFTW_TRUE@ -I$(top_srcdir)/modules/localization/includes/ \ +@FFTW_TRUE@ $(FFTW3_CFLAGS) \ +@FFTW_TRUE@ $(AM_CPPFLAGS) + + +# Where all the Scilab stuff is installed (macros, help, ...) +mydatadir = $(pkgdatadir)/modules/$(modulename) + +# Set AM_* SCI detected settings +AM_CPPFLAGS = $(SCI_CPPFLAGS) +AM_CFLAGS = $(SCI_CFLAGS) +AM_CXXFLAGS = $(SCI_CXXFLAGS) +# append includes to AM_FFLAGS to manage fortran includes +AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/ + +# Tag shared libraries with the Scilab version +AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION) + +# splint options +SPLINT_OPTIONS = -weak -booltype BOOL + +########################### JAVA ###################################### +#### We are delegating java compilation to ant... Thanks to that +#### the procedure will be the same with Microsoft Windows (C) +#### and Linux/Unix +####################################################################### +TARGETS_ALL = $(am__append_2) + +################ MACROS ###################### +# Rule to build a macro +# NOT USED AT THE MOMENT +SUFFIXES = .sci + +########### INSTALL DOCUMENTATION ################### + +# Install documentation files into the right target +# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because +# automake needs the html files to be present which is not the case when +# we are building Scilab + +# Where it should be installed +pkgdocdir = $(mydatadir) + +# What is the mask of the help source +DOCMASKXML = *.xml + +# What is the mask of the MathML sources +DOCMASKMML = *.mml + +########### INSTALL DATA ################### +# Install macros, help & demos +# Where it should be installed +pkgmacrosdir = $(mydatadir) +# Which directory we process +MACRODIRS = macros/ +# Mask of the Scilab sources macros +MACROMASK = *.sci +# Mask of the Scilab executable sources macros +MACROBUILDMASK = *.sce +# Mask of the Scilab compiled macros +MACROBINMASK = *.bin +# List of the standard directory for tests +TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java +# Where the demos should be installed +pkgdemosdir = $(mydatadir) +# List of the standard directory for demos +DEMOS_DIR = demos +# List of the standard directory for examples +EXAMPLES_DIR = examples +# Where to export JAVA archives (.jar) +JARDIR = jar/ +# JAR files mask +JARMASK = *.jar +# Chapter file +HELP_CHAPTERDIR = help/ +HELP_CHAPTERFILE = addchapter.sce +HELP_CHAPTERLANG = en_US fr_FR pt_BR +all: all-am + +.SUFFIXES: +.SUFFIXES: .sci .bin .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/fftw/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign modules/fftw/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(top_srcdir)/Makefile.incl.am: + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ + } + +uninstall-pkglibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ + done + +clean-pkglibLTLIBRARIES: + -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) + @list='$(pkglib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +src/nofftw/$(am__dirstamp): + @$(MKDIR_P) src/nofftw + @: > src/nofftw/$(am__dirstamp) +src/nofftw/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/nofftw/$(DEPDIR) + @: > src/nofftw/$(DEPDIR)/$(am__dirstamp) +src/nofftw/libscifftw_algo_la-nofftw.lo: src/nofftw/$(am__dirstamp) \ + src/nofftw/$(DEPDIR)/$(am__dirstamp) +src/c/$(am__dirstamp): + @$(MKDIR_P) src/c + @: > src/c/$(am__dirstamp) +src/c/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/c/$(DEPDIR) + @: > src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-callfftw.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-fftwlibname.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-fftw_utilities.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-sci_data_utilities.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_algo_la-with_fftw.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) + +libscifftw-algo.la: $(libscifftw_algo_la_OBJECTS) $(libscifftw_algo_la_DEPENDENCIES) $(EXTRA_libscifftw_algo_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(am_libscifftw_algo_la_rpath) $(libscifftw_algo_la_OBJECTS) $(libscifftw_algo_la_LIBADD) $(LIBS) +src/nofftw/libscifftw_la-nofftw.lo: src/nofftw/$(am__dirstamp) \ + src/nofftw/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-callfftw.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-fftwlibname.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-fftw_utilities.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-sci_data_utilities.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +src/c/libscifftw_la-with_fftw.lo: src/c/$(am__dirstamp) \ + src/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/$(am__dirstamp): + @$(MKDIR_P) sci_gateway/c + @: > sci_gateway/c/$(am__dirstamp) +sci_gateway/c/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) sci_gateway/c/$(DEPDIR) + @: > sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-gw_fftw.lo: sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_fftw.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_fftw_flags.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo: \ + sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_dct.lo: sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) +sci_gateway/c/libscifftw_la-sci_dst.lo: sci_gateway/c/$(am__dirstamp) \ + sci_gateway/c/$(DEPDIR)/$(am__dirstamp) + +libscifftw.la: $(libscifftw_la_OBJECTS) $(libscifftw_la_DEPENDENCIES) $(EXTRA_libscifftw_la_DEPENDENCIES) + $(AM_V_CCLD)$(libscifftw_la_LINK) $(am_libscifftw_la_rpath) $(libscifftw_la_OBJECTS) $(libscifftw_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f sci_gateway/c/*.$(OBJEXT) + -rm -f sci_gateway/c/*.lo + -rm -f src/c/*.$(OBJEXT) + -rm -f src/c/*.lo + -rm -f src/nofftw/*.$(OBJEXT) + -rm -f src/nofftw/*.lo + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-gw_fftw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dct.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_disposefftwlibrary.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dst.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_flags.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_forget_wisdom.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftwlibraryisloaded.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_get_fftw_wisdom.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_loadfftwlibrary.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_set_fftw_wisdom.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_algo_la-callfftw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_algo_la-fftw_utilities.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_algo_la-fftwlibname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_algo_la-sci_data_utilities.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_algo_la-with_fftw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_la-callfftw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_la-fftw_utilities.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_la-fftwlibname.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_la-sci_data_utilities.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/c/$(DEPDIR)/libscifftw_la-with_fftw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/nofftw/$(DEPDIR)/libscifftw_algo_la-nofftw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/nofftw/$(DEPDIR)/libscifftw_la-nofftw.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +src/nofftw/libscifftw_algo_la-nofftw.lo: src/nofftw/nofftw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/nofftw/libscifftw_algo_la-nofftw.lo -MD -MP -MF src/nofftw/$(DEPDIR)/libscifftw_algo_la-nofftw.Tpo -c -o src/nofftw/libscifftw_algo_la-nofftw.lo `test -f 'src/nofftw/nofftw.c' || echo '$(srcdir)/'`src/nofftw/nofftw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/nofftw/$(DEPDIR)/libscifftw_algo_la-nofftw.Tpo src/nofftw/$(DEPDIR)/libscifftw_algo_la-nofftw.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/nofftw/nofftw.c' object='src/nofftw/libscifftw_algo_la-nofftw.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/nofftw/libscifftw_algo_la-nofftw.lo `test -f 'src/nofftw/nofftw.c' || echo '$(srcdir)/'`src/nofftw/nofftw.c + +src/c/libscifftw_algo_la-callfftw.lo: src/c/callfftw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-callfftw.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-callfftw.Tpo -c -o src/c/libscifftw_algo_la-callfftw.lo `test -f 'src/c/callfftw.c' || echo '$(srcdir)/'`src/c/callfftw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-callfftw.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-callfftw.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/callfftw.c' object='src/c/libscifftw_algo_la-callfftw.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-callfftw.lo `test -f 'src/c/callfftw.c' || echo '$(srcdir)/'`src/c/callfftw.c + +src/c/libscifftw_algo_la-fftwlibname.lo: src/c/fftwlibname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-fftwlibname.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-fftwlibname.Tpo -c -o src/c/libscifftw_algo_la-fftwlibname.lo `test -f 'src/c/fftwlibname.c' || echo '$(srcdir)/'`src/c/fftwlibname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-fftwlibname.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-fftwlibname.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/fftwlibname.c' object='src/c/libscifftw_algo_la-fftwlibname.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-fftwlibname.lo `test -f 'src/c/fftwlibname.c' || echo '$(srcdir)/'`src/c/fftwlibname.c + +src/c/libscifftw_algo_la-fftw_utilities.lo: src/c/fftw_utilities.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-fftw_utilities.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-fftw_utilities.Tpo -c -o src/c/libscifftw_algo_la-fftw_utilities.lo `test -f 'src/c/fftw_utilities.c' || echo '$(srcdir)/'`src/c/fftw_utilities.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-fftw_utilities.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-fftw_utilities.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/fftw_utilities.c' object='src/c/libscifftw_algo_la-fftw_utilities.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-fftw_utilities.lo `test -f 'src/c/fftw_utilities.c' || echo '$(srcdir)/'`src/c/fftw_utilities.c + +src/c/libscifftw_algo_la-sci_data_utilities.lo: src/c/sci_data_utilities.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-sci_data_utilities.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-sci_data_utilities.Tpo -c -o src/c/libscifftw_algo_la-sci_data_utilities.lo `test -f 'src/c/sci_data_utilities.c' || echo '$(srcdir)/'`src/c/sci_data_utilities.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-sci_data_utilities.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-sci_data_utilities.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/sci_data_utilities.c' object='src/c/libscifftw_algo_la-sci_data_utilities.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-sci_data_utilities.lo `test -f 'src/c/sci_data_utilities.c' || echo '$(srcdir)/'`src/c/sci_data_utilities.c + +src/c/libscifftw_algo_la-with_fftw.lo: src/c/with_fftw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_algo_la-with_fftw.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_algo_la-with_fftw.Tpo -c -o src/c/libscifftw_algo_la-with_fftw.lo `test -f 'src/c/with_fftw.c' || echo '$(srcdir)/'`src/c/with_fftw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_algo_la-with_fftw.Tpo src/c/$(DEPDIR)/libscifftw_algo_la-with_fftw.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/with_fftw.c' object='src/c/libscifftw_algo_la-with_fftw.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_algo_la-with_fftw.lo `test -f 'src/c/with_fftw.c' || echo '$(srcdir)/'`src/c/with_fftw.c + +src/nofftw/libscifftw_la-nofftw.lo: src/nofftw/nofftw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/nofftw/libscifftw_la-nofftw.lo -MD -MP -MF src/nofftw/$(DEPDIR)/libscifftw_la-nofftw.Tpo -c -o src/nofftw/libscifftw_la-nofftw.lo `test -f 'src/nofftw/nofftw.c' || echo '$(srcdir)/'`src/nofftw/nofftw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/nofftw/$(DEPDIR)/libscifftw_la-nofftw.Tpo src/nofftw/$(DEPDIR)/libscifftw_la-nofftw.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/nofftw/nofftw.c' object='src/nofftw/libscifftw_la-nofftw.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/nofftw/libscifftw_la-nofftw.lo `test -f 'src/nofftw/nofftw.c' || echo '$(srcdir)/'`src/nofftw/nofftw.c + +src/c/libscifftw_la-callfftw.lo: src/c/callfftw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-callfftw.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-callfftw.Tpo -c -o src/c/libscifftw_la-callfftw.lo `test -f 'src/c/callfftw.c' || echo '$(srcdir)/'`src/c/callfftw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-callfftw.Tpo src/c/$(DEPDIR)/libscifftw_la-callfftw.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/callfftw.c' object='src/c/libscifftw_la-callfftw.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-callfftw.lo `test -f 'src/c/callfftw.c' || echo '$(srcdir)/'`src/c/callfftw.c + +src/c/libscifftw_la-fftwlibname.lo: src/c/fftwlibname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-fftwlibname.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-fftwlibname.Tpo -c -o src/c/libscifftw_la-fftwlibname.lo `test -f 'src/c/fftwlibname.c' || echo '$(srcdir)/'`src/c/fftwlibname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-fftwlibname.Tpo src/c/$(DEPDIR)/libscifftw_la-fftwlibname.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/fftwlibname.c' object='src/c/libscifftw_la-fftwlibname.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-fftwlibname.lo `test -f 'src/c/fftwlibname.c' || echo '$(srcdir)/'`src/c/fftwlibname.c + +src/c/libscifftw_la-fftw_utilities.lo: src/c/fftw_utilities.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-fftw_utilities.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-fftw_utilities.Tpo -c -o src/c/libscifftw_la-fftw_utilities.lo `test -f 'src/c/fftw_utilities.c' || echo '$(srcdir)/'`src/c/fftw_utilities.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-fftw_utilities.Tpo src/c/$(DEPDIR)/libscifftw_la-fftw_utilities.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/fftw_utilities.c' object='src/c/libscifftw_la-fftw_utilities.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-fftw_utilities.lo `test -f 'src/c/fftw_utilities.c' || echo '$(srcdir)/'`src/c/fftw_utilities.c + +src/c/libscifftw_la-sci_data_utilities.lo: src/c/sci_data_utilities.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-sci_data_utilities.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-sci_data_utilities.Tpo -c -o src/c/libscifftw_la-sci_data_utilities.lo `test -f 'src/c/sci_data_utilities.c' || echo '$(srcdir)/'`src/c/sci_data_utilities.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-sci_data_utilities.Tpo src/c/$(DEPDIR)/libscifftw_la-sci_data_utilities.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/sci_data_utilities.c' object='src/c/libscifftw_la-sci_data_utilities.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-sci_data_utilities.lo `test -f 'src/c/sci_data_utilities.c' || echo '$(srcdir)/'`src/c/sci_data_utilities.c + +src/c/libscifftw_la-with_fftw.lo: src/c/with_fftw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/c/libscifftw_la-with_fftw.lo -MD -MP -MF src/c/$(DEPDIR)/libscifftw_la-with_fftw.Tpo -c -o src/c/libscifftw_la-with_fftw.lo `test -f 'src/c/with_fftw.c' || echo '$(srcdir)/'`src/c/with_fftw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/c/$(DEPDIR)/libscifftw_la-with_fftw.Tpo src/c/$(DEPDIR)/libscifftw_la-with_fftw.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/c/with_fftw.c' object='src/c/libscifftw_la-with_fftw.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/c/libscifftw_la-with_fftw.lo `test -f 'src/c/with_fftw.c' || echo '$(srcdir)/'`src/c/with_fftw.c + +sci_gateway/c/libscifftw_la-gw_fftw.lo: sci_gateway/c/gw_fftw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-gw_fftw.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-gw_fftw.Tpo -c -o sci_gateway/c/libscifftw_la-gw_fftw.lo `test -f 'sci_gateway/c/gw_fftw.c' || echo '$(srcdir)/'`sci_gateway/c/gw_fftw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-gw_fftw.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-gw_fftw.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/gw_fftw.c' object='sci_gateway/c/libscifftw_la-gw_fftw.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-gw_fftw.lo `test -f 'sci_gateway/c/gw_fftw.c' || echo '$(srcdir)/'`sci_gateway/c/gw_fftw.c + +sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo: sci_gateway/c/sci_fftwlibraryisloaded.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftwlibraryisloaded.Tpo -c -o sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo `test -f 'sci_gateway/c/sci_fftwlibraryisloaded.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftwlibraryisloaded.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftwlibraryisloaded.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftwlibraryisloaded.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_fftwlibraryisloaded.c' object='sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo `test -f 'sci_gateway/c/sci_fftwlibraryisloaded.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftwlibraryisloaded.c + +sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo: sci_gateway/c/sci_disposefftwlibrary.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_disposefftwlibrary.Tpo -c -o sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo `test -f 'sci_gateway/c/sci_disposefftwlibrary.c' || echo '$(srcdir)/'`sci_gateway/c/sci_disposefftwlibrary.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_disposefftwlibrary.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_disposefftwlibrary.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_disposefftwlibrary.c' object='sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo `test -f 'sci_gateway/c/sci_disposefftwlibrary.c' || echo '$(srcdir)/'`sci_gateway/c/sci_disposefftwlibrary.c + +sci_gateway/c/libscifftw_la-sci_fftw.lo: sci_gateway/c/sci_fftw.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_fftw.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw.Tpo -c -o sci_gateway/c/libscifftw_la-sci_fftw.lo `test -f 'sci_gateway/c/sci_fftw.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_fftw.c' object='sci_gateway/c/libscifftw_la-sci_fftw.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_fftw.lo `test -f 'sci_gateway/c/sci_fftw.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw.c + +sci_gateway/c/libscifftw_la-sci_fftw_flags.lo: sci_gateway/c/sci_fftw_flags.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_fftw_flags.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_flags.Tpo -c -o sci_gateway/c/libscifftw_la-sci_fftw_flags.lo `test -f 'sci_gateway/c/sci_fftw_flags.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw_flags.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_flags.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_flags.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_fftw_flags.c' object='sci_gateway/c/libscifftw_la-sci_fftw_flags.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_fftw_flags.lo `test -f 'sci_gateway/c/sci_fftw_flags.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw_flags.c + +sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo: sci_gateway/c/sci_loadfftwlibrary.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_loadfftwlibrary.Tpo -c -o sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo `test -f 'sci_gateway/c/sci_loadfftwlibrary.c' || echo '$(srcdir)/'`sci_gateway/c/sci_loadfftwlibrary.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_loadfftwlibrary.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_loadfftwlibrary.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_loadfftwlibrary.c' object='sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo `test -f 'sci_gateway/c/sci_loadfftwlibrary.c' || echo '$(srcdir)/'`sci_gateway/c/sci_loadfftwlibrary.c + +sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo: sci_gateway/c/sci_get_fftw_wisdom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_get_fftw_wisdom.Tpo -c -o sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo `test -f 'sci_gateway/c/sci_get_fftw_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_get_fftw_wisdom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_get_fftw_wisdom.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_get_fftw_wisdom.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_get_fftw_wisdom.c' object='sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo `test -f 'sci_gateway/c/sci_get_fftw_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_get_fftw_wisdom.c + +sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo: sci_gateway/c/sci_set_fftw_wisdom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_set_fftw_wisdom.Tpo -c -o sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo `test -f 'sci_gateway/c/sci_set_fftw_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_set_fftw_wisdom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_set_fftw_wisdom.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_set_fftw_wisdom.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_set_fftw_wisdom.c' object='sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo `test -f 'sci_gateway/c/sci_set_fftw_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_set_fftw_wisdom.c + +sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo: sci_gateway/c/sci_fftw_forget_wisdom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_forget_wisdom.Tpo -c -o sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo `test -f 'sci_gateway/c/sci_fftw_forget_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw_forget_wisdom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_forget_wisdom.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_fftw_forget_wisdom.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_fftw_forget_wisdom.c' object='sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo `test -f 'sci_gateway/c/sci_fftw_forget_wisdom.c' || echo '$(srcdir)/'`sci_gateway/c/sci_fftw_forget_wisdom.c + +sci_gateway/c/libscifftw_la-sci_dct.lo: sci_gateway/c/sci_dct.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_dct.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dct.Tpo -c -o sci_gateway/c/libscifftw_la-sci_dct.lo `test -f 'sci_gateway/c/sci_dct.c' || echo '$(srcdir)/'`sci_gateway/c/sci_dct.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dct.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dct.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_dct.c' object='sci_gateway/c/libscifftw_la-sci_dct.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_dct.lo `test -f 'sci_gateway/c/sci_dct.c' || echo '$(srcdir)/'`sci_gateway/c/sci_dct.c + +sci_gateway/c/libscifftw_la-sci_dst.lo: sci_gateway/c/sci_dst.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sci_gateway/c/libscifftw_la-sci_dst.lo -MD -MP -MF sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dst.Tpo -c -o sci_gateway/c/libscifftw_la-sci_dst.lo `test -f 'sci_gateway/c/sci_dst.c' || echo '$(srcdir)/'`sci_gateway/c/sci_dst.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dst.Tpo sci_gateway/c/$(DEPDIR)/libscifftw_la-sci_dst.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sci_gateway/c/sci_dst.c' object='sci_gateway/c/libscifftw_la-sci_dst.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscifftw_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sci_gateway/c/libscifftw_la-sci_dst.lo `test -f 'sci_gateway/c/sci_dst.c' || echo '$(srcdir)/'`sci_gateway/c/sci_dst.c + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf sci_gateway/c/.libs sci_gateway/c/_libs + -rm -rf src/c/.libs src/c/_libs + -rm -rf src/nofftw/.libs src/nofftw/_libs +install-libscifftw_la_etcDATA: $(libscifftw_la_etc_DATA) + @$(NORMAL_INSTALL) + @list='$(libscifftw_la_etc_DATA)'; test -n "$(libscifftw_la_etcdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscifftw_la_etcdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscifftw_la_etcdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifftw_la_etcdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifftw_la_etcdir)" || exit $$?; \ + done + +uninstall-libscifftw_la_etcDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscifftw_la_etc_DATA)'; test -n "$(libscifftw_la_etcdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscifftw_la_etcdir)'; $(am__uninstall_files_from_dir) +install-libscifftw_la_rootDATA: $(libscifftw_la_root_DATA) + @$(NORMAL_INSTALL) + @list='$(libscifftw_la_root_DATA)'; test -n "$(libscifftw_la_rootdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscifftw_la_rootdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscifftw_la_rootdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifftw_la_rootdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifftw_la_rootdir)" || exit $$?; \ + done + +uninstall-libscifftw_la_rootDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscifftw_la_root_DATA)'; test -n "$(libscifftw_la_rootdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscifftw_la_rootdir)'; $(am__uninstall_files_from_dir) +install-libscifftw_la_sci_gatewayDATA: $(libscifftw_la_sci_gateway_DATA) + @$(NORMAL_INSTALL) + @list='$(libscifftw_la_sci_gateway_DATA)'; test -n "$(libscifftw_la_sci_gatewaydir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscifftw_la_sci_gatewaydir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscifftw_la_sci_gatewaydir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscifftw_la_sci_gatewaydir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscifftw_la_sci_gatewaydir)" || exit $$?; \ + done + +uninstall-libscifftw_la_sci_gatewayDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscifftw_la_sci_gateway_DATA)'; test -n "$(libscifftw_la_sci_gatewaydir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscifftw_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) all-local +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscifftw_la_etcdir)" "$(DESTDIR)$(libscifftw_la_rootdir)" "$(DESTDIR)$(libscifftw_la_sci_gatewaydir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f sci_gateway/c/$(DEPDIR)/$(am__dirstamp) + -rm -f sci_gateway/c/$(am__dirstamp) + -rm -f src/c/$(DEPDIR)/$(am__dirstamp) + -rm -f src/c/$(am__dirstamp) + -rm -f src/nofftw/$(DEPDIR)/$(am__dirstamp) + -rm -f src/nofftw/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-local \ + clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/nofftw/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-data-local install-libscifftw_la_etcDATA \ + install-libscifftw_la_rootDATA \ + install-libscifftw_la_sci_gatewayDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: install-html-local + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf sci_gateway/c/$(DEPDIR) src/c/$(DEPDIR) src/nofftw/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libscifftw_la_etcDATA \ + uninstall-libscifftw_la_rootDATA \ + uninstall-libscifftw_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \ + check-local clean clean-generic clean-libtool clean-local \ + clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-local distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-local install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-html-local install-info \ + install-info-am install-libscifftw_la_etcDATA \ + install-libscifftw_la_rootDATA \ + install-libscifftw_la_sci_gatewayDATA install-man install-pdf \ + install-pdf-am install-pkglibLTLIBRARIES install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libscifftw_la_etcDATA \ + uninstall-libscifftw_la_rootDATA \ + uninstall-libscifftw_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + + +# This target enables tests for Scilab +check-local: $(top_builddir)/scilab-bin test + if test -d $(mydatadir)/tests; then \ + @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \ + fi +check-code: + if test -f build.xml; then \ + $(ANT) checkstyle; \ + fi + if test -x "$(SPLINT)"; then \ + $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \ + fi +@NEED_JAVA_TRUE@java: +# Some configurations needs to export JAVA_HOME in the current env +@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ +@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ +@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \ +@NEED_JAVA_TRUE@ $(ANT); \ +@NEED_JAVA_TRUE@ fi + +@NEED_JAVA_TRUE@clean-java: +# Some configurations needs to export JAVA_HOME in the current env +@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ +@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ +@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \ +@NEED_JAVA_TRUE@ $(ANT) clean; \ +@NEED_JAVA_TRUE@ fi; + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +@SWIG_TRUE@swig: $(SWIG_WRAPPERS) +@SWIG_TRUE@ @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \ +@SWIG_TRUE@ SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \ +@SWIG_TRUE@ if test -n "$(SWIG_WRAPPERS)"; then \ +@SWIG_TRUE@ for file in $(SWIG_WRAPPERS) ; do \ +@SWIG_TRUE@ echo "Swig process of $$file (Java) ..."; \ +@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \ +@SWIG_TRUE@ done; \ +@SWIG_TRUE@ fi + +@SWIG_TRUE@swig-scilab: $(SWIG_SCILAB_WRAPPERS) +@SWIG_TRUE@ @SWIG_OUTDIR=src/swig/; \ +@SWIG_TRUE@ if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \ +@SWIG_TRUE@ for file in $(SWIG_SCILAB_WRAPPERS) ; do \ +@SWIG_TRUE@ echo "Swig process of $$file (Scilab) ..."; \ +@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \ +@SWIG_TRUE@ done; \ +@SWIG_TRUE@ fi + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +@GIWS_TRUE@giws: $(GIWS_WRAPPERS) +@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/; \ +@GIWS_TRUE@ MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \ +@GIWS_TRUE@ if test -n "$(GIWS_WRAPPERS)"; then \ +@GIWS_TRUE@ for file in $(GIWS_WRAPPERS) ; do \ +@GIWS_TRUE@ echo "GIWS process of $$file ..."; \ +@GIWS_TRUE@ if test -z "$(GIWS_OPTIONS)"; then \ +@GIWS_TRUE@ $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +@GIWS_TRUE@ else \ +@GIWS_TRUE@ echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \ +@GIWS_TRUE@ $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +@GIWS_TRUE@ fi \ +@GIWS_TRUE@ done; \ +@GIWS_TRUE@ fi + +@GIWS_TRUE@giws-exception: +@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/;\ +@GIWS_TRUE@ echo "GIWS: Generation of exception class ..."; \ +@GIWS_TRUE@ $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR + +macros: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been built"; \ + else \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\ + fi) + +# Removes the macros +clean-macros: +# Removes macros (*.bin generated from .sci) + @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \ + rm -f $(builddir)/$$dir/$(MACROBINMASK); \ + done + +test: +# More tests could be added here + @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) test; \ + fi + +all-local: $(TARGETS_ALL) + +.sci.bin: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been build"; \ + else \ + echo "Creating $@"; \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \ + fi ) + +install-html-local: + +install-data-local-local: +# Mainly for javasci + @if test -d $(srcdir)/javadoc; then \ + cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \ + fi +# If the user wants the help sources to be installed +@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of XML sources of help files --------"; \ +@INSTALL_HELP_XML_TRUE@ for lang in $(ALL_LINGUAS); do \ +@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/$$lang; then \ +@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \ +@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \ +@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \ +@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \ +@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \ +@INSTALL_HELP_XML_TRUE@ done ; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ done; \ +@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of MathML sources --------"; \ +@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/mml/; then \ +@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \ +@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \ +@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \ +@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \ +@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \ +@INSTALL_HELP_XML_TRUE@ done ; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ fi +install-data-local: +# Install the tests + @echo "-------- Install tests (if any) --------"; \ + for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the help chapter + @echo "-------- Install the help chapter (if any) --------"; \ + for lang in $(HELP_CHAPTERLANG); do \ + HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \ + if test -f $$HELPFILE; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + fi; \ + done +# Install the demos & examples + @echo "-------- Install demos & examples (if any) --------"; \ + for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the macros + @echo "-------- Install macros (if any) --------"; \ + for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + if test -d $(srcdir)/$$dir/; then \ + FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\ + if test -n "$(MACROSSPECIALEXT)"; then \ + specialExtDir=""; \ + for specialExt in $(MACROSSPECIALEXT); do \ + specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \ + done; \ + FILELIST="$$FILELIST $$specialExtDir"; \ + fi; \ + for file in `ls -1 $$FILELIST 2>/dev/null`; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \ + done; \ + fi; \ + done +# Install java files (.jar) + @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \ + echo "-------- Install jar files --------"; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \ + for file in $(srcdir)/$(JARDIR)$(JARMASK); do\ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \ + done ; \ + fi + +########### CLEAN ################### +# Clean help (generated automatically by Scilab) +# It used to clean the macro (clean-macros) but this was causing +# make clean && make to fail Scilab startup +@NEED_JAVA_TRUE@clean-local: clean-java +@NEED_JAVA_FALSE@clean-local: + +distclean-local: + rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_* + +.PHONY: macros java swig giws + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/fftw/core_Import.def b/modules/fftw/core_Import.def new file mode 100755 index 000000000..179a8b06e --- /dev/null +++ b/modules/fftw/core_Import.def @@ -0,0 +1,26 @@ +LIBRARY core.dll + + +EXPORTS +callFunctionFromGateway +com_ +putlhsvar_ +intersci_ +stack_ +createvar_ +createcvar_ +vartype_ +check_dims +GetData +getrhscvar_ +checklhs_ +checkrhs_ +createvarfromptr_ +freeArrayOfString +getrhsvar_ +gettype_ +vstk_ +overload_ +MyHeapAlloc +MyHeapFree +MyHeapRealloc diff --git a/modules/fftw/etc/fftw.quit b/modules/fftw/etc/fftw.quit new file mode 100755 index 000000000..54148ecda --- /dev/null +++ b/modules/fftw/etc/fftw.quit @@ -0,0 +1,17 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA +// Copyright (C) 2009 - DIGITEO +// +// 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 + +if %fftw then + + if ( fftwlibraryisloaded() ) then + disposefftwlibrary(); + end + +end diff --git a/modules/fftw/etc/fftw.start b/modules/fftw/etc/fftw.start new file mode 100755 index 000000000..e1866d19c --- /dev/null +++ b/modules/fftw/etc/fftw.start @@ -0,0 +1,52 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009-2011 - DIGITEO - 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 + +function startModule() + if %fftw then + if getos() == "Windows" then + librarynamefftw = SCI+"/bin/fftw/libfftw3-3"+getdynlibext(); + librarynamefftw3 = ""; + else + librarynamefftw = "libfftw3"+getdynlibext(); + // Some distribs/os are not adding the .3 extension... + librarynamefftw3 = librarynamefftw+".3"; + end + + if ( loadfftwlibrary(librarynamefftw3) | loadfftwlibrary(librarynamefftw)) then + // replace scilab fft function by fftw + clearfun('fft'); + newfun('fft', funptr('fftw')); + + else // if ( loadfftwlibrary(librarynamefftw) ) + settings_file = pathconvert(SCIHOME+"/.scilab_settings", %f, %t) + w = fileinfo(settings_file); + show = %t; + if w <> [] then + show = grep(mgetl(SCIHOME+"/.scilab_settings"),"displayWarningFFTW=no")==[] + end + if show then + MSG_FTTW = [_("You choose to install scilab with fftw module."); + _("This module requires : "+librarynamefftw+" (GPL licence)."); + _("Scilab will use standard fft by default until you install this library."); + _("See help fftw for more information.")]; + + if getscilabmode() == "STD" then + messagebox(MSG_FTTW,"","info"); + else + warning(MSG_FTTW); + end + mputl("displayWarningFFTW=no",SCIHOME+"/.scilab_settings") + end + end // if ( loadfftwlibrary(librarynamefftw) ) + end + +endfunction + +startModule(); +clear startModule; diff --git a/modules/fftw/fftw.iss b/modules/fftw/fftw.iss new file mode 100755 index 000000000..3ead3088d --- /dev/null +++ b/modules/fftw/fftw.iss @@ -0,0 +1,51 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) INRIA - Allan CORNET +; Copyright (C) DIGITEO - 2010 - 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 +; +;-------------------------------------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;-------------------------------------------------------------------------------------------------------------- +; FFTW module +;-------------------------------------------------------------------------------------------------------------- +; +#define FFTW "fftw" +; +Source: bin\{#FFTW}\lib{#FFTW}3-3.dll; DestDir: {app}\bin\{#FFTW}; Components: {#COMPN_FFTW} +Source: bin\{#FFTW}\COPYRIGHT; DestDir: {app}\bin\{#FFTW}; Components: {#COMPN_FFTW} +Source: bin\{#FFTW}\COPYING; DestDir: {app}\bin\{#FFTW}; Components: {#COMPN_FFTW} + +Source: bin\{#FFTW}.dll; DestDir: {app}\bin; DestName: {#FFTW}.dll; Components: {#COMPN_FFTW} +Source: bin\no{#FFTW}.dll; DestDir: {app}\bin; DestName: {#FFTW}.dll; Components: not ({#COMPN_FFTW}) +; + +Source: modules\{#FFTW}\license.txt; DestDir: {app}\modules\{#FFTW}; Components: {#COMPN_FFTW} +; +Source: modules\{#FFTW}\sci_gateway\{#FFTW}_gateway.xml; DestDir: {app}\modules\{#FFTW}\sci_gateway; Components: {#COMPN_FFTW} +; +Source: modules\{#FFTW}\etc\{#FFTW}.quit; DestDir: {app}\modules\{#FFTW}\etc; Components: {#COMPN_FFTW} +Source: modules\{#FFTW}\etc\{#FFTW}.start; DestDir: {app}\modules\{#FFTW}\etc; Components: {#COMPN_FFTW} +; +;Source: modules\{#FFTW}\demos\*.*; DestDir: {app}\modules\{#FFTW}\demos; Flags: recursesubdirs; Components: {#COMPN_FFTW} +; +;Source: modules\{#FFTW}\includes\*.h; Flags: recursesubdirs; DestDir: {app}\modules\{#FFTW}\includes; Components: {#COMPN_FFTW} +; +;Source: modules\{#FFTW}\macros\lib; DestDir: {app}\modules\{#FFTW}\macros; Components: {#COMPN_FFTW} +;Source: modules\{#FFTW}\macros\names; DestDir: {app}\modules\{#FFTW}\macros; Components: {#COMPN_FFTW} +;Source: modules\{#FFTW}\macros\*.bin; DestDir: {app}\modules\{#FFTW}\macros; Components: {#COMPN_FFTW} +;Source: modules\{#FFTW}\macros\*.sci; DestDir: {app}\modules\{#FFTW}\macros; Components: {#COMPN_FFTW} +Source: modules\{#FFTW}\macros\buildmacros.sce; DestDir: {app}\modules\{#FFTW}\macros; Components: {#COMPN_FFTW} +Source: modules\{#FFTW}\macros\buildmacros.bat; DestDir: {app}\modules\{#FFTW}\macros; Components: {#COMPN_FFTW} +Source: modules\{#FFTW}\macros\cleanmacros.bat; DestDir: {app}\modules\{#FFTW}\macros; Components: {#COMPN_FFTW} +; +Source: modules\{#FFTW}\tests\*.*; DestDir: {app}\modules\{#FFTW}\tests; Flags: recursesubdirs; Components: {#COMPN_FFTW} and {#COMPN_TESTS} +; +;-------------------------------------------------------------------------------------------------------------- +; diff --git a/modules/fftw/fftw.vcxproj b/modules/fftw/fftw.vcxproj new file mode 100755 index 000000000..cc0f1cfac --- /dev/null +++ b/modules/fftw/fftw.vcxproj @@ -0,0 +1,264 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{13B86307-5A11-48D6-94BE-71F77BCB82D1}</ProjectGuid> + <RootNamespace>fftw</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>includes;src/c;../core/includes;../fileio/includes;../output_stream/includes;../windows_tools/includes;../localization/includes;../../libs/intl;../dynamic_link/includes;../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>FORDLL;_DEBUG;_WINDOWS;_USRDLL;FFTW_EXPORTS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +lib /DEF:"$(ProjectDir)Scilab_Windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)Scilab_Windows.lib" 1>NUL 2>NUL +lib /DEF:"$(ProjectDir)Elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)Elementary_functions_f.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;scilab_windows.lib;elementary_functions_f.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>../../bin/blasplus.lib;scilab_windows.lib;core.lib;elementary_functions_f.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>includes;src/c;../core/includes;../fileio/includes;../output_stream/includes;../windows_tools/includes;../localization/includes;../../libs/intl;../dynamic_link/includes;../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>FORDLL;_DEBUG;_WINDOWS;_USRDLL;FFTW_EXPORTS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +lib /DEF:"$(ProjectDir)Scilab_Windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)Scilab_Windows.lib" 1>NUL 2>NUL +lib /DEF:"$(ProjectDir)Elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)Elementary_functions_f.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;scilab_windows.lib;elementary_functions_f.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>../../bin/blasplus.lib;scilab_windows.lib;core.lib;elementary_functions_f.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>includes;src/c;../core/includes;../fileio/includes;../output_stream/includes;../windows_tools/includes;../localization/includes;../../libs/intl;../dynamic_link/includes;../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>FORDLL;NDEBUG;_WINDOWS;_USRDLL;FFTW_EXPORTS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +lib /DEF:"$(ProjectDir)Scilab_Windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)Scilab_Windows.lib" 1>NUL 2>NUL +lib /DEF:"$(ProjectDir)Elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)Elementary_functions_f.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;scilab_windows.lib;elementary_functions_f.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>../../bin/blasplus.lib;scilab_windows.lib;core.lib;elementary_functions_f.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>includes;src/c;../core/includes;../fileio/includes;../output_stream/includes;../windows_tools/includes;../localization/includes;../../libs/intl;../dynamic_link/includes;../api_scilab/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>FORDLL;NDEBUG;_WINDOWS;_USRDLL;FFTW_EXPORTS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +lib /DEF:"$(ProjectDir)Scilab_Windows_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)Scilab_Windows.lib" 1>NUL 2>NUL +lib /DEF:"$(ProjectDir)Elementary_functions_f_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Platform) /OUT:"$(ProjectDir)Elementary_functions_f.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;scilab_windows.lib;elementary_functions_f.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>../../bin/blasplus.lib;scilab_windows.lib;core.lib;elementary_functions_f.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="sci_gateway\c\sci_dct.c" /> + <ClCompile Include="sci_gateway\c\sci_dst.c" /> + <ClCompile Include="src\c\callfftw.c" /> + <ClCompile Include="src\c\DllmainFttw.c" /> + <ClCompile Include="src\c\fftw_utilities.c" /> + <ClCompile Include="src\c\fftwlibname.c" /> + <ClCompile Include="sci_gateway\c\gw_fftw.c" /> + <ClCompile Include="sci_gateway\c\sci_disposefftwlibrary.c" /> + <ClCompile Include="sci_gateway\c\sci_fftw.c" /> + <ClCompile Include="sci_gateway\c\sci_fftw_flags.c" /> + <ClCompile Include="sci_gateway\c\sci_fftw_forget_wisdom.c" /> + <ClCompile Include="sci_gateway\c\sci_fftwlibraryisloaded.c" /> + <ClCompile Include="sci_gateway\c\sci_get_fftw_wisdom.c" /> + <ClCompile Include="sci_gateway\c\sci_loadfftwlibrary.c" /> + <ClCompile Include="sci_gateway\c\sci_set_fftw_wisdom.c" /> + <ClCompile Include="src\c\sci_data_utilities.c" /> + <ClCompile Include="src\c\with_fftw.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="src\c\callfftw.h" /> + <ClInclude Include="includes\dynlib_fftw.h" /> + <ClInclude Include="src\c\fftw3.h" /> + <ClInclude Include="src\c\fftw_utilities.h" /> + <ClInclude Include="src\c\fftwlibname.h" /> + <ClInclude Include="includes\gw_fftw.h" /> + <ClInclude Include="includes\with_fftw.h" /> + <ClInclude Include="src\c\sci_data_utilities.h" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="src\c\fftw.rc" /> + </ItemGroup> + <ItemGroup> + <None Include="Elementary_functions_f_Import.def" /> + <None Include="core_import.def" /> + <None Include="locales\fftw.pot" /> + <None Include="scilab_windows_Import.def" /> + <None Include="fftw.iss" /> + <None Include="sci_gateway\fftw_gateway.xml" /> + <None Include="Makefile.am" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\api_scilab\api_scilab.vcxproj"> + <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project> + </ProjectReference> + <ProjectReference Include="..\dynamic_link\src\c\dynamic_link.vcxproj"> + <Project>{eab6c580-22b3-4359-ba1d-dd7499a96163}</Project> + </ProjectReference> + <ProjectReference Include="..\localization\src\localization.vcxproj"> + <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project> + </ProjectReference> + <ProjectReference Include="..\output_stream\src\c\output_stream.vcxproj"> + <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/modules/fftw/fftw.vcxproj.filters b/modules/fftw/fftw.vcxproj.filters new file mode 100755 index 000000000..8ef992f63 --- /dev/null +++ b/modules/fftw/fftw.vcxproj.filters @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + <Filter Include="localization"> + <UniqueIdentifier>{9cf2ab0b-42d0-4c04-aa37-3fc1cfaf9640}</UniqueIdentifier> + </Filter> + <Filter Include="Libraries Dependencies"> + <UniqueIdentifier>{f9cf187f-0c6e-4ad0-a9f9-6db2def25e81}</UniqueIdentifier> + </Filter> + <Filter Include="Libraries Dependencies\Imports"> + <UniqueIdentifier>{474a3608-a988-49bd-b65f-7c60deada13c}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="src\c\callfftw.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\DllmainFttw.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\fftw_utilities.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\fftwlibname.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\gw_fftw.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_disposefftwlibrary.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_fftw.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_fftw_flags.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_fftw_forget_wisdom.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_fftwlibraryisloaded.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_get_fftw_wisdom.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_loadfftwlibrary.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_set_fftw_wisdom.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\with_fftw.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_dct.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="sci_gateway\c\sci_dst.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="src\c\sci_data_utilities.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="src\c\callfftw.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="includes\dynlib_fftw.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\fftw3.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\fftw_utilities.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\fftwlibname.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="includes\gw_fftw.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="includes\with_fftw.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="src\c\sci_data_utilities.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="src\c\fftw.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <None Include="core_import.def"> + <Filter>Libraries Dependencies\Imports</Filter> + </None> + <None Include="scilab_windows_Import.def"> + <Filter>Libraries Dependencies\Imports</Filter> + </None> + <None Include="fftw.iss" /> + <None Include="sci_gateway\fftw_gateway.xml" /> + <None Include="Makefile.am" /> + <None Include="Elementary_functions_f_Import.def"> + <Filter>Libraries Dependencies\Imports</Filter> + </None> + <None Include="locales\fftw.pot"> + <Filter>localization</Filter> + </None> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/modules/fftw/help/en_US/addchapter.sce b/modules/fftw/help/en_US/addchapter.sce new file mode 100755 index 000000000..2c92f12a8 --- /dev/null +++ b/modules/fftw/help/en_US/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// 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 + +add_help_chapter("FFTW",SCI+"/modules/fftw/help/en_US",%T); + diff --git a/modules/fftw/help/en_US/fftw_flags.xml b/modules/fftw/help/en_US/fftw_flags.xml new file mode 100755 index 000000000..5569e3e94 --- /dev/null +++ b/modules/fftw/help/en_US/fftw_flags.xml @@ -0,0 +1,145 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:ns4="http://www.w3.org/1999/xhtml" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:scilab="http://www.scilab.org" xml:id="fftw_flags" xml:lang="en"> + <refnamediv> + <refname>fftw_flags</refname> + <refpurpose>set method for fft planner algorithm selection + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[a,[S]]=fftw_flags(flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>flag</term> + <listitem> + <para> + a string or an integer. Specifies the planner + algorithm. See below. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>a</term> + <listitem> + <para>an integer. The planner code. See below. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>a character string. The planner name.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + This function enables the selection of the algorithm used to + determine the fftw planner algorithm. The planner is used to + determine an efficient way to compute the fft. + </para> + <para> + <warning> + Warning: the default value "FFTW_ESTIMATE" gives generally + quite efficient plans. Try to change it only if the fft efficiency is + really important and you have a lot of similar calls to do. + </warning> + </para> + + <para>Accepted entries are :</para> + <itemizedlist> + <listitem> + <para>{FFTW_ESTIMATE} or 64. Specifies that, instead of actual + measurements of different algorithms, a simple heuristic is + used to pick a (probably sub-optimal) plan quickly. With this + flag, the input/output arrays are not overwritten during + planning. It is the default value + </para> + </listitem> + <listitem> + <para>FFTW_MEASURE or 0. tells FFTW to find an optimized + plan by actually computing several FFTs and measuring their + execution time. Depending on your machine, this can take some + time (often a few seconds). + </para> + </listitem> + <listitem> + <para>FFTW_PATIENT or 32. It is like "FFTW_MEASURE", but + considers a wider range of algorithms and often produces a + “more optimal” plan (especially for large transforms), but at + the expense of several times longer planning time (especially + for large transforms). + </para> + </listitem> + + <listitem> + <para>FFTW_EXHAUSTIVE or 8. It is like "FFTW_PATIENT", but + considers an even wider range of algorithms, including many + that we think are unlikely to be fast, to produce the most + optimal plan but with a substantially increased planning + time. + </para> + </listitem> + </itemizedlist> + + + <para>Remark : when using FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE you must + call fftw twice. (first call for initialization, second and others + calls for computation) + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +A=rand(1, 2^9 + 2^15); +fftw_forget_wisdom(); +fftw_flags("FFTW_ESTIMATE"); +timer(); y=fft(A); timer()//first call determines the plan +timer(); y=fft(A); timer() //subsequent similar calls +fftw_flags("FFTW_MEASURE"); +fftw_forget_wisdom(); +timer(); y=fft(A); timer()//first call determines the plan, this takes about 5min +timer(); y=fft(A); timer() //subsequent similar calls + + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="fft">fft</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/en_US/fftw_forget_wisdom.xml b/modules/fftw/help/en_US/fftw_forget_wisdom.xml new file mode 100755 index 000000000..4c6ee6990 --- /dev/null +++ b/modules/fftw/help/en_US/fftw_forget_wisdom.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - Allan Layec - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fftw_forget_wisdom"> + <refnamediv> + <refname>fftw_forget_wisdom</refname> + <refpurpose>Reset fftw wisdom</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>fftw_forget_wisdom()</synopsis> + </refsynopsisdiv> + <refsection> + <title>Description</title> + <para> + This function reset the current fftw wisdom. + </para> + </refsection> + <refsection> + <title>Caveat</title> + <para> + This function do nothing in Scilab versions which use + the MKL intel library (Scilab official versions for windows in particular). + </para> + </refsection> + + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +//return fftw wisdom +txt=get_fftw_wisdom(); +//set fftw wisdom +set_fftw_wisdom(txt); +//reset fftw wisdom +fftw_forget_wisdom(); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/en_US/get_fftw_wisdom.xml b/modules/fftw/help/en_US/get_fftw_wisdom.xml new file mode 100755 index 000000000..7ed76088d --- /dev/null +++ b/modules/fftw/help/en_US/get_fftw_wisdom.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - Allan Layec - INRIA + * Copyright (C) 2012 - Serge Steer - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="get_fftw_wisdom"> + <refnamediv> + <refname>get_fftw_wisdom</refname> + <refpurpose>return fftw wisdom</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>[txt]=get_fftw_wisdom()</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>txt</term> + <listitem> + <para>String matrix that contains fftw wisdom.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Caveat</title> + <para> + This function is not implemented in Scilab versions which use + the MKL intel library (Scilab official versions for windows in particular). + </para> + </refsection> + <refsection> + <title>Description</title> + <para> + This function return the fftw wisdom in a string matrix. Using + <literal>get_fftw_wisdom</literal> and + <literal>set_fftw_wisdom</literal> allows to optimize fft + efficiency if many calls have to be done on with same data sizes + and same options for the <link linkend="fft">fft</link> function. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +sample_rate=1000; +t = 0:1/sample_rate:40; +N=size(t,'*'); //number of samples +s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1); +fftw_forget_wisdom(); +timer();y=fft(s);t1=timer() //first call +timer();y=fft(s);t2=timer() //second call uses preserved wisdom +t1/t2 +wisdom1=get_fftw_wisdom(); //preserve current wisdom +//realize a different fft +A = zeros(256,256); +A(5:24,13:17) = 1; +X = fft(A); + +//Create a new signal with same size as s +s1=sin(2*%pi*10*t)+sin(2*%pi*7*t+%pi/4)+5*grand(1,N,'nor',0,1); +//restore preserved wisdom +set_fftw_wisdom(wisdom1); +timer();y=fft(s);t3=timer() +t3/t2 + + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="fft">fft</link> + </member> + + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/en_US/set_fftw_wisdom.xml b/modules/fftw/help/en_US/set_fftw_wisdom.xml new file mode 100755 index 000000000..4431a0a23 --- /dev/null +++ b/modules/fftw/help/en_US/set_fftw_wisdom.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - Allan Layec - INRIA + * Copyright (C) 2012 - Serge Steer - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="set_fftw_wisdom"> + <refnamediv> + <refname>set_fftw_wisdom</refname> + <refpurpose>set fftw wisdom</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Calling Sequence</title> + <synopsis>set_fftw_wisdom(txt)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Arguments</title> + <variablelist> + <varlistentry> + <term>txt</term> + <listitem> + <para>String matrix that contains fftw wisdom.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Caveat</title> + <para> + This function is not implemented in Scilab versions which use + the MKL intel library (Scilab official versions for windows in particular). + </para> + </refsection> + <refsection> + <title>Description</title> + <para> + This function set the fftw wisdom with a string matrix.Using + <literal>get_fftw_wisdom</literal> and + <literal>set_fftw_wisdom</literal> allows to optimize fft + efficiency if many calls have to be done on with same data sizes + and same options for the <link linkend="fft">fft</link> function. + </para> + </refsection> + <refsection> + <title>Examples</title> + <programlisting role="example"><![CDATA[ +sample_rate=1000; +t = 0:1/sample_rate:40; +N=size(t,'*'); //number of samples +s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1); +fftw_forget_wisdom(); +timer();y=fft(s);t1=timer() //first call +timer();y=fft(s);t2=timer() //second call uses preserved wisdom +t1/t2 +wisdom1=get_fftw_wisdom(); //preserve current wisdom +//realize a different fft +A = zeros(256,256); +A(5:24,13:17) = 1; +X = fft(A); + +//Create a new signal with same size as s +s1=sin(2*%pi*10*t)+sin(2*%pi*7*t+%pi/4)+5*grand(1,N,'nor',0,1); +//restore preserved wisdom +set_fftw_wisdom(wisdom1); +timer();y=fft(s);t3=timer() +t3/t2 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>See Also</title> + <simplelist type="inline"> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/fr_FR/addchapter.sce b/modules/fftw/help/fr_FR/addchapter.sce new file mode 100755 index 000000000..6f6729a96 --- /dev/null +++ b/modules/fftw/help/fr_FR/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// 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 + +add_help_chapter("FFTW",SCI+"/modules/fftw/help/fr_FR",%T); + diff --git a/modules/fftw/help/fr_FR/fftw_flags.xml b/modules/fftw/help/fr_FR/fftw_flags.xml new file mode 100755 index 000000000..d09b03293 --- /dev/null +++ b/modules/fftw/help/fr_FR/fftw_flags.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="fftw_flags"> + <refnamediv> + <refname>fftw_flags</refname> + <refpurpose>choix de la méthode pour la sélection de l'algorithme + de planification pour la fft + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis>[a,[S]]=fftw_flags(flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Paramètres</title> + <variablelist> + <varlistentry> + <term>flag</term> + <listitem> + <para>une chaîne de caractères ou bien un entier. Sert à + spécifier l'algorithme de planification. Voir ci-dessous. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>a</term> + <listitem> + <para>un entier. Code de l'algorithme de planification. Voir + ci-dessous. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>une chaîne de caractères. Le nom de l'algorithme de + planification. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Description</title> + <para> + Cette fonction permet la sélection de l'algorithme utilisé pour + déterminer l'algorithme de planification de fftw. Le + planificateur est utilisé pour déterminer un moyen efficace pour + calculer la fft. + </para> + <para> + <warning> + Attention: la valeur par défaut "FFTW_ESTIMATE" donne le plus + souvent de bonnes performances. N'essayez d'autres choix que si + la performance est cruciale et que vous avez beaucoup d'appels + du même type à effectuer. + </warning> + </para> + <para> + Les entrées possibles sont : + </para> + <itemizedlist> + <listitem> + <para>{FFTW_ESTIMATE} ou 64. Selectionne une heuristique simple et + peu couteuse pour choisir un plan (probablement + sous-optimal). C'est la valeur par défaut. + </para> + </listitem> + <listitem> + <para>FFTW_MEASURE ou 0. Selectionne une méthode consistant a + effectuer plusieurs calcul de fft avec des planifications + différentes, à mesurer leur temps d'exécution et de choisir la + meilleure planification. En fonction de votre machine, cela + peut prendre un certain temps (souvent quelques + secondes). + </para> + </listitem> + <listitem> + <para>FFTW_PATIENT ou 32. Similaire à "FFTW_MEASURE", mais + considère un plus large éventail d'algorithmes et produit + souvent un plan plus efficace (en particulier pour les + transformations importantes). En revanche, le coût de la + détermination du plan peut être largement supérieur (en + particulier pour les transformations importantes). + </para> + </listitem> + + <listitem> + <para>FFTW_EXHAUSTIVE ou 8. Comme "FFTW_PATIENT", mais + considère une gamme encore plus large d'algorithmes, visant a + trouver le plan optimal , mais avec un temps de planification + sensiblement augmenté. + </para> + </listitem> + + </itemizedlist> + <para> + Remarque : Lors de l'utilisation des méthodes + FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE la fonction fftw doit + être appélée au moins deux fois. (le premier appel est pour + l'initalisation, le second et les autres pour le calcul) + </para> + </refsection> + <refsection> + <title>Exemples</title> + <programlisting role="example"><![CDATA[ +A=rand(1, 2^9 + 2^15); +fftw_forget_wisdom(); +fftw_flags("FFTW_ESTIMATE"); +timer(); y=fft(A); timer()//premier appel, détermine le plan +timer(); y=fft(A); timer() //appels similaires suivants +fftw_flags("FFTW_MEASURE"); +fftw_forget_wisdom(); +timer(); y=fft(A); timer()//premier appel, détermine le plan, prend environ 5min +timer(); y=fft(A); timer() //appels similaires suivants + + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Voir aussi</title> + <simplelist type="inline"> + <member> + <link linkend="fft">fft</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/fr_FR/fftw_forget_wisdom.xml b/modules/fftw/help/fr_FR/fftw_forget_wisdom.xml new file mode 100755 index 000000000..2a76dee1c --- /dev/null +++ b/modules/fftw/help/fr_FR/fftw_forget_wisdom.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - Allan Layec - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="fftw_forget_wisdom"> + <refnamediv> + <refname>fftw_forget_wisdom</refname> + <refpurpose>Réinitialise le wisdom fftw</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis>fftw_forget_wisdom()</synopsis> + </refsynopsisdiv> + <refsection> + <title>Attention</title> + <para> + Cette fonction n'est pas implémentée lorsque Scilab utilise la + bibliothèque MKL d'Intel (c'est en particulier le cas des + binaires Windows officielles). + </para> + </refsection> + + <refsection> + <title>Description</title> + <para> + Cette fonction réinitialise le wisdom fftw. + </para> + </refsection> + <refsection> + <title>Exemples</title> + <programlisting role="example"><![CDATA[ +//return fftw wisdom +txt=get_fftw_wisdom(); +//set fftw wisdom +set_fftw_wisdom(txt); +//reset fftw wisdom +fftw_forget_wisdom(); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Voir aussi</title> + <simplelist type="inline"> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/fr_FR/get_fftw_wisdom.xml b/modules/fftw/help/fr_FR/get_fftw_wisdom.xml new file mode 100755 index 000000000..109e153b3 --- /dev/null +++ b/modules/fftw/help/fr_FR/get_fftw_wisdom.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - Allan Layec - INRIA + * Copyright (C) 2012 - Serge Steer - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="get_fftw_wisdom"> + <refnamediv> + <refname>get_fftw_wisdom</refname> + <refpurpose>retourne le wisdom fftw</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis>[txt]=get_fftw_wisdom()</synopsis> + </refsynopsisdiv> + <refsection> + <title>Paramètres</title> + <variablelist> + <varlistentry> + <term>txt</term> + <listitem> + <para>Matrice de chaîne de caractères contenant le wisdom courant de fftw.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Attention</title> + <para> + Cette fonction n'est pas implémentée lorsque Scilab utilise la + bibliothèque MKL d'Intel (c'est en particulier le cas des + binaires Windows officielles). + </para> + </refsection> + <refsection> + <title>Description</title> + <para> + Cette fonction retourne le wisdom fftw sous la forme d'une + chaîne de caractère. L'utilisation de + <literal>get_fftw_wisdom</literal> et de + <literal>set_fftw_wisdom</literal> permet d'optimiser + l'efficacité de la fft si de nombreux appels doivent être + effectués sur des tailles de données identiques et pour les + mêmes options de la fonction <link linkend="fft">fft</link>. + </para> + </refsection> + <refsection> + <title>Exemples</title> + <programlisting role="example"><![CDATA[ +sample_rate=1000; +t = 0:1/sample_rate:40; +N=size(t,'*'); //number of samples +s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1); +fftw_forget_wisdom(); +timer();y=fft(s);t1=timer() //premier appel +timer();y=fft(s);t2=timer() //second appel similaire utilise le wisdom courant +t1/t2 +wisdom1=get_fftw_wisdom(); //préserve le wisdom courant +//une fft différente +A = zeros(256,256); +A(5:24,13:17) = 1; +X = fft(A); + +//un nouveau signal avec la même taille que s +s1=sin(2*%pi*10*t)+sin(2*%pi*7*t+%pi/4)+5*grand(1,N,'nor',0,1); +//reinstallation du wisdom +set_fftw_wisdom(wisdom1); +timer();y=fft(s);t3=timer() +t3/t2 + + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Voir aussi</title> + <simplelist type="inline"> + <member> + <link linkend="fft">fft</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/fr_FR/set_fftw_wisdom.xml b/modules/fftw/help/fr_FR/set_fftw_wisdom.xml new file mode 100755 index 000000000..6d28eae50 --- /dev/null +++ b/modules/fftw/help/fr_FR/set_fftw_wisdom.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - Allan Layec - INRIA + * Copyright (C) 2012 - Serge Steer - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:db="http://docbook.org/ns/docbook" + xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="set_fftw_wisdom"> + <refnamediv> + <refname>set_fftw_wisdom</refname> + <refpurpose>charge un wisdom fftw</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Séquence d'appel</title> + <synopsis>set_fftw_wisdom(txt)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Paramètres</title> + <variablelist> + <varlistentry> + <term>txt</term> + <listitem> + <para>Matrice de chaîne de caractères contenant le wisdom fftw.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Attention</title> + <para> + Cette fonction n'est pas implémentée lorsque Scilab utilise la + bibliothèque MKL d'Intel (c'est en particulier le cas des + binaires Windows officielles). + </para> + </refsection> + <refsection> + <title>Description</title> + <para> + Cette fonction charge un wisdom fftw contenue dans une chaîne de + caractères. L'utilisation de <literal>get_fftw_wisdom</literal> + et de <literal>set_fftw_wisdom</literal> permet d'optimiser + l'efficacité de la fft si de nombreux appels doivent être + effectués sur des tailles de données identiques et pour les + mêmes options de la fonction <link linkend="fft">fft</link>. + </para> + </refsection> + <refsection> + <title>Exemples</title> + <programlisting role="example"><![CDATA[ +sample_rate=1000; +t = 0:1/sample_rate:40; +N=size(t,'*'); //number of samples +s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1); +fftw_forget_wisdom(); +timer();y=fft(s);t1=timer() //first call +timer();y=fft(s);t2=timer() //second call uses preserved wisdom +t1/t2 +wisdom1=get_fftw_wisdom(); //preserve current wisdom +//realize a different fft +A = zeros(256,256); +A(5:24,13:17) = 1; +X = fft(A); + +//Create a new signal with same size as s +s1=sin(2*%pi*10*t)+sin(2*%pi*7*t+%pi/4)+5*grand(1,N,'nor',0,1); +//restore preserved wisdom +set_fftw_wisdom(wisdom1); +timer();y=fft(s);t3=timer() +t3/t2 + + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Voir aussi</title> + <simplelist type="inline"> + <member> + <link linkend="fft">fft</link> + </member> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/ja_JP/addchapter.sce b/modules/fftw/help/ja_JP/addchapter.sce new file mode 100755 index 000000000..aaac3ad4f --- /dev/null +++ b/modules/fftw/help/ja_JP/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// 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 + +add_help_chapter("FFTW",SCI+"/modules/fftw/help/ja_JP",%T); + diff --git a/modules/fftw/help/ja_JP/fftw_flags.xml b/modules/fftw/help/ja_JP/fftw_flags.xml new file mode 100755 index 000000000..b7d70a88e --- /dev/null +++ b/modules/fftw/help/ja_JP/fftw_flags.xml @@ -0,0 +1,145 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="fftw_flags" xml:lang="ja"> + <refnamediv> + <refname>fftw_flags</refname> + <refpurpose>fftプランナアルゴリズム選択用手法を設定する</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[a,[S]]=fftw_flags(flag)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>flag</term> + <listitem> + <para> + 文字列または整数. プランナアルゴリズムを指定. + 下記参照. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>a</term> + <listitem> + <para>整数. プランナコード.下記参照. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>文字列行列. プランナ名.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>説明</title> + <para> + この関数により,fftwプランナアルゴリズムを定義する際に + 使用されるアルゴリズムを選択できます. + プランナはfftを計算する効率的な手法を定義する + 際に使用されます. + </para> + <para> + <warning> + 警告: デフォルト値 "FFTW_ESTIMATE" は通常かなり効率的な + プランです. + fft効率が実際に重要で + 類似のコールを数多く行う場合にのみ変更を検討ください. + </warning> + </para> + <para>以下のエントリを指定可能です :</para> + <itemizedlist> + <listitem> + <para>{FFTW_ESTIMATE} または 64. + これを指定すると, 他のアルゴリズムで使用される + 実際の観測量の代わりに, + (おそらく準最適の)プランを簡単に選択できる + 簡単な経験則が使用されます. + このフラグを指定すると, + 入力/出力配列はプランニングの間は上書きされません. + これがデフォルト値です. + </para> + </listitem> + <listitem> + <para>FFTW_MEASURE または 0. + 実際に計算した複数回のFFTとそれらの実行時間 + の計測値から最適なプランをみつけるようFFTWに指示します. + 実行する計算機に依存した時間がかかります(通常は数秒). + </para> + </listitem> + <listitem> + <para>FFTW_PATIENT または 32. + "FFTW_MEASURE"と似ていますが, + より広範なアルゴリズムを検討し,しばしば + "より最適な"プランを出力します + (特に大規模な変換の場合). + しかし,プランニング時間は数倍かかります + (特に大規模な変換の場合). + </para> + </listitem> + + <listitem> + <para>FFTW_EXHAUSTIVE または 8. + "FFTW_PATIENT"に似ていますが, + 高速と思われないようなものを多く含む + さらにより広範なアルゴリズムを検討します. + 最も最適なプランを出力しますが, + プランニング時間は著しく増加します. + </para> + </listitem> + </itemizedlist> + + + <para>注意 : FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE を使用する時, + fftwを2回コールする必要があります. + (最初のコールは初期化用, 2回目以降は計算用) + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +A=rand(1, 2^9 + 2^15); +fftw_forget_wisdom(); +fftw_flags("FFTW_ESTIMATE"); +timer(); y=fft(A); timer()//最初のコールでプランを定義 +timer(); y=fft(A); timer() //同じコールを続ける +fftw_flags("FFTW_MEASURE"); +fftw_forget_wisdom(); +timer(); y=fft(A); timer()//最初のコールでプランを定義, 5分ほどかかる +timer(); y=fft(A); timer() //同じコールを続ける + + ]]></programlisting> + </refsection> + <refsection> + <title>参考</title> + <simplelist type="inline"> + <member> + <link linkend="fft">fft</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/ja_JP/fftw_forget_wisdom.xml b/modules/fftw/help/ja_JP/fftw_forget_wisdom.xml new file mode 100755 index 000000000..2363ff5f2 --- /dev/null +++ b/modules/fftw/help/ja_JP/fftw_forget_wisdom.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="fftw_forget_wisdom"> + <refnamediv> + <refname>fftw_forget_wisdom</refname> + <refpurpose>fftw wisdomをリセット</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>fftw_forget_wisdom()</synopsis> + </refsynopsisdiv> + <refsection> + <title>説明</title> + <para> + この関数は, カレントの fftw wisdom をリセットします. + </para> + </refsection> + <refsection> + <title>注意</title> + <para> + この関数は, + MKL intelライブラリを使用する + Scilabバージョンではなにもしません + (特にWindows用のScilab公式版). + </para> + </refsection> + + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +//fftw wisdomを返す +txt=get_fftw_wisdom(); +//fftw wisdomを設定 +set_fftw_wisdom(txt); +//fftw wisdomをリセット +fftw_forget_wisdom(); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/ja_JP/get_fftw_wisdom.xml b/modules/fftw/help/ja_JP/get_fftw_wisdom.xml new file mode 100755 index 000000000..d1e443503 --- /dev/null +++ b/modules/fftw/help/ja_JP/get_fftw_wisdom.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="get_fftw_wisdom"> + <refnamediv> + <refname>get_fftw_wisdom</refname> + <refpurpose>fftw wisdomを返す</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>[txt]=get_fftw_wisdom()</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>txt</term> + <listitem> + <para>fftw wisdomを含む文字列行列.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>注意</title> + <para> + この関数は, + MKL intelライブラリを使用する + Scilabバージョンでは実装されていません + (特にWindows用のScilab公式版). + </para> + </refsection> + <refsection> + <title>説明</title> + <para> + この関数は,文字列行列として fftw wisdom を返します. + <literal>get_fftw_wisdom</literal> および + <literal>set_fftw_wisdom</literal> を使用することで, + 同じデータの大きさと + <link linkend="fft">fft</link>関数に同じオプションにして + 多くのコールを行う場合に + fft効率を最適化できるようになります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +sample_rate=1000; +t = 0:1/sample_rate:40; +N=size(t,'*'); //サンプル数 +s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1); +fftw_forget_wisdom(); +timer();y=fft(s);t1=timer() //最初のコール +timer();y=fft(s);t2=timer() //2番目のコールは保存したwisdomを使用 +t1/t2 +wisdom1=get_fftw_wisdom(); //カレントの wisdomを保存 +//異なるfftを実行 +A = zeros(256,256); +A(5:24,13:17) = 1; +X = fft(A); + +//s と同じ大きさで新規信号を作成 +s1=sin(2*%pi*10*t)+sin(2*%pi*7*t+%pi/4)+5*grand(1,N,'nor',0,1); +//保存したwisdomを回復 +set_fftw_wisdom(wisdom1); +timer();y=fft(s);t3=timer() +t3/t2 + + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/ja_JP/set_fftw_wisdom.xml b/modules/fftw/help/ja_JP/set_fftw_wisdom.xml new file mode 100755 index 000000000..f12800a1f --- /dev/null +++ b/modules/fftw/help/ja_JP/set_fftw_wisdom.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="set_fftw_wisdom"> + <refnamediv> + <refname>set_fftw_wisdom</refname> + <refpurpose>fftw wisdomを設定</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>呼び出し手順</title> + <synopsis>set_fftw_wisdom(txt)</synopsis> + </refsynopsisdiv> + <refsection> + <title>引数</title> + <variablelist> + <varlistentry> + <term>txt</term> + <listitem> + <para>fftw wisdomを含む文字列行列.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>注意</title> + <para> + この関数は, + MKL intelライブラリを使用する + Scilabバージョンでは実装されていません + (特にWindows用のScilab公式版). + </para> + </refsection> + <refsection> + <title>説明</title> + <para> + この関数は文字列行列により fftw wisdom を設定します. + <literal>get_fftw_wisdom</literal> および + <literal>set_fftw_wisdom</literal> を使用することで, + 同じデータの大きさと + <link linkend="fft">fft</link>関数に同じオプションにして + 多くのコールを行う場合に + fft効率を最適化できるようになります. + </para> + </refsection> + <refsection> + <title>例</title> + <programlisting role="example"><![CDATA[ +sample_rate=1000; +t = 0:1/sample_rate:40; +N=size(t,'*'); //サンプル数 +s=sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1); +fftw_forget_wisdom(); +timer();y=fft(s);t1=timer() //最初のコール +timer();y=fft(s);t2=timer() //2番目のコールは保存したwisdomを使用 +t1/t2 +wisdom1=get_fftw_wisdom(); //カレントの wisdomを保存 +//異なるfftを実行 +A = zeros(256,256); +A(5:24,13:17) = 1; +X = fft(A); + +//s と同じ大きさで新規信号を作成 +s1=sin(2*%pi*10*t)+sin(2*%pi*7*t+%pi/4)+5*grand(1,N,'nor',0,1); +//保存したwisdomを回復 +set_fftw_wisdom(wisdom1); +timer();y=fft(s);t3=timer() +t3/t2 + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>参照</title> + <simplelist type="inline"> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/pt_BR/addchapter.sce b/modules/fftw/help/pt_BR/addchapter.sce new file mode 100755 index 000000000..9dfc8565a --- /dev/null +++ b/modules/fftw/help/pt_BR/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// 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 + +add_help_chapter("FFTW",SCI+"/modules/fftw/help/pt_BR",%T); + diff --git a/modules/fftw/help/ru_RU/addchapter.sce b/modules/fftw/help/ru_RU/addchapter.sce new file mode 100755 index 000000000..95dee6f02 --- /dev/null +++ b/modules/fftw/help/ru_RU/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// 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 + +add_help_chapter("FFTW",SCI+"/modules/fftw/help/ru_RU",%T); + diff --git a/modules/fftw/help/ru_RU/fftw.xml b/modules/fftw/help/ru_RU/fftw.xml new file mode 100755 index 000000000..6213a6ee2 --- /dev/null +++ b/modules/fftw/help/ru_RU/fftw.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<!-- This document was created with Syntext Serna Free. --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="fftw" xml:lang="ru"> + <refnamediv> + <refname>fftw</refname> + <refpurpose>Быстрое преобразование Фурье на основе библиотеки fftw</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Последовательность вызова</title> + <synopsis>[y]=fftw(x) + [y]=fftw(x,sign) + [y]=fftw(x,sign,dim,incr) + [y]=fftw(x,sign,[dim1 dim2 ...dimN],[incr1 incr2 ...incrN]) + </synopsis> + </refsynopsisdiv> + <refsection> + <title>Аргументы</title> + <variablelist> + <varlistentry> + <term>y,x</term> + <listitem> + <para>matrix/вектор вещественных/комплексных данных. Входные/выходные данные, которые должны быть преобразованы.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>sign</term> + <listitem> + <para>Целое число. 1 или -1. Устанавливает прямое или обратное преобразование.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>dim</term> + <listitem> + <para>Целое число. Устанавливает размерность (длину) преобразования.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>incr</term> + <listitem> + <para>Целое число. Устанавливает шаг (интервал) преобразования.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Описание</title> + <para>Эта функция реализует прямое/обратное Дискретное Преобразование Фурье (ДПФ) с помощью библиотеки FFTW.</para> + <para>С помощью этой функции можно делать одномерное (вектор), двумерное, и многомерное преобразование.</para> + <para> + За подробной информацией о синтаксисе fftw обращайтесь к функции <link linkend="fft">fft</link> Scilab'а. + </para> + <para> + За подробной информацией о библиотеке FFTW обращайтесь на вэб-сайт FFTW : <ulink url="http://www.fftw.org">http://www.fftw.org</ulink> + </para> + <para>Примечание: Функция fftw автоматически сохраняет свои последние параметры в памяти для повторного использования.</para> + <para>Это значительно улучшает время вычисления при выполнении последовательных вызовов.</para> + </refsection> + <refsection> + <title>Примеры</title> + <programlisting role="example"><![CDATA[ +//простое одномерное прямое преобразование +a = rand(50,1)+%i*rand(50,1); +y = fftw(a); y = fftw(a,-1); + +//обратное преобразование +b = fftw(y,1); + +//двумерное преобразование +a = rand(512,512)+%i*rand(512,512); +y = fftw(a); + +//многомерное преобразование -старая последовательность вызова- +a = rand(120,1); +y = a; +dim=[5 6 4]; +incr=[1 5 30]; +for i=1:3 + y = fftw(y,-1,dim(i),incr(i)); +end + +//многомерное преобразование -новая последовательность вызова- +//Более эффективна, чем старая +y = fftw(a,-1,[5 6 4],[1 5 30]); +b = fftw(y,1,[5 6 4],[1 5 30]); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Смотрите также</title> + <simplelist type="inline"> + <member> + <link linkend="fftw_flags">fftw_flags</link> + </member> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> + <refsection> + <title>Литература</title> + <para> + Matteo Frigo and Steven G. Johnson, "FFTW Documentation" <ulink url="http://www.fftw.org/#documentation">http://www.fftw.org/#documentation</ulink> + </para> + </refsection> +</refentry> diff --git a/modules/fftw/help/ru_RU/fftw_flags.xml b/modules/fftw/help/ru_RU/fftw_flags.xml new file mode 100755 index 000000000..7ed268c28 --- /dev/null +++ b/modules/fftw/help/ru_RU/fftw_flags.xml @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="fftw_flags" xml:lang="en"> + <refnamediv> + <refname>fftw_flags</refname> + <refpurpose>устанавливают метод вычисления быстрого преобразования Фурье функции fftw + </refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Последовательность вызова</title> + <synopsis>[a,[S]]=fftw_flags([x1;x2;...])</synopsis> + </refsynopsisdiv> + <refsection> + <title>Аргументы</title> + <variablelist> + <varlistentry> + <term>[x1;x2;...]</term> + <listitem> + <para>Матрица строк или целых чисел. Запись для переключения метода вычисления БПФ для fftw.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>a</term> + <listitem> + <para>Целое число. Даёт текущее значение флага функции fftw + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>S</term> + <listitem> + <para>Матрица строковых значений. Даёт строковое значение флага fftw.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Описание</title> + <para> + Эта функция позволяет изменять параметры <literal>беззнаковых + флагов + </literal> + функции + <literal>fftw_plan_guru_split_dft</literal>, которая используется в функции <link linkend="fftw">fftw</link>. + </para> + <para>Значение по умолчанию FFTW_ESTIMATE</para> + <para>Принимаемые элементы:</para> + <itemizedlist> + <listitem> + <para>FFTW_MEASURE или 0</para> + </listitem> + <listitem> + <para>FFTW_DESTROY_INPUT или 1</para> + </listitem> + <listitem> + <para>FFTW_UNALIGNED или 2</para> + </listitem> + <listitem> + <para>FFTW_CONSERVE_MEMORY или 4</para> + </listitem> + <listitem> + <para>FFTW_EXHAUSTIVE или 8</para> + </listitem> + <listitem> + <para>FFTW_PRESERVE_INPUT или 16</para> + </listitem> + <listitem> + <para>FFTW_PATIENT или 32</para> + </listitem> + <listitem> + <para>FFTW_ESTIMATE или 64</para> + </listitem> + <listitem> + <para>FFTW_ESTIMATE_PATIENT или 128</para> + </listitem> + <listitem> + <para>FFTW_BELIEVE_PCOST иил 256</para> + </listitem> + <listitem> + <para>FFTW_NO_DFT_R2HC или 512</para> + </listitem> + <listitem> + <para>FFTW_NO_NONTHREADED или 1024</para> + </listitem> + <listitem> + <para>FFTW_NO_BUFFERING или 2048</para> + </listitem> + <listitem> + <para>FFTW_NO_INDIRECT_OP или 4096</para> + </listitem> + <listitem> + <para>FFTW_ALLOW_LARGE_GENERIC или 8192</para> + </listitem> + <listitem> + <para>FFTW_NO_RANK_SPLITS или 16384</para> + </listitem> + <listitem> + <para>FFTW_NO_VRANK_SPLITS или 32768</para> + </listitem> + <listitem> + <para>FFTW_NO_VRECURSE или 65536</para> + </listitem> + <listitem> + <para>FFTW_NO_SIMD или 131072</para> + </listitem> + <listitem> + <para>FFTW_NO_SLOW или 262144</para> + </listitem> + <listitem> + <para>FFTW_NO_FIXED_RADIX_LARGE_N или 524288</para> + </listitem> + <listitem> + <para>FFTW_ALLOW_PRUNING или 1048576</para> + </listitem> + </itemizedlist> + <para>Rmk : при использовании FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE вы должны + дважды вызвать fftw. (Первый вызов для инициализации, второй и последующие вызовы для вычисления) + </para> + </refsection> + <refsection> + <title>Примеры</title> + <programlisting role="example"><![CDATA[ +//возврат целого значения флага +fftw_flags() + +//смена флагов +fftw_flags(["FFTW_MEASURE";"FFTW_CONSERVE_MEMORY"]); + +//смена флагов и распечатка текущего значения флагов fftw (как целочисленные значения, так и строки) +[a,S]=fftw_flags("FFTW_PATIENT") + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Смотрите также</title> + <simplelist type="inline"> + <member> + <link linkend="fftw">fftw</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/ru_RU/fftw_forget_wisdom.xml b/modules/fftw/help/ru_RU/fftw_forget_wisdom.xml new file mode 100755 index 000000000..48cc11d9f --- /dev/null +++ b/modules/fftw/help/ru_RU/fftw_forget_wisdom.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="fftw_forget_wisdom"> + <refnamediv> + <refname>fftw_forget_wisdom</refname> + <refpurpose>Сброс опыта fftw</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Последовательность вызова</title> + <synopsis>fftw_forget_wisdom()</synopsis> + </refsynopsisdiv> + <refsection> + <title>Описание</title> + <para> + Эта функция сбрасывает текущий опыт fftw. + </para> + <para> + FFTW включает в себя метод для сохранения планов на диск и восстановления их. На самом деле то, что делает FFTW, это вообще-то больше, чем просто сохранение и загрузка планов. Этот механизм называется "опыт" (wisdom). Файлы опыта wisdom содержат информацию о том, как оптимально вычислить БПФ разных размеров. + </para> + </refsection> + <refsection> + <title>Примеры</title> + <programlisting role="example"><![CDATA[ +//вернуть опыт fftw +txt=get_fftw_wisdom(); +//установить опыт fftw +set_fftw_wisdom(txt); +//сбросить опыт fftw +fftw_forget_wisdom(); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Смотрите также</title> + <simplelist type="inline"> + <member> + <link linkend="fftw">fftw</link> + </member> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/ru_RU/get_fftw_wisdom.xml b/modules/fftw/help/ru_RU/get_fftw_wisdom.xml new file mode 100755 index 000000000..984003f86 --- /dev/null +++ b/modules/fftw/help/ru_RU/get_fftw_wisdom.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="get_fftw_wisdom"> + <refnamediv> + <refname>get_fftw_wisdom</refname> + <refpurpose>возврат опыта fftw</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Последовательность вызова</title> + <synopsis>[txt]=get_fftw_wisdom()</synopsis> + </refsynopsisdiv> + <refsection> + <title>Аргументы</title> + <variablelist> + <varlistentry> + <term>txt</term> + <listitem> + <para>Матрица строковых значений, содержащая опыт fftw.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Описание</title> + <para> + Эта функция возвращает опыт fftw в виде матрицы строковых значений. + </para> + <para> + FFTW включает в себя метод для сохранения планов на диск и восстановления их. На самом деле то, что делает FFTW, это вообще-то больше, чем просто сохранение и загрузка планов. Этот механизм называется "опыт" (wisdom). Файлы опыта wisdom содержат информацию о том, как оптимально вычислить БПФ разных размеров. + </para> + </refsection> + <refsection> + <title>Примеры</title> + <programlisting role="example"><![CDATA[ +//вернуть опыт fftw +txt=get_fftw_wisdom(); +//установить опыт fftw +set_fftw_wisdom(txt); +//сбросить опыт fftw +fftw_forget_wisdom(); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Смотрите также</title> + <simplelist type="inline"> + <member> + <link linkend="fftw">fftw</link> + </member> + <member> + <link linkend="set_fftw_wisdom">set_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/help/ru_RU/set_fftw_wisdom.xml b/modules/fftw/help/ru_RU/set_fftw_wisdom.xml new file mode 100755 index 000000000..8a33c155d --- /dev/null +++ b/modules/fftw/help/ru_RU/set_fftw_wisdom.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA + * + * 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 + * + --> +<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="set_fftw_wisdom"> + <refnamediv> + <refname>set_fftw_wisdom</refname> + <refpurpose>Устанавливает опыт fftw</refpurpose> + </refnamediv> + <refsynopsisdiv> + <title>Последовательность вызова</title> + <synopsis>set_fftw_wisdom(txt)</synopsis> + </refsynopsisdiv> + <refsection> + <title>Аргументы</title> + <variablelist> + <varlistentry> + <term>txt</term> + <listitem> + <para>Матрица строковых значений, содержащая опыт fftw.</para> + </listitem> + </varlistentry> + </variablelist> + </refsection> + <refsection> + <title>Описание</title> + <para> + Эта функция устанавливает опыт fftw с помощью матрицы строковых значений. + </para> + <para> + FFTW включает в себя метод для сохранения планов на диск и восстановления их. На самом деле то, что делает FFTW, это вообще-то больше, чем просто сохранение и загрузка планов. Этот механизм называется "опыт" (wisdom). Файлы опыта wisdom содержат информацию о том, как оптимально вычислить БПФ разных размеров. + </para> + </refsection> + <refsection> + <title>Примеры</title> + <programlisting role="example"><![CDATA[ +//вернуть опыт fftw +txt=get_fftw_wisdom(); +//установить опыт fftw +set_fftw_wisdom(txt); +//сбросить опыт fftw +fftw_forget_wisdom(); + ]]></programlisting> + </refsection> + <refsection role="see also"> + <title>Смотрите также </title> + <simplelist type="inline"> + <member> + <link linkend="fftw">fftw</link> + </member> + <member> + <link linkend="get_fftw_wisdom">get_fftw_wisdom</link> + </member> + <member> + <link linkend="fftw_forget_wisdom">fftw_forget_wisdom</link> + </member> + </simplelist> + </refsection> +</refentry> diff --git a/modules/fftw/includes/dynlib_fftw.h b/modules/fftw/includes/dynlib_fftw.h new file mode 100755 index 000000000..d5a568382 --- /dev/null +++ b/modules/fftw/includes/dynlib_fftw.h @@ -0,0 +1,28 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) DIGITEO - 2009 - 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 +* +*/ + +/*--------------------------------------------------------------------------*/ +#ifndef __DYNLIB_FTTW_H__ +#define __DYNLIB_FTTW_H__ + +#ifdef _MSC_VER +#ifdef FFTW_EXPORTS +#define FTTW_SCILAB_IMPEXP __declspec(dllexport) +#else +#define FTTW_SCILAB_IMPEXP __declspec(dllimport) +#endif +#else +#define FTTW_SCILAB_IMPEXP +#endif + +#endif /* __DYNLIB_FTTW_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/includes/gw_fftw.h b/modules/fftw/includes/gw_fftw.h new file mode 100755 index 000000000..64d21e474 --- /dev/null +++ b/modules/fftw/includes/gw_fftw.h @@ -0,0 +1,31 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006 - 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 + * + */ + +#ifndef __GW_FFTW__ +#define __GW_FFTW__ +/*--------------------------------------------------------------------------*/ +#include "dynlib_fftw.h" +/*--------------------------------------------------------------------------*/ +FTTW_SCILAB_IMPEXP int gw_fftw(void); +FTTW_SCILAB_IMPEXP int sci_disposefftwlibrary(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_fftw(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_fftw_flags(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_fftw_forget_wisdom(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_fftwlibraryisloaded(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_get_fftw_wisdom(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_loadfftwlibrary(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_set_fftw_wisdom(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_dct(char *fname, unsigned long fname_len); +FTTW_SCILAB_IMPEXP int sci_dst(char *fname, unsigned long fname_len); +/*--------------------------------------------------------------------------*/ +#endif /* __GW_FFTW__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/includes/with_fftw.h b/modules/fftw/includes/with_fftw.h new file mode 100755 index 000000000..268f714fe --- /dev/null +++ b/modules/fftw/includes/with_fftw.h @@ -0,0 +1,34 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - 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 + * + */ + +#ifndef __WITH_FFTW_H__ +#define __WITH_FFTW_H__ + +#include "machine.h" /* C2F */ +#include "BOOL.h" +#include "dynlib_fftw.h" + +/** +* check if it is with FFTW +* @param rep 1 (WITH) or 0 (WITHOUT) +* @return 0 +*/ +FTTW_SCILAB_IMPEXP int C2F(withfftw)(int *rep); + +/** +* check if it is with FFTW +* @return TRUE or FALSE +*/ +FTTW_SCILAB_IMPEXP BOOL withfftw(void); + +#endif /* __WITH_FFTW_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/libscifftw-algo.la b/modules/fftw/libscifftw-algo.la new file mode 100755 index 000000000..0065c187a --- /dev/null +++ b/modules/fftw/libscifftw-algo.la @@ -0,0 +1,41 @@ +# libscifftw-algo.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='' + +# Names of this library. +library_names='' + +# The name of the static archive. +old_library='libscifftw-algo.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -ldl -lcurses -lm' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscifftw-algo. +current= +age= +revision= + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='' diff --git a/modules/fftw/libscifftw.la b/modules/fftw/libscifftw.la new file mode 100755 index 000000000..76d4c7bb1 --- /dev/null +++ b/modules/fftw/libscifftw.la @@ -0,0 +1,41 @@ +# libscifftw.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='' + +# Names of this library. +library_names='' + +# The name of the static archive. +old_library='libscifftw.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -L/home/shashank/scilab-master_5.5.2/usr/lib -lfftw3 -lpthread -ldl -lcurses -lm' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscifftw. +current= +age= +revision= + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='' diff --git a/modules/fftw/license.txt b/modules/fftw/license.txt new file mode 100755 index 000000000..d0147205b --- /dev/null +++ b/modules/fftw/license.txt @@ -0,0 +1,47 @@ +Copyright: +Copyright (c) 2008 - DIGITEO +Copyright (c) 1989-2008 - INRIA + +License: +This module must be used under the terms of the CeCILL. +This module 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 + +FFTW3: +====== + +Files: +src/c/fftw3.h + +Copyright: +2003, 2006 Matteo Frigo +2003, 2006 Massachusetts Institute of Technology + +License: + * The following statement of license applies *only* to this header file, + * and *not* to the other files distributed with FFTW or derived therefrom: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/modules/fftw/locales/ca_ES.po b/modules/fftw/locales/ca_ES.po new file mode 100755 index 000000000..a0ef78231 --- /dev/null +++ b/modules/fftw/locales/ca_ES.po @@ -0,0 +1,174 @@ +# Catalan translation for scilab +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-19 19:44+0000\n" +"Last-Translator: Scilab.team <Unknown>\n" +"Language-Team: Catalan <ca@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: ca\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "No s'ha trobat la llibreria FFTW %s.\n" + +msgid "FFTW Library not found.\n" +msgstr "No s'ha trobat la llibreria FFTW.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: L'argument d'entrada #%d és d'un tipus incorrecte.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: No hi ha més memòria.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s: L'argument d'entrada #%d té un valor incorrecte: Ha de ser una marca " +"FFTW.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: L'argument d'entrada #%d és d'un tipus incorrecte: Ha de ser una cadena " +"de caràcters.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: L'argument d'entrada #%d té una mida incorrecta.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +msgid "Scilab FFTW module not installed.\n" +msgstr "El mòdul FFTW de Scilab no està instal·lat.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Heu triat instal·lar Scilab amb el mòdul fftw." + +msgid "This module requires : " +msgstr "Aquest mòdul requereix: " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" +"Scilab farà servir per defecte el fft estàndard fins que instal·leu aquesta " +"llibreria." + +msgid "See help fftw for more information." +msgstr "Veieu l'ajuda del fftw per a més informació." diff --git a/modules/fftw/locales/cs_CZ.po b/modules/fftw/locales/cs_CZ.po new file mode 100755 index 000000000..d51ce0d88 --- /dev/null +++ b/modules/fftw/locales/cs_CZ.po @@ -0,0 +1,182 @@ +# Czech translation for scilab +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-04-19 21:59+0000\n" +"Last-Translator: Zbyněk Schwarz <Unknown>\n" +"Language-Team: Czech <cs@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "Knihovna FFTW %s nenalezena.\n" + +msgid "FFTW Library not found.\n" +msgstr "Knihovna FFTW nenalezena.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "%s: Nelze přečíst vstupní argument #%d.\n" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "%s: Nelze přidělit více paměti.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "%s: Špatná hodnota vstupního argumentu #%d: Očekáváno %d nebo %d.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "%s: Špatná hodnota vstupního argumentu #%d: Musí být v sadě {%s}.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "%s: Špatný typ argumentu #%d: Očekáváno pole desetinných čísel.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: Špatný typ vstupního argumentu #%d.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" +"%s: Špatná velikost vstupního argumentu #%d: Musí být mezi %d a %d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" +"%s: Špatné hodnoty vstupního argumentu #%d: Očekávána kladná celá čísla.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" +"%s: Špatné hodnoty vstupního argumentu #%d: Prvky musí být menší než %d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" +"%s: Špatné hodnoty vstupního argumentu #%d: Prvky musí být ve vzestupném " +"pořadí.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" +"%s: Špatné hodnoty vstupního argumentu #%d: Prvky musí být větší než %d.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "%s: Špatné hodnoty vstupního argumentu #%d: Musí být menší než %d.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "%s: Špatné hodnoty vstupního argumentu #%d: Musí být dělitelem %d.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" +"%s: Nekompatibilní vstupní argumenty #%d a #%d: Očekávány stejné velikosti.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" +"%s: Špatné hodnoty vstupního argumentu #%d: Prvky musí být dělitelem %d.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "%s: Nekompatibilní vstupní argumenty #%d a #%d.\n" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "%s: Vytvoření požadovaného plánu fftw selhalo.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: Chyba při přidělování paměti.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: Očekáváno '%s', nebo '%s'.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Není víc paměti.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" +"%s: Špatný typ vstupního argumentu #%d: Očekáváno celé číslo s velikostí 32 " +"bitů.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s: Špatné hodnoty pro vstupní argument #%d: Očekáván příznak FFTW.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "%s: MKL knihovna fftw nemá zatím zavedeny funkce wisdom.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "%s: Špatný typ vstupního argumentu #%d: Očekáván řetězec.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" +"%s: Špatná hodnota vstupního argumentu #%d: Očekávána platná wisdom.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "%s: Špatná velikost vstupního argumentu #%d: Očekáván skalár.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "%s: Špatný typ argumentu #%d: Očekáváno celé nebo desetinné číslo.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: Špatná velikost vstupního argumentu #%d.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" +"%s: Špatný typ argumentu #%d: Očekáváno pole celých nebo desetinných čísel.\n" + +msgid "Scilab FFTW module not installed.\n" +msgstr "Scilab modul FFTW není nainstalován.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Zvolili jste instalovat scilab s modulem fftw." + +msgid "This module requires : " +msgstr "Tento modul vyžaduje : " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" +"Scilab bude používat standardní fft, dokud nenainstalujete tuto knihovnu." + +msgid "See help fftw for more information." +msgstr "Viz nápověda fftw pro více informací." diff --git a/modules/fftw/locales/de_DE.po b/modules/fftw/locales/de_DE.po new file mode 100755 index 000000000..bb52154c3 --- /dev/null +++ b/modules/fftw/locales/de_DE.po @@ -0,0 +1,171 @@ +# German translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2010-02-22 07:47+0000\n" +"Last-Translator: Keruskerfuerst <armin_mohring@web.de>\n" +"Language-Team: German <de@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: de\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "FFTW Bibliothek %s nicht gefunden.\n" + +msgid "FFTW Library not found.\n" +msgstr "FFTW Bibliothek nicht gefunden.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: falscher Typ für Eingangsargument #%d.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: kein weiterer Speicher verfügbar\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s: falscher Wert für Eingangsargument #%d: FFTW Erkennungszeichen " +"erwartet.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: falscher Typ für Eingangsargument '%d: eine Zeichenkette erwartet.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: falsche Größe für Eingangsargument #%d.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +msgid "Scilab FFTW module not installed.\n" +msgstr "Scilab FFTW Modul nicht installiert.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "" + +msgid "This module requires : " +msgstr "" + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" + +msgid "See help fftw for more information." +msgstr "" diff --git a/modules/fftw/locales/es_ES.po b/modules/fftw/locales/es_ES.po new file mode 100755 index 000000000..6ab03dcf7 --- /dev/null +++ b/modules/fftw/locales/es_ES.po @@ -0,0 +1,171 @@ +# Spanish translation for scilab +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-19 19:46+0000\n" +"Last-Translator: Scilab.team <Unknown>\n" +"Language-Team: Spanish <es@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: es\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "No se encontró la biblioteca FFTW %s.\n" + +msgid "FFTW Library not found.\n" +msgstr "No se encontró la biblioteca FFTW.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: Tipo incorrecto del argumento de entrada #%d.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: No hay más memoria.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s: Valores incorrectos del argumento de entrada #%d: Se esperaba una " +"bandera FFTW.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: Tipo incorrecto del argumento de entrada #%d: Se esperaba un string.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: Tamaño incorrecto para el argumento de entrada #%d.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +msgid "Scilab FFTW module not installed.\n" +msgstr "El módulo FFTW de Scilab no está instalado.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Escogió instalar Scilab con el módulo fftw" + +msgid "This module requires : " +msgstr "Este módulo requiere: " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "Scilab utilizará la fft estándar hasta que instale esta biblioteca." + +msgid "See help fftw for more information." +msgstr "Vea la ayuda de fftw para mas información." diff --git a/modules/fftw/locales/fftw.pot b/modules/fftw/locales/fftw.pot new file mode 100755 index 000000000..f38413c11 --- /dev/null +++ b/modules/fftw/locales/fftw.pot @@ -0,0 +1,362 @@ +# Localization of the module fftw +# Please see in SCI/tools/localization for localization management +# Copyright (C) 2007-2008 - INRIA +# Copyright (C) 2008-2011 - DIGITEO +# Copyright (C) 2012-2014 - Scilab-Enterprises +# This file is distributed under the same license as the Scilab package. +# +msgid "" +msgstr "" +"Project-Id-Version: Scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"Last-Translator: Vincent COUVERT <vincent.couvert@scilab-enterprises.com>\n" +"Language-Team: Scilab Localization <localization@lists.scilab.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Revision-Date: 2015-03-27 13:54+0100\n" + +# File: sci_gateway/c/gw_fftw.c, line: 49 +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "" + +# +# File: sci_gateway/c/gw_fftw.c, line: 53 +msgid "FFTW Library not found.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 88 +# File: sci_gateway/c/sci_dct.c, line: 96 +# File: sci_gateway/c/sci_dct.c, line: 121 +# File: sci_gateway/c/sci_dst.c, line: 88 +# File: sci_gateway/c/sci_dst.c, line: 96 +# File: sci_gateway/c/sci_dst.c, line: 120 +# File: sci_gateway/c/sci_fftw.c, line: 97 +# File: sci_gateway/c/sci_fftw.c, line: 105 +# File: sci_gateway/c/sci_fftw.c, line: 130 +# File: sci_gateway/c/sci_fftw_flags.c, line: 173 +# File: sci_gateway/c/sci_fftw_flags.c, line: 186 +# File: src/c/sci_data_utilities.c, line: 231 +# File: src/c/sci_data_utilities.c, line: 239 +# File: src/c/sci_data_utilities.c, line: 259 +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 135 +# File: sci_gateway/c/sci_dct.c, line: 293 +# File: sci_gateway/c/sci_dct.c, line: 438 +# File: sci_gateway/c/sci_dct.c, line: 497 +# File: sci_gateway/c/sci_dct.c, line: 753 +# File: sci_gateway/c/sci_dct.c, line: 764 +# File: sci_gateway/c/sci_dct.c, line: 833 +# File: sci_gateway/c/sci_dct.c, line: 897 +# File: sci_gateway/c/sci_dct.c, line: 1031 +# File: sci_gateway/c/sci_dct.c, line: 1039 +# File: sci_gateway/c/sci_dct.c, line: 1086 +# File: sci_gateway/c/sci_dct.c, line: 1119 +# File: sci_gateway/c/sci_dct.c, line: 1136 +# File: sci_gateway/c/sci_dct.c, line: 1150 +# File: sci_gateway/c/sci_dct.c, line: 1200 +# File: sci_gateway/c/sci_dst.c, line: 134 +# File: sci_gateway/c/sci_dst.c, line: 291 +# File: sci_gateway/c/sci_dst.c, line: 431 +# File: sci_gateway/c/sci_dst.c, line: 489 +# File: sci_gateway/c/sci_dst.c, line: 743 +# File: sci_gateway/c/sci_dst.c, line: 754 +# File: sci_gateway/c/sci_dst.c, line: 823 +# File: sci_gateway/c/sci_dst.c, line: 887 +# File: sci_gateway/c/sci_dst.c, line: 1023 +# File: sci_gateway/c/sci_dst.c, line: 1072 +# File: sci_gateway/c/sci_dst.c, line: 1106 +# File: sci_gateway/c/sci_dst.c, line: 1123 +# File: sci_gateway/c/sci_dst.c, line: 1137 +# File: sci_gateway/c/sci_dst.c, line: 1197 +# File: sci_gateway/c/sci_fftw.c, line: 255 +# File: sci_gateway/c/sci_fftw.c, line: 395 +# File: sci_gateway/c/sci_fftw.c, line: 455 +# File: sci_gateway/c/sci_fftw.c, line: 709 +# File: sci_gateway/c/sci_fftw.c, line: 720 +# File: sci_gateway/c/sci_fftw.c, line: 790 +# File: sci_gateway/c/sci_fftw.c, line: 844 +# File: sci_gateway/c/sci_fftw.c, line: 975 +# File: sci_gateway/c/sci_fftw.c, line: 1003 +# File: sci_gateway/c/sci_fftw.c, line: 1014 +# File: sci_gateway/c/sci_fftw.c, line: 1032 +# File: sci_gateway/c/sci_fftw.c, line: 1060 +# File: sci_gateway/c/sci_fftw.c, line: 1073 +# File: sci_gateway/c/sci_fftw.c, line: 1259 +# File: sci_gateway/c/sci_fftw.c, line: 1271 +# File: sci_gateway/c/sci_fftw.c, line: 1279 +# File: sci_gateway/c/sci_fftw.c, line: 1297 +# File: sci_gateway/c/sci_fftw.c, line: 1305 +# File: sci_gateway/c/sci_set_fftw_wisdom.c, line: 118 +# File: src/c/sci_data_utilities.c, line: 354 +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 159 +# File: sci_gateway/c/sci_dst.c, line: 156 +# File: sci_gateway/c/sci_fftw.c, line: 184 +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 186 +# File: sci_gateway/c/sci_dct.c, line: 213 +# File: sci_gateway/c/sci_dst.c, line: 183 +# File: sci_gateway/c/sci_dst.c, line: 210 +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 230 +# File: sci_gateway/c/sci_dst.c, line: 228 +# File: sci_gateway/c/sci_fftw.c, line: 193 +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 382 +# File: sci_gateway/c/sci_dct.c, line: 629 +# File: sci_gateway/c/sci_dst.c, line: 380 +# File: sci_gateway/c/sci_dst.c, line: 619 +# File: sci_gateway/c/sci_fftw.c, line: 344 +# File: sci_gateway/c/sci_fftw.c, line: 585 +# File: sci_gateway/c/sci_fftw_flags.c, line: 261 +# File: src/c/sci_data_utilities.c, line: 337 +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 399 +# File: sci_gateway/c/sci_dst.c, line: 396 +# File: sci_gateway/c/sci_fftw.c, line: 360 +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 410 +# File: sci_gateway/c/sci_dct.c, line: 717 +# File: sci_gateway/c/sci_dst.c, line: 406 +# File: sci_gateway/c/sci_dst.c, line: 707 +# File: sci_gateway/c/sci_fftw.c, line: 370 +# File: sci_gateway/c/sci_fftw.c, line: 673 +#, c-format +msgid "%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 418 +# File: sci_gateway/c/sci_dst.c, line: 413 +# File: sci_gateway/c/sci_fftw.c, line: 377 +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 426 +# File: sci_gateway/c/sci_dct.c, line: 741 +# File: sci_gateway/c/sci_dst.c, line: 420 +# File: sci_gateway/c/sci_dst.c, line: 731 +# File: sci_gateway/c/sci_fftw.c, line: 384 +# File: sci_gateway/c/sci_fftw.c, line: 697 +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 656 +# File: sci_gateway/c/sci_dst.c, line: 646 +# File: sci_gateway/c/sci_fftw.c, line: 612 +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 669 +# File: sci_gateway/c/sci_dst.c, line: 659 +# File: sci_gateway/c/sci_fftw.c, line: 625 +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 680 +# File: sci_gateway/c/sci_dst.c, line: 670 +# File: sci_gateway/c/sci_fftw.c, line: 636 +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 704 +# File: sci_gateway/c/sci_dst.c, line: 694 +# File: sci_gateway/c/sci_fftw.c, line: 660 +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 730 +# File: sci_gateway/c/sci_dst.c, line: 720 +# File: sci_gateway/c/sci_fftw.c, line: 686 +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 792 +# File: sci_gateway/c/sci_dct.c, line: 814 +# File: sci_gateway/c/sci_dst.c, line: 782 +# File: sci_gateway/c/sci_dst.c, line: 804 +# File: sci_gateway/c/sci_fftw.c, line: 748 +# File: sci_gateway/c/sci_fftw.c, line: 770 +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_dct.c, line: 1091 +# File: sci_gateway/c/sci_dct.c, line: 1126 +# File: sci_gateway/c/sci_dst.c, line: 1077 +# File: sci_gateway/c/sci_dst.c, line: 1113 +# File: sci_gateway/c/sci_fftw.c, line: 1159 +# File: sci_gateway/c/sci_fftw.c, line: 1190 +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_disposefftwlibrary.c, line: 38 +# File: sci_gateway/c/sci_fftwlibraryisloaded.c, line: 35 +# File: sci_gateway/c/sci_loadfftwlibrary.c, line: 69 +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_fftw.c, line: 150 +# File: sci_gateway/c/sci_fftw.c, line: 161 +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_fftw.c, line: 1154 +# File: sci_gateway/c/sci_fftw.c, line: 1183 +# File: sci_gateway/c/sci_fftw.c, line: 1200 +# File: sci_gateway/c/sci_fftw.c, line: 1214 +# File: sci_gateway/c/sci_fftw_flags.c, line: 274 +# File: sci_gateway/c/sci_fftw_flags.c, line: 286 +# File: sci_gateway/c/sci_fftw_flags.c, line: 293 +# File: sci_gateway/c/sci_fftw_flags.c, line: 316 +# File: sci_gateway/c/sci_fftw_flags.c, line: 324 +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 74 +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 95 +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 122 +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 141 +#, c-format +msgid "%s: No more memory.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_fftw_flags.c, line: 156 +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_fftw_flags.c, line: 242 +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 45 +# File: sci_gateway/c/sci_set_fftw_wisdom.c, line: 50 +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_loadfftwlibrary.c, line: 42 +# File: sci_gateway/c/sci_set_fftw_wisdom.c, line: 66 +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_set_fftw_wisdom.c, line: 137 +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +# +# File: src/c/sci_data_utilities.c, line: 245 +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +# +# File: src/c/sci_data_utilities.c, line: 300 +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +# +# File: src/c/sci_data_utilities.c, line: 348 +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "" + +# +# File: src/c/sci_data_utilities.c, line: 420 +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +# +# File: src/nofftw/nofftw.c, line: 21 +msgid "Scilab FFTW module not installed.\n" +msgstr "" + +# File: etc/fftw.start, line: 34 +msgid "You choose to install scilab with fftw module." +msgstr "" + +# +# File: etc/fftw.start, line: 35 +msgid "This module requires : " +msgstr "" + +# +# File: etc/fftw.start, line: 36 +msgid "Scilab will use standard fft by default until you install this library." +msgstr "" + +# +# File: etc/fftw.start, line: 37 +msgid "See help fftw for more information." +msgstr "" diff --git a/modules/fftw/locales/fr_FR.po b/modules/fftw/locales/fr_FR.po new file mode 100755 index 000000000..476681093 --- /dev/null +++ b/modules/fftw/locales/fr_FR.po @@ -0,0 +1,206 @@ +# French translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-05-06 13:12+0000\n" +"Last-Translator: Julie PAUL <Unknown>\n" +"Language-Team: French <fr@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: fr\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "Impossible de trouver la bibliothèque FFTW %s.\n" + +msgid "FFTW Library not found.\n" +msgstr "Impossible de trouver la bibliothèque FFTW.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "%s : Impossible de lire l'argument d'entrée n°%d.\n" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "%s : Impossible d'allouer plus de mémoire.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : %d ou %d attendu.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : Doit être dans l'ensemble " +"{%s}.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" +"%s : Type erroné de l'argument d'entrée n°%d : Un tableau de nombres à " +"virgule flottante attendu.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s : Type erroné de l'argument d'entrée n°%d.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" +"%s : Dimension erronée de l'argument d'entrée n°%d : Doit être entre %d et " +"%d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" +"%s : Valeurs erronées de l'argument d'entrée n°%d : Des entiers positifs " +"attendus.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" +"%s : Valeurs erronées de l'argument d'entrée n°%d : Les éléments doivent " +"être plus petits que %d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" +"%s : Valeurs erronées de l'argument d'entrée n°%d : Les éléments doivent " +"être en ordre croissant.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" +"%s : Valeurs erronées de l'argument d'entrée n°%d : Les éléments doivent " +"être plus grands que %d.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" +"%s : Valeurs erronées de l'argument d'entrée n°%d : Doivent être plus " +"petites que %d.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" +"%s : Valeurs erronées de l'argument d'entrée n°%d : Doivent être un diviseur " +"de %d.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" +"%s : Arguments d'entrée n°%d et n°%d incompatibles : Mêmes dimensions " +"attendues.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" +"%s : Valeurs erronées de l'argument d'entrée n°%d : Les éléments doivent " +"être des diviseurs de %d.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "%s : Arguments d'entrée n°%d et n°%d incompatibles.\n" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "%s : Échec de la création du plan fftw demandé.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s : Erreur d'allocation mémoire.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : '%s' ou '%s' attendu.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s : Plus de mémoire disponible.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "%s : Type erroné de l'argument d'entrée n°%d : Un int32 attendu.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s : Valeurs erronées de l'argument d'entrée n°%d : Des drapeaux FFTW " +"attendus.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" +"%s : La fftw de la bibliothèque MKL ne met pas encore en oeuvre de fonctions " +"wisdom.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s : Type erroné de l'argument d'entrée n°%d : Une chaîne de caractères " +"attendue.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" +"%s : Valeur erronée de l'argument d'entrée n°%d : Un wisdom valide attendu.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" +"%s : Dimension erronée de l'argument d'entrée n°%d : Un scalaire attendu.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" +"%s : Type erroné de l'argument d'entrée n°%d : Un entier ou un nombre à " +"virgule flottante attendu.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s : Dimension erronée de l'argument d'entrée n°%d.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" +"%s : Type erroné de l'argument d'entrée n°%d : Un tableau de nombres à " +"virgule flottante ou d'entiers attendu.\n" + +msgid "Scilab FFTW module not installed.\n" +msgstr "Le module Scilab FFTW n'est pas installé.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Vous avez choisi d'installer Scilab avec le module fftw." + +msgid "This module requires : " +msgstr "Ce module nécessite : " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" +"Scilab utilisera par défaut la fft standard jusqu'à l'installation de cette " +"bibliothèque." + +msgid "See help fftw for more information." +msgstr "Consultez l'aide de fftw pour plus d'informations." diff --git a/modules/fftw/locales/it_IT.po b/modules/fftw/locales/it_IT.po new file mode 100755 index 000000000..cf261d0b4 --- /dev/null +++ b/modules/fftw/locales/it_IT.po @@ -0,0 +1,181 @@ +# Italian translation for scilab +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-19 19:53+0000\n" +"Last-Translator: Carml <mighty.carml@gmail.com>\n" +"Language-Team: Italian <it@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: it\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "La libreria di FFTW %s non è stata trovata.\n" + +msgid "FFTW Library not found.\n" +msgstr "La libreria FFTW non è stata trovata.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "%s: Impossibile leggere l'argomento in ingresso #%d.\n" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "%s: Non è possibile allocare altra memoria.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha un valore sbagliato: era atteso %d o %d.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha un valore sbagliato: deve essere " +"nell'insieme {%s}.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: L'argomento in ingresso #%d è di tipo sbagliato.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha una dimensione sbagliata: deve essere tra " +"%d e %d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha dei valori sbagliati: gli elementi devono " +"essere in ordine crescente.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Memoria esaurita.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d ha dei valori sbagliati: era atteso il flag " +"FFTW.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: L'argomento in ingresso #%d è di tipo sbagliato: era attesa una " +"stringa.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: L'argomento in ingresso #%d ha una dimensione sbagliata.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +msgid "Scilab FFTW module not installed.\n" +msgstr "Il modulo FFTW di Scilab non è installato\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Si è scelto di installare Scilab con il modulo fftw." + +msgid "This module requires : " +msgstr "Questo modulo richiede : " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" +"Scilab userà in modo predefinito la fft standard a meno che non si installi " +"questa libreria." + +msgid "See help fftw for more information." +msgstr "Vedere l'aiuto di fftw per maggiori informazioni." diff --git a/modules/fftw/locales/ja_JP.po b/modules/fftw/locales/ja_JP.po new file mode 100755 index 000000000..30ccd2573 --- /dev/null +++ b/modules/fftw/locales/ja_JP.po @@ -0,0 +1,175 @@ +# Japanese translation for scilab +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-04-20 07:35+0000\n" +"Last-Translator: Rui Hirokawa <Unknown>\n" +"Language-Team: Japanese <z-saito@guitar.ocn.ne.jp>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"X-Poedit-Country: Japan\n" +"Language: ja\n" +"X-Poedit-Language: Japanese\n" + +# File: sci_gateway/c/gw_fftw.c, line: 45 +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "FFTW ライブラリ %s が見つかりません。\n" + +# +# File: sci_gateway/c/gw_fftw.c, line: 49 +msgid "FFTW Library not found.\n" +msgstr "FFTW ライブラリ が見つかりません。\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "%s: 入力引数 #%d を読み込めません.\n" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "%s: メモリを確保できません.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: %d または %d を指定してください.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "%s: 入力引数 #%d の値が正しくありません: 集合 {%s} に含まれる値を指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: 浮動小数点数の配列を指定してください.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: 入力引数 #%d の型が間違っています.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています: %d および %d の間としてください.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: 正の整数を指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: 要素は %d 未満としてください.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "%s: 入力引数 #%d の値が正しくありません: 要素は昇順としてください.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: 要素は %d より大きな値としてください.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: %d 未満としてください.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: %d の約数を指定してください.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "%s: 入力引数 #%d と #%d で互換性がありません: 大きさを同じにしてください.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "%s: 入力引数 #%d の値が間違っています:要素は %d の約数としてください.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "%s: 入力引数 #%d および #%d に互換性がありません.\n" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "%s: 指定した fftw プランの作成に失敗しました.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: メモリ割当エラー.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: '%s' または '%s' を指定してください.\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: メモリ不足です.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: int32 を指定してください.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: FFTWフラグを指定してください.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "%s: MKL fftwライブラリはwisdom関数をまだ実装していません.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: 文字列を指定してください.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "%s: 入力引数 #%d の値が間違っています: 有効な wisdom を指定してください.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "%s: 入力引数 #%d の大きさが正しくありません: スカラーを1つ指定してください.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: 整数または浮動小数点数を指定してください.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: 入力引数 #%d の大きさが間違っています.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "%s: 入力引数 #%d の型が間違っています: 浮動小数点数または整数の配列を指定してください.\n" + +# +# File: src/nofftw/nofftw.c, line: 20 +msgid "Scilab FFTW module not installed.\n" +msgstr "Scilab FFTW モジュールはインストールされていません。\n" + +msgid "You choose to install scilab with fftw module." +msgstr "fftwモジュール付きのscilabインストールが選択されました." + +msgid "This module requires : " +msgstr "このモジュールは以下を必要とします : " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "Scilab はこのライブラリをインストールするまで標準のfftを使用します." + +msgid "See help fftw for more information." +msgstr "詳細については fftw のヘルプを参照ください." diff --git a/modules/fftw/locales/pl_PL.po b/modules/fftw/locales/pl_PL.po new file mode 100755 index 000000000..424f3605d --- /dev/null +++ b/modules/fftw/locales/pl_PL.po @@ -0,0 +1,173 @@ +# Polish translation for scilab +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-19 19:51+0000\n" +"Last-Translator: Scilab.team <Unknown>\n" +"Language-Team: Polish <pl@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: pl\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "Biblioteki FFTW %s nie odnaleziono.\n" + +msgid "FFTW Library not found.\n" +msgstr "Biblioteki FFTW nie odnaleziono.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: Nieprawidłowy typ dla argumentu wejściowego nr %d.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Brak pamięci.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s: Nieprawidłowe wartości argumentu wejściowego nr %d: oczekiwano flagi " +"FFTW.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: Nieprawidłowy typ argumentu wejściowego nr %d: oczekiwano łańcuch.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: Nieprawidłowy rozmiar argumentu wejściowego nr %d.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +msgid "Scilab FFTW module not installed.\n" +msgstr "Modułu Scilab FFTW nie zainstalowano.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Wybrałeś instalację Scilaba z modułem fft." + +msgid "This module requires : " +msgstr "Ten moduł wymaga: " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" +"Scilab używa domyślnie standardowej biblioteki fft dopóki nie zostanie " +"zainstalowana ta biblioteka." + +msgid "See help fftw for more information." +msgstr "Zobacz help fft po więcej informacji." diff --git a/modules/fftw/locales/pt_BR.po b/modules/fftw/locales/pt_BR.po new file mode 100755 index 000000000..fcba96037 --- /dev/null +++ b/modules/fftw/locales/pt_BR.po @@ -0,0 +1,171 @@ +# Brazilian Portuguese translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-19 19:49+0000\n" +"Last-Translator: RodolfoRG <rodolforg@gmail.com>\n" +"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: pt_BR\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "A biblioteca %s de FFTW não foi encontrada.\n" + +msgid "FFTW Library not found.\n" +msgstr "A biblioteca de FFTW não foi encontrada.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: Tipo incorreto para o argumento de entrada #%d.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Memória esgotada.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s: Valores incorretos para o argumento de entrada #%d: esperava-se um " +"sinalizador de FFTW.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: Tipo incorreto para o argumento de entrada #%d: esperava-se um texto.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: Tamanho incorreto para o argumento de entrada #%d.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +msgid "Scilab FFTW module not installed.\n" +msgstr "O módulo FFTW do Scilab não está instalado.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Você escolheu instalar o Scilab com o módulo fftw." + +msgid "This module requires : " +msgstr "Este módulo exige: " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "O Scilab usará o fft padrão até que você instale essa biblioteca." + +msgid "See help fftw for more information." +msgstr "Para mais informações, veja a ajuda do fftw." diff --git a/modules/fftw/locales/ru_RU.po b/modules/fftw/locales/ru_RU.po new file mode 100755 index 000000000..cb9d71e8c --- /dev/null +++ b/modules/fftw/locales/ru_RU.po @@ -0,0 +1,195 @@ +# Russian translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-04-19 00:03+0000\n" +"Last-Translator: Stanislav V. Kroter <krotersv@gmail.com>\n" +"Language-Team: Russian <ru@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: ru\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "Библиотека FFTW %s не найдена.\n" + +msgid "FFTW Library not found.\n" +msgstr "Библиотека FFTW не найдена.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "%s: Не могу прочитать входной аргумент №%d.\n" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "%s: Не удалось выделить больше памяти.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "%s: Неверное значение входного параметра №%d: ожидалось %d или %d.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: должно быть из множества " +"{%s}.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" +"%s: Неверный тип аргумента №%d: ожидался массив чисел с плавающей запятой.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: Неверный тип входного параметра №%d.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" +"%s: Неверный размер входного аргумента №%d: должен быть между %d и %d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" +"%s:Неверные значения входного аргумента №%d: ожидались положительные целые " +"числа.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" +"%s: Неверные значения входного аргумента №%d: элементы должны быть меньше " +"%d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" +"%s: Неверные значения входного аргумента №%d: элементы должны быть " +"отсортированы по возрастанию.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" +"%s: Неверные значения входного аргумента №%d: элементы должны быть больше " +"%d.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" +"%s: Неверные значения входного аргумента №%d: должны быть меньше %d.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" +"%s: Неверные значения входного аргумента №%d: должны быть кратны %d.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" +"%s: Несовместимые входные параметры №%d и №%d: ожидались одинаковые " +"размеры.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" +"%s: Неверные значения входного аргумента №%d: элементы должны быть кратны " +"%d.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "%s: Несовместимые входные аргументы №%d и №%d.\n" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "%s: Не удалось создание запрошенного плана fftw.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: Ошибка распределения памяти.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: ожидалось «%s» или «%s».\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: Не осталось доступной памяти.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "%s: Неверный тип входного аргумента №%d: ожидался int32.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "%s: Неверные значения входного параметра №%d: ожидался флаг FFTW.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "%s: Библиотека MKL fftw пока ещё не внедрила функции wisdom.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "%s: Неверный тип входного параметра №%d: ожидалась строка.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" +"%s: Неверное значение входного аргумента №%d: ожидалось корректное wisdom.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "%s: Неверный размер входного аргумента №%d: ожидался скаляр.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" +"%s: Неверный тип аргумента №%d: ожидалось целое число или число с плавающей " +"запятой.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: Неверный размер входного параметра №%d.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" +"%s: Неверный тип аргумента №%d: ожидался массив чисел с плавающей запятой " +"или массив целых чисел.\n" + +msgid "Scilab FFTW module not installed.\n" +msgstr "Модуль Scilab FFTW не установлен.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Вы выбрали установку scilab с модулем fftw." + +msgid "This module requires : " +msgstr "Этот модуль требует: " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" +"Scilab будет использовать по умолчанию стандартное быстрое преобразование " +"Фурье до тех пор, пока вы не установите эту библиотеку." + +msgid "See help fftw for more information." +msgstr "" +"Дополнительную информацию можно получить с помощью команды \"help fftw\"." diff --git a/modules/fftw/locales/uk_UA.po b/modules/fftw/locales/uk_UA.po new file mode 100755 index 000000000..1eb45f39a --- /dev/null +++ b/modules/fftw/locales/uk_UA.po @@ -0,0 +1,208 @@ +# Ukrainian translation for scilab +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the scilab package. +# +# Yuri Chornoivan <yurchor@gmail.com>, 2010, 2012. +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-04-18 04:42+0000\n" +"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n" +"Language-Team: Ukrainian <translation@linux.org.ua>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: uk\n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "Бібліотеки FFTW %s не виявлено.\n" + +msgid "FFTW Library not found.\n" +msgstr "Бібліотеки FFTW не виявлено.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "%s: не вдалося прочитати вхідний параметр №%d.\n" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "%s: не вдалося виділити більше пам’яті.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: слід використовувати %d або " +"%d.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: слід використовувати значення " +"з набору {%s}.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" +"%s: помилковий тип параметра №%d: мало бути використано масив зі значень з " +"рухомою комою.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: помилковий тип вхідного параметра №%d.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" +"%s: помилкова розмірність вхідного параметра №%d: слід використовувати " +"значення між %d та %d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" +"%s: помилкові значення вхідного параметра №%d: слід використовувати додатні " +"цілі числа.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" +"%s: помилкові значення вхідного параметра №%d: елементи мають бути меншими " +"за %d.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" +"%s: помилкові значення вхідного параметра №%d: елементи слід вказувати у " +"порядку зростання.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" +"%s: помилкові значення вхідного параметра №%d: елементи мають бути більшими " +"за %d.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" +"%s: помилкові значення вхідного параметра №%d: має бути меншим за %d.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" +"%s: помилкові значення вхідного параметра №%d: має бути дільник %d.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" +"%s: несумісні вхідні параметри №%d і №%d: слід використовувати однакову " +"розмірність.\n" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" +"%s: помилкові значення вхідного параметра №%d: елементи мають дільниками " +"%d.\n" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "%s: вхідні параметри №%d і №%d несумісні.\n" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "%s: спроба створення потрібного плану fftw зазнала невдачі.\n" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "%s: помилка під час спроби виділення пам’яті.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" +"%s: Помилкове значення вхідного параметра №%d: слід використовувати «%s» або " +"«%s».\n" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: доступну пам’ять вичерпано.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" +"%s: помилковий тип вхідного параметра №%d: мало бути використано тип int32.\n" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "" +"%s: помилкові значення вхідного параметра №%d: слід використовувати " +"прапорець FFTW.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "%s: у бібліотеці MKL fftw ще не реалізовано функції wisdom.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "" +"%s: помилковий тип вхідного параметра №%d: слід використовувати тип " +"«string».\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" +"%s: помилкове значення вхідного параметра №%d: слід використовувати коректне " +"значення wisdom.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" +"%s: помилкова розмірність вхідного параметра №%d: слід використовувати " +"дійсне число.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" +"%s: помилковий тип параметра №%d: мало бути використано ціле число або число " +"з рухомою комою.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: помилкова розмірність вхідного параметра №%d.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" +"%s: помилковий тип параметра №%d: мало бути використано масив з чисел з " +"рухомою комою або цілих чисел.\n" + +msgid "Scilab FFTW module not installed.\n" +msgstr "Модуль FFTW Scilab не встановлено.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "Вами вибрано встановлення scilab з модулем fftw." + +msgid "This module requires : " +msgstr "Для роботи цього модуля потрібні: " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" +"Scilab типово використовуватиме стандартну функцію швидкого перетворення " +"Фур’є, доки не буде встановлено цю бібліотеку." + +msgid "See help fftw for more information." +msgstr "" +"Докладнішу інформацію можна отримати за допомогою команди «help fftw»." diff --git a/modules/fftw/locales/zh_CN.po b/modules/fftw/locales/zh_CN.po new file mode 100755 index 000000000..ff65e5e8d --- /dev/null +++ b/modules/fftw/locales/zh_CN.po @@ -0,0 +1,168 @@ +# Simplified Chinese translation for scilab +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-19 19:43+0000\n" +"Last-Translator: Scilab.team <Unknown>\n" +"Language-Team: Simplified Chinese <zh_CN@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: \n" + +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "没有找到FFTW库%s。\n" + +msgid "FFTW Library not found.\n" +msgstr "没有找到FFTW库。\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s:第%d个输入参数的类型错误。\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s:内存不足。\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "%s:第%d个输入参数的值错误:应该为FFTW标志。\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "%s:第%d个输入参数的类型错误:应该为字符串。\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s:第%d个输入参数的大小错误。\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +msgid "Scilab FFTW module not installed.\n" +msgstr "Scilab模块FFTW未安装。\n" + +msgid "You choose to install scilab with fftw module." +msgstr "你选择要安装带FFTW模块的Scilab" + +msgid "This module requires : " +msgstr "此模块需要: " + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "Scilab将使用FFT直到你安装FFTW库。" + +msgid "See help fftw for more information." +msgstr "查看help fftw了解更多信息" diff --git a/modules/fftw/locales/zh_TW.po b/modules/fftw/locales/zh_TW.po new file mode 100755 index 000000000..d0773e039 --- /dev/null +++ b/modules/fftw/locales/zh_TW.po @@ -0,0 +1,198 @@ +msgid "" +msgstr "" +"Project-Id-Version: Scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2010-06-19 13:43+0000\n" +"Last-Translator: tim loo <timloo0710@gmail.com>\n" +"Language-Team: Traditional Chinese <zh_TW@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" +"Language: \n" +"Revision-Date: 2011-04-04 22:09+0100\n" + +# +# File: sci_gateway/c/gw_fftw.c, line: 45 +#, c-format +msgid "FFTW Library %s not found.\n" +msgstr "找不到 FFTW 程式庫 %s.\n" + +# +# File: sci_gateway/c/gw_fftw.c, line: 49 +msgid "FFTW Library not found.\n" +msgstr "找不到 FFTW 程式庫.\n" + +#, c-format +msgid "%s: Can not read input argument #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Cannot allocate more memory.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: %d or %d expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: Must be in the set {%s}.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: Array of floating point numbers expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_fftw_flags.c, line: 158 +#, c-format +msgid "%s: Wrong type for input argument #%d.\n" +msgstr "%s: 第 %d 個輸入參數型態錯誤.\n" + +#, c-format +msgid "%s: Wrong size for input argument #%d: Must be between %d and %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Positive integers expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be less than %d.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be in increasing " +"order.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be greater than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be less than %d.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong values for input argument #%d: Must be a divisor of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n" +msgstr "" + +#, c-format +msgid "%s: Incompatible input arguments #%d and #%d.\n" +msgstr "" + +#, c-format +msgid "%s: Creation of requested fftw plan failed.\n" +msgstr "" + +#, c-format +msgid "%s: Memory allocation error.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 59 +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 66 +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 86 +# File: sci_gateway/c/sci_get_fftw_wisdom.c, line: 92 +# File: sci_gateway/c/sci_set_fftw_wisdom.c, line: 60 +# File: sci_gateway/c/sci_fftw_flags.c, line: 176 +# File: sci_gateway/c/sci_fftw_flags.c, line: 183 +# File: sci_gateway/c/sci_fftw_flags.c, line: 201 +# File: sci_gateway/c/sci_fftw_flags.c, line: 208 +# File: sci_gateway/c/sci_fftw.c, line: 235 +# File: sci_gateway/c/sci_fftw.c, line: 241 +# File: sci_gateway/c/sci_fftw.c, line: 415 +# File: sci_gateway/c/sci_fftw.c, line: 433 +# File: sci_gateway/c/sci_fftw.c, line: 461 +# File: sci_gateway/c/sci_fftw.c, line: 472 +# File: sci_gateway/c/sci_fftw.c, line: 495 +# File: sci_gateway/c/sci_fftw.c, line: 535 +# File: sci_gateway/c/sci_fftw.c, line: 561 +#, c-format +msgid "%s: No more memory.\n" +msgstr "%s: 記憶體耗盡.\n" + +#, c-format +msgid "%s: Wrong type for input argument #%d: A int32 expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_fftw_flags.c, line: 146 +#, c-format +msgid "%s: Wrong values for input argument #%d: FFTW flag expected.\n" +msgstr "%s: 第 %d 個輸入參數數值錯誤: 應為 FFTW 旗標.\n" + +#, c-format +msgid "%s: MKL fftw library does not implement wisdom functions yet.\n" +msgstr "" + +# File: sci_gateway/c/sci_loadfftwlibrary.c, line: 50 +# File: sci_gateway/c/sci_set_fftw_wisdom.c, line: 85 +#, c-format +msgid "%s: Wrong type for input argument #%d: A string expected.\n" +msgstr "%s: 第 %d 個輸入參數型態錯誤: 應為一字串.\n" + +#, c-format +msgid "%s: Wrong value for input argument #%d: a valid wisdom expected.\n" +msgstr "" + +#, c-format +msgid "%s: Wrong size for input argument #%d: A scalar expected.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An integer or a floating point number " +"expected.\n" +msgstr "" + +# +# File: sci_gateway/c/sci_fftw.c, line: 197 +# File: sci_gateway/c/sci_fftw.c, line: 221 +#, c-format +msgid "%s: Wrong size for input argument #%d.\n" +msgstr "%s: 第 %d 個輸入參數長度錯誤.\n" + +#, c-format +msgid "" +"%s: Wrong type for argument #%d: An array of floating point or integer " +"numbers expected.\n" +msgstr "" + +# +# File: src/nofftw/nofftw.c, line: 18 +msgid "Scilab FFTW module not installed.\n" +msgstr "未安裝 Scilab FFTW 模組.\n" + +msgid "You choose to install scilab with fftw module." +msgstr "" + +msgid "This module requires : " +msgstr "" + +msgid "" +"Scilab will use standard fft by default until you install this library." +msgstr "" + +msgid "See help fftw for more information." +msgstr "" diff --git a/modules/fftw/macros/buildmacros.bat b/modules/fftw/macros/buildmacros.bat new file mode 100755 index 000000000..c4e35ec40 --- /dev/null +++ b/modules/fftw/macros/buildmacros.bat @@ -0,0 +1 @@ +@..\..\..\bin\scilex -nwni -ns -e exec('buildmacros.sce');quit;
\ No newline at end of file diff --git a/modules/fftw/macros/buildmacros.sce b/modules/fftw/macros/buildmacros.sce new file mode 100755 index 000000000..2a111df94 --- /dev/null +++ b/modules/fftw/macros/buildmacros.sce @@ -0,0 +1,14 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007 - 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 + +if (isdef("genlib") == %f) then + exec(SCI+"/modules/functions/scripts/buildmacros/loadgenlib.sce"); +end + +//genlib('fftwlib','SCI/modules/fftw/macros',%f,%t); diff --git a/modules/fftw/macros/cleanmacros.bat b/modules/fftw/macros/cleanmacros.bat new file mode 100755 index 000000000..5079dfd71 --- /dev/null +++ b/modules/fftw/macros/cleanmacros.bat @@ -0,0 +1,3 @@ +@del *.bin 2>NUL +@del lib 2>NUL +@del names 2>NUL
\ No newline at end of file diff --git a/modules/fftw/sci_gateway/c/.deps/.dirstamp b/modules/fftw/sci_gateway/c/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/.dirstamp diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-gw_fftw.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-gw_fftw.Plo new file mode 100755 index 000000000..adf78e891 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-gw_fftw.Plo @@ -0,0 +1,325 @@ +sci_gateway/c/libscifftw_la-gw_fftw.lo: sci_gateway/c/gw_fftw.c \ + /usr/include/stdc-predef.h src/c/callfftw.h \ + ../../modules/core/includes/BOOL.h src/c/fftw3.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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 src/c/fftwlibname.h \ + includes/gw_fftw.h includes/dynlib_fftw.h \ + ../../modules/core/includes/callFunctionFromGateway.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/xlocale.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.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/values.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/float.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/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 + +/usr/include/stdc-predef.h: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +src/c/fftw3.h: + +/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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: + +src/c/fftwlibname.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/core/includes/callFunctionFromGateway.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/xlocale.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.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/values.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/float.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/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: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_dct.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_dct.Plo new file mode 100755 index 000000000..d5662003a --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_dct.Plo @@ -0,0 +1,318 @@ +sci_gateway/c/libscifftw_la-sci_dct.lo: sci_gateway/c/sci_dct.c \ + /usr/include/stdc-predef.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 src/c/fftw_utilities.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/fftw3.h \ + src/c/sci_data_utilities.h \ + ../../modules/api_scilab/includes/api_scilab.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/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 src/c/callfftw.h \ + ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h includes/gw_fftw.h \ + includes/dynlib_fftw.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h + +/usr/include/stdc-predef.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: + +src/c/fftw_utilities.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/fftw3.h: + +src/c/sci_data_utilities.h: + +../../modules/api_scilab/includes/api_scilab.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/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: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_disposefftwlibrary.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_disposefftwlibrary.Plo new file mode 100755 index 000000000..fda5b06df --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_disposefftwlibrary.Plo @@ -0,0 +1,316 @@ +sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo: \ + sci_gateway/c/sci_disposefftwlibrary.c /usr/include/stdc-predef.h \ + src/c/callfftw.h ../../modules/core/includes/BOOL.h src/c/fftw3.h \ + /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/fftwlibname.h \ + includes/gw_fftw.h includes/dynlib_fftw.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + /usr/include/xlocale.h ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h /usr/include/string.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/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 /usr/include/values.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/float.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/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/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h + +/usr/include/stdc-predef.h: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +src/c/fftw3.h: + +/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/fftwlibname.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/xlocale.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +/usr/include/string.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/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: + +/usr/include/values.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/float.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/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/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_dst.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_dst.Plo new file mode 100755 index 000000000..e0f7f7ac8 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_dst.Plo @@ -0,0 +1,318 @@ +sci_gateway/c/libscifftw_la-sci_dst.lo: sci_gateway/c/sci_dst.c \ + /usr/include/stdc-predef.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 src/c/fftw_utilities.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/fftw3.h \ + src/c/sci_data_utilities.h \ + ../../modules/api_scilab/includes/api_scilab.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/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 src/c/callfftw.h \ + ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h includes/gw_fftw.h \ + includes/dynlib_fftw.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h + +/usr/include/stdc-predef.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: + +src/c/fftw_utilities.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/fftw3.h: + +src/c/sci_data_utilities.h: + +../../modules/api_scilab/includes/api_scilab.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/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: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw.Plo new file mode 100755 index 000000000..e5759a701 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw.Plo @@ -0,0 +1,318 @@ +sci_gateway/c/libscifftw_la-sci_fftw.lo: sci_gateway/c/sci_fftw.c \ + /usr/include/stdc-predef.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 src/c/fftw_utilities.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/fftw3.h \ + src/c/sci_data_utilities.h \ + ../../modules/api_scilab/includes/api_scilab.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/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 src/c/callfftw.h \ + ../../modules/core/includes/BOOL.h ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h includes/gw_fftw.h \ + includes/dynlib_fftw.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h + +/usr/include/stdc-predef.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: + +src/c/fftw_utilities.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/fftw3.h: + +src/c/sci_data_utilities.h: + +../../modules/api_scilab/includes/api_scilab.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/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: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw_flags.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw_flags.Plo new file mode 100755 index 000000000..617c8949c --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw_flags.Plo @@ -0,0 +1,315 @@ +sci_gateway/c/libscifftw_la-sci_fftw_flags.lo: \ + sci_gateway/c/sci_fftw_flags.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/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.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 src/c/fftw_utilities.h \ + /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/fftw3.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h includes/gw_fftw.h \ + includes/dynlib_fftw.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/freeArrayOfString.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.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/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.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: + +src/c/fftw_utilities.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/fftw3.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/freeArrayOfString.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw_forget_wisdom.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw_forget_wisdom.Plo new file mode 100755 index 000000000..76341adcd --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftw_forget_wisdom.Plo @@ -0,0 +1,291 @@ +sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo: \ + sci_gateway/c/sci_fftw_forget_wisdom.c /usr/include/stdc-predef.h \ + src/c/fftw_utilities.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 /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/fftw3.h \ + src/c/callfftw.h ../../modules/core/includes/BOOL.h includes/gw_fftw.h \ + includes/dynlib_fftw.h ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.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/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 + +/usr/include/stdc-predef.h: + +src/c/fftw_utilities.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: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/fftw3.h: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.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/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: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftwlibraryisloaded.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftwlibraryisloaded.Plo new file mode 100755 index 000000000..b58b71366 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_fftwlibraryisloaded.Plo @@ -0,0 +1,308 @@ +sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo: \ + sci_gateway/c/sci_fftwlibraryisloaded.c /usr/include/stdc-predef.h \ + src/c/callfftw.h ../../modules/core/includes/BOOL.h src/c/fftw3.h \ + /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/gw_fftw.h \ + includes/dynlib_fftw.h ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h /usr/include/string.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/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/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/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h + +/usr/include/stdc-predef.h: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +src/c/fftw3.h: + +/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +/usr/include/string.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/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/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/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_get_fftw_wisdom.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_get_fftw_wisdom.Plo new file mode 100755 index 000000000..5f5346ce4 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_get_fftw_wisdom.Plo @@ -0,0 +1,318 @@ +sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo: \ + sci_gateway/c/sci_get_fftw_wisdom.c /usr/include/stdc-predef.h \ + /usr/include/stdlib.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/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.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/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 src/c/callfftw.h \ + ../../modules/core/includes/BOOL.h src/c/fftw3.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + ../../modules/api_scilab/includes/api_scilab.h \ + ../../modules/core/includes/stack-c.h /usr/include/string.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/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 \ + ../../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/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 includes/gw_fftw.h \ + includes/dynlib_fftw.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/freeArrayOfString.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h + +/usr/include/stdc-predef.h: + +/usr/include/stdlib.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/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.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/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: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +src/c/fftw3.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +../../modules/api_scilab/includes/api_scilab.h: + +../../modules/core/includes/stack-c.h: + +/usr/include/string.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/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: + +../../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/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: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/freeArrayOfString.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_loadfftwlibrary.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_loadfftwlibrary.Plo new file mode 100755 index 000000000..92fd03d76 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_loadfftwlibrary.Plo @@ -0,0 +1,310 @@ +sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo: \ + sci_gateway/c/sci_loadfftwlibrary.c /usr/include/stdc-predef.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 src/c/callfftw.h \ + ../../modules/core/includes/BOOL.h src/c/fftw3.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h src/c/fftwlibname.h \ + includes/gw_fftw.h includes/dynlib_fftw.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h + +/usr/include/stdc-predef.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: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +src/c/fftw3.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +src/c/fftwlibname.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: diff --git a/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_set_fftw_wisdom.Plo b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_set_fftw_wisdom.Plo new file mode 100755 index 000000000..133663634 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.deps/libscifftw_la-sci_set_fftw_wisdom.Plo @@ -0,0 +1,316 @@ +sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo: \ + sci_gateway/c/sci_set_fftw_wisdom.c /usr/include/stdc-predef.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 src/c/callfftw.h \ + ../../modules/core/includes/BOOL.h src/c/fftw3.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h includes/gw_fftw.h \ + includes/dynlib_fftw.h \ + ../../modules/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/core/includes/freeArrayOfString.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h + +/usr/include/stdc-predef.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: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +src/c/fftw3.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +includes/gw_fftw.h: + +includes/dynlib_fftw.h: + +../../modules/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/core/includes/freeArrayOfString.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/sci_gateway/c/.dirstamp b/modules/fftw/sci_gateway/c/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/fftw/sci_gateway/c/.dirstamp diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-gw_fftw.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-gw_fftw.o Binary files differnew file mode 100755 index 000000000..d49bb47c2 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-gw_fftw.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_dct.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_dct.o Binary files differnew file mode 100755 index 000000000..52fbbda49 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_dct.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_disposefftwlibrary.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_disposefftwlibrary.o Binary files differnew file mode 100755 index 000000000..03d7276a1 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_disposefftwlibrary.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_dst.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_dst.o Binary files differnew file mode 100755 index 000000000..d149dd920 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_dst.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw.o Binary files differnew file mode 100755 index 000000000..d5500fc80 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw_flags.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw_flags.o Binary files differnew file mode 100755 index 000000000..826220539 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw_flags.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw_forget_wisdom.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw_forget_wisdom.o Binary files differnew file mode 100755 index 000000000..fbe35307e --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftw_forget_wisdom.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftwlibraryisloaded.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftwlibraryisloaded.o Binary files differnew file mode 100755 index 000000000..dcbe00570 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_fftwlibraryisloaded.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_get_fftw_wisdom.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_get_fftw_wisdom.o Binary files differnew file mode 100755 index 000000000..14c382d40 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_get_fftw_wisdom.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_loadfftwlibrary.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_loadfftwlibrary.o Binary files differnew file mode 100755 index 000000000..c0b32792f --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_loadfftwlibrary.o diff --git a/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_set_fftw_wisdom.o b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_set_fftw_wisdom.o Binary files differnew file mode 100755 index 000000000..ea62cefd6 --- /dev/null +++ b/modules/fftw/sci_gateway/c/.libs/libscifftw_la-sci_set_fftw_wisdom.o diff --git a/modules/fftw/sci_gateway/c/gw_fftw.c b/modules/fftw/sci_gateway/c/gw_fftw.c new file mode 100755 index 000000000..ff472864e --- /dev/null +++ b/modules/fftw/sci_gateway/c/gw_fftw.c @@ -0,0 +1,76 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006 - 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 "callfftw.h" +#include "Scierror.h" +#include "MALLOC.h" +#include "fftwlibname.h" +#include "gw_fftw.h" +#include "callFunctionFromGateway.h" +#include "localization.h" +#include "api_scilab.h" +#include "MALLOC.h" +/*--------------------------------------------------------------------------*/ +static gw_generic_table Tab[] = +{ + { sci_loadfftwlibrary, "loadfftwlibrary"}, + { sci_disposefftwlibrary, "disposefftwlibrary"}, + { sci_fftwlibraryisloaded, "fftwlibraryisloaded"}, + { sci_fftw, "fftw"}, + { sci_fftw_flags, "fftw_flags"}, + { sci_get_fftw_wisdom, "get_fftw_wisdom"}, + { sci_set_fftw_wisdom, "set_fftw_wisdom"}, + { sci_fftw_forget_wisdom, "fftw_forget_wisdom"}, + { sci_dct, "dct"}, + { sci_dst, "dst"} +}; +/*--------------------------------------------------------------------------*/ +int gw_fftw(void) +{ + Rhs = Max(0, Rhs); + + if (Fin > 3) /* loadfftwlibrary, disposefftwlibrary, fftwlibraryisloaded not test if dll is loaded*/ + { + if (!IsLoadedFFTW()) + { + char *fftwlibNAME = getfftwlibname(); + + if (fftwlibNAME) + { + Scierror(999, _("FFTW Library %s not found.\n"), fftwlibNAME); + } + else + { + Scierror(999, _("FFTW Library not found.\n")); + } + + if (fftwlibNAME) + { + FREE(fftwlibNAME); + fftwlibNAME = NULL; + } + + return 0; + } + } + + if (pvApiCtx == NULL) + { + pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx)); + } + + pvApiCtx->pstName = (char*)Tab[Fin - 1].name; + callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab)); + + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-gw_fftw.lo b/modules/fftw/sci_gateway/c/libscifftw_la-gw_fftw.lo new file mode 100755 index 000000000..7cfee85bb --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-gw_fftw.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-gw_fftw.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/libscifftw_la-gw_fftw.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_dct.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_dct.lo new file mode 100755 index 000000000..28b9b329f --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_dct.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_dct.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/libscifftw_la-sci_dct.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo new file mode 100755 index 000000000..2b94a3d2a --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_disposefftwlibrary.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/libscifftw_la-sci_disposefftwlibrary.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_dst.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_dst.lo new file mode 100755 index 000000000..1a4c7cb88 --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_dst.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_dst.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/libscifftw_la-sci_dst.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw.lo new file mode 100755 index 000000000..8df94e833 --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_fftw.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/libscifftw_la-sci_fftw.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw_flags.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw_flags.lo new file mode 100755 index 000000000..2ae7bbce9 --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw_flags.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_fftw_flags.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/libscifftw_la-sci_fftw_flags.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo new file mode 100755 index 000000000..806804341 --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_fftw_forget_wisdom.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/libscifftw_la-sci_fftw_forget_wisdom.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo new file mode 100755 index 000000000..4d9015e2d --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_fftwlibraryisloaded.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/libscifftw_la-sci_fftwlibraryisloaded.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo new file mode 100755 index 000000000..5f6ad832d --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_get_fftw_wisdom.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/libscifftw_la-sci_get_fftw_wisdom.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo new file mode 100755 index 000000000..cdbf5a663 --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_loadfftwlibrary.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/libscifftw_la-sci_loadfftwlibrary.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo b/modules/fftw/sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo new file mode 100755 index 000000000..44e91d744 --- /dev/null +++ b/modules/fftw/sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.lo @@ -0,0 +1,12 @@ +# sci_gateway/c/libscifftw_la-sci_set_fftw_wisdom.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/libscifftw_la-sci_set_fftw_wisdom.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/sci_gateway/c/sci_dct.c b/modules/fftw/sci_gateway/c/sci_dct.c new file mode 100755 index 000000000..6d9effd8d --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_dct.c @@ -0,0 +1,1206 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2012 - INRIA - Serge STEER +* +* 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 "stack-c.h" +#include "fftw_utilities.h" +#include "sci_data_utilities.h" +#include "callfftw.h" +#include "MALLOC.h" +#include "gw_fftw.h" +#include "api_scilab.h" +#include "localization.h" +#include "Scierror.h" +#include "BOOL.h" +#include "sci_data_utilities.h" + + +/*--------------------------------------------------------------------------*/ +extern void C2F(dscal)(int *n, double *da, double *dx, int *incx); /* blas routine */ +extern void C2F(dset)(int *n, double *da, double *dx, int *incx); /* blas routine */ +/*--------------------------------------------------------------------------*/ +static int sci_dct_gen(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, guru_dim_struct gdim, int iopt); +static int sci_dct_2args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +static int sci_dct_3args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +static int sci_dct_4args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +/*--------------------------------------------------------------------------*/ + +extern int WITHMKL; +/* fftw function. +* +* Scilab Calling sequence : +* dct(A ) +* dct(A,sign ) +* dct(A,sel,sign ) +* dct(A,sign,dim,incr ) +* +* Input : A : a scilab double complex or real vector, matrix or hypermatrix +* +* sign : a scilab double or integer scalar (-1 or 1): the sign +* in the exponential component +* +* sel : a scilab double or integer vector, the selection of dimensions + +* dim : a scilab double or integer vector: the dimensions +* of the Fast Fourier Transform to perform +* +* incr : a scilab double or integer vector: the increments +* of the Fast Fourier Transform to perform +* +* Output : a scilab double complex or real array with same shape as A that +* gives the result of the transform. +* +*/ +int sci_dct(char *fname, unsigned long fname_len) +{ + SciErr sciErr; + int *piAddr = NULL; + int rhs = Rhs; + int iTypeOne = 0; + int iopt = 0; + + int ndimsA = 0; + int *dimsA = NULL; + double *Ar = NULL, *Ai = NULL; + char *option = NULL; + int isn = FFTW_FORWARD; + WITHMKL = withMKL(); + /**************************************** + * Basic constraints on rhs arguments * + ****************************************/ + + /* check min/max lhs/rhs arguments of scilab function */ + CheckRhs(1, 4); + CheckLhs(1, 1); + + sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1); + return 0; + } + + sciErr = getVarType(pvApiCtx, piAddr, &iTypeOne); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1); + return 0; + } + + if ((iTypeOne == sci_list) || (iTypeOne == sci_tlist)) + { + OverLoad(1); + return 0; + } + + if (iTypeOne == sci_mlist) + { + /* We allow overload for not hypermatrix type */ + if (!isHyperMatrixMlist(pvApiCtx, piAddr)) + { + OverLoad(1); + return 0; + } + } + + /* checking if last argument is a potential option argument (character string) */ + sciErr = getVarAddressFromPosition(pvApiCtx, Rhs, &piAddr); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, Rhs); + return 0; + } + + if (isStringType(pvApiCtx, piAddr)) /* dct(...,option); */ + { + if (isScalar(pvApiCtx, piAddr)) + { + if (getAllocatedSingleString(pvApiCtx, piAddr, &option) == 0) + { + rhs = Rhs - 1; + } + else + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + } + + + + /******************** Checking if isn is given ************************************************/ + if (rhs == 1) /*only one rhs argument: forward dct*/ + { + isn = FFTW_FORWARD; /* default value */ + } + else /*get isn out of second argument*/ + { + sciErr = getScalarIntArg(pvApiCtx, 2, fname, &isn); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + return 0; + } + /* check value of second rhs argument */ + if ((isn != FFTW_FORWARD) && (isn != FFTW_BACKWARD)) + { + Scierror(53, _("%s: Wrong value for input argument #%d: %d or %d expected.\n"), fname, 2, FFTW_FORWARD, FFTW_BACKWARD); + return 0; + } + } + + if (option != NULL) + { + if (isn == FFTW_FORWARD) + { + if (strcmp("dct1", option) == 0) + { + iopt = 1; + } + else if (strcmp("dct2", option) == 0) + { + iopt = 2; + } + else if (strcmp("dct", option) == 0) + { + iopt = 0; + } + else if (strcmp("dct4", option) == 0) + { + iopt = 4; + } + else + { + Scierror(999, _("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"), fname, Rhs, + "\"dct\", \"dct1\",\"dct2\",\"dct4\""); + freeAllocatedSingleString(option); + option = NULL; + return 0; + } + } + else + { + if (strcmp("dct1", option) == 0) + { + iopt = 1; + } + else if (strcmp("dct3", option) == 0) + { + iopt = 3; + } + else if (strcmp("idct", option) == 0) + { + iopt = 0; + } + else if (strcmp("dct4", option) == 0) + { + iopt = 4; + } + else + { + Scierror(999, _("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"), fname, Rhs, + "\"idct\", \"dct1\",\"dct3\",\"dct4\""); + freeAllocatedSingleString(option); + option = NULL; + return 0; + } + + } + freeAllocatedSingleString(option); + option = NULL; + + } + + /******************** getting the array A ************************************************/ + getVarAddressFromPosition(pvApiCtx, 1, &piAddr); + if (!getArrayOfDouble(pvApiCtx, piAddr, &ndimsA, &dimsA, &Ar, &Ai)) + { + Scierror(999, _("%s: Wrong type for argument #%d: Array of floating point numbers expected.\n"), + fname, 1); + return 0; + } + + + /******************** Select proper method ************************************************/ + if (rhs < 3) + { + /* dct(A ,sign)*/ + sci_dct_2args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + else if (rhs == 3) + { + /* dct(A ,sign ,sel)*/ + sci_dct_3args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + else if (rhs == 4) + { + /* dct(A ,sign ,dim,incr)*/ + sci_dct_4args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + + return 0; +} + +int sci_dct_2args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + + /* local variable */ + int ndims = 0; /* number of non singleton dimensions */ + int first_nonsingleton = -1; + int i = 0, j = 0; + int prd = 1; + + /* ignore singleton dimensions */ + first_nonsingleton = -1; + ndims = 0; + for (i = 0; i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + ndims++; + if (first_nonsingleton < 0) + { + first_nonsingleton = i; + } + } + } + + /* void or scalar input gives void output or scalar*/ + if (ndims == 0 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + gdim.rank = ndims; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + j = 0; + prd = 1; + for (i = (first_nonsingleton); i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + gdim.dims[j].n = dimsA[i]; + gdim.dims[j].is = prd; + gdim.dims[j].os = prd; + prd *= dimsA[i]; + j++; + } + } + gdim.howmany_rank = 0; + gdim.howmany_dims = NULL; + + + if (!sci_dct_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, gdim, iopt)) + { + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + ReturnArguments(_pvCtx); + + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; +} + + +int sci_dct_3args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /* API variables */ + SciErr sciErr; + int *piAddr = NULL; + + int *Sel = NULL; + int rank = 0; + + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + /* local variable */ + int ndims = 0; + int first_nonsingleton = -1; + int ih = 0; + int pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + int pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + int i = 0, j = 0; + + /* ignore singleton dimensions */ + first_nonsingleton = -1; + ndims = 0; + for (i = 0; i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + ndims++; + if (first_nonsingleton < 0) + { + first_nonsingleton = i; + } + } + } + + /* void or scalar input gives void output or scalar*/ + if (ndims == 0 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + + /******************** get and check third argument (sel) ****************************************/ + getVarAddressFromPosition(pvApiCtx, 3, &piAddr); + if (isVarMatrixType(pvApiCtx, piAddr) == 0) + { + Scierror(999, _("%s: Wrong type for input argument #%d.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + sciErr = getVectorIntArg(pvApiCtx, 3, fname, &rank, &Sel); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + FREE(Sel); + return 0; + } + /* size of Sel must be less than ndimsA */ + if (rank <= 0 || rank >= ndimsA) + { + Scierror(999, _("%s: Wrong size for input argument #%d: Must be between %d and %d.\n"), fname, 3, 1, ndimsA - 1); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + FREE(Sel); + return 0; + } + /* check values of Sel[i] */ + for (i = 0; i < rank; i++) + { + if (Sel[i] <= 0) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Positive integers expected.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + FREE(Sel); + return 0; + } + if (Sel[i] > ndimsA) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be less than %d.\n"), fname, 3, ndimsA); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + FREE(Sel); + return 0; + } + if (i > 0 && Sel[i] <= Sel[i - 1]) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be in increasing order.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + FREE(Sel); + return 0; + } + } + + /* Create gdim struct */ + gdim.rank = rank; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + FREE(Sel); + return 0; + } + + pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + j = 0; + for (i = 0; i < ndimsA; i++) + { + if (j >= gdim.rank) + { + break; + } + if (Sel[j] == i + 1) + { + gdim.dims[j].n = dimsA[i]; + gdim.dims[j].is = pd; + gdim.dims[j].os = pd; + j++; + } + pd *= dimsA[i]; + } + /* Compute howmany_rank based on jumps in the Sel sequence */ + gdim.howmany_rank = 0; + if ((Sel[0] != 1) && (Sel[0] != ndimsA)) + { + gdim.howmany_rank++; + } + for (i = 1; i <= rank - 1; i++) + { + if (Sel[i] != Sel[i - 1] + 1) + { + /*check if all dimensions between Sel[i-1]+1 and Sel[i]-1 are + equal to one, in this case they can be ignored and there is + no jump*/ + for (j = Sel[i - 1] + 1; j <= Sel[i] - 1; j++) + { + if (dimsA[j - 1] != 1) + { + gdim.howmany_rank++; + break; + } + } + } + } + + if ((Sel[rank - 1] != ndimsA) || (rank == 1)) + { + gdim.howmany_rank++; + } + /* Fill the howmany_dims struct */ + if (gdim.howmany_rank > 0) + { + /* it must be the case */ + if ((gdim.howmany_dims = (fftw_iodim *)MALLOC(gdim.howmany_rank * sizeof(fftw_iodim))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + FREE(Sel); + return 0; + } + pd = 1; + for (j = 1; j <= (Sel[0] - 1); j++) + { + pd *= dimsA[j - 1]; /*prod(Dims(1:(sel(1)-1)))*/ + } + ih = 0; + if ((Sel[0] != 1) && (Sel[0] != ndimsA)) + { + /* First seleted dimension */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd; + ih++; + } + pd *= dimsA[Sel[0] - 1]; /*prod(Dims(1:sel(1)))*/ + for (i = 1; i <= rank - 1; i++) + { + /* intermediate selected dimensions */ + if (Sel[i] != Sel[i - 1] + 1) + { + pds = 1; + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + pds *= dimsA[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + /*check again if all dimensions between Sel[i-1]+1 and + Sel[i]-1 are equal to one, in this case they can be + ignored and there is no jump*/ + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + if (dimsA[j - 1] != 1) + { + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + break; + } + } + } + pd *= pds * dimsA[Sel[i] - 1]; /*prod(Dims(1:sel(i)))*/ + } + + if (Sel[rank - 1] != ndimsA) + { + /* last selected dimension*/ + pds = 1; + for (j = (Sel[rank - 1] + 1); j <= ndimsA; j++) + { + pds *= dimsA[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + } + else if (rank == 1) + { + /* the only selected dimension is the last one */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd / dimsA[Sel[0] - 1]; + ih++; + } + } + + if (!sci_dct_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, gdim, iopt)) + { + FREE(gdim.dims); + FREE(gdim.howmany_dims); + FREE(Sel); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + ReturnArguments(_pvCtx); + + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; +} + +int sci_dct_4args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /* API variables */ + SciErr sciErr; + int *piAddr = NULL; + + /* Input array variables */ + int *Dim1 = NULL; + int ndims = 0; + int *Incr = NULL; + int nincr = 0; + + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + /* input/output address for transform variables */ + + /* local variable */ + int *Dim = NULL, *Sel = NULL; + int pd = 1; + int pds = 1; + int nd = 0; + int rank = 0; + int i = 0, j = 0, k = 0, lA = 1; + + for (i = 0; i < ndimsA; i++) + { + lA *= dimsA[i]; + } + + /* void or scalar input gives void output or scalar*/ + if (lA <= 1 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + /******************** get and check third argument (dim) ****************************************/ + getVarAddressFromPosition(pvApiCtx, 3, &piAddr); + if (isVarMatrixType(pvApiCtx, piAddr) == 0) + { + Scierror(999, _("%s: Wrong type for input argument #%d.\n"), fname, 3); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + sciErr = getVectorIntArg(pvApiCtx, 3, fname, &ndims, &Dim1); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /* check values of Dim1[i] */ + pd = 1; + for (i = 0; i < ndims; i++) + { + if (Dim1[i] <= 1) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be greater than %d.\n"), fname, 3, 1); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + pd *= Dim1[i]; + } + if ( pd > lA) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Must be less than %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (lA % pd) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Must be a divisor of %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /******************** get and check fourth argument (incr) ****************************************/ + sciErr = getVectorIntArg(pvApiCtx, 4, fname, &nincr, &Incr); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (nincr != ndims) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /* check values of Incr[i] */ + if (Incr[0] <= 0) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Positive integers expected.\n"), fname, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + for (i = 0; i < ndims; i++) + { + if (lA % Incr[i]) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (i > 0 && (Incr[i] <= Incr[i - 1])) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be in increasing ""order.\n"), fname, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + } + if ((Dim = (int *)MALLOC((2 * ndims + 1) * sizeof(int))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if ((Sel = (int *)MALLOC((ndims) * sizeof(int))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + + /*Transform Dim1 and Incr into Dim and Sel and check validity*/ + + nd = 0; + pd = 1; + if (Incr[0] != 1) + { + Dim[nd++] = Incr[0]; + pd *= Incr[0]; + } + Dim[nd++] = Dim1[0]; + pd *= Dim1[0]; + Sel[0] = nd; + + for (k = 1; k < ndims; k++) + { + if (Incr[k] % pd != 0) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (Incr[k] != pd) + { + Dim[nd++] = (int)(Incr[k] / pd); + pd = Incr[k]; + } + Dim[nd++] = Dim1[k]; + pd *= Dim1[k]; + Sel[k] = nd; + } + if (pd < lA) + { + if (lA % pd != 0) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + Dim[nd++] = (int)(lA / pd); + } + + rank = ndims; + ndims = nd; + /* now same algorithm than sci_dct_3args applies */ + /* Create gdim struct */ + gdim.rank = rank; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + j = 0; + for (i = 0; i < ndims; i++) + { + if (j >= gdim.rank) + { + break; + } + if (Sel[j] == i + 1) + { + gdim.dims[j].n = Dim[i]; + gdim.dims[j].is = pd; + gdim.dims[j].os = pd; + j++; + } + pd *= Dim[i]; + } + /* Compute howmany_rank based on jumps in the Sel sequence */ + gdim.howmany_rank = 0; + if ((Sel[0] != 1) && (Sel[0] != ndims)) + { + gdim.howmany_rank++; + } + + for (i = 1; i <= rank - 1; i++) + { + if (Sel[i] != Sel[i - 1] + 1) + { + /*check if all dimensions between Sel[i-1]+1 and Sel[i]-1 are + equal to one, in this case they can be ignored and there is + no jump*/ + for (j = Sel[i - 1] + 1; j <= Sel[i] - 1; j++) + { + if (Dim[j - 1] != 1) + { + gdim.howmany_rank++; + break; + } + } + } + } + if ((Sel[rank - 1] != ndims) || (rank == 1)) + { + gdim.howmany_rank++; + } + /* Fill the howmany_dims struct */ + if (gdim.howmany_rank > 0) + { + /* it must be the case */ + int ih = 0; + + if ((gdim.howmany_dims = (fftw_iodim *)MALLOC(gdim.howmany_rank * sizeof(fftw_iodim))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + pd = 1; + for (j = 1; j <= (Sel[0] - 1); j++) + { + pd *= Dim[j - 1]; /*prod(Dims(1:(sel(1)-1)))*/ + } + ih = 0; + if ((Sel[0] != 1) && (Sel[0] != ndims)) + { + /* First seleted dimension */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd; + ih++; + } + pd *= Dim[Sel[0] - 1]; /*prod(Dims(1:sel(1)))*/ + + for (i = 1; i <= rank - 1; i++) + { + /* intermediate selected dimensions */ + if (Sel[i] != Sel[i - 1] + 1) + { + pds = 1; + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + pds *= Dim[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + /*check again if all dimensions between Sel[i-1]+1 and + Sel[i]-1 are equal to one, in this case they can be + ignored and there is no jump*/ + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + if (Dim[j - 1] != 1) + { + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + break; + } + } + } + + pd *= pds * Dim[Sel[i] - 1]; /*prod(Dims(1:sel(i)))*/ + } + + if (Sel[rank - 1] != ndims) + { + /* last selected dimension*/ + pds = 1; + for (j = (Sel[rank - 1] + 1); j <= ndims; j++) + { + pds *= Dim[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + } + else if (rank == 1) /* the only selected dimension is the last one */ + { + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd / Dim[Sel[0] - 1]; + ih++; + } + } + if (!sci_dct_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, gdim, iopt)) + { + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + ReturnArguments(_pvCtx); + + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; +} +/*--------------------------------------------------------------------------*/ +int sci_dct_gen(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, guru_dim_struct gdim, int iopt) +{ + + /* Input array variables */ + int isrealA = (Ai == NULL), lA = 1; + /*for MKL*/ + + /*FFTW specific library variable */ + enum Plan_Type type; + fftw_r2r_kind *kind = NULL; + fftw_plan p = NULL; + + /* for MKL special cases */ + int * dims1 = NULL; + int * incr1 = NULL; + + /* local variable */ + int one = 1; + int i = 0; + int errflag = 0; + + for (i = 0; i < ndimsA; i++) + { + lA *= dimsA[i]; + } + + + AssignOutputVariable(_pvCtx, 1) = 1;/* assume inplace transform*/ + if (isn == 1 && iopt == 0) + { + /* normalization */ + if (dct_scale_array(Ar, Ai, gdim, isn) == -1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + /* use inplace transform*/ + type = R2R_PLAN; + if ((kind = (fftw_r2r_kind *)MALLOC(sizeof(fftw_r2r_kind) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + + if (isn == -1) + { + if (iopt == 0 || iopt == 2) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_REDFT10; + } + else if (iopt == 1) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_REDFT00; + } + else if (iopt == 4) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_REDFT11; + } + } + else + { + if (iopt == 0 || iopt == 3) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_REDFT01; + } + else if (iopt == 1) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_REDFT00; + } + else if (iopt == 4) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_REDFT11; + } + } + + if (!WITHMKL || gdim.howmany_rank <= 1) + { + /* Set Plan */ + p = GetFFTWPlan(type, &gdim, Ar, NULL, Ar, NULL, getCurrentFftwFlags(), isn , kind, &errflag); + if (errflag == 1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + else if (errflag == 2) + { + Scierror(999, _("%s: Creation of requested fftw plan failed.\n"), fname); + return 0; + } + /* execute FFTW plan */ + ExecuteFFTWPlan(type, p, Ar, NULL, Ar, NULL); + if (!isrealA) + { + ExecuteFFTWPlan(type, p, Ai, NULL, Ai, NULL); + } + } + else + { + /*FFTW MKL does not implement yet guru plan with howmany_rank>1 */ + /* associated loops described in gdim.howmany_rank and gdim.howmany_dims */ + /* are implemented here by a set of call with howmany_rank==1 */ + fftw_iodim *howmany_dims = gdim.howmany_dims; + int howmany_rank = gdim.howmany_rank; + int i1 = 0, i2 = 0; + int nloop = 0; + int t = 0; + + + gdim.howmany_rank = 0; + gdim.howmany_dims = NULL; + + p = GetFFTWPlan(type, &gdim, Ar, NULL, Ar, NULL, getCurrentFftwFlags(), isn , kind, &errflag); + if (errflag == 1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + else if (errflag == 2) + { + Scierror(999, _("%s: Creation of requested fftw plan failed.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + + /* flatten nested loops: replace howmany_rank nested loops by a single one*/ + /* Build temporary arrays used by flatened loop */ + if ((dims1 = (int *)MALLOC(sizeof(int) * howmany_rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + dims1[0] = howmany_dims[0].n; + for (i = 1; i < howmany_rank; i++) + { + dims1[i] = dims1[i - 1] * howmany_dims[i].n; + } + nloop = dims1[howmany_rank - 1]; + + if ((incr1 = (int *)MALLOC(sizeof(int) * howmany_rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + t = 1; + for (i = 0; i < howmany_rank; i++) + { + t += (howmany_dims[i].n - 1) * howmany_dims[i].is; + incr1[i] = t; + } + /*loop on each "plan" */ + i = 0; /*index on the first plan entry */ + for (i1 = 1; i1 <= nloop; i1++) + { + /* the input and output are assumed to be complex because + within MKL real cases are transformed to complex ones in + previous steps of sci_dct_gen*/ + ExecuteFFTWPlan(type, p, &Ar[i], NULL, &Ar[i], NULL); + if (!isrealA) + { + ExecuteFFTWPlan(type, p, &Ai[i], NULL, &Ai[i], NULL); + } + + i += howmany_dims[0].is; + /* check if a loop ends*/ + for (i2 = howmany_rank - 2; i2 >= 0; i2--) + { + if ((i1 % dims1[i2]) == 0) + { + /*loop on dimension i2 ends, compute jump on the first plan entry index*/ + i += howmany_dims[i2 + 1].is - incr1[i2]; + break; + } + } + } + /* free temporary arrays */ + FREE(dims1); + FREE(incr1); + /* reset initial value of gdim for post treatment*/ + gdim.howmany_rank = howmany_rank; + gdim.howmany_dims = howmany_dims; + + } + if (isn == -1 && iopt == 0) + { + /* normalization */ + + if (dct_scale_array(Ar, Ai, gdim, isn) == -1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + return 1; +} + diff --git a/modules/fftw/sci_gateway/c/sci_disposefftwlibrary.c b/modules/fftw/sci_gateway/c/sci_disposefftwlibrary.c new file mode 100755 index 000000000..2c43cdc45 --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_disposefftwlibrary.c @@ -0,0 +1,47 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006 - INRIA - Allan CORNET +* Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +* +* 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 "callfftw.h" +#include "fftwlibname.h" +#include "gw_fftw.h" +#include "localization.h" +#include "api_scilab.h" +#include "Scierror.h" + +/*--------------------------------------------------------------------------*/ +int sci_disposefftwlibrary(char *fname, unsigned long fname_len) +{ + int iErr; + + if (DisposeFFTWLibrary()) + { + iErr = createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, 1); // true + } + else + { + iErr = createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, 0); // false + } + freefftwlibname(); + + if (iErr) + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + return iErr; + } + + AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1; + ReturnArguments(pvApiCtx); + + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/sci_gateway/c/sci_dst.c b/modules/fftw/sci_gateway/c/sci_dst.c new file mode 100755 index 000000000..0eda646d5 --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_dst.c @@ -0,0 +1,1203 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2012 - INRIA - Serge STEER +* +* 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 "stack-c.h" +#include "fftw_utilities.h" +#include "sci_data_utilities.h" +#include "callfftw.h" +#include "MALLOC.h" +#include "gw_fftw.h" +#include "api_scilab.h" +#include "localization.h" +#include "Scierror.h" +#include "BOOL.h" +#include "sci_data_utilities.h" + + +/*--------------------------------------------------------------------------*/ +extern void C2F(dscal)(int *n, double *da, double *dx, int *incx); /* blas routine */ +extern void C2F(dset)(int *n, double *da, double *dx, int *incx); /* blas routine */ +/*--------------------------------------------------------------------------*/ +static int sci_dst_gen(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, guru_dim_struct gdim, int iopt); +static int sci_dst_2args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +static int sci_dst_3args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +static int sci_dst_4args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +/*--------------------------------------------------------------------------*/ + +extern int WITHMKL; +/* fftw function. +* +* Scilab Calling sequence : +* dst(A ) +* dst(A,sign ) +* dst(A,sel,sign ) +* dst(A,sign,dim,incr ) +* +* Input : A : a scilab double complex or real vector, matrix or hypermatrix +* +* sign : a scilab double or integer scalar (-1 or 1): the sign +* in the exponential component +* +* sel : a scilab double or integer vector, the selection of dimensions + +* dim : a scilab double or integer vector: the dimensions +* of the Fast Fourier Transform to perform +* +* incr : a scilab double or integer vector: the increments +* of the Fast Fourier Transform to perform +* +* Output : a scilab double complex or real array with same shape as A that +* gives the result of the transform. +* +*/ +int sci_dst(char *fname, unsigned long fname_len) +{ + SciErr sciErr; + int *piAddr = NULL; + int rhs = Rhs; + int iTypeOne = 0; + int iopt = 0; + + int ndimsA = 0; + int *dimsA = NULL; + double *Ar = NULL, *Ai = NULL; + char *option = NULL; + int isn = FFTW_FORWARD; + WITHMKL = withMKL(); + /**************************************** + * Basic constraints on rhs arguments * + ****************************************/ + + /* check min/max lhs/rhs arguments of scilab function */ + CheckRhs(1, 4); + CheckLhs(1, 1); + + sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1); + return 0; + } + + sciErr = getVarType(pvApiCtx, piAddr, &iTypeOne); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1); + return 0; + } + + if ((iTypeOne == sci_list) || (iTypeOne == sci_tlist)) + { + OverLoad(1); + return 0; + } + + if (iTypeOne == sci_mlist) + { + /* We allow overload for not hypermatrix type */ + if (!isHyperMatrixMlist(pvApiCtx, piAddr)) + { + OverLoad(1); + return 0; + } + } + + sciErr = getVarAddressFromPosition(pvApiCtx, Rhs, &piAddr); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, Rhs); + return 0; + } + + if (isStringType(pvApiCtx, piAddr)) /* dst(...,option); */ + { + if (isScalar(pvApiCtx, piAddr)) + { + if (getAllocatedSingleString(pvApiCtx, piAddr, &option) == 0) + { + rhs = Rhs - 1; + } + else + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + } + + /******************** Checking if isn is given ************************************************/ + if (rhs == 1) /*only one rhs argument: forward dst*/ + { + isn = FFTW_FORWARD; /* default value */ + } + else /*get isn out of second argument*/ + { + sciErr = getScalarIntArg(pvApiCtx, 2, fname, &isn); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + return 0; + } + /* check value of second rhs argument */ + if ((isn != FFTW_FORWARD) && (isn != FFTW_BACKWARD)) + { + Scierror(53, _("%s: Wrong value for input argument #%d: %d or %d expected.\n"), fname, 2, FFTW_FORWARD, FFTW_BACKWARD); + return 0; + } + } + + if (option != NULL) + { + if (isn == FFTW_FORWARD) + { + if (strcmp("dst1", option) == 0) + { + iopt = 1; + } + else if (strcmp("dst2", option) == 0) + { + iopt = 2; + } + else if (strcmp("dst", option) == 0) + { + iopt = 0; + } + else if (strcmp("dst4", option) == 0) + { + iopt = 4; + } + else + { + Scierror(999, _("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"), fname, Rhs, + "\"dst\", \"dst1\",\"dst2\",\"dst4\""); + freeAllocatedSingleString(option); + option = NULL; + return 0; + } + } + else + { + if (strcmp("dst1", option) == 0) + { + iopt = 1; + } + else if (strcmp("dst3", option) == 0) + { + iopt = 3; + } + else if (strcmp("idst", option) == 0) + { + iopt = 0; + } + else if (strcmp("dst4", option) == 0) + { + iopt = 4; + } + else + { + Scierror(999, _("%s: Wrong value for input argument #%d: Must be in the set {%s}.\n"), fname, Rhs, + "\"idst\", \"dst1\",\"dst3\",\"dst4\""); + freeAllocatedSingleString(option); + option = NULL; + return 0; + } + + } + freeAllocatedSingleString(option); + option = NULL; + + } + + + /******************** getting the array A ************************************************/ + getVarAddressFromPosition(pvApiCtx, 1, &piAddr); + if (!getArrayOfDouble(pvApiCtx, piAddr, &ndimsA, &dimsA, &Ar, &Ai)) + { + Scierror(999, _("%s: Wrong type for argument #%d: Array of floating point numbers expected.\n"), + fname, 1); + return 0; + } + + + /******************** Select proper method ************************************************/ + if (rhs < 3) + { + /* dst(A ,sign)*/ + sci_dst_2args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + else if (rhs == 3) + { + /* dst(A ,sign ,sel)*/ + sci_dst_3args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + else if (rhs == 4) + { + /* dst(A ,sign ,dim,incr)*/ + sci_dst_4args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + + return 0; +} + +int sci_dst_2args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + + /* local variable */ + int ndims = 0; /* number of non singleton dimensions */ + int first_nonsingleton = -1; + int i = 0, j = 0; + int prd = 1; + + /* ignore singleton dimensions */ + first_nonsingleton = -1; + ndims = 0; + for (i = 0; i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + ndims++; + if (first_nonsingleton < 0) + { + first_nonsingleton = i; + } + } + } + + /* void or scalar input gives void output or scalar*/ + if (ndims == 0 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + gdim.rank = ndims; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + j = 0; + prd = 1; + for (i = (first_nonsingleton); i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + gdim.dims[j].n = dimsA[i]; + gdim.dims[j].is = prd; + gdim.dims[j].os = prd; + prd *= dimsA[i]; + j++; + } + } + gdim.howmany_rank = 0; + gdim.howmany_dims = NULL; + + + if (!sci_dst_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, gdim, iopt)) + { + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + ReturnArguments(_pvCtx); + + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; +} + + +int sci_dst_3args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /* API variables */ + SciErr sciErr; + int *piAddr = NULL; + + int *Sel = NULL; + int rank = 0; + + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + /* local variable */ + int ndims = 0; + int first_nonsingleton = -1; + int ih = 0; + int pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + int pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + int i = 0, j = 0; + + /* ignore singleton dimensions */ + first_nonsingleton = -1; + ndims = 0; + for (i = 0; i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + ndims++; + if (first_nonsingleton < 0) + { + first_nonsingleton = i; + } + } + } + + /* void or scalar input gives void output or scalar*/ + if (ndims == 0 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + + /******************** get and check third argument (sel) ****************************************/ + getVarAddressFromPosition(pvApiCtx, 3, &piAddr); + if (isVarMatrixType(pvApiCtx, piAddr) == 0) + { + Scierror(999, _("%s: Wrong type for input argument #%d.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + sciErr = getVectorIntArg(pvApiCtx, 3, fname, &rank, &Sel); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /* size of Sel must be less than ndimsA */ + if (rank <= 0 || rank >= ndimsA) + { + Scierror(999, _("%s: Wrong size for input argument #%d: Must be between %d and %d.\n"), fname, 3, 1, ndimsA - 1); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /* check values of Sel[i] */ + for (i = 0; i < rank; i++) + { + if (Sel[i] <= 0) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Positive integers expected.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (Sel[i] > ndimsA) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be less than %d.\n"), fname, 3, ndimsA); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (i > 0 && Sel[i] <= Sel[i - 1]) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be in increasing order.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + } + + /* Create gdim struct */ + gdim.rank = rank; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + j = 0; + for (i = 0; i < ndimsA; i++) + { + if (j >= gdim.rank) + { + break; + } + if (Sel[j] == i + 1) + { + gdim.dims[j].n = dimsA[i]; + gdim.dims[j].is = pd; + gdim.dims[j].os = pd; + j++; + } + pd *= dimsA[i]; + } + /* Compute howmany_rank based on jumps in the Sel sequence */ + gdim.howmany_rank = 0; + if ((Sel[0] != 1) && (Sel[0] != ndimsA)) + { + gdim.howmany_rank++; + } + for (i = 1; i <= rank - 1; i++) + { + if (Sel[i] != Sel[i - 1] + 1) + { + /*check if all dimensions between Sel[i-1]+1 and Sel[i]-1 are + equal to one, in this case they can be ignored and there is + no jump*/ + for (j = Sel[i - 1] + 1; j <= Sel[i] - 1; j++) + { + if (dimsA[j - 1] != 1) + { + gdim.howmany_rank++; + break; + } + } + } + } + + if ((Sel[rank - 1] != ndimsA) || (rank == 1)) + { + gdim.howmany_rank++; + } + /* Fill the howmany_dims struct */ + if (gdim.howmany_rank > 0) + { + /* it must be the case */ + if ((gdim.howmany_dims = (fftw_iodim *)MALLOC(gdim.howmany_rank * sizeof(fftw_iodim))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + pd = 1; + for (j = 1; j <= (Sel[0] - 1); j++) + { + pd *= dimsA[j - 1]; /*prod(Dims(1:(sel(1)-1)))*/ + } + ih = 0; + if ((Sel[0] != 1) && (Sel[0] != ndimsA)) + { + /* First seleted dimension */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd; + ih++; + } + pd *= dimsA[Sel[0] - 1]; /*prod(Dims(1:sel(1)))*/ + for (i = 1; i <= rank - 1; i++) + { + /* intermediate selected dimensions */ + if (Sel[i] != Sel[i - 1] + 1) + { + pds = 1; + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + pds *= dimsA[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + /*check again if all dimensions between Sel[i-1]+1 and + Sel[i]-1 are equal to one, in this case they can be + ignored and there is no jump*/ + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + if (dimsA[j - 1] != 1) + { + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + break; + } + } + } + pd *= pds * dimsA[Sel[i] - 1]; /*prod(Dims(1:sel(i)))*/ + } + + if (Sel[rank - 1] != ndimsA) + { + /* last selected dimension*/ + pds = 1; + for (j = (Sel[rank - 1] + 1); j <= ndimsA; j++) + { + pds *= dimsA[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + } + else if (rank == 1) + { + /* the only selected dimension is the last one */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd / dimsA[Sel[0] - 1]; + ih++; + } + } + + if (!sci_dst_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, gdim, iopt)) + { + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + ReturnArguments(_pvCtx); + + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; +} + +int sci_dst_4args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /* API variables */ + SciErr sciErr; + int *piAddr = NULL; + + /* Input array variables */ + int *Dim1 = NULL; + int ndims = 0; + int *Incr = NULL; + int nincr = 0; + + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + /* input/output address for transform variables */ + + /* local variable */ + int *Dim = NULL, *Sel = NULL; + int pd = 1; + int pds = 1; + int nd = 0; + int rank = 0; + int i = 0, j = 0, k = 0, lA = 1; + + for (i = 0; i < ndimsA; i++) + { + lA *= dimsA[i]; + } + + /* void or scalar input gives void output or scalar*/ + if (lA <= 1 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + /******************** get and check third argument (dim) ****************************************/ + getVarAddressFromPosition(pvApiCtx, 3, &piAddr); + if (isVarMatrixType(pvApiCtx, piAddr) == 0) + { + Scierror(999, _("%s: Wrong type for input argument #%d.\n"), fname, 3); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + sciErr = getVectorIntArg(pvApiCtx, 3, fname, &ndims, &Dim1); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /* check values of Dim1[i] */ + pd = 1; + for (i = 0; i < ndims; i++) + { + if (Dim1[i] <= 1) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be greater than %d.\n"), fname, 3, 1); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + pd *= Dim1[i]; + } + if ( pd > lA) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Must be less than %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (lA % pd) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Must be a divisor of %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /******************** get and check fourth argument (incr) ****************************************/ + sciErr = getVectorIntArg(pvApiCtx, 4, fname, &nincr, &Incr); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (nincr != ndims) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /* check values of Incr[i] */ + if (Incr[0] <= 0) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Positive integers expected.\n"), fname, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + for (i = 0; i < ndims; i++) + { + if (lA % Incr[i]) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (i > 0 && (Incr[i] <= Incr[i - 1])) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be in increasing ""order.\n"), fname, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + } + if ((Dim = (int *)MALLOC((2 * ndims + 1) * sizeof(int))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if ((Sel = (int *)MALLOC((ndims) * sizeof(int))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + + /*Transform Dim1 and Incr into Dim and Sel and check validity*/ + + nd = 0; + pd = 1; + if (Incr[0] != 1) + { + Dim[nd++] = Incr[0]; + pd *= Incr[0]; + } + Dim[nd++] = Dim1[0]; + pd *= Dim1[0]; + Sel[0] = nd; + + for (k = 1; k < ndims; k++) + { + if (Incr[k] % pd != 0) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (Incr[k] != pd) + { + Dim[nd++] = (int)(Incr[k] / pd); + pd = Incr[k]; + } + Dim[nd++] = Dim1[k]; + pd *= Dim1[k]; + Sel[k] = nd; + } + if (pd < lA) + { + if (lA % pd != 0) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + Dim[nd++] = (int)(lA / pd); + } + + rank = ndims; + ndims = nd; + /* now same algorithm than sci_dst_3args applies */ + /* Create gdim struct */ + gdim.rank = rank; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + j = 0; + for (i = 0; i < ndims; i++) + { + if (j >= gdim.rank) + { + break; + } + if (Sel[j] == i + 1) + { + gdim.dims[j].n = Dim[i]; + gdim.dims[j].is = pd; + gdim.dims[j].os = pd; + j++; + } + pd *= Dim[i]; + } + /* Compute howmany_rank based on jumps in the Sel sequence */ + gdim.howmany_rank = 0; + if ((Sel[0] != 1) && (Sel[0] != ndims)) + { + gdim.howmany_rank++; + } + + for (i = 1; i <= rank - 1; i++) + { + if (Sel[i] != Sel[i - 1] + 1) + { + /*check if all dimensions between Sel[i-1]+1 and Sel[i]-1 are + equal to one, in this case they can be ignored and there is + no jump*/ + for (j = Sel[i - 1] + 1; j <= Sel[i] - 1; j++) + { + if (Dim[j - 1] != 1) + { + gdim.howmany_rank++; + break; + } + } + } + } + if ((Sel[rank - 1] != ndims) || (rank == 1)) + { + gdim.howmany_rank++; + } + /* Fill the howmany_dims struct */ + if (gdim.howmany_rank > 0) + { + /* it must be the case */ + int ih = 0; + + if ((gdim.howmany_dims = (fftw_iodim *)MALLOC(gdim.howmany_rank * sizeof(fftw_iodim))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + pd = 1; + for (j = 1; j <= (Sel[0] - 1); j++) + { + pd *= Dim[j - 1]; /*prod(Dims(1:(sel(1)-1)))*/ + } + ih = 0; + if ((Sel[0] != 1) && (Sel[0] != ndims)) + { + /* First seleted dimension */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd; + ih++; + } + pd *= Dim[Sel[0] - 1]; /*prod(Dims(1:sel(1)))*/ + + for (i = 1; i <= rank - 1; i++) + { + /* intermediate selected dimensions */ + if (Sel[i] != Sel[i - 1] + 1) + { + pds = 1; + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + pds *= Dim[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + /*check again if all dimensions between Sel[i-1]+1 and + Sel[i]-1 are equal to one, in this case they can be + ignored and there is no jump*/ + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + if (Dim[j - 1] != 1) + { + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + break; + } + } + } + + pd *= pds * Dim[Sel[i] - 1]; /*prod(Dims(1:sel(i)))*/ + } + + if (Sel[rank - 1] != ndims) + { + /* last selected dimension*/ + pds = 1; + for (j = (Sel[rank - 1] + 1); j <= ndims; j++) + { + pds *= Dim[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + } + else if (rank == 1) /* the only selected dimension is the last one */ + { + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd / Dim[Sel[0] - 1]; + ih++; + } + } + if (!sci_dst_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, gdim, iopt)) + { + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + + ReturnArguments(_pvCtx); + + return 0; +} +/*--------------------------------------------------------------------------*/ +int sci_dst_gen(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, guru_dim_struct gdim, int iopt) +{ + + /* Input array variables */ + int isrealA = (Ai == NULL), lA = 1; + double half = 0.5; + + /*FFTW specific library variable */ + enum Plan_Type type; + fftw_r2r_kind *kind = NULL; + fftw_plan p = NULL; + + /* for MKL special cases */ + int * dims1 = NULL; + int * incr1 = NULL; + + /* local variable */ + int one = 1; + int i = 0; + int errflag = 0; + + for (i = 0; i < ndimsA; i++) + { + lA *= dimsA[i]; + } + + + AssignOutputVariable(_pvCtx, 1) = 1;/* assume inplace transform*/ + /* Set pointers on real and imaginary part of the input */ + + /* use inplace transform*/ + type = R2R_PLAN; + if ((kind = (fftw_r2r_kind *)MALLOC(sizeof(fftw_r2r_kind) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + + + if (isn == -1) + { + if (iopt == 0 || iopt == 1) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_RODFT00; + } + else if (iopt == 2) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_RODFT10; + } + else if (iopt == 4) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_RODFT11; + } + } + else + { + if (iopt == 0 || iopt == 1) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_RODFT00; + } + else if (iopt == 3) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_RODFT01; + } + else if (iopt == 4) + for (i = 0; i < gdim.rank; i++) + { + kind[i] = FFTW_RODFT11; + } + } + + if (!WITHMKL || gdim.howmany_rank <= 1) + { + /* Set Plan */ + p = GetFFTWPlan(type, &gdim, Ar, NULL, Ar, NULL, getCurrentFftwFlags(), isn , kind, &errflag); + + if (errflag == 1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + else if (errflag == 2) + { + Scierror(999, _("%s: Creation of requested fftw plan failed.\n"), fname); + return 0; + } + /* execute FFTW plan */ + ExecuteFFTWPlan(type, p, Ar, NULL, Ar, NULL); + if (!isrealA) + { + ExecuteFFTWPlan(type, p, Ai, NULL, Ai, NULL); + } + + } + else + { + /*FFTW MKL does not implement yet guru plan with howmany_rank>1 */ + /* associated loops described in gdim.howmany_rank and gdim.howmany_dims */ + /* are implemented here by a set of call with howmany_rank==1 */ + fftw_iodim *howmany_dims = gdim.howmany_dims; + int howmany_rank = gdim.howmany_rank; + int i1 = 0, i2 = 0; + int nloop = 0; + int t = 0; + + + gdim.howmany_rank = 0; + gdim.howmany_dims = NULL; + + p = GetFFTWPlan(type, &gdim, Ar, NULL, Ar, NULL, getCurrentFftwFlags(), isn , kind, &errflag); + if (errflag == 1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + else if (errflag == 2) + { + Scierror(999, _("%s: Creation of requested fftw plan failed.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + + /* flatten nested loops: replace howmany_rank nested loops by a single one*/ + /* Build temporary arrays used by flatened loop */ + if ((dims1 = (int *)MALLOC(sizeof(int) * howmany_rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + dims1[0] = howmany_dims[0].n; + for (i = 1; i < howmany_rank; i++) + { + dims1[i] = dims1[i - 1] * howmany_dims[i].n; + } + nloop = dims1[howmany_rank - 1]; + + if ((incr1 = (int *)MALLOC(sizeof(int) * howmany_rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + t = 1; + for (i = 0; i < howmany_rank; i++) + { + t += (howmany_dims[i].n - 1) * howmany_dims[i].is; + incr1[i] = t; + } + /*loop on each "plan" */ + i = 0; /*index on the first plan entry */ + for (i1 = 1; i1 <= nloop; i1++) + { + /* the input and output are assumed to be complex because + within MKL real cases are transformed to complex ones in + previous steps of sci_dst_gen*/ + ExecuteFFTWPlan(type, p, &Ar[i], NULL, &Ar[i], NULL); + if (!isrealA) + { + ExecuteFFTWPlan(type, p, &Ai[i], NULL, &Ai[i], NULL); + } + + i += howmany_dims[0].is; + /* check if a loop ends*/ + for (i2 = howmany_rank - 2; i2 >= 0; i2--) + { + if ((i1 % dims1[i2]) == 0) + { + /*loop on dimension i2 ends, compute jump on the first plan entry index*/ + i += howmany_dims[i2 + 1].is - incr1[i2]; + break; + } + } + } + /* free temporary arrays */ + FREE(dims1); + FREE(incr1); + /* reset initial value of gdim for post treatment*/ + gdim.howmany_rank = howmany_rank; + gdim.howmany_dims = howmany_dims; + + } + + /* normalization */ + if (iopt == 0) + { + if (isn == -1) + { + C2F(dscal)(&lA, &half, Ar, &one); + if (!isrealA) + { + C2F(dscal)(&lA, &half, Ai, &one); + } + } + else + { + if (dst_scale_array(Ar, Ai, gdim, isn) == -1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + } + return 1; +} diff --git a/modules/fftw/sci_gateway/c/sci_fftw.c b/modules/fftw/sci_gateway/c/sci_fftw.c new file mode 100755 index 000000000..dff5f1590 --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_fftw.c @@ -0,0 +1,1314 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006/2007 - INRIA - Alan LAYEC +* Copyright (C) 2007 - INRIA - Allan CORNET +* Copyright (C) 2012 - DIGITEO - Allan CORNET +* Copyright (C) 2012 - INRIA - Serge STEER +* Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +* +* 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 "stack-c.h" +#include "fftw_utilities.h" +#include "sci_data_utilities.h" +#include "callfftw.h" +#include "MALLOC.h" +#include "gw_fftw.h" +#include "api_scilab.h" +#include "localization.h" +#include "Scierror.h" +#include "BOOL.h" +/*--------------------------------------------------------------------------*/ +enum Scaling +{ + Divide = -1, + None = 0, + Multiply = 1, +}; +/*--------------------------------------------------------------------------*/ +extern void C2F(dscal)(int *n, double *da, double *dx, int *incx); /* blas routine */ +extern void C2F(dset)(int *n, double *da, double *dx, int *incx); /* blas routine */ +/*--------------------------------------------------------------------------*/ +static int sci_fft_gen(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt, guru_dim_struct gdim); +static int sci_fft_2args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +static int sci_fft_3args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +static int sci_fft_4args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt); +/*--------------------------------------------------------------------------*/ + +int WITHMKL = 0; +/* fftw function. +* +* Scilab Calling sequence : +* fftw(A [,option]) +* fftw(A,sign [,option]) +* fftw(A,sel,sign [,option]) +* fftw(A,sign,dim,incr [,option]) +* +* Input : A : a scilab double complex or real vector, matrix or hypermatrix +* +* sign : a scilab double or integer scalar (-1 or 1): the sign +* in the exponential component +* +* sel : a scilab double or integer vector, the selection of dimensions + +* dim : a scilab double or integer vector: the dimensions +* of the Fast Fourier Transform to perform +* +* incr : a scilab double or integer vector: the increments +* of the Fast Fourier Transform to perform +* +* Output : a scilab double complex or real array with same shape as A that +* gives the result of the transform. +* +*/ +int sci_fftw(char *fname, unsigned long fname_len) +{ + SciErr sciErr; + int *piAddr = NULL; + char *option = NULL; + int iopt = 0; /* automatic r2c or c2r transform use decision */ + int rhs = Rhs; + int iTypeOne = 0; + + int ndimsA = 0; + int *dimsA = NULL; + double *Ar = NULL, *Ai = NULL; + + int isn = FFTW_FORWARD; + WITHMKL = withMKL(); + /**************************************** + * Basic constraints on rhs arguments * + ****************************************/ + + /* check min/max lhs/rhs arguments of scilab function */ + CheckInputArgument(pvApiCtx, 1, 5); + CheckOutputArgument(pvApiCtx, 1, 1); + + sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1); + return 1; + } + + sciErr = getVarType(pvApiCtx, piAddr, &iTypeOne); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1); + return 1; + } + + if ((iTypeOne == sci_list) || (iTypeOne == sci_tlist)) + { + OverLoad(1); + return 1; + } + + if (iTypeOne == sci_mlist) + { + /* We allow overload for not hypermatrix type */ + if (!isHyperMatrixMlist(pvApiCtx, piAddr)) + { + OverLoad(1); + return 1; + } + } + + /* checking if last argument is a potential option argument (character string) */ + sciErr = getVarAddressFromPosition(pvApiCtx, Rhs, &piAddr); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, Rhs); + return 1; + } + + if (isStringType(pvApiCtx, piAddr)) /* fftw(...,option); */ + { + if (isScalar(pvApiCtx, piAddr)) + { + if (getAllocatedSingleString(pvApiCtx, piAddr, &option) == 0) + { + if (strcmp("symmetric", option) == 0) + { + iopt = 1; /*user assumes symmetry */ + } + else if (strcmp("nonsymmetric", option) == 0) + { + iopt = 2; /*user claims full transform */ + } + else + { + Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), fname, Rhs, "\"symmetric\"", "\"nonsymmetric\""); + freeAllocatedSingleString(option); + option = NULL; + return 1; + } + freeAllocatedSingleString(option); + option = NULL; + rhs = Rhs - 1; + } + else + { + Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), fname, Rhs, "\"symmetric\"", "\"nonsymmetric\""); + return 1; + } + } + } + + + /******************** Checking if isn is given ************************************************/ + if (rhs == 1) /*only one rhs argument: forward fft*/ + { + isn = FFTW_FORWARD; /* default value */ + } + else /*get isn out of second argument*/ + { + sciErr = getScalarIntArg(pvApiCtx, 2, fname, &isn); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + return 1; + } + /* check value of second rhs argument */ + if ((isn != FFTW_FORWARD) && (isn != FFTW_BACKWARD)) + { + Scierror(53, _("%s: Wrong value for input argument #%d: %d or %d expected.\n"), fname, 2, FFTW_FORWARD, FFTW_BACKWARD); + return 1; + } + } + + /******************** getting the array A ************************************************/ + getVarAddressFromPosition(pvApiCtx, 1, &piAddr); + if (!getArrayOfDouble(pvApiCtx, piAddr, &ndimsA, &dimsA, &Ar, &Ai)) + { + Scierror(999, _("%s: Wrong type for argument #%d: Array of floating point numbers expected.\n"), fname, 1); + return 1; + } + + + /******************** Select proper method ************************************************/ + if (rhs < 3) + { + /* fftw(A ,sign [,option])*/ + sci_fft_2args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + else if (rhs == 3) + { + /* fftw(A ,sign ,sel [,option])*/ + sci_fft_3args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + else if (rhs == 4) + { + /* fftw(A ,sign ,dim,incr [option])*/ + sci_fft_4args(pvApiCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt); + } + + return 0; +} + +int sci_fft_2args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + + /* local variable */ + int ndims = 0; /* number of non singleton dimensions */ + int first_nonsingleton = -1; + int i = 0, j = 0; + int prd = 1; + + /* ignore singleton dimensions */ + first_nonsingleton = -1; + ndims = 0; + for (i = 0; i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + ndims++; + if (first_nonsingleton < 0) + { + first_nonsingleton = i; + } + } + } + + /* void or scalar input gives void output or scalar*/ + if (ndims == 0 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + gdim.rank = ndims; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + j = 0; + prd = 1; + for (i = (first_nonsingleton); i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + gdim.dims[j].n = dimsA[i]; + gdim.dims[j].is = prd; + gdim.dims[j].os = prd; + prd *= dimsA[i]; + j++; + } + } + gdim.howmany_rank = 0; + gdim.howmany_dims = NULL; + + + if (!sci_fft_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt, gdim)) + { + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + ReturnArguments(_pvCtx); + + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; +} + + +int sci_fft_3args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /* API variables */ + SciErr sciErr; + int *piAddr = NULL; + + int *Sel = NULL; + int rank = 0; + + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + /* local variable */ + int ndims = 0; + int first_nonsingleton = -1; + int ih = 0; + int pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + int pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + int i = 0, j = 0; + + /* ignore singleton dimensions */ + first_nonsingleton = -1; + ndims = 0; + for (i = 0; i < ndimsA; i++) + { + if (dimsA[i] > 1) + { + ndims++; + if (first_nonsingleton < 0) + { + first_nonsingleton = i; + } + } + } + + /* void or scalar input gives void output or scalar*/ + if (ndims == 0 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + + /******************** get and check third argument (sel) ****************************************/ + getVarAddressFromPosition(pvApiCtx, 3, &piAddr); + if (isVarMatrixType(pvApiCtx, piAddr) == 0) + { + Scierror(999, _("%s: Wrong type for input argument #%d.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + sciErr = getVectorIntArg(pvApiCtx, 3, fname, &rank, &Sel); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /* size of Sel must be less than ndimsA */ + if (rank <= 0 || rank >= ndimsA) + { + Scierror(999, _("%s: Wrong size for input argument #%d: Must be between %d and %d.\n"), fname, 3, 1, ndimsA - 1); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /* check values of Sel[i] */ + for (i = 0; i < rank; i++) + { + if (Sel[i] <= 0) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Positive integers expected.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (Sel[i] > ndimsA) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be less than %d.\n"), fname, 3, ndimsA); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (i > 0 && Sel[i] <= Sel[i - 1]) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be in increasing order.\n"), fname, 3); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + } + + /* Create gdim struct */ + gdim.rank = rank; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + j = 0; + for (i = 0; i < ndimsA; i++) + { + if (j >= gdim.rank) + { + break; + } + if (Sel[j] == i + 1) + { + gdim.dims[j].n = dimsA[i]; + gdim.dims[j].is = pd; + gdim.dims[j].os = pd; + j++; + } + pd *= dimsA[i]; + } + /* Compute howmany_rank based on jumps in the Sel sequence */ + gdim.howmany_rank = 0; + if ((Sel[0] != 1) && (Sel[0] != ndimsA)) + { + gdim.howmany_rank++; + } + + for (i = 1; i <= rank - 1; i++) + { + if (Sel[i] != Sel[i - 1] + 1) + { + /*check if all dimensions between Sel[i-1]+1 and Sel[i]-1 are + equal to one, in this case they can be ignored and there is + no jump*/ + for (j = Sel[i - 1] + 1; j <= Sel[i] - 1; j++) + { + if (dimsA[j - 1] != 1) + { + gdim.howmany_rank++; + break; + } + } + } + } + + if ((Sel[rank - 1] != ndimsA) || (rank == 1)) + { + gdim.howmany_rank++; + } + + /* Fill the howmany_dims struct */ + if (gdim.howmany_rank > 0) + { + /* it must be the case */ + if ((gdim.howmany_dims = (fftw_iodim *)MALLOC(gdim.howmany_rank * sizeof(fftw_iodim))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + pd = 1; + for (j = 1; j <= (Sel[0] - 1); j++) + { + pd *= dimsA[j - 1]; /*prod(Dims(1:(sel(1)-1)))*/ + } + ih = 0; + if ((Sel[0] != 1) && (Sel[0] != ndimsA)) + { + /* First seleted dimension */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd; + ih++; + } + pd *= dimsA[Sel[0] - 1]; /*prod(Dims(1:sel(1)))*/ + for (i = 1; i <= rank - 1; i++) + { + /* intermediate selected dimensions */ + if (Sel[i] != Sel[i - 1] + 1) + { + pds = 1; + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + pds *= dimsA[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + /*check again if all dimensions between Sel[i-1]+1 and + Sel[i]-1 are equal to one, in this case they can be + ignored and there is no jump*/ + for (j = (Sel[i - 1] + 1); j <= (Sel[i] - 1); j++) + { + if (dimsA[j - 1] != 1) + { + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + break; + } + } + } + pd *= pds * dimsA[Sel[i] - 1]; /*prod(Dims(1:sel(i)))*/ + } + + if (Sel[rank - 1] != ndimsA) + { + /* last selected dimension*/ + pds = 1; + for (j = (Sel[rank - 1] + 1); j <= ndimsA; j++) + { + pds *= dimsA[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + } + else if (rank == 1) + { + /* the only selected dimension is the last one */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd / dimsA[Sel[0] - 1]; + ih++; + } + } + + if (!sci_fft_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt, gdim)) + { + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + ReturnArguments(_pvCtx); + + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; +} + +int sci_fft_4args(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt) +{ + /* API variables */ + SciErr sciErr; + int *piAddr = NULL; + + /* Input array variables */ + int *Dim1 = NULL; + int ndims = 0; + int *Incr = NULL; + int nincr = 0; + + /*FFTW specific library variable */ + guru_dim_struct gdim = {0, NULL, 0, NULL}; + /* input/output address for transform variables */ + + /* local variable */ + int *Dim = NULL, *Sel = NULL; + int pd = 1; + int pds = 1; + int nd = 0; + int rank = 0; + int i = 0, j = 0, k = 0, lA = 1; + + for (i = 0; i < ndimsA; i++) + { + lA *= dimsA[i]; + } + + /* void or scalar input gives void output or scalar*/ + if (lA <= 1 ) + { + AssignOutputVariable(_pvCtx, 1) = 1; + ReturnArguments(_pvCtx); + return 0; + } + + /******************** get and check third argument (dim) ****************************************/ + getVarAddressFromPosition(pvApiCtx, 3, &piAddr); + if (isVarMatrixType(pvApiCtx, piAddr) == 0) + { + Scierror(999, _("%s: Wrong type for input argument #%d.\n"), fname, 3); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + sciErr = getVectorIntArg(pvApiCtx, 3, fname, &ndims, &Dim1); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /* check values of Dim1[i] */ + pd = 1; + for (i = 0; i < ndims; i++) + { + if (Dim1[i] <= 1) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be greater than %d.\n"), fname, 3, 1); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + pd *= Dim1[i]; + } + if ( pd > lA) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Must be less than %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (lA % pd) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Must be a divisor of %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + /******************** get and check fourth argument (incr) ****************************************/ + sciErr = getVectorIntArg(pvApiCtx, 4, fname, &nincr, &Incr); + if (sciErr.iErr) + { + Scierror(sciErr.iErr, getErrorMessage(sciErr)); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (nincr != ndims) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d: Same sizes expected.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /* check values of Incr[i] */ + if (Incr[0] <= 0) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Positive integers expected.\n"), fname, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + for (i = 0; i < ndims; i++) + { + if (lA % Incr[i]) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be divisors of %d.\n"), fname, 3, lA); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (i > 0 && (Incr[i] <= Incr[i - 1])) + { + Scierror(999, _("%s: Wrong values for input argument #%d: Elements must be in increasing ""order.\n"), fname, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + } + if ((Dim = (int *)MALLOC((2 * ndims + 1) * sizeof(int))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if ((Sel = (int *)MALLOC((ndims) * sizeof(int))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + + /*Transform Dim1 and Incr into Dim and Sel and check validity*/ + + nd = 0; + pd = 1; + if (Incr[0] != 1) + { + Dim[nd++] = Incr[0]; + pd *= Incr[0]; + } + Dim[nd++] = Dim1[0]; + pd *= Dim1[0]; + Sel[0] = nd; + + for (k = 1; k < ndims; k++) + { + if (Incr[k] % pd != 0) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + if (Incr[k] != pd) + { + Dim[nd++] = (int)(Incr[k] / pd); + pd = Incr[k]; + } + Dim[nd++] = Dim1[k]; + pd *= Dim1[k]; + Sel[k] = nd; + } + if (pd < lA) + { + if (lA % pd != 0) + { + Scierror(999, _("%s: Incompatible input arguments #%d and #%d.\n"), fname, 3, 4); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + Dim[nd++] = (int)(lA / pd); + } + + rank = ndims; + ndims = nd; + + /* now one same algorithm than sci_fft_3args applies */ + /* Create gdim struct */ + gdim.rank = rank; + if ((gdim.dims = (fftw_iodim *)MALLOC(sizeof(fftw_iodim) * gdim.rank)) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + pd = 1; /* used to store prod(Dims(1:sel(k-1)))*/ + pds = 1; /* used to store prod(Dims(sel(k-1):sel(k)))*/ + j = 0; + for (i = 0; i < ndims; i++) + { + if (j >= gdim.rank) + { + break; + } + if (Sel[j] == i + 1) + { + gdim.dims[j].n = Dim[i]; + gdim.dims[j].is = pd; + gdim.dims[j].os = pd; + j++; + } + pd *= Dim[i]; + } + /* Compute howmany_rank based on jumps in the Sel sequence */ + gdim.howmany_rank = 0; + if ((Sel[0] != 1) && (Sel[0] != ndims)) + { + gdim.howmany_rank++; + } + + for (i = 1; i <= rank - 1; i++) + { + if (Sel[i] != Sel[i - 1] + 1) + { + gdim.howmany_rank++; + } + } + if ((Sel[rank - 1] != ndims) || (rank == 1)) + { + gdim.howmany_rank++; + } + /* Fill the howmany_dims struct */ + if (gdim.howmany_rank > 0) + { + /* it must be the case */ + int ih = 0; + + if ((gdim.howmany_dims = (fftw_iodim *)MALLOC(gdim.howmany_rank * sizeof(fftw_iodim))) == NULL) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + pd = 1; + for (j = 1; j <= (Sel[0] - 1); j++) + { + pd *= Dim[j - 1]; /*prod(Dims(1:(sel(1)-1)))*/ + } + ih = 0; + if ((Sel[0] != 1) && (Sel[0] != ndims)) + { + /* First seleted dimension */ + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd; + ih++; + } + pd *= Dim[Sel[0] - 1]; /*prod(Dims(1:sel(1)))*/ + for (i = 2; i <= rank; i++) + { + /* intermediate selected dimensions */ + if (Sel[i - 1] != Sel[i - 2] + 1) + { + pds = 1; + for (j = (Sel[i - 2] + 1); j <= (Sel[i - 1] - 1); j++) + { + pds *= Dim[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + } + pd *= pds * Dim[Sel[i - 1] - 1]; /*prod(Dims(1:sel(i)))*/ + } + + if (Sel[rank - 1] != ndims) + { + /* last selected dimension*/ + pds = 1; + for (j = (Sel[rank - 1] + 1); j <= ndims; j++) + { + pds *= Dim[j - 1]; /*prod(Dims(sel(i-1)+1:(sel(i)-1)))*/ + } + gdim.howmany_dims[ih].is = pd; + gdim.howmany_dims[ih].os = pd; + gdim.howmany_dims[ih].n = pds; + ih++; + } + else if (rank == 1) /* the only selected dimension is the last one */ + { + gdim.howmany_dims[ih].is = 1; + gdim.howmany_dims[ih].os = 1; + gdim.howmany_dims[ih].n = pd / Dim[Sel[0] - 1]; + ih++; + } + } + if (!sci_fft_gen(_pvCtx, fname, ndimsA, dimsA, Ar, Ai, isn, iopt, gdim)) + { + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + return 0; + } + + /*********************************** + * Return results in lhs argument * + ***********************************/ + + FREE(Dim1); + FREE(Incr); + FREE(Dim); + FREE(Sel); + FREE(gdim.dims); + FREE(gdim.howmany_dims); + + ReturnArguments(_pvCtx); + + return 0; +} +/*--------------------------------------------------------------------------*/ +/*--------------------------------------------------------------------------*/ +int sci_fft_gen(void* _pvCtx, char *fname, int ndimsA, int *dimsA, double *Ar, double *Ai, int isn, int iopt, guru_dim_struct gdim) +{ + /* API variables */ + SciErr sciErr; + + /* Input array variables */ + int isrealA = (Ai == NULL), issymA = 1, lA = 1; + /*for MKL*/ + int isrealA_save = isrealA ; + + /*FFTW specific library variable */ + enum Scaling scale = None; + enum Plan_Type type; + fftw_plan p; + + /* input/output address for transform variables */ + double *ri = NULL, *ii = NULL, *ro = NULL, *io = NULL; + + /* for MKL special cases */ + int * dims1 = NULL; + int * incr1 = NULL; + + /* local variable */ + int one = 1; + int i = 0; + int errflag = 0; + + + for (i = 0; i < ndimsA; i++) + { + lA *= dimsA[i]; + } + + + if (iopt == 0) + { + /* automatically selected algorithm*/ + issymA = check_array_symmetry(Ar, Ai, gdim); + if (issymA < 0 ) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + + else if (iopt == 1) + { + issymA = 1; /* user forces symmetry */ + } + else + { + issymA = 0; + } + + AssignOutputVariable(_pvCtx, 1) = 1;/* assume inplace transform*/ + + if (WITHMKL) + { + double dzero = 0.0; + if (isrealA) + { + /*MKL does not implement the r2c nor r2r guru split methods, make A complex */ + if (issymA) + { + /* result will be real, the imaginary part of A can be allocated alone */ + sciErr = allocMatrixOfDouble(pvApiCtx, *getNbInputArgument(_pvCtx) + 1, 1, lA, &Ai); + if (sciErr.iErr) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + C2F(dset)(&lA, &dzero, Ai, &one); + } + else + { + /* result will be complex, realloc A for inplace computation */ + sciErr = allocComplexArrayOfDouble(pvApiCtx, *getNbInputArgument(_pvCtx) + 1, ndimsA, dimsA, &ri, &Ai); + if (sciErr.iErr) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + C2F(dcopy)(&lA, Ar, &one, ri, &one); + Ar = ri; + C2F(dset)(&lA, &dzero, Ai, &one); + AssignOutputVariable(_pvCtx, 1) = nbInputArgument(_pvCtx) + 1; + isrealA = 0; + } + } + } + + if (!isrealA && issymA) /* A is complex but result is real */ + { + /* result will be complex, realloc real part of A for real part inplace computation */ + sciErr = allocArrayOfDouble(pvApiCtx, *getNbInputArgument(_pvCtx) + 1, ndimsA, dimsA, &ri); + if (sciErr.iErr) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + C2F(dcopy)(&lA, Ar, &one, ri, &one); + Ar = ri; + AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(_pvCtx) + 1; + } + + /* Set pointers on real and imaginary part of the input */ + ri = Ar; + ii = Ai; + + scale = None; /*no scaling needed */ + if (isn == FFTW_BACKWARD) + { + scale = Divide; + } + if (isrealA & !WITHMKL) /* To have type = C2C_PLAN*/ + { + /*A is real */ + if (issymA) + { + /*r2r = isrealA && issymA*/ + /* there is no general plan able to compute r2r transform so it is tranformed into + a R2c plan. The computed imaginary part will be zero*/ + sciErr = allocMatrixOfDouble(pvApiCtx, *getNbInputArgument(_pvCtx) + 1, 1, lA, &io); + if (sciErr.iErr) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + type = R2C_PLAN; + ro = Ar; + } + else + { + /*r2c = isrealA && ~issymA;*/ + /* transform cannot be done in place */ + sciErr = allocComplexArrayOfDouble(pvApiCtx, *getNbInputArgument(_pvCtx) + 1, ndimsA, dimsA, &ro, &io); + if (sciErr.iErr) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(_pvCtx) + 1; + type = R2C_PLAN; /* fftw_plan_guru_split_dft_r2c plans for an FFTW_FORWARD transform*/ + if (isn == FFTW_BACKWARD) + { + /*transform problem into a FORWARD fft*/ + /*ifft(A)=conj(fft(A/N)) cas vect*/ + /* pre traitement A must be divided by N cas vect*/ + /* post treatment result must conjugated */ + } + } + } + else + { + /* A is complex */ + if (!WITHMKL && issymA) /*result is real*/ + { + /*c2r = ~isrealA && issymA*/ + ro = ri; + io = NULL; + + type = C2R_PLAN; /*fftw_plan_guru_split_dft_c2r plans for an FFTW_BACKWARD transform*/ + if (isn == FFTW_FORWARD) + { + /*transform problem into a BACKWARD fft : fft(A)=ifft(conj(A))*/ + double minusone = -1.0; + C2F(dscal)(&lA, &minusone, ii, &one); + } + } + else + { + /*c2c = ~isrealA && ~issymA;*/ + /* use inplace transform*/ + isrealA = 0; + type = C2C_PLAN; /* fftw_plan_guru_split_dft plans for an FFTW_FORWARD transform*/ + if (isn == FFTW_BACKWARD) + { + /*transform problem into a FORWARD fft*/ + /* ifft(A) = %i*conj(fft(%i*conj(A)/N) */ + /* reverse input */ + ri = Ai; + ii = Ar; + /* reverse output */ + ro = Ai; + io = Ar; + } + else + { + ro = ri; + io = ii; + } + } + } + + /* pre-treatment */ + if (scale != None) + { + double ak = 1.0; + for (i = 0; i < gdim.rank; i++) + { + ak = ak * ((double)(gdim.dims[i].n)); + } + if (scale == Divide) + { + ak = 1.0 / ak; + } + C2F(dscal)(&lA, &ak, ri, &one); + if (isrealA == 0) + { + C2F(dscal)(&lA, &ak, ii, &one); + } + } + + if (!WITHMKL || gdim.howmany_rank <= 1) + { + /* Set Plan */ + p = GetFFTWPlan(type, &gdim, ri, ii, ro, io, getCurrentFftwFlags(), isn , (fftw_r2r_kind *)NULL, &errflag); + if (errflag == 1) + { + Scierror(999, _("%s: No more memory.\n"), fname); + return 0; + } + else if (errflag == 2) + { + Scierror(999, _("%s: Creation of requested fftw plan failed.\n"), fname); + return 0; + } + /* execute FFTW plan */ + ExecuteFFTWPlan(type, p, ri, ii, ro, io); + } + else + { + /*FFTW MKL does not implement yet guru plan with howmany_rank>1 */ + /* associated loops described in gdim.howmany_rank and gdim.howmany_dims */ + /* are implemented here by a set of call with howmany_rank==1 */ + fftw_iodim *howmany_dims = gdim.howmany_dims; + int howmany_rank = gdim.howmany_rank; + int i1 = 0, i2 = 0; + int nloop = 0; + int t = 0; + + + gdim.howmany_rank = 0; + gdim.howmany_dims = NULL; + + p = GetFFTWPlan(type, &gdim, ri, ii, ro, io, getCurrentFftwFlags(), isn , (fftw_r2r_kind *)NULL, &errflag); + if (errflag == 1) + { + Scierror(999, _("%s: No more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + else if (errflag == 2) + { + Scierror(999, _("%s: Creation of requested fftw plan failed.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + + /* flatten nested loops: replace howmany_rank nested loops by a single one*/ + /* Build temporary arrays used by flatened loop */ + if ((dims1 = (int *)MALLOC(sizeof(int) * howmany_rank)) == NULL) + { + Scierror(999, _("%s: No more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + dims1[0] = howmany_dims[0].n; + for (i = 1; i < howmany_rank; i++) + { + dims1[i] = dims1[i - 1] * howmany_dims[i].n; + } + nloop = dims1[howmany_rank - 1]; + + if ((incr1 = (int *)MALLOC(sizeof(int) * howmany_rank)) == NULL) + { + Scierror(999, _("%s: No more memory.\n"), fname); + FREE(dims1); + FREE(incr1); + return 0; + } + t = 1; + for (i = 0; i < howmany_rank; i++) + { + t += (howmany_dims[i].n - 1) * howmany_dims[i].is; + incr1[i] = t; + } + /*loop on each "plan" */ + i = 0; /*index on the first plan entry */ + for (i1 = 1; i1 <= nloop; i1++) + { + /* the input and output are assumed to be complex because + within MKL real cases are transformed to complex ones in + previous steps of sci_fft_gen*/ + ExecuteFFTWPlan(type, p, &ri[i], &ii[i], &ro[i], &io[i]); + i += howmany_dims[0].is; + /* check if a loop ends*/ + for (i2 = howmany_rank - 2; i2 >= 0; i2--) + { + if ((i1 % dims1[i2]) == 0) + { + /*loop on dimension i2 ends, compute jump on the first plan entry index*/ + i += howmany_dims[i2 + 1].is - incr1[i2]; + break; + } + } + } + /* free temporary arrays */ + FREE(dims1); + FREE(incr1); + /* reset initial value of gdim for post treatment*/ + gdim.howmany_rank = howmany_rank; + gdim.howmany_dims = howmany_dims; + + } + /* Post treatment */ + switch (type) + { + case R2R_PLAN: + if (complete_array(ro, NULL, gdim) == -1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + break; + case C2R_PLAN: + break; + case R2C_PLAN: + if (issymA) + { + /*R2C has been used to solve an r2r problem*/ + if (complete_array(ro, NULL, gdim) == -1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + else + { + if (complete_array(ro, io, gdim) == -1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + if (isn == FFTW_BACKWARD) + { + /*conjugate result */ + double ak = -1.0; + C2F(dscal)(&lA, &ak, io, &one); + } + } + break; + case C2C_PLAN: + if (WITHMKL && isrealA_save) + { + if (isn == FFTW_FORWARD) + { + if (complete_array(ro, io, gdim) == -1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + else + { + if (complete_array(io, ro, gdim) == -1) + { + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 0; + } + } + } + break; + } + + return 1; +} diff --git a/modules/fftw/sci_gateway/c/sci_fftw_flags.c b/modules/fftw/sci_gateway/c/sci_fftw_flags.c new file mode 100755 index 000000000..b839067fe --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_fftw_flags.c @@ -0,0 +1,346 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006/2007 - INRIA - Alan LAYEC +* Copyright (C) 2007 - INRIA - Allan CORNET +* Copyright (C) 2012 - DIGITEO - Allan CORNET +* Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +* +* 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 "api_scilab.h" +#include "fftw_utilities.h" +#include "MALLOC.h" +#include "gw_fftw.h" +#include "localization.h" +#include "freeArrayOfString.h" +#include "Scierror.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +/*--------------------------------------------------------------------------*/ +/* fftw_flags function. +* +* Scilab Calling sequence : +* -->[a,b]=fftw_flags(); +* or +* -->[a,b]=fftw_flags(S); +* +* a is an int scalar. (the int value of +* the flag parameter of fftw) +* b is a string matrix.(the string values of +* the flag parameter of fftw) +* S is a string matrix or an int or a double scalar +* given the value(s) of the fftw flag parameter. +* +* This function gives and set the flag parameter of fftw +* when creating a new plan. +* This should be done before calling fftw function. +* (default is FFTW_ESTIMATE) +*/ +/*--------------------------------------------------------------------------*/ +int sci_fftw_flags(char *fname, unsigned long fname_len) +{ + /* declaration of variables to store scilab parameters address */ + static int m1 = 0, n1 = 0; + + char **Str1 = NULL; + char **Str3 = NULL; + + unsigned int uiVar1 = 0; + int* piDataOut = NULL; + int* piAddr1 = NULL; + int* piLen = NULL; + int iType = 0; + + /* please update me ! */ + static int nb_flag = 22; + static char *Str[] = + { + /* documented flags */ + "FFTW_MEASURE", + "FFTW_DESTROY_INPUT", + "FFTW_UNALIGNED", + "FFTW_CONSERVE_MEMORY", + "FFTW_EXHAUSTIVE", + "FFTW_PRESERVE_INPUT", + "FFTW_PATIENT", + "FFTW_ESTIMATE", + + /* undocumented beyond-guru flags */ + "FFTW_ESTIMATE_PATIENT", + "FFTW_BELIEVE_PCOST", + "FFTW_NO_DFT_R2HC", + "FFTW_NO_NONTHREADED", + "FFTW_NO_BUFFERING", + "FFTW_NO_INDIRECT_OP", + "FFTW_ALLOW_LARGE_GENERIC", + "FFTW_NO_RANK_SPLITS", + "FFTW_NO_VRANK_SPLITS", + "FFTW_NO_VRECURSE", + "FFTW_NO_SIMD", + "FFTW_NO_SLOW", + "FFTW_NO_FIXED_RADIX_LARGE_N", + "FFTW_ALLOW_PRUNING" + }; + + static unsigned flagt[] = + { + /* documented flags */ + FFTW_MEASURE, + FFTW_DESTROY_INPUT, + FFTW_UNALIGNED, + FFTW_CONSERVE_MEMORY, + FFTW_EXHAUSTIVE, + FFTW_PRESERVE_INPUT, + FFTW_PATIENT, + FFTW_ESTIMATE, + + /* undocumented beyond-guru flags */ + FFTW_ESTIMATE_PATIENT, + FFTW_BELIEVE_PCOST, + FFTW_NO_DFT_R2HC, + FFTW_NO_NONTHREADED, + FFTW_NO_BUFFERING, + FFTW_NO_INDIRECT_OP, + FFTW_ALLOW_LARGE_GENERIC, + FFTW_NO_RANK_SPLITS, + FFTW_NO_VRANK_SPLITS, + FFTW_NO_VRECURSE, + FFTW_NO_SIMD, + FFTW_NO_SLOW, + FFTW_NO_FIXED_RADIX_LARGE_N, + FFTW_ALLOW_PRUNING + }; + + unsigned flagv = 0; + + int i = 0, j = 0; + + SciErr sciErr; + CheckInputArgument(pvApiCtx, 0, 1); + + if (nbInputArgument(pvApiCtx) == 0) + { + // nothing + } + else + { + //get variable address of the input argument + sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr1); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + getVarType(pvApiCtx, piAddr1, &iType); + switch (iType) + { + case sci_ints: + { + /* int */ + int iPrecision = 0; + int* pi32Data = NULL; + unsigned int* pui32Data = NULL; + + getMatrixOfIntegerPrecision(pvApiCtx, piAddr1, &iPrecision); + if (iPrecision != SCI_INT32 && iPrecision != SCI_UINT32) + { + Scierror(999, _("%s: Wrong type for input argument #%d: A int32 expected.\n"), fname, 1); + return 1; + } + + if (iPrecision == SCI_INT32) + { + sciErr = getMatrixOfInteger32(pvApiCtx, piAddr1, &m1, &n1, pi32Data); + uiVar1 = (unsigned int)pi32Data[0]; + } + else + { + sciErr = getMatrixOfUnsignedInteger32(pvApiCtx, piAddr1, &m1, &n1, pui32Data); + uiVar1 = pui32Data[0]; + } + + if (sciErr.iErr) + { + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1); + printError(&sciErr, 0); + return 1; + } + break; + } + case sci_matrix: + { + /* double */ + double* pdblData = NULL; + sciErr = getMatrixOfDouble(pvApiCtx, piAddr1, &m1, &n1, &pdblData); + if (sciErr.iErr) + { + Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1); + printError(&sciErr, 0); + return 1; + } + + uiVar1 = (unsigned int)pdblData[0]; + break; + } + case sci_strings: + { + /* string */ + //fisrt call to retrieve dimensions + sciErr = getMatrixOfString(pvApiCtx, piAddr1, &m1, &n1, NULL, NULL); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + piLen = (int*)malloc(sizeof(int) * m1 * n1); + + //second call to retrieve length of each string + sciErr = getMatrixOfString(pvApiCtx, piAddr1, &m1, &n1, piLen, NULL); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + Str1 = (char**)malloc(sizeof(char*) * m1 * n1); + for (i = 0 ; i < m1 * n1 ; i++) + { + Str1[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination + } + + //third call to retrieve data + sciErr = getMatrixOfString(pvApiCtx, piAddr1, &m1, &n1, piLen, Str1); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + for (j = 0; j < m1 * n1; j++) + { + for (i = 0; i < nb_flag; i++) + { + if (strcmp(Str1[j], Str[i]) == 0) + { + break; + } + } + + if (i == nb_flag) + { + freeArrayOfString(Str1, m1 * n1); + Scierror(999, _("%s: Wrong values for input argument #%d: FFTW flag expected.\n"), fname, 1); + return 0; + } + else + { + if (i > 0) + { + flagv = ( flagv | (1U << (i - 1)) ); + } + } + } + + uiVar1 = (unsigned int)flagv; + freeArrayOfString(Str1, m1 * n1); + m1 = 1; + n1 = 1; + break; + } + default: + Scierror(53, _("%s: Wrong type for input argument #%d.\n"), fname, 1); + return 1; + } + + CheckDims(1, m1, n1, 1, 1); + setCurrentFftwFlags(uiVar1); + } + + /* return value of Sci_Plan.flags in position 2 */ + sciErr = allocMatrixOfInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + 2, 1, 1, &piDataOut); + if (sciErr.iErr) + { + printError(&sciErr, 0); + Scierror(999, _("%s: No more memory.\n"), fname); + return 1; + } + + piDataOut[0] = (int) getCurrentFftwFlags(); + + /*Test for only FFTW_MEASURE*/ + if (getCurrentFftwFlags() == 0) + { + j = 1; + if ((Str3 = (char **)MALLOC(sizeof(char *))) == NULL) + { + Scierror(999, _("%s: No more memory.\n"), fname); + return 1; + } + + Str3[0] = strdup(Str[0]); + if (Str3[0] == NULL) + { + Scierror(999, _("%s: No more memory.\n"), fname); + return 1; + } + } + else + { + j = 0; + for (i = 1; i < nb_flag; i++) + { + if ((getCurrentFftwFlags() & flagt[i]) == flagt[i]) + { + j++; + if (Str3) + { + Str3 = (char **)REALLOC(Str3, sizeof(char *) * j); + } + else + { + Str3 = (char **)MALLOC(sizeof(char *) * j); + } + + if ( Str3 == NULL) + { + Scierror(999, _("%s: No more memory.\n"), fname); + return 1; + } + + Str3[j - 1] = strdup(Str[i]); + if (Str3[j - 1] == NULL) + { + freeArrayOfString(Str3, j); + Scierror(999, _("%s: No more memory.\n"), fname); + return 1; + } + } + } + } + + /* Create the string matrix as return of the function */ + sciErr = createMatrixOfString(pvApiCtx, nbInputArgument(pvApiCtx) + 3, j, 1, Str3); + freeArrayOfString(Str3, j); // Data have been copied into Scilab memory + + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 2; + AssignOutputVariable(pvApiCtx, 2) = nbInputArgument(pvApiCtx) + 3; + ReturnArguments(pvApiCtx); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/sci_gateway/c/sci_fftw_forget_wisdom.c b/modules/fftw/sci_gateway/c/sci_fftw_forget_wisdom.c new file mode 100755 index 000000000..f514bfb99 --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_fftw_forget_wisdom.c @@ -0,0 +1,45 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2007 - INRIA - Alan LAYEC +* Copyright (C) 2007 - INRIA - Allan CORNET +* Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +* +* 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 "fftw_utilities.h" +#include "callfftw.h" +#include "gw_fftw.h" +#include "api_scilab.h" +/*--------------------------------------------------------------------------*/ +/* Reset fftw wisdom +* +* Scilab Calling sequence : +* -->fftw_forget_wisdom(); +* +* Input : Nothing +* +* Output : Nothing +* +*/ +/*--------------------------------------------------------------------------*/ +int sci_fftw_forget_wisdom(char *fname, unsigned long fname_len) +{ + CheckInputArgument(pvApiCtx, 0, 0); + + FreeFFTWPlan(getSci_Backward_Plan()); + FreeFFTWPlan(getSci_Forward_Plan()); + + call_fftw_forget_wisdom(); + + AssignOutputVariable(pvApiCtx, 1) = 0; + ReturnArguments(pvApiCtx); + + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/sci_gateway/c/sci_fftwlibraryisloaded.c b/modules/fftw/sci_gateway/c/sci_fftwlibraryisloaded.c new file mode 100755 index 000000000..77c97cc01 --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_fftwlibraryisloaded.c @@ -0,0 +1,44 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006 - INRIA - Allan CORNET +* Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +* +* 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 "callfftw.h" +#include "gw_fftw.h" +#include "api_scilab.h" +#include "localization.h" +#include "Scierror.h" + +/*--------------------------------------------------------------------------*/ +int sci_fftwlibraryisloaded(char *fname, unsigned long fname_len) +{ + int iErr; + + if ( IsLoadedFFTW() ) + { + iErr = createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, 1); // true + } + else + { + iErr = createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, 0); // false + } + + if (iErr) + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + return iErr; + } + + AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1; + ReturnArguments(pvApiCtx); + + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/sci_gateway/c/sci_get_fftw_wisdom.c b/modules/fftw/sci_gateway/c/sci_get_fftw_wisdom.c new file mode 100755 index 000000000..f10ea2af8 --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_get_fftw_wisdom.c @@ -0,0 +1,161 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006 - INRIA - Alan LAYEC +* Copyright (C) 2007 - INRIA - Allan CORNET +* Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +* +* 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 <stdlib.h> +#include "callfftw.h" +#include "api_scilab.h" +#include "MALLOC.h" +#include "gw_fftw.h" +#include "localization.h" +#include "freeArrayOfString.h" +#include "Scierror.h" +/*--------------------------------------------------------------------------*/ +/* Return text of fftw wisdom +* +* Scilab Calling sequence : +* -->tt=get_fftw_wisdom(); +* +* Input : Nothing +* +* Output : a scilab string matrix +* +*/ +int sci_get_fftw_wisdom(char *fname, unsigned long fname_len) +{ + int n1 = 0, i = 0, j = 0; + char *Str = NULL; + char **Str1 = NULL; + + CheckInputArgument(pvApiCtx, 0, 0); + CheckOutputArgument(pvApiCtx, 0, 1); + + if ((Str = call_fftw_export_wisdom_to_string()) == NULL) + { + Scierror(999, _("%s: MKL fftw library does not implement wisdom functions yet.\n"), fname); + return 1; + } + + n1 = 0; + j = 0; + if (Str) + { + int lenStr = (int)strlen(Str); + for (i = 0; i < lenStr; i++) + { + if (Str[i] == '\n') + { + int len = 0; + int k = 0; + + n1++; + + if (Str1) + { + Str1 = (char **)REALLOC(Str1, sizeof(char *) * n1); + } + else + { + Str1 = (char **)MALLOC(sizeof(char *) * n1); + } + + if (Str1 == NULL) + { + Scierror(999, _("%s: No more memory.\n"), fname); + if (Str) + { + // According to the FFTW documentation we should free Str + // string but doing makes Scilab crash!? + //free(Str); + } + return 1; + } + + len = i - j; + + if ((Str1[n1 - 1] = (char *)MALLOC(sizeof(char) * (len + 1))) == NULL) + { + freeArrayOfString(Str1, n1 - 1); + if (Str) + { + // According to the FFTW documentation we should free Str + // string but doing makes Scilab crash!? + //free(Str); + } + Scierror(999, _("%s: No more memory.\n"), fname); + return 1; + } + + for (k = 0; k < len; k++) + { + Str1[n1 - 1][k] = Str[k + j]; + } + Str1[n1 - 1][len] = '\0'; + j = i + 1; + } + } + } + + n1++; + + if (Str1) + { + Str1 = (char **)REALLOC(Str1, sizeof(char *) * n1); + } + else + { + Str1 = (char **)MALLOC(sizeof(char *) * n1); + } + + if (Str1 == NULL) + { + Scierror(999, _("%s: No more memory.\n"), fname); + if (Str) + { + // According to the FFTW documentation we should free Str + // string but doing makes Scilab crash!? + //free(Str); + } + return 1; + } + + if ((Str1[n1 - 1] = (char *)MALLOC(sizeof(char))) == NULL) + { + freeArrayOfString(Str1, n1 - 1); + if (Str) + { + // According to the FFTW documentation we should free Str + // string but doing makes Scilab crash!? + //free(Str); + } + Scierror(999, _("%s: No more memory.\n"), fname); + return 1; + } + Str1[n1 - 1][0] = '\0'; + + createMatrixOfString(pvApiCtx, nbInputArgument(pvApiCtx) + 1, n1, 1, Str1); + + freeArrayOfString(Str1, n1); + if (Str) + { + // According to the FFTW documentation we should free Str + // string but doing makes Scilab crash!? + //free(Str); + } + + AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1; + ReturnArguments(pvApiCtx); + + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/sci_gateway/c/sci_loadfftwlibrary.c b/modules/fftw/sci_gateway/c/sci_loadfftwlibrary.c new file mode 100755 index 000000000..bfa95a046 --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_loadfftwlibrary.c @@ -0,0 +1,78 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006 - INRIA - Allan CORNET +* Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +* +* 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 "api_scilab.h" +#include "callfftw.h" +#include "Scierror.h" +#include "fftwlibname.h" +#include "gw_fftw.h" +#include "localization.h" +/*--------------------------------------------------------------------------*/ +int sci_loadfftwlibrary(char *fname, unsigned long fname_len) +{ + static int l1, n1, m1; + char* FFTWLibname = NULL; + char* l1char = NULL; + int* piAddr1 = NULL; + SciErr sciErr; + int iErr = 0; + + CheckInputArgument(pvApiCtx, 1, 1); + + //get variable address + sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr1); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + if (isStringType(pvApiCtx, piAddr1) == 0) + { + Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1); + return 1; + } + + // Retrieve a single string at position 1 + iErr = getAllocatedSingleString(pvApiCtx, piAddr1, &l1char); + if (iErr) + { + freeAllocatedSingleString(l1char); + return iErr; + } + FFTWLibname = l1char; + setfftwlibname(FFTWLibname); + + n1 = 1; + if ( LoadFFTWLibrary(FFTWLibname) ) + { + iErr = createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, 1); // true + } + else + { + iErr = createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, 0); // false + } + freeAllocatedSingleString(l1char); + + if (iErr) + { + Scierror(999, _("%s: Memory allocation error.\n"), fname); + return iErr; + } + + AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1; + ReturnArguments(pvApiCtx); + + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/sci_gateway/c/sci_set_fftw_wisdom.c b/modules/fftw/sci_gateway/c/sci_set_fftw_wisdom.c new file mode 100755 index 000000000..f435590e9 --- /dev/null +++ b/modules/fftw/sci_gateway/c/sci_set_fftw_wisdom.c @@ -0,0 +1,147 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006/2007 - INRIA - Alan LAYEC +* Copyright (C) 2007 - INRIA - Allan CORNET +* Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +* +* 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 "api_scilab.h" +#include "callfftw.h" +#include "MALLOC.h" +#include "gw_fftw.h" +#include "localization.h" +#include "freeArrayOfString.h" +#include "Scierror.h" +/*--------------------------------------------------------------------------*/ + +/* Set fftw wisdom +* +* Scilab Calling sequence : +* -->set_fftw_wisdom(txt); +* +* Input : a scilab string matrix +* +* Output : Nothing or an error messsage if +* wisdom can't be read by fftw +* +*/ +int sci_set_fftw_wisdom(char *fname, unsigned long fname_len) +{ + SciErr sciErr; + char **Str1 = NULL; + char *Str = NULL; + int m1 = 0, n1 = 0; + int len = 0, k = 0; + int j = 0; + int i = 0; + int* piAddr1 = NULL; + int* piLen = NULL; + + if (withMKL()) + { + Scierror(999, _("%s: MKL fftw library does not implement wisdom functions yet.\n"), fname); + return 0; + } + + CheckInputArgument(pvApiCtx, 1, 1); + + //get variable address + sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr1); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + if (isStringType(pvApiCtx, piAddr1) == 0) + { + Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1); + return 1; + } + + //fisrt call to retrieve dimensions + sciErr = getMatrixOfString(pvApiCtx, piAddr1, &m1, &n1, NULL, NULL); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + piLen = (int*)malloc(sizeof(int) * m1 * n1); + + //second call to retrieve length of each string + sciErr = getMatrixOfString(pvApiCtx, piAddr1, &m1, &n1, piLen, NULL); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + Str1 = (char**)malloc(sizeof(char*) * m1 * n1); + for (i = 0 ; i < m1 * n1 ; i++) + { + Str1[i] = (char*)malloc(sizeof(char) * (piLen[i] + 1));//+ 1 for null termination + } + + //third call to retrieve data + sciErr = getMatrixOfString(pvApiCtx, piAddr1, &m1, &n1, piLen, Str1); + if (sciErr.iErr) + { + printError(&sciErr, 0); + return 1; + } + + for (j = 0; j < m1 * n1; j++) + { + len += (int)strlen(Str1[j]) + 1; + + if (Str) + { + Str = (char *)REALLOC(Str, sizeof(char) * (len)); + } + else + { + Str = (char *)MALLOC(sizeof(char) * (len)); + } + + if (Str == NULL) + { + freeArrayOfString(Str1, m1 * n1); + Scierror(999, _("%s: Cannot allocate more memory.\n"), fname); + return 1; + } + + for (i = 0; i < (int)strlen(Str1[j]); i++) + { + Str[k + i] = Str1[j][i]; + } + Str[k + strlen(Str1[j])] = '\n'; + k += (int)strlen(Str1[j]) + 1; + } + Str[k - 1] = '\0'; + + freeArrayOfString(Str1, m1 * n1); + + if (!(call_fftw_import_wisdom_from_string(Str))) + { + FREE(Str); + Str = NULL; + Scierror(999, _("%s: Wrong value for input argument #%d: a valid wisdom expected.\n"), fname, 1); + return 1; + } + FREE(Str); + Str = NULL; + + AssignOutputVariable(pvApiCtx, 1) = 0; + ReturnArguments(pvApiCtx); + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/sci_gateway/fftw_gateway.xml b/modules/fftw/sci_gateway/fftw_gateway.xml new file mode 100755 index 000000000..63c49a915 --- /dev/null +++ b/modules/fftw/sci_gateway/fftw_gateway.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - INRIA - Allan CORNET + * Copyright (C) 2007 - INRIA - Sylvestre LEDRU + * + * 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="fftw"> + + <!-- + 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 +--> + + <PRIMITIVE gatewayId="51" primitiveId="1" primitiveName="loadfftwlibrary" /> + <PRIMITIVE gatewayId="51" primitiveId="2" primitiveName="disposefftwlibrary" /> + <PRIMITIVE gatewayId="51" primitiveId="3" primitiveName="fftwlibraryisloaded" /> + <PRIMITIVE gatewayId="51" primitiveId="4" primitiveName="fftw" /> + <PRIMITIVE gatewayId="51" primitiveId="5" primitiveName="fftw_flags" /> + <PRIMITIVE gatewayId="51" primitiveId="6" primitiveName="get_fftw_wisdom" /> + <PRIMITIVE gatewayId="51" primitiveId="7" primitiveName="set_fftw_wisdom" /> + <PRIMITIVE gatewayId="51" primitiveId="8" primitiveName="fftw_forget_wisdom" /> + <PRIMITIVE gatewayId="51" primitiveId="9" primitiveName="dct" /> + <PRIMITIVE gatewayId="51" primitiveId="10" primitiveName="dst" /> +</GATEWAY> diff --git a/modules/fftw/scilab_windows_Import.def b/modules/fftw/scilab_windows_Import.def new file mode 100755 index 000000000..05c63be9f --- /dev/null +++ b/modules/fftw/scilab_windows_Import.def @@ -0,0 +1,8 @@ +LIBRARY scilab_windows.dll + + +EXPORTS +; --------------------------------------- +; scilab_windows +; --------------------------------------- + strdup_windows diff --git a/modules/fftw/src/c/.deps/.dirstamp b/modules/fftw/src/c/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/fftw/src/c/.deps/.dirstamp diff --git a/modules/fftw/src/c/.deps/libscifftw_algo_la-callfftw.Plo b/modules/fftw/src/c/.deps/libscifftw_algo_la-callfftw.Plo new file mode 100755 index 000000000..a2be5dbf2 --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_algo_la-callfftw.Plo @@ -0,0 +1,157 @@ +src/c/libscifftw_algo_la-callfftw.lo: src/c/callfftw.c \ + /usr/include/stdc-predef.h src/c/callfftw.h \ + ../../modules/core/includes/BOOL.h src/c/fftw3.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + ../../modules/dynamic_link/includes/dynamiclibrary.h \ + ../../modules/dynamic_link/includes/dynamiclibrary_others.h \ + /usr/include/dlfcn.h /usr/include/x86_64-linux-gnu/bits/dlfcn.h \ + ../../modules/fileio/includes/getshortpathname.h \ + ../../modules/fileio/includes/dynlib_fileio.h \ + ../../modules/core/includes/machine.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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/localization/includes/charEncoding.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h + +/usr/include/stdc-predef.h: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.h: + +src/c/fftw3.h: + +/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +../../modules/dynamic_link/includes/dynamiclibrary.h: + +../../modules/dynamic_link/includes/dynamiclibrary_others.h: + +/usr/include/dlfcn.h: + +/usr/include/x86_64-linux-gnu/bits/dlfcn.h: + +../../modules/fileio/includes/getshortpathname.h: + +../../modules/fileio/includes/dynlib_fileio.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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/localization/includes/charEncoding.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: diff --git a/modules/fftw/src/c/.deps/libscifftw_algo_la-fftw_utilities.Plo b/modules/fftw/src/c/.deps/libscifftw_algo_la-fftw_utilities.Plo new file mode 100755 index 000000000..edc5f00fb --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_algo_la-fftw_utilities.Plo @@ -0,0 +1,167 @@ +src/c/libscifftw_algo_la-fftw_utilities.lo: src/c/fftw_utilities.c \ + /usr/include/stdc-predef.h src/c/fftw_utilities.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 /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/fftw3.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.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 src/c/callfftw.h \ + ../../modules/core/includes/BOOL.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/stdc-predef.h: + +src/c/fftw_utilities.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: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/c/fftw3.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.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: + +src/c/callfftw.h: + +../../modules/core/includes/BOOL.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: diff --git a/modules/fftw/src/c/.deps/libscifftw_algo_la-fftwlibname.Plo b/modules/fftw/src/c/.deps/libscifftw_algo_la-fftwlibname.Plo new file mode 100755 index 000000000..76010d3d5 --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_algo_la-fftwlibname.Plo @@ -0,0 +1,104 @@ +src/c/libscifftw_algo_la-fftwlibname.lo: src/c/fftwlibname.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 \ + /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 src/c/fftwlibname.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.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: + +/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: + +src/c/fftwlibname.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: diff --git a/modules/fftw/src/c/.deps/libscifftw_algo_la-sci_data_utilities.Plo b/modules/fftw/src/c/.deps/libscifftw_algo_la-sci_data_utilities.Plo new file mode 100755 index 000000000..2d062f540 --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_algo_la-sci_data_utilities.Plo @@ -0,0 +1,285 @@ +src/c/libscifftw_algo_la-sci_data_utilities.lo: \ + src/c/sci_data_utilities.c /usr/include/stdc-predef.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/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h \ + ../../modules/api_scilab/includes/api_scilab.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/localization/includes/localization.h \ + ../../modules/core/includes/machine.h /usr/include/libintl.h \ + /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \ + ../../modules/output_stream/includes/Scierror.h \ + ../../modules/output_stream/includes/do_error_number.h + +/usr/include/stdc-predef.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/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +../../modules/api_scilab/includes/api_scilab.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/localization/includes/localization.h: + +../../modules/core/includes/machine.h: + +/usr/include/libintl.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +../../modules/output_stream/includes/Scierror.h: + +../../modules/output_stream/includes/do_error_number.h: diff --git a/modules/fftw/src/c/.deps/libscifftw_algo_la-with_fftw.Plo b/modules/fftw/src/c/.deps/libscifftw_algo_la-with_fftw.Plo new file mode 100755 index 000000000..88266ada8 --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_algo_la-with_fftw.Plo @@ -0,0 +1,14 @@ +src/c/libscifftw_algo_la-with_fftw.lo: src/c/with_fftw.c \ + /usr/include/stdc-predef.h includes/with_fftw.h \ + ../../modules/core/includes/machine.h ../../modules/core/includes/BOOL.h \ + includes/dynlib_fftw.h + +/usr/include/stdc-predef.h: + +includes/with_fftw.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/BOOL.h: + +includes/dynlib_fftw.h: diff --git a/modules/fftw/src/c/.deps/libscifftw_la-callfftw.Plo b/modules/fftw/src/c/.deps/libscifftw_la-callfftw.Plo new file mode 100755 index 000000000..9ce06a81e --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_la-callfftw.Plo @@ -0,0 +1 @@ +# dummy diff --git a/modules/fftw/src/c/.deps/libscifftw_la-fftw_utilities.Plo b/modules/fftw/src/c/.deps/libscifftw_la-fftw_utilities.Plo new file mode 100755 index 000000000..9ce06a81e --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_la-fftw_utilities.Plo @@ -0,0 +1 @@ +# dummy diff --git a/modules/fftw/src/c/.deps/libscifftw_la-fftwlibname.Plo b/modules/fftw/src/c/.deps/libscifftw_la-fftwlibname.Plo new file mode 100755 index 000000000..9ce06a81e --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_la-fftwlibname.Plo @@ -0,0 +1 @@ +# dummy diff --git a/modules/fftw/src/c/.deps/libscifftw_la-sci_data_utilities.Plo b/modules/fftw/src/c/.deps/libscifftw_la-sci_data_utilities.Plo new file mode 100755 index 000000000..9ce06a81e --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_la-sci_data_utilities.Plo @@ -0,0 +1 @@ +# dummy diff --git a/modules/fftw/src/c/.deps/libscifftw_la-with_fftw.Plo b/modules/fftw/src/c/.deps/libscifftw_la-with_fftw.Plo new file mode 100755 index 000000000..9ce06a81e --- /dev/null +++ b/modules/fftw/src/c/.deps/libscifftw_la-with_fftw.Plo @@ -0,0 +1 @@ +# dummy diff --git a/modules/fftw/src/c/.dirstamp b/modules/fftw/src/c/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/fftw/src/c/.dirstamp diff --git a/modules/fftw/src/c/.libs/libscifftw_algo_la-callfftw.o b/modules/fftw/src/c/.libs/libscifftw_algo_la-callfftw.o Binary files differnew file mode 100755 index 000000000..cdc877c9d --- /dev/null +++ b/modules/fftw/src/c/.libs/libscifftw_algo_la-callfftw.o diff --git a/modules/fftw/src/c/.libs/libscifftw_algo_la-fftw_utilities.o b/modules/fftw/src/c/.libs/libscifftw_algo_la-fftw_utilities.o Binary files differnew file mode 100755 index 000000000..051aa000d --- /dev/null +++ b/modules/fftw/src/c/.libs/libscifftw_algo_la-fftw_utilities.o diff --git a/modules/fftw/src/c/.libs/libscifftw_algo_la-fftwlibname.o b/modules/fftw/src/c/.libs/libscifftw_algo_la-fftwlibname.o Binary files differnew file mode 100755 index 000000000..d386e01db --- /dev/null +++ b/modules/fftw/src/c/.libs/libscifftw_algo_la-fftwlibname.o diff --git a/modules/fftw/src/c/.libs/libscifftw_algo_la-sci_data_utilities.o b/modules/fftw/src/c/.libs/libscifftw_algo_la-sci_data_utilities.o Binary files differnew file mode 100755 index 000000000..c3bfbe6c3 --- /dev/null +++ b/modules/fftw/src/c/.libs/libscifftw_algo_la-sci_data_utilities.o diff --git a/modules/fftw/src/c/.libs/libscifftw_algo_la-with_fftw.o b/modules/fftw/src/c/.libs/libscifftw_algo_la-with_fftw.o Binary files differnew file mode 100755 index 000000000..83cee3b01 --- /dev/null +++ b/modules/fftw/src/c/.libs/libscifftw_algo_la-with_fftw.o diff --git a/modules/fftw/src/c/DllmainFttw.c b/modules/fftw/src/c/DllmainFttw.c new file mode 100755 index 000000000..06e524aa2 --- /dev/null +++ b/modules/fftw/src/c/DllmainFttw.c @@ -0,0 +1,32 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006 - 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 <windows.h> +/*--------------------------------------------------------------------------*/ +#pragma comment(lib,"../../bin/libintl.lib") +/*--------------------------------------------------------------------------*/ +int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved) +{ + switch (reason) + { + case DLL_PROCESS_ATTACH: + break; + case DLL_PROCESS_DETACH: + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + break; + } + return 1; +} +/*--------------------------------------------------------------------------*/ + diff --git a/modules/fftw/src/c/callfftw.c b/modules/fftw/src/c/callfftw.c new file mode 100755 index 000000000..ab8b6b401 --- /dev/null +++ b/modules/fftw/src/c/callfftw.c @@ -0,0 +1,307 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006 - INRIA - Allan CORNET +* Copyright (C) 2012 - INRIA - Serge STEER +* +* 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 "callfftw.h" +/*--------------------------------------------------------------------------*/ +#include "dynamiclibrary.h" +#include "getshortpathname.h" +#include "MALLOC.h" +#include "charEncoding.h" +/*--------------------------------------------------------------------------*/ +typedef void (*PROC_FFTW_EXECUTE_SPLIT_DFT) (const fftw_plan p, double *ri, double *ii, double *ro, double *io); +typedef void (*PROC_FFTW_EXECUTE_SPLIT_DFT_C2R) (const fftw_plan p, double *ri, double *ii, double *ro); +typedef void (*PROC_FFTW_EXECUTE_SPLIT_DFT_R2C) (const fftw_plan p, double *ri, double *ro, double *io); +typedef void (*PROC_FFTW_EXECUTE_SPLIT_DFT_R2R) (const fftw_plan p, double *ri, double *ro); +typedef fftw_plan (*PROC_FFTW_PLAN_GURU_SPLIT_DFT) (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ii, double *ro, double *io, unsigned flags); +typedef fftw_plan (*PROC_FFTW_PLAN_GURU_SPLIT_DFT_C2R) (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ii, double *ro, unsigned flags); +typedef fftw_plan (*PROC_FFTW_PLAN_GURU_SPLIT_DFT_R2C) (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ro, double *io, unsigned flags); +typedef fftw_plan (*PROC_FFTW_PLAN_GURU_SPLIT_DFT_R2R) (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ro, fftw_r2r_kind *kind, unsigned flags); +typedef void (*PROC_FFTW_DESTROY_PLAN) (fftw_plan p); +typedef char *(*PROC_FFTW_EXPORT_WISDOM_TO_STRING) (void); +typedef int (*PROC_FFTW_IMPORT_WISDOM_FROM_STRING) (const char *input_string); +typedef void (*PROC_FFTW_FORGET_WISDOM) (void); +/*--------------------------------------------------------------------------*/ +static DynLibHandle hinstLib = NULL; +static PROC_FFTW_EXECUTE_SPLIT_DFT MY_FFTW_EXECUTE_SPLIT_DFT = NULL; +static PROC_FFTW_EXECUTE_SPLIT_DFT_C2R MY_FFTW_EXECUTE_SPLIT_DFT_C2R = NULL; +static PROC_FFTW_EXECUTE_SPLIT_DFT_R2C MY_FFTW_EXECUTE_SPLIT_DFT_R2C = NULL; +static PROC_FFTW_EXECUTE_SPLIT_DFT_R2R MY_FFTW_EXECUTE_SPLIT_DFT_R2R = NULL; +static PROC_FFTW_PLAN_GURU_SPLIT_DFT MY_FFTW_PLAN_GURU_SPLIT_DFT = NULL; +static PROC_FFTW_PLAN_GURU_SPLIT_DFT_C2R MY_FFTW_PLAN_GURU_SPLIT_DFT_C2R = NULL; +static PROC_FFTW_PLAN_GURU_SPLIT_DFT_R2C MY_FFTW_PLAN_GURU_SPLIT_DFT_R2C = NULL; +static PROC_FFTW_PLAN_GURU_SPLIT_DFT_R2R MY_FFTW_PLAN_GURU_SPLIT_DFT_R2R = NULL; +static PROC_FFTW_DESTROY_PLAN MY_FFTW_DESTROY_PLAN = NULL; +static PROC_FFTW_EXPORT_WISDOM_TO_STRING MY_FFTW_EXPORT_WISDOM_TO_STRING = NULL; +static PROC_FFTW_IMPORT_WISDOM_FROM_STRING MY_FFTW_IMPORT_WISDOM_FROM_STRING = NULL; +static PROC_FFTW_FORGET_WISDOM MY_FFTW_FORGET_WISDOM = NULL; +/*--------------------------------------------------------------------------*/ +BOOL IsLoadedFFTW(void) +{ + if ( (MY_FFTW_EXECUTE_SPLIT_DFT) && (MY_FFTW_PLAN_GURU_SPLIT_DFT) && (MY_FFTW_DESTROY_PLAN) && + (MY_FFTW_EXPORT_WISDOM_TO_STRING) && (MY_FFTW_IMPORT_WISDOM_FROM_STRING) && + (MY_FFTW_FORGET_WISDOM) ) + { + return TRUE; + } + return FALSE; +} +/*--------------------------------------------------------------------------*/ +BOOL LoadFFTWLibrary(const char* libraryname) +{ + + if (libraryname == NULL) + { + return FALSE; + } + if (hinstLib == NULL) + { +#ifdef _MSC_VER + { + wchar_t * wclibraryname = to_wide_string(libraryname); + if (wclibraryname) + { + hinstLib = LoadDynLibraryW(wclibraryname); + FREE(wclibraryname); + wclibraryname = NULL; + } + } +#else + hinstLib = LoadDynLibrary(libraryname); +#endif + MY_FFTW_EXECUTE_SPLIT_DFT = NULL; + MY_FFTW_EXECUTE_SPLIT_DFT_C2R = NULL; + MY_FFTW_EXECUTE_SPLIT_DFT_R2C = NULL; + MY_FFTW_EXECUTE_SPLIT_DFT_R2R = NULL; + + MY_FFTW_PLAN_GURU_SPLIT_DFT = NULL; + MY_FFTW_PLAN_GURU_SPLIT_DFT_C2R = NULL; + MY_FFTW_PLAN_GURU_SPLIT_DFT_R2C = NULL; + MY_FFTW_PLAN_GURU_SPLIT_DFT_R2R = NULL; + + MY_FFTW_DESTROY_PLAN = NULL; + + MY_FFTW_EXPORT_WISDOM_TO_STRING = NULL; + MY_FFTW_IMPORT_WISDOM_FROM_STRING = NULL; + MY_FFTW_FORGET_WISDOM = NULL; + + MY_FFTW_EXECUTE_SPLIT_DFT = (PROC_FFTW_EXECUTE_SPLIT_DFT) GetDynLibFuncPtr(hinstLib, "fftw_execute_split_dft"); + MY_FFTW_EXECUTE_SPLIT_DFT_C2R = (PROC_FFTW_EXECUTE_SPLIT_DFT_C2R) GetDynLibFuncPtr(hinstLib, "fftw_execute_split_dft_c2r"); + MY_FFTW_EXECUTE_SPLIT_DFT_R2C = (PROC_FFTW_EXECUTE_SPLIT_DFT_R2C) GetDynLibFuncPtr(hinstLib, "fftw_execute_split_dft_r2c"); + MY_FFTW_EXECUTE_SPLIT_DFT_R2R = (PROC_FFTW_EXECUTE_SPLIT_DFT_R2R) GetDynLibFuncPtr(hinstLib, "fftw_execute_r2r"); + + MY_FFTW_PLAN_GURU_SPLIT_DFT = (PROC_FFTW_PLAN_GURU_SPLIT_DFT) GetDynLibFuncPtr(hinstLib, "fftw_plan_guru_split_dft"); + MY_FFTW_PLAN_GURU_SPLIT_DFT_C2R = (PROC_FFTW_PLAN_GURU_SPLIT_DFT_C2R) GetDynLibFuncPtr(hinstLib, "fftw_plan_guru_split_dft_c2r"); + MY_FFTW_PLAN_GURU_SPLIT_DFT_R2C = (PROC_FFTW_PLAN_GURU_SPLIT_DFT_R2C) GetDynLibFuncPtr(hinstLib, "fftw_plan_guru_split_dft_r2c"); + MY_FFTW_PLAN_GURU_SPLIT_DFT_R2R = (PROC_FFTW_PLAN_GURU_SPLIT_DFT_R2R) GetDynLibFuncPtr(hinstLib, "fftw_plan_guru_r2r"); + + + MY_FFTW_DESTROY_PLAN = (PROC_FFTW_DESTROY_PLAN) GetDynLibFuncPtr(hinstLib, "fftw_destroy_plan"); + + MY_FFTW_EXPORT_WISDOM_TO_STRING = (PROC_FFTW_EXPORT_WISDOM_TO_STRING) GetDynLibFuncPtr(hinstLib, "fftw_export_wisdom_to_string"); + MY_FFTW_IMPORT_WISDOM_FROM_STRING = (PROC_FFTW_IMPORT_WISDOM_FROM_STRING) GetDynLibFuncPtr(hinstLib, "fftw_import_wisdom_from_string"); + MY_FFTW_FORGET_WISDOM = (PROC_FFTW_FORGET_WISDOM) GetDynLibFuncPtr(hinstLib, "fftw_forget_wisdom"); + } + + return IsLoadedFFTW(); +} +/*--------------------------------------------------------------------------*/ +BOOL DisposeFFTWLibrary(void) +{ + BOOL fFreeResult; + + if (hinstLib) + { + fFreeResult = FreeDynLibrary(hinstLib); + hinstLib = NULL; + } + + if (MY_FFTW_EXECUTE_SPLIT_DFT) + { + MY_FFTW_EXECUTE_SPLIT_DFT = NULL; + } + if (MY_FFTW_EXECUTE_SPLIT_DFT_C2R) + { + MY_FFTW_EXECUTE_SPLIT_DFT_C2R = NULL; + } + if (MY_FFTW_EXECUTE_SPLIT_DFT_R2C) + { + MY_FFTW_EXECUTE_SPLIT_DFT_R2C = NULL; + } + if (MY_FFTW_EXECUTE_SPLIT_DFT_R2R) + { + MY_FFTW_EXECUTE_SPLIT_DFT_R2R = NULL; + } + + if (MY_FFTW_PLAN_GURU_SPLIT_DFT) + { + MY_FFTW_PLAN_GURU_SPLIT_DFT = NULL; + } + if (MY_FFTW_PLAN_GURU_SPLIT_DFT_C2R) + { + MY_FFTW_PLAN_GURU_SPLIT_DFT_C2R = NULL; + } + if (MY_FFTW_PLAN_GURU_SPLIT_DFT_R2C) + { + MY_FFTW_PLAN_GURU_SPLIT_DFT_R2C = NULL; + } + if (MY_FFTW_PLAN_GURU_SPLIT_DFT_R2R) + { + MY_FFTW_PLAN_GURU_SPLIT_DFT_R2R = NULL; + } + + if (MY_FFTW_DESTROY_PLAN) + { + MY_FFTW_DESTROY_PLAN = NULL; + } + + if (MY_FFTW_EXPORT_WISDOM_TO_STRING) + { + MY_FFTW_EXPORT_WISDOM_TO_STRING = NULL; + } + if (MY_FFTW_IMPORT_WISDOM_FROM_STRING) + { + MY_FFTW_IMPORT_WISDOM_FROM_STRING = NULL; + } + if (MY_FFTW_FORGET_WISDOM) + { + MY_FFTW_FORGET_WISDOM = NULL; + } + + if ( !MY_FFTW_EXECUTE_SPLIT_DFT && !MY_FFTW_EXECUTE_SPLIT_DFT_C2R && + !MY_FFTW_EXECUTE_SPLIT_DFT_R2C && !MY_FFTW_EXECUTE_SPLIT_DFT_R2R && + !MY_FFTW_PLAN_GURU_SPLIT_DFT && !MY_FFTW_PLAN_GURU_SPLIT_DFT_C2R && + !MY_FFTW_PLAN_GURU_SPLIT_DFT_R2C && !MY_FFTW_PLAN_GURU_SPLIT_DFT_R2R && + !MY_FFTW_DESTROY_PLAN && + !MY_FFTW_EXPORT_WISDOM_TO_STRING && !MY_FFTW_IMPORT_WISDOM_FROM_STRING && + !MY_FFTW_FORGET_WISDOM ) + { + return TRUE; + } + + return FALSE; +} +/*--------------------------------------------------------------------------*/ +void call_fftw_execute_split_dft (const fftw_plan p, double *ri, double *ii, double *ro, double *io) +{ + if (MY_FFTW_EXECUTE_SPLIT_DFT) + { + (MY_FFTW_EXECUTE_SPLIT_DFT)(p, ri, ii, ro, io); + } +} +/*--------------------------------------------------------------------------*/ +void call_fftw_execute_split_dft_c2r (const fftw_plan p, double *ri, double *ii, double *ro) +{ + if (MY_FFTW_EXECUTE_SPLIT_DFT_C2R) + { + (MY_FFTW_EXECUTE_SPLIT_DFT_C2R)(p, ri, ii, ro); + } +} +/*--------------------------------------------------------------------------*/ +void call_fftw_execute_split_dft_r2c (const fftw_plan p, double *ri, double *ro, double *io) +{ + if (MY_FFTW_EXECUTE_SPLIT_DFT_R2C) + { + (MY_FFTW_EXECUTE_SPLIT_DFT_R2C)(p, ri, ro, io); + } +} +/*--------------------------------------------------------------------------*/ +void call_fftw_execute_split_dft_r2r (const fftw_plan p, double *ri, double *ro) +{ + if (MY_FFTW_EXECUTE_SPLIT_DFT_R2R) + { + (MY_FFTW_EXECUTE_SPLIT_DFT_R2R)(p, ri, ro); + } +} +/*--------------------------------------------------------------------------*/ +fftw_plan call_fftw_plan_guru_split_dft (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ii, double *ro, double *io, unsigned flags) +{ + if (MY_FFTW_PLAN_GURU_SPLIT_DFT) + { + return (fftw_plan)(MY_FFTW_PLAN_GURU_SPLIT_DFT)(rank, dims, howmany_rank, howmany_dims, ri, ii, ro, io, flags); + } + else + { + return NULL; + } +} +/*--------------------------------------------------------------------------*/ +fftw_plan call_fftw_plan_guru_split_dft_c2r (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ii, double *ro, unsigned flags) +{ + if (MY_FFTW_PLAN_GURU_SPLIT_DFT_C2R) + { + return (fftw_plan)(MY_FFTW_PLAN_GURU_SPLIT_DFT_C2R)(rank, dims, howmany_rank, howmany_dims, ri, ii, ro, flags); + } + else + { + return NULL; + } +} +/*--------------------------------------------------------------------------*/ +fftw_plan call_fftw_plan_guru_split_dft_r2c (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ro, double *io, unsigned flags) +{ + if (MY_FFTW_PLAN_GURU_SPLIT_DFT_R2C) + { + return (fftw_plan)(MY_FFTW_PLAN_GURU_SPLIT_DFT_R2C)(rank, dims, howmany_rank, howmany_dims, ri, ro, io, flags); + } + else + { + return NULL; + } +} +/*--------------------------------------------------------------------------*/ +fftw_plan call_fftw_plan_guru_split_dft_r2r (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ro, fftw_r2r_kind *kind, unsigned flags) +{ + if (MY_FFTW_PLAN_GURU_SPLIT_DFT_R2R) + { + return (fftw_plan)(MY_FFTW_PLAN_GURU_SPLIT_DFT_R2R)(rank, dims, howmany_rank, howmany_dims, ri, ro, kind, flags); + } + else + { + return NULL; + } +} + +/*--------------------------------------------------------------------------*/ +void call_fftw_destroy_plan (fftw_plan p) +{ + if (MY_FFTW_DESTROY_PLAN) + { + (MY_FFTW_DESTROY_PLAN)(p); + } +} +/*--------------------------------------------------------------------------*/ +char *call_fftw_export_wisdom_to_string (void) +{ + if (MY_FFTW_EXPORT_WISDOM_TO_STRING) + { + return (char *)(MY_FFTW_EXPORT_WISDOM_TO_STRING)(); + } + return NULL; +} +/*--------------------------------------------------------------------------*/ +int call_fftw_import_wisdom_from_string (const char *input_string) +{ + if (MY_FFTW_IMPORT_WISDOM_FROM_STRING) + { + return (int)(MY_FFTW_IMPORT_WISDOM_FROM_STRING)(input_string); + } + return 0; +} +/*--------------------------------------------------------------------------*/ +void call_fftw_forget_wisdom (void) +{ + if (MY_FFTW_FORGET_WISDOM) + { + (MY_FFTW_FORGET_WISDOM)(); + } +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/src/c/callfftw.h b/modules/fftw/src/c/callfftw.h new file mode 100755 index 000000000..87dab4910 --- /dev/null +++ b/modules/fftw/src/c/callfftw.h @@ -0,0 +1,54 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006 - INRIA - Allan CORNET + * Copyright (C) 2012 - INRIA - Serge STEER + * + * 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 + * + */ + +#ifndef __CALLFFTW_H__ +#define __CALLFFTW_H__ +/*--------------------------------------------------------------------------*/ +#include "BOOL.h" +#include "fftw3.h" +/*--------------------------------------------------------------------------*/ +BOOL IsLoadedFFTW(void); +/*--------------------------------------------------------------------------*/ +BOOL LoadFFTWLibrary(const char *libraryname); +/*--------------------------------------------------------------------------*/ +BOOL DisposeFFTWLibrary(void); +/*--------------------------------------------------------------------------*/ +void call_fftw_execute_split_dft (const fftw_plan p, double *ri, double *ii, double *ro, double *io); +/*--------------------------------------------------------------------------*/ +void call_fftw_execute_split_dft_c2r (const fftw_plan p, double *ri, double *ii, double *ro); +/*--------------------------------------------------------------------------*/ +void call_fftw_execute_split_dft_r2c (const fftw_plan p, double *ri, double *ro, double *io); +/*--------------------------------------------------------------------------*/ +void call_fftw_execute_split_dft_r2r (const fftw_plan p, double *ri, double *ro); +/*--------------------------------------------------------------------------*/ +fftw_plan call_fftw_plan_guru_split_dft (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ii, double *ro, double *io, unsigned flags) ; +/*--------------------------------------------------------------------------*/ +fftw_plan call_fftw_plan_guru_split_dft_c2r (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ii, double *ro, unsigned flags); +/*--------------------------------------------------------------------------*/ +fftw_plan call_fftw_plan_guru_split_dft_r2c (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ro, double *io, unsigned flags); +/*--------------------------------------------------------------------------*/ +fftw_plan call_fftw_plan_guru_split_dft_r2r (int rank, const fftw_iodim *dims, int howmany_rank, const fftw_iodim *howmany_dims, double *ri, double *ro, fftw_r2r_kind *kind, unsigned flags); +/*--------------------------------------------------------------------------*/ +void call_fftw_destroy_plan (fftw_plan p); +/*--------------------------------------------------------------------------*/ +char *call_fftw_export_wisdom_to_string (void); +/*--------------------------------------------------------------------------*/ +int call_fftw_import_wisdom_from_string (const char *input_string); +/*--------------------------------------------------------------------------*/ +void call_fftw_forget_wisdom (void); +/*--------------------------------------------------------------------------*/ +int withMKL(void); +/*--------------------------------------------------------------------------*/ + +#endif /* __CALLFFTW_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/src/c/fftw.rc b/modules/fftw/src/c/fftw.rc new file mode 100755 index 000000000..664ea0a8b --- /dev/null +++ b/modules/fftw/src/c/fftw.rc @@ -0,0 +1,97 @@ +// Microsoft Visual C++ generated resource script. +// + + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +//#include "afxres.h" +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// French (France) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) +#ifdef _WIN32 +LANGUAGE LANG_FRENCH, SUBLANG_FRENCH +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 5,5,2,0 + PRODUCTVERSION 5,5,2,0 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x0L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040c04b0" + BEGIN + VALUE "CompanyName", "Scilab" + VALUE "FileDescription", "fftw module" + VALUE "FileVersion", "5, 5, 2, 0" + VALUE "InternalName", "fftw" + VALUE "LegalCopyright", "Copyright (C) 2017" + VALUE "OriginalFilename", "fftw.rc" + VALUE "ProductName", " fftw" + VALUE "ProductVersion", "5, 5, 2, 0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x40c, 1200 + END +END + +#endif // French (France) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/modules/fftw/src/c/fftw3.h b/modules/fftw/src/c/fftw3.h new file mode 100755 index 000000000..75a93a0cb --- /dev/null +++ b/modules/fftw/src/c/fftw3.h @@ -0,0 +1,334 @@ +/* + * Copyright (c) 2003, 2006 Matteo Frigo + * Copyright (c) 2003, 2006 Massachusetts Institute of Technology + * + * The following statement of license applies *only* to this header file, + * and *not* to the other files distributed with FFTW or derived therefrom: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/***************************** NOTE TO USERS ********************************* + * + * THIS IS A HEADER FILE, NOT A MANUAL + * + * If you want to know how to use FFTW, please read the manual, + * online at http://www.fftw.org/doc/ and also included with FFTW. + * For a quick start, see the manual's tutorial section. + * + * (Reading header files to learn how to use a library is a habit + * stemming from code lacking a proper manual. Arguably, it's a + * *bad* habit in most cases, because header files can contain + * interfaces that are not part of the public, stable API.) + * + ****************************************************************************/ + +/* header file for fftw3 */ +/* (The following is the CVS ID for this file, *not* the version + number of FFTW:) */ +/* $Id: fftw3.h,v 1.90 2006-01-17 04:03:33 stevenj Exp $ */ + +#ifndef FFTW3_H +#define FFTW3_H + +#include <stdio.h> + +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ + + /* If <complex.h> is included, use the C99 complex type. Otherwise + define a type bit-compatible with C99 complex */ +#if !defined(FFTW_NO_Complex) && defined(_Complex_I) && defined(complex) && defined(I) +# define FFTW_DEFINE_COMPLEX(R, C) typedef R _Complex C +#else +# define FFTW_DEFINE_COMPLEX(R, C) typedef R C[2] +#endif + +#define FFTW_CONCAT(prefix, name) prefix ## name +#define FFTW_MANGLE_DOUBLE(name) FFTW_CONCAT(fftw_, name) +#define FFTW_MANGLE_FLOAT(name) FFTW_CONCAT(fftwf_, name) +#define FFTW_MANGLE_LONG_DOUBLE(name) FFTW_CONCAT(fftwl_, name) + + /* IMPORTANT: for Windows compilers, you should add a line + */ +#define FFTW_DLL + /* + here and in kernel/ifftw.h if you are compiling/using FFTW as a + DLL, in order to do the proper importing/exporting, or + alternatively compile with -DFFTW_DLL or the equivalent + command-line flag. This is not necessary under MinGW/Cygwin, where + libtool does the imports/exports automatically. */ +#if defined(FFTW_DLL) && (defined(_WIN32) || defined(__WIN32__)) + /* annoying Windows syntax for shared-library declarations */ +# if defined(COMPILING_FFTW) /* defined in api.h when compiling FFTW */ +# define FFTW_EXTERN extern __declspec(dllexport) +# else /* user is calling FFTW; import symbol */ +# define FFTW_EXTERN extern __declspec(dllimport) +# endif +#else +# define FFTW_EXTERN extern +#endif + + enum fftw_r2r_kind_do_not_use_me { + FFTW_R2HC = 0, FFTW_HC2R = 1, FFTW_DHT = 2, + FFTW_REDFT00 = 3, FFTW_REDFT01 = 4, FFTW_REDFT10 = 5, FFTW_REDFT11 = 6, + FFTW_RODFT00 = 7, FFTW_RODFT01 = 8, FFTW_RODFT10 = 9, FFTW_RODFT11 = 10 + }; + + struct fftw_iodim_do_not_use_me + { + int n; /* dimension size */ + int is; /* input stride */ + int os; /* output stride */ + }; + + /* + huge second-order macro that defines prototypes for all API + functions. We expand this macro for each supported precision + + X: name-mangling macro + R: real data type + C: complex data type + */ + +#define FFTW_DEFINE_API(X, R, C) \ + \ +FFTW_DEFINE_COMPLEX(R, C); \ + \ +typedef struct X(plan_s) *X(plan); \ + \ +typedef struct fftw_iodim_do_not_use_me X(iodim); \ + \ +typedef enum fftw_r2r_kind_do_not_use_me X(r2r_kind); \ + \ +FFTW_EXTERN void X(execute)(const X(plan) p); \ + \ +FFTW_EXTERN X(plan) X(plan_dft)(int rank, const int *n, \ + C *in, C *out, int sign, unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_dft_1d)(int n, C *in, C *out, int sign, \ + unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_dft_2d)(int nx, int ny, \ + C *in, C *out, int sign, unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_dft_3d)(int nx, int ny, int nz, \ + C *in, C *out, int sign, unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_many_dft)(int rank, const int *n, \ + int howmany, \ + C *in, const int *inembed, \ + int istride, int idist, \ + C *out, const int *onembed, \ + int ostride, int odist, \ + int sign, unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_guru_dft)(int rank, const X(iodim) *dims, \ + int howmany_rank, \ + const X(iodim) *howmany_dims, \ + C *in, C *out, \ + int sign, unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_guru_split_dft)(int rank, const X(iodim) *dims, \ + int howmany_rank, \ + const X(iodim) *howmany_dims, \ + R *ri, R *ii, R *ro, R *io, \ + unsigned flags); \ + \ +FFTW_EXTERN void X(execute_dft)(const X(plan) p, C *in, C *out); \ +FFTW_EXTERN void X(execute_split_dft)(const X(plan) p, R *ri, R *ii, \ + R *ro, R *io); \ + \ +FFTW_EXTERN X(plan) X(plan_many_dft_r2c)(int rank, const int *n, \ + int howmany, \ + R *in, const int *inembed, \ + int istride, int idist, \ + C *out, const int *onembed, \ + int ostride, int odist, \ + unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_dft_r2c)(int rank, const int *n, \ + R *in, C *out, unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_dft_r2c_1d)(int n,R *in,C *out,unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_dft_r2c_2d)(int nx, int ny, \ + R *in, C *out, unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_dft_r2c_3d)(int nx, int ny, \ + int nz, \ + R *in, C *out, unsigned flags); \ + \ + \ +FFTW_EXTERN X(plan) X(plan_many_dft_c2r)(int rank, const int *n, \ + int howmany, \ + C *in, const int *inembed, \ + int istride, int idist, \ + R *out, const int *onembed, \ + int ostride, int odist, \ + unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_dft_c2r)(int rank, const int *n, \ + C *in, R *out, unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_dft_c2r_1d)(int n,C *in,R *out,unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_dft_c2r_2d)(int nx, int ny, \ + C *in, R *out, unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_dft_c2r_3d)(int nx, int ny, \ + int nz, \ + C *in, R *out, unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_guru_dft_r2c)(int rank, const X(iodim) *dims, \ + int howmany_rank, \ + const X(iodim) *howmany_dims, \ + R *in, C *out, \ + unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_guru_dft_c2r)(int rank, const X(iodim) *dims, \ + int howmany_rank, \ + const X(iodim) *howmany_dims, \ + C *in, R *out, \ + unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_guru_split_dft_r2c)( \ + int rank, const X(iodim) *dims, \ + int howmany_rank, \ + const X(iodim) *howmany_dims, \ + R *in, R *ro, R *io, \ + unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_guru_split_dft_c2r)( \ + int rank, const X(iodim) *dims, \ + int howmany_rank, \ + const X(iodim) *howmany_dims, \ + R *ri, R *ii, R *out, \ + unsigned flags); \ + \ +FFTW_EXTERN void X(execute_dft_r2c)(const X(plan) p, R *in, C *out); \ +FFTW_EXTERN void X(execute_dft_c2r)(const X(plan) p, C *in, R *out); \ + \ +FFTW_EXTERN void X(execute_split_dft_r2c)(const X(plan) p, \ + R *in, R *ro, R *io); \ +FFTW_EXTERN void X(execute_split_dft_c2r)(const X(plan) p, \ + R *ri, R *ii, R *out); \ + \ +FFTW_EXTERN X(plan) X(plan_many_r2r)(int rank, const int *n, \ + int howmany, \ + R *in, const int *inembed, \ + int istride, int idist, \ + R *out, const int *onembed, \ + int ostride, int odist, \ + const X(r2r_kind) *kind, unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_r2r)(int rank, const int *n, R *in, R *out, \ + const X(r2r_kind) *kind, unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_r2r_1d)(int n, R *in, R *out, \ + X(r2r_kind) kind, unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_r2r_2d)(int nx, int ny, R *in, R *out, \ + X(r2r_kind) kindx, X(r2r_kind) kindy, \ + unsigned flags); \ +FFTW_EXTERN X(plan) X(plan_r2r_3d)(int nx, int ny, int nz, \ + R *in, R *out, X(r2r_kind) kindx, \ + X(r2r_kind) kindy, X(r2r_kind) kindz, \ + unsigned flags); \ + \ +FFTW_EXTERN X(plan) X(plan_guru_r2r)(int rank, const X(iodim) *dims, \ + int howmany_rank, \ + const X(iodim) *howmany_dims, \ + R *in, R *out, \ + const X(r2r_kind) *kind, unsigned flags); \ +FFTW_EXTERN void X(execute_r2r)(const X(plan) p, R *in, R *out); \ + \ +FFTW_EXTERN void X(destroy_plan)(X(plan) p); \ +FFTW_EXTERN void X(forget_wisdom)(void); \ +FFTW_EXTERN void X(cleanup)(void); \ + \ +FFTW_EXTERN void X(set_timelimit)(double); \ + \ +FFTW_EXTERN void X(plan_with_nthreads)(int nthreads); \ +FFTW_EXTERN int X(init_threads)(void); \ +FFTW_EXTERN void X(cleanup_threads)(void); \ + \ +FFTW_EXTERN void X(export_wisdom_to_file)(FILE *output_file); \ +FFTW_EXTERN char *X(export_wisdom_to_string)(void); \ +FFTW_EXTERN void X(export_wisdom)(void (*write_char)(char c, void *), \ + void *data); \ +FFTW_EXTERN int X(import_system_wisdom)(void); \ +FFTW_EXTERN int X(import_wisdom_from_file)(FILE *input_file); \ +FFTW_EXTERN int X(import_wisdom_from_string)(const char *input_string); \ +FFTW_EXTERN int X(import_wisdom)(int (*read_char)(void *), void *data); \ + \ +FFTW_EXTERN void X(fprint_plan)(const X(plan) p, FILE *output_file); \ +FFTW_EXTERN void X(print_plan)(const X(plan) p); \ + \ +FFTW_EXTERN void *X(malloc)(size_t n); \ +FFTW_EXTERN void X(free)(void *p); \ + \ +FFTW_EXTERN void X(flops)(const X(plan) p, \ + double *add, double *mul, double *fmas); \ +FFTW_EXTERN double X(estimate_cost)(const X(plan) p); \ + \ +FFTW_EXTERN const char X(version)[]; \ +FFTW_EXTERN const char X(cc)[]; \ +FFTW_EXTERN const char X(codelet_optim)[]; + + + /* end of FFTW_DEFINE_API macro */ + + FFTW_DEFINE_API(FFTW_MANGLE_DOUBLE, double, fftw_complex) + FFTW_DEFINE_API(FFTW_MANGLE_FLOAT, float, fftwf_complex) + FFTW_DEFINE_API(FFTW_MANGLE_LONG_DOUBLE, long double, fftwl_complex) + +#define FFTW_FORWARD (-1) +#define FFTW_BACKWARD (+1) + +#define FFTW_NO_TIMELIMIT (-1.0) + + /* documented flags */ +#define FFTW_MEASURE (0U) +#define FFTW_DESTROY_INPUT (1U << 0) +#define FFTW_UNALIGNED (1U << 1) +#define FFTW_CONSERVE_MEMORY (1U << 2) +#define FFTW_EXHAUSTIVE (1U << 3) /* NO_EXHAUSTIVE is default */ +#define FFTW_PRESERVE_INPUT (1U << 4) /* cancels FFTW_DESTROY_INPUT */ +#define FFTW_PATIENT (1U << 5) /* IMPATIENT is default */ +#define FFTW_ESTIMATE (1U << 6) + + /* undocumented beyond-guru flags */ +#define FFTW_ESTIMATE_PATIENT (1U << 7) +#define FFTW_BELIEVE_PCOST (1U << 8) +#define FFTW_NO_DFT_R2HC (1U << 9) +#define FFTW_NO_NONTHREADED (1U << 10) +#define FFTW_NO_BUFFERING (1U << 11) +#define FFTW_NO_INDIRECT_OP (1U << 12) +#define FFTW_ALLOW_LARGE_GENERIC (1U << 13) /* NO_LARGE_GENERIC is default */ +#define FFTW_NO_RANK_SPLITS (1U << 14) +#define FFTW_NO_VRANK_SPLITS (1U << 15) +#define FFTW_NO_VRECURSE (1U << 16) +#define FFTW_NO_SIMD (1U << 17) +#define FFTW_NO_SLOW (1U << 18) +#define FFTW_NO_FIXED_RADIX_LARGE_N (1U << 19) +#define FFTW_ALLOW_PRUNING (1U << 20) + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* FFTW3_H */ diff --git a/modules/fftw/src/c/fftw_utilities.c b/modules/fftw/src/c/fftw_utilities.c new file mode 100755 index 000000000..2a9f5e020 --- /dev/null +++ b/modules/fftw/src/c/fftw_utilities.c @@ -0,0 +1,1933 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2007 - INRIA - Alan LAYEC + * Copyright (C) 2007 - INRIA - Allan CORNET + * Copyright (C) 2012 - INRIA - Serge STEER + * + * 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 "fftw_utilities.h" +#include "MALLOC.h" +#include "callfftw.h" +#include <math.h> +int check_1D_symmetry(double *Ar, double *Ai, int nA, int iA); +int check_2D_symmetry(double *Ar, double *Ai, int mA, int iA, int nA, int jA); +int check_ND_symmetry(double *Ar, double *Ai, int ndims, int *dims, int *incr); + +void complete_1D_array(double *Ar, double *Ai, int nA, int iA); +void complete_2D_array(double *Ar, double *Ai, int mA, int iA, int nA, int jA); +int complete_ND_array(double *Ar, double *Ai, int ndims, int *dims, int *incr); +void dct_scale_1D_array(double *Ar, double *Ai, int nA, int iA, int isn, double fact); +void dct_scale_2D_array(double *Ar, double *Ai, int mA, int iA, int nA, int jA, int isn, double fact); +int dct_scale_ND_array(double *Ar, double *Ai, int ndims, int *dims, int *incr, int isn, double fact); + +void dst_scale_1D_array(double *Ar, double *Ai, int nA, int iA, int isn, double fact); +void dst_scale_2D_array(double *Ar, double *Ai, int mA, int iA, int nA, int jA, int isn, double fact); +int dst_scale_ND_array(double *Ar, double *Ai, int ndims, int *dims, int *incr, int isn, double fact); + +/*--------------------------------------------------------------------------*/ +/* definition of structures to store parameters + * of FFTW planners - set here default value - + */ +FFTW_Plan_struct Sci_Forward_Plan = +{ + 0, /* int plan_type */ + NULL, /* fftw_plan p */ + {0, NULL, 0, NULL}, /* guru_dim_struct gdim */ + FFTW_ESTIMATE, /* unsigned flags */ + NULL /* kind */ +}; + +FFTW_Plan_struct Sci_Backward_Plan = +{ + 0, /* int plan_type */ + NULL, /* fftw_plan p */ + {0, NULL, 0, NULL}, /* guru_dim_struct gdim */ + FFTW_ESTIMATE, /* unsigned flags */ + NULL /* kind */ +}; +/*--------------------------------------------------------------------------*/ +FFTW_Plan_struct *getSci_Backward_Plan(void) +{ + return &Sci_Backward_Plan; +} +/*--------------------------------------------------------------------------*/ +FFTW_Plan_struct *getSci_Forward_Plan(void) +{ + return &Sci_Forward_Plan; +} +/*--------------------------------------------------------------------------*/ +unsigned cur_fftw_flags = FFTW_ESTIMATE; +/*--------------------------------------------------------------------------*/ +unsigned int getCurrentFftwFlags(void) +{ + return cur_fftw_flags; +} +/*--------------------------------------------------------------------------*/ +void setCurrentFftwFlags(unsigned int newFftwFlags) +{ + cur_fftw_flags = newFftwFlags; +} +/*--------------------------------------------------------------------------*/ +/* Free a FFTW_Plan_struct + * + * Input : FFTW_Plan_struct *Sci_Plan + * + * Output : int, return 1. + * + */ +int FreeFFTWPlan(FFTW_Plan_struct *Sci_Plan) +{ + if (Sci_Plan->p != NULL) + { + call_fftw_destroy_plan(Sci_Plan->p); + Sci_Plan->p = NULL; + } + if (Sci_Plan->gdim.rank != 0) + { + Sci_Plan->gdim.rank = 0; + FREE(Sci_Plan->gdim.dims); + Sci_Plan->gdim.dims = NULL; + FREE(Sci_Plan->kind); + Sci_Plan->kind = NULL; + } + if (Sci_Plan->gdim.howmany_rank != 0) + { + Sci_Plan->gdim.howmany_rank = 0; + FREE(Sci_Plan->gdim.howmany_dims); + Sci_Plan->gdim.howmany_dims = NULL; + } + return(1); +} +/*--------------------------------------------------------------------------*/ +/* Return a valid plan ptr. + * This function search in the Sci_xx_Plan structures if + * the given input parameters follows an already stored + * set of parameters. + * If found then return an already stored plan ptr. + * If not found, then returns + * a new set of parameters (and a new plan) + * with fftw_plan_guru_split_dft + * and store it in Sci_xx_Plan structures + * + * Input : guru_dim_struct *gdim + * double *ri, double *ii + * double *ro, double *io + * unsigned flags, int isn + * + * Output : fftw_plan + * + * + */ +fftw_plan GetFFTWPlan(enum Plan_Type type, guru_dim_struct *gdim, + double *ri, double *ii, + double *ro, double *io, + unsigned flags, int isn, fftw_r2r_kind *kind, int *errflag) +{ + FFTW_Plan_struct *Sci_Plan; + int i = 0; + + *errflag = 0; + + if (isn == -1) + { + Sci_Plan = &Sci_Backward_Plan; + } + else + { + Sci_Plan = &Sci_Forward_Plan; + } + + if ( (!(CheckGuruDims(&(Sci_Plan->gdim), gdim))) || + (!CheckKindArray(Sci_Plan->kind, kind, gdim->rank)) || + (Sci_Plan->flags != cur_fftw_flags) || + (Sci_Plan->plan_type != type)) + { + /* plan must be changed */ + FreeFFTWPlan(Sci_Plan); + + Sci_Plan->plan_type = type; + if (gdim->rank != 0) + { + Sci_Plan->gdim.rank = gdim->rank; + if ((Sci_Plan->gdim.dims = (fftw_iodim *) MALLOC(sizeof(fftw_iodim) * (gdim->rank))) == NULL) + { + *errflag = 1; + return(NULL); + } + for (i = 0; i < gdim->rank; i++) + { + Sci_Plan->gdim.dims[i].n = gdim->dims[i].n; + Sci_Plan->gdim.dims[i].is = gdim->dims[i].is; + Sci_Plan->gdim.dims[i].os = gdim->dims[i].os; + } + + if (kind != NULL) + { + if ((Sci_Plan->kind = (fftw_r2r_kind *) MALLOC(sizeof(fftw_r2r_kind) * (gdim->rank))) == NULL) + { + *errflag = 1; + return(NULL); + } + for (i = 0; i < gdim->rank; i++) + { + Sci_Plan->kind[i] = kind[i]; + } + } + } + if (gdim->howmany_rank != 0) + { + Sci_Plan->gdim.howmany_rank = gdim->howmany_rank; + if ((Sci_Plan->gdim.howmany_dims = (fftw_iodim *) MALLOC(sizeof(fftw_iodim) * (gdim->howmany_rank))) == NULL) + { + FREE(Sci_Plan->gdim.dims); + *errflag = 1; + return(NULL); + } + for (i = 0; i < gdim->howmany_rank; i++) + { + Sci_Plan->gdim.howmany_dims[i].n = gdim->howmany_dims[i].n; + Sci_Plan->gdim.howmany_dims[i].is = gdim->howmany_dims[i].is; + Sci_Plan->gdim.howmany_dims[i].os = gdim->howmany_dims[i].os; + } + } + + Sci_Plan->flags = cur_fftw_flags; + + switch (type) + { + case C2C_PLAN: + Sci_Plan->p = call_fftw_plan_guru_split_dft(Sci_Plan->gdim.rank, + Sci_Plan->gdim.dims, + Sci_Plan->gdim.howmany_rank, + Sci_Plan->gdim.howmany_dims, + ri, ii, ro, io, + Sci_Plan->flags); + break; + case C2R_PLAN: + Sci_Plan->p = call_fftw_plan_guru_split_dft_c2r(Sci_Plan->gdim.rank, + Sci_Plan->gdim.dims, + Sci_Plan->gdim.howmany_rank, + Sci_Plan->gdim.howmany_dims, + ri, ii, ro, flags); + break; + case R2C_PLAN: + Sci_Plan->p = call_fftw_plan_guru_split_dft_r2c(Sci_Plan->gdim.rank, + Sci_Plan->gdim.dims, + Sci_Plan->gdim.howmany_rank, + Sci_Plan->gdim.howmany_dims, + ri, ro, io, flags); + + break; + case R2R_PLAN: + Sci_Plan->p = call_fftw_plan_guru_split_dft_r2r(Sci_Plan->gdim.rank, + Sci_Plan->gdim.dims, + Sci_Plan->gdim.howmany_rank, + Sci_Plan->gdim.howmany_dims, + ri, ro, kind, flags); + break; + } + + } + if (Sci_Plan->p == NULL) + { + *errflag = 2; + } + return(Sci_Plan->p); +} +/*--------------------------------------------------------------------------*/ +/* Check if two guru_dim structures are equal + * + * Input : guru_dim_struct *gdim1 + * guru_dim_struct *gdim2 + * + * Output : int, return 0 if False, else 1. + * + */ +int CheckGuruDims(guru_dim_struct *gdim1, guru_dim_struct *gdim2) +{ + int i; + + if ( (gdim1->rank == gdim2->rank) && + (gdim1->howmany_rank == gdim2->howmany_rank)) + { + for (i = 0; i < gdim1->rank; i++) + { + if (gdim1->dims[i].n != gdim2->dims[i].n) + { + return(0); + } + if (gdim1->dims[i].is != gdim2->dims[i].is) + { + return(0); + } + if (gdim1->dims[i].os != gdim2->dims[i].os) + { + return(0); + } + } + for (i = 0; i < gdim1->howmany_rank; i++) + { + if (gdim1->howmany_dims[i].n != gdim2->howmany_dims[i].n) + { + return(0); + } + if (gdim1->howmany_dims[i].is != gdim2->howmany_dims[i].is) + { + return(0); + } + if (gdim1->howmany_dims[i].os != gdim2->howmany_dims[i].os) + { + return(0); + } + } + return(1); + } + else + { + return(0); + } +} +/*--------------------------------------------------------------------------*/ +/* Check if kind array are equal + * + * Input : fftw_r2r_kind *kind1 + * gfftw_r2r_kind *kind2 + * int rank + * + * Output : int, return 0 if False, else 1. + * + */ +int CheckKindArray(fftw_r2r_kind *kind1, fftw_r2r_kind *kind2, int rank) +{ + int i; + if ((kind1 == NULL) && (kind2 == NULL)) + { + return(1); + } + + for (i = 0; i < rank; i++) + { + if (kind1[i] != kind2[i]) + { + return(0); + } + } + return(1); +} +/*--------------------------------------------------------------------------*/ +/* call different fftw_execute_split_dft_xxx procedures according to type input + * + * Input : Plan_Type type + * fftw_plan p + * double *ri + * double *ii + * Output : double *ro + * double *io + */ +void ExecuteFFTWPlan(enum Plan_Type type, const fftw_plan p, double *ri, double *ii, double *ro, double *io) +{ + switch (type) + { + case C2C_PLAN: + call_fftw_execute_split_dft(p, ri, ii, ro, io); + break; + case C2R_PLAN: + call_fftw_execute_split_dft_c2r(p, ri, ii, ro); + break; + case R2C_PLAN: + call_fftw_execute_split_dft_r2c(p, ri, ro, io); + break; + case R2R_PLAN: + call_fftw_execute_split_dft_r2r(p, ri, ro); + break; + } +} +/*--------------------------------------------------------------------------*/ +int is_real(double *Ar, double *Ai, int ndims, int *dims) +{ + double zero = 0.0; + int t = 1; + int i = 0; + int lA = 1; + + + for (i = 0; i < ndims; i++) + { + lA = lA * dims[i]; + } + + /*Check if A is real*/ + if (Ai != NULL) + { + for (i = 0; i < lA; i++) + { + if (Ai[i] != zero) + { + t = 0; + break; + } + } + } + return t; +} + +/*-------------------------------------------------------------------------- + * Check if a 1D array A is "symmetric" or hermitian symmetric for fft. + * A==conj(A([1 $:-1:2])) + * Ar : pointer on real part array + * Ai : pointer on imaginary part array or NULL + * nA : number of elements + * iA : increment between 2 consecutive element of the array + */ + +int check_1D_symmetry(double *Ar, double *Ai, int nA, int iA) +{ + int i = 0; + int nas2 = (int)(nA / 2); + double zero = 0.0; + //Checking real part + if ( nA % 2 == 0) + { + /* A length is even */ + for (i = 1; i < nas2; i++) + { + if (Ar[iA * i] != Ar[iA * (nA - i)]) + { + return 0; + } + } + } + else + { + /* A length is odd */ + for (i = 1; i <= nas2; i++) + { + if (Ar[iA * i] != Ar[iA * (nA - i)]) + { + return 0; + } + } + } + if (Ai == NULL) + { + return 1; + } + //Checking imaginary part + if ( nA % 2 == 0) + { + /* A length is even */ + if (Ai[0] != zero || Ai[iA * (nA / 2)] != zero) + { + return 0; + } + for (i = 1; i < nas2; i++) + { + if (Ai[iA * i] != -Ai[iA * (nA - i)]) + { + return 0; + } + } + } + else + { + /* A length is odd */ + if (Ai[0] != zero) + { + return 0; + } + for (i = 1; i <= nas2; i++) + { + if (Ai[iA * i] != -Ai[iA * (nA - i)]) + { + return 0; + } + } + } + return 1; +} +/*-------------------------------------------------------------------------- + * Check if a 2D array A is "symmetric" or hermitian symmetric for fft. + * A==conj(A([1 $:-1:2],[1 $:-1:2]) + * Ar : pointer on real part array + * Ai : pointer on imaginary part array or NULL + * mA : number of rows + * nA : number of columns + * iA : increment between 2 consecutive element of a row + * jA : increment between 2 consecutive element of a column + */ + +int check_2D_symmetry(double *Ar, double *Ai, int mA, int iA, int nA, int jA) +{ + int l1 = 0; + int l2 = 0; + int k = 0; + int l = 0; + int nAs2 = (int)(nA / 2) + 1; /* A VERIFIER */ + + /* Check first column */ + if (!check_1D_symmetry(Ar, Ai, mA, iA)) + { + return 0; + } + /* Check first row */ + if (!check_1D_symmetry(Ar, Ai, nA, jA)) + { + return 0; + } + + /* Check A(2:$,2:$) block */ + if (Ai == NULL) + { + for (k = 1; k < nAs2; k++) + { + l1 = jA * k + iA ; + l2 = jA * (nA - k) + iA * (mA - 1); + for (l = 1; l < mA; l++) + { + if (Ar[l1] != Ar[l2]) + { + return 0; + } + l1 += iA; + l2 -= iA; + } + } + } + else + { + for (k = 1; k < nAs2; k++) + { + l1 = jA * k + iA ; + l2 = jA * (nA - k) + iA * (mA - 1); + for (l = 1; l < mA; l++) + { + if ((Ar[l1] != Ar[l2]) || (Ai[l1] != -Ai[l2])) + { + return 0; + } + l1 += iA; + l2 -= iA; + } + } + } + return 1; +} + +/*-------------------------------------------------------------------------- + * Check if a N-D array A is "symmetric" or hermitian symmetric for fft + * A==conj(A([1 $:-1:2],...,[1 $:-1:2]) + * Ar : pointer on real part array + * Ai : pointer on imaginary part array or NULL + * mA : number of rows + * nA : number of columns + * iA : increment between 2 consecutive element of a row + * jA : increment between 2 consecutive element of a column + */ + +int check_ND_symmetry(double *Ar, double *Ai, int ndims, int *dims, int *incr) +{ + int i = 0, j = 0, l = 0; + int r = 0; + int l1 = 0;/* current 1-D index in array*/ + int l2 = 0;/* associated symmetric value 1-D index */ + int *temp = NULL; + int *dims1 = NULL; + int *incr1 = NULL; + int nSub = 0, nSubs2 = 0; + int k = 0, step = 0; + + if (ndims == 2) + { + r = check_2D_symmetry(Ar, Ai, dims[0], incr[0], dims[1], incr[1]); + return r; + } + else if (ndims == 1) + { + r = check_1D_symmetry(Ar, Ai, dims[0], incr[0]); + return r; + } + + if ((temp = (int *)MALLOC(sizeof(int) * (2 * ndims))) == NULL) + { + return -1; + } + dims1 = temp; + incr1 = temp + ndims; + + for (i = 0; i < ndims; i++) + { + /* remove current dimension and increment out of dims ans incr */ + l = 0; + for (j = 0; j < ndims; j++) + { + if (j != i) + { + dims1[l] = dims[j]; + incr1[l] = incr[j]; + l++; + } + } + r = check_ND_symmetry(Ar, Ai, ndims - 1, dims1, incr1); + if (r != 1) + { + dims1 = NULL; + incr1 = NULL; + FREE(temp); + return r; + } + } + + /* check bloc A(2:$,....,2:$)*/ + /*A(2,...,2) index*/ + l1 = 0; + for (i = 0; i < ndims; i++) + { + l1 += incr[i]; + } + /*A($,...,$) index*/ + l2 = 0; + for (i = 0; i < ndims; i++) + { + l2 += (dims[i] - 1) * incr[i]; + } + + + /* cumprod(size(A(2:$,....,2:$)))*/ + incr1[0] = dims[0] - 1; + for (i = 1; i < (ndims - 1); i++) + { + incr1[i] = incr1[i - 1] * (dims[i] - 1) ; + } + /* steps*/ + dims1[0] = (dims[0] - 2) * incr[0]; + for (i = 1; i < (ndims - 1); i++) + { + dims1[i] = dims1[i - 1] + (dims[i] - 2) * incr[i]; + } + + /* A(2:$,....,2:$) block number of elements*/ + nSub = 1; + for (i = 0; i < ndims; i++) + { + nSub *= (dims[i] - 1); + } + + nSubs2 = (int)(nSub / 2); + + + if (Ai == NULL) + { + /* Real case */ + for (i = 0; i < nSubs2; i++) + { + + if (Ar[l1] != Ar[l2]) + { + return 0; + } + step = incr[0]; + for (j = ndims - 2; j >= 0; j--) + { + if ((i + 1) % incr1[j] == 0) + { + step = -dims1[j] + incr[j + 1] ; + break; + } + } + l1 += step; + l2 -= step; + } + } + else /* Complex case */ + { + for (i = 0; i < nSubs2; i++) + { + if (Ar[l1] != Ar[l2] || Ai[l1] != -Ai[l2]) + { + return 0; + } + step = incr[0]; + for (j = ndims - 2; j >= 0; j--) + { + if ((i + 1) % incr1[j] == 0) + { + step = -dims1[j] + incr[j + 1] ; + break; + } + } + l1 += step; + l2 -= step; + } + } + dims1 = NULL; + incr1 = NULL; + FREE(temp); + return 1; +} + + + +int check_array_symmetry(double *Ar, double *Ai, guru_dim_struct gdim) +{ + int ndims = gdim.rank; + int * dims = NULL; + int * incr = NULL; + int r = -1; + int i = 0, j = 0, k = 0; + + if (gdim.howmany_rank == 0) + { + switch (gdim.rank) + { + case 1: + return check_1D_symmetry(Ar, Ai, gdim.dims[0].n, gdim.dims[0].is); + case 2: + return check_2D_symmetry(Ar, Ai, gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is); + default: /*general N-D case*/ + if ((dims = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + return -1; + } + if ((incr = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + FREE(dims); + return -1; + } + for (i = 0; i < ndims; i++) + { + dims[i] = gdim.dims[i].n; + incr[i] = gdim.dims[i].is; + } + r = check_ND_symmetry(Ar, Ai, ndims, dims, incr); + FREE(dims); + FREE(incr); + return r; + } + } + else + { + int m = 0; + int p = 1; + int *dims1 = NULL; + int *incr1 = NULL; + int ir = 0; + + if ((dims1 = (int *)MALLOC(sizeof(int) * gdim.howmany_rank)) == NULL) + { + return -1; + } + dims1[0] = gdim.howmany_dims[0].n; + for (i = 1; i < gdim.howmany_rank; i++) + { + dims1[i] = dims1[i - 1] * gdim.howmany_dims[i].n; + } + m = dims1[gdim.howmany_rank - 1]; + + if ((incr1 = (int *)MALLOC(sizeof(int) * gdim.howmany_rank)) == NULL) + { + FREE(dims1); + return -1; + } + p = 1; + for (i = 0; i < gdim.howmany_rank; i++) + { + p += (gdim.howmany_dims[i].n - 1) * gdim.howmany_dims[i].is; + incr1[i] = p; + } + switch (gdim.rank) + { + case 1: + if (Ai == NULL) + { + /* multiple 1D fft */ + for (ir = 0; ir < gdim.howmany_rank; ir++) + { + j = 0; + for (i = 1; i <= m; i++) + { + if ((r = check_1D_symmetry(Ar + j, NULL, gdim.dims[0].n, gdim.dims[0].is)) != 1 ) + { + return r; + } + j += gdim.howmany_dims[0].is; + for (k = gdim.howmany_rank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + } + else + { + for (ir = 0; ir < gdim.howmany_rank; ir++) + { + j = 0; + for (i = 1; i <= m; i++) + { + if ((r = check_1D_symmetry(Ar + j, Ai + j, gdim.dims[0].n, gdim.dims[0].is)) != 1 ) + { + return r; + } + j += gdim.howmany_dims[0].is; + for (k = gdim.howmany_rank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + } + FREE(dims1); + return 1; + case 2: /* multiple 2D fft */ + if (Ai == NULL) + { + for (ir = 0; ir < gdim.howmany_rank; ir++) + { + j = 0; + for (i = 1; i <= m; i++) + { + if ((r = check_2D_symmetry(Ar + j, NULL, gdim.dims[0].n, gdim.dims[0].is, + gdim.dims[1].n, gdim.dims[1].is)) != 1 ) + { + return r; + } + j += gdim.howmany_dims[0].is; + + for (k = gdim.howmany_rank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + } + else + { + for (ir = 0; ir < gdim.howmany_rank; ir++) + { + j = 0; + for (i = 1; i <= m; i++) + { + if ((r = check_2D_symmetry(Ar + j, Ai + j, gdim.dims[0].n, gdim.dims[0].is, + gdim.dims[1].n, gdim.dims[1].is)) != 1 ) + { + return r; + } + j += gdim.howmany_dims[0].is; + for (k = gdim.howmany_rank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + } + FREE(dims1); + FREE(incr1); + return 1; + default: /*general N-D case*/ + if ((dims = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + return -1; + } + if ((incr = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + FREE(dims); + return -1; + } + for (i = 0; i < ndims; i++) + { + dims[i] = gdim.dims[i].n; + incr[i] = gdim.dims[i].is; + } + for (ir = 0; ir < gdim.howmany_rank; ir++) + { + j = 0; + for (i = 1; i <= m; i++) + { + if (Ai == NULL) + { + r = check_ND_symmetry(Ar + j, NULL, ndims, dims, incr); + } + else + { + r = check_ND_symmetry(Ar + j, Ai + j, ndims, dims, incr); + } + if (r <= 0) + { + FREE(dims); + FREE(incr); + FREE(dims1); + return r; + } + j += gdim.howmany_dims[0].is; + for (k = gdim.howmany_rank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + FREE(dims); + FREE(incr); + FREE(dims1); + return 1; + } + } + return 1; +} +/*-------------------------------------------------------------------------- + * "symmetrizing" a vector A of length nA modifying the second half part of the vector + * nA even: A=[a0 A1 conj(A1($:-1:1))] + * nA odd : A=[a0 A1 am conj(A1($:-1:1))] + */ + +void complete_1D_array(double *Ar, double *Ai, int nA, int iA) +{ + + if (nA > 2) + { + int nAs2 = (int)(nA / 2); + int n = (nA % 2 == 0) ? nAs2 - 1 : nAs2; + int l1 = iA; /* ignore first element */ + int l2 = (nA - 1) * iA; + int i = 0; + if (Ai == NULL) + { + for (i = 0; i < n; i++) + { + Ar[l2] = Ar[l1]; + l1 += iA; + l2 -= iA; + } + } + else + { + for (i = 0; i < n; i++) + { + Ar[l2] = Ar[l1]; + Ai[l2] = -Ai[l1]; + l1 += iA; + l2 -= iA; + } + } + } +} + +/*-------------------------------------------------------------------------- + * "symmetrizing" a mA x nA array modifying the second half part of the columns + * nA even: A=[a11 A12 conj(A12($:-1:1)) + * A21 A22 conj(A22($:-1:1,$:-1:1))] + * + * nA odd : A=[a11 A12 am conj(A12($:-1:1)) + A21 A22 A2m conj(A22($:-1:1,$:-1:1))]] +*/ + +void complete_2D_array(double *Ar, double *Ai, int mA, int iA, int nA, int jA) +{ + if (nA > 2) + { + int n = (nA % 2 == 0) ? (int)(nA / 2) - 1 : (int)(nA / 2); + int i = 0, j = 0; /* loop variables */ + int l1 = jA + iA; /* the index of the first element of the A22 block A(2,2)*/ + int l2 = (mA - 1) * iA + (nA - 1) * jA; /* the index of the last element of the A22 block A(mA,nA)*/ + int step = 0; + /* first column */ + /*could not be useful because fftw only skip half of the rightmost dimension but it may be not exactly symmetric */ + + complete_1D_array(Ar, Ai, mA, iA); + + /* first row */ + complete_1D_array(Ar, Ai, nA, jA); + + /* A22 block */ + if (Ai == NULL) + { + for (j = 0; j < n; j++) + { + for (i = 1; i < mA; i++) + { + Ar[l2] = Ar[l1]; + l1 += iA; + l2 -= iA; + } + step = -(mA - 1) * iA + jA; + l1 += step; + l2 -= step; + } + } + else + { + for (j = 0; j < n; j++) + { + for (i = 1; i < mA; i++) + { + Ar[l2] = Ar[l1]; + Ai[l2] = -Ai[l1]; + l1 += iA; + l2 -= iA; + } + step = -(mA - 1) * iA + jA; + l1 += step; + l2 -= step; + } + } + } +} + +int complete_ND_array(double *Ar, double *Ai, int ndims, int *dims, int *incr) +{ + int i = 0, j = 0, l = 0; + int r = 0; + int l1 = 0;/* current 1-D index in array*/ + int l2 = 0;/* associated symmetric value 1-D index */ + + int *temp = NULL; + int *dims1 = NULL; + int *incr1 = NULL; + int nSub = 0, nSubs2 = 0, step = 0, k = 0; + + if (ndims == 2) + { + complete_2D_array(Ar, Ai, dims[0], incr[0], dims[1], incr[1]); + return 0; + } + else if (ndims == 1) + { + complete_1D_array(Ar, Ai, dims[0], incr[0]); + return 0; + } + if ((temp = (int *)MALLOC(sizeof(int) * (2 * ndims))) == NULL) + { + return -1; + } + dims1 = temp; + incr1 = temp + ndims; + + for (i = 0; i < ndims; i++) + { + /* remove current dimension and increment out of dims ans incr */ + l = 0; + for (j = 0; j < ndims; j++) + { + if (j != i) + { + dims1[l] = dims[j]; + incr1[l] = incr[j]; + l++; + } + } + r = complete_ND_array(Ar, Ai, ndims - 1, dims1, incr1); + if (r < 0) + { + dims1 = NULL; + incr1 = NULL; + FREE(temp); + return r; + } + } + + /* check bloc A(2:$,....,2:$)*/ + l1 = 0; + for (i = 0; i < ndims; i++) + { + l1 += incr[i]; + } + /*A($,...,$) index*/ + l2 = 0; + for (i = 0; i < ndims; i++) + { + l2 += (dims[i] - 1) * incr[i]; + } + + + /* cumprod(size(A(2:$,....,2:$)))*/ + incr1[0] = dims[0] - 1; + for (i = 1; i < (ndims - 1); i++) + { + incr1[i] = incr1[i - 1] * (dims[i] - 1) ; + } + /* steps*/ + dims1[0] = (dims[0] - 2) * incr[0]; + for (i = 1; i < (ndims - 1); i++) + { + dims1[i] = dims1[i - 1] + (dims[i] - 2) * incr[i]; + } + + /* A(2:$,....,2:$) block number of elements*/ + nSub = 1; + for (i = 0; i < ndims; i++) + { + nSub *= (dims[i] - 1); + } + + nSubs2 = (int)(nSub / 2); + + if (Ai == 0) + { + /* Real case */ + for (i = 0; i < nSubs2; i++) + { + Ar[l2] = Ar[l1]; + step = incr[0]; + for (j = ndims - 2; j >= 0; j--) + { + if ((i + 1) % incr1[j] == 0) + { + step = -dims1[j] + incr[j + 1] ; + break; + } + } + l1 += step; + l2 -= step; + } + } + else /* Complex case */ + { + for (i = 0; i < nSubs2; i++) + { + Ar[l2] = Ar[l1]; + Ai[l2] = -Ai[l1]; + step = incr[0]; + for (j = ndims - 2; j >= 0; j--) + { + if ((i + 1) % incr1[j] == 0) + { + step = -dims1[j] + incr[j + 1] ; + break; + } + } + l1 += step; + l2 -= step; + } + } + dims1 = NULL; + incr1 = NULL; + FREE(temp); + return 1; +} + +int complete_array(double *Ar, double *Ai, guru_dim_struct gdim) +{ + int ndims = gdim.rank; + int * dims = NULL; + int * incr = NULL; + int r = -1; + int i = 0, j = 0, k = 0; + if (gdim.howmany_rank == 0) + { + switch (gdim.rank) + { + case 1: + complete_1D_array(Ar, Ai, gdim.dims[0].n, gdim.dims[0].is); + return 0; + case 2: + complete_2D_array(Ar, Ai, gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is); + return 0; + default: /*general N-D case*/ + if ((dims = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + return -1; + } + if ((incr = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + FREE(dims); + return -1; + } + for (i = 0; i < ndims; i++) + { + dims[i] = gdim.dims[i].n; + incr[i] = gdim.dims[i].is; + } + r = complete_ND_array(Ar, Ai, ndims, dims, incr); + FREE(dims); + FREE(incr); + return r; + } + } + else + { + int m = 0; + int *dims1 = NULL; + int *incr1 = NULL; + int hrank = gdim.howmany_rank; + + if ((dims1 = (int *)MALLOC(sizeof(int) * hrank)) == NULL) + { + return -1; + } + dims1[0] = gdim.howmany_dims[0].n; + for (i = 1; i < hrank; i++) + { + dims1[i] = dims1[i - 1] * gdim.howmany_dims[i].n; + } + m = dims1[gdim.howmany_rank - 1]; + + if ((incr1 = (int *)MALLOC(sizeof(int) * hrank)) == NULL) + { + FREE(dims1); + return -1; + } + incr1[0] = gdim.howmany_dims[0].n * gdim.howmany_dims[0].is; + for (i = 1; i < hrank; i++) + { + incr1[i] = incr1[i - 1] + (gdim.howmany_dims[i].n - 1) * gdim.howmany_dims[i].is;; + } + switch (gdim.rank) + { + case 1: /* multiple 1D fft */ + if (Ai == NULL) + { + j = 0; + for (i = 1; i <= m; i++) + { + complete_1D_array(Ar + j, NULL, gdim.dims[0].n, gdim.dims[0].is); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + else + { + j = 0; + for (i = 1; i <= m; i++) + { + complete_1D_array(Ar + j, Ai + j, gdim.dims[0].n, gdim.dims[0].is); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + FREE(dims1); + return 0; + case 2: /* multiple 2D fft */ + if (Ai == NULL) + { + j = 0; + for (i = 1; i <= m; i++) + { + complete_2D_array(Ar + j, NULL, gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + else + { + j = 0; + for (i = 1; i <= m; i++) + { + complete_2D_array(Ar + j, Ai + j, gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is); + + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + FREE(dims1); + return 0; + default: /* multiple ND fft */ + if ((dims = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + return -1; + } + if ((incr = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + FREE(dims); + FREE(dims1); + return -1; + } + for (i = 0; i < ndims; i++) + { + dims[i] = gdim.dims[i].n; + incr[i] = gdim.dims[i].is; + } + j = 0; + for (i = 1; i <= m; i++) + { + if (Ai == NULL) + { + r = complete_ND_array(Ar + j, NULL, ndims, dims, incr); + } + else + { + r = complete_ND_array(Ar + j, Ai + j, ndims, dims, incr); + } + if (r < 0) + { + FREE(dims); + FREE(incr); + FREE(dims1); + return r; + } + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + + FREE(dims); + FREE(incr); + FREE(dims1); + FREE(incr1); + } + } + return 0; +} +/*-------------------------------------------------------------------------- + * Check if Scilab is linked with MKL library * Some fftw functions + * are not yet implemented in MKL in particular wisdom; guru_split real case + * functions and guru_split complex with homany_rank>1 + */ + +int withMKL(void) +{ + return (call_fftw_export_wisdom_to_string() == NULL); +} +/*--------------------------------------------------------------------------*/ + + + + +void dct_scale_1D_array(double *Ar, double *Ai, int nA, int iA, int isn, double fact) +{ + /* fact: multiplication factor for all terms but the first one*/ + double s, s0; + int i = 0; + + if (isn == -1) + { + s0 = fact * 0.5 / sqrt(nA); + } + else + { + s0 = fact / sqrt(nA); /* 2.0*sqrt(nA)/(2*nA) */ + } + s = fact / sqrt(2.0 * nA); /* sqrt(2.0*nA)/(2*nA) */ + if (Ai == NULL) + { + Ar[0] *= s0; + for (i = 1; i < nA; i++) + { + Ar[i * iA] *= s; + } + } + else + { + Ar[0] *= s0; + Ai[0] *= s0; + for (i = 1; i < nA; i++) + { + Ar[i * iA] *= s; + Ai[i * iA] *= s; + } + + } +} + + + +void dct_scale_2D_array(double *Ar, double *Ai, int mA, int iA, int nA, int jA, int isn, double fact) +{ + int j = 0; /* loop variables */ + double s, s0; + s = fact / sqrt(2 * nA); + s0 = fact / sqrt(nA); + if (isn == -1) + { + s0 *= 0.5; + } + + /* first column */ + dct_scale_1D_array(Ar, Ai, mA, iA, isn, s0); + /* other columns */ + if (Ai == NULL) + { + for (j = 1; j < nA; j++) + { + dct_scale_1D_array(&Ar[j * jA], NULL, mA, iA, isn, s); + } + } + else + { + for (j = 1; j < nA; j++) + { + dct_scale_1D_array(&Ar[j * jA], &Ai[j * jA], mA, iA, isn, s); + } + } +} + +int dct_scale_ND_array(double *Ar, double *Ai, int ndims, int *dims, int *incr, int isn, double fact) +{ + int i = 0; + double s = 1.0, s0 = 1.0; + + if (ndims == 2) + { + dct_scale_2D_array(Ar, Ai, dims[0], incr[0], dims[1], incr[1], isn, fact); + } + else if (ndims == 1) + { + dct_scale_1D_array(Ar, Ai, dims[0], incr[0], isn, fact); + } + else + { + /* Decompose recursively along the first array dimension + A_scaled(i,:,...,:)=s1(i)*scale(A(i,:,...,:)) + with + s1(1) = 1/(2*sqrt(n1) and s1(i>1) = 1/(sqrt(2*n1) + */ + s = fact / sqrt(2.0 * dims[0]); + s0 = fact / sqrt(dims[0]); + if (isn == -1) + { + s0 *= 0.5; + } + + if (Ai == NULL) + { + /* first index: s1(1)*/ + dct_scale_ND_array(Ar, Ai, ndims - 1, dims + 1, incr + 1, isn, s0); + /* next indexes: s1(i>1)*/ + for (i = 1; i < dims[0]; i++) + { + dct_scale_ND_array(&Ar[i * incr[0]], NULL, ndims - 1, dims + 1, incr + 1, isn, s); + } + } + else + { + dct_scale_ND_array(Ar, Ai, ndims - 1, dims + 1, incr + 1, isn, s0); + + for (i = 1; i < dims[0]; i++) + { + dct_scale_ND_array(&Ar[i * incr[0]], &Ai[i * incr[0]], ndims - 1, dims + 1, incr + 1, isn, s); + } + } + } + return 0; + +} + + +int dct_scale_array(double *Ar, double *Ai, guru_dim_struct gdim, int isn) +{ + int * dims = NULL; + int * incr = NULL; + int *dims1 = NULL; + int *incr1 = NULL; + + int i = 0, j = 0, k = 0; + if (gdim.howmany_rank == 0) + { + switch (gdim.rank) + { + case 1: + dct_scale_1D_array(Ar, Ai, gdim.dims[0].n, gdim.dims[0].is, isn, (double)1.0); + return 0; + case 2: + dct_scale_2D_array(Ar, Ai, gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is, isn, (double)1.0); + return 0; + default: /*general N-D case*/ + if ((dims = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + goto ERR; + } + if ((incr = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + goto ERR; + } + for (i = 0; i < gdim.rank; i++) + { + dims[i] = gdim.dims[i].n; + incr[i] = gdim.dims[i].is; + } + dct_scale_ND_array(Ar, Ai, gdim.rank, dims, incr, isn, (double)1.0); + } + } + else + { + int m = 0; + int hrank = gdim.howmany_rank; + if ((dims1 = (int *)MALLOC(sizeof(int) * hrank)) == NULL) + { + goto ERR; + } + dims1[0] = gdim.howmany_dims[0].n; + for (i = 1; i < hrank; i++) + { + dims1[i] = dims1[i - 1] * gdim.howmany_dims[i].n; + } + m = dims1[gdim.howmany_rank - 1]; + + if ((incr1 = (int *)MALLOC(sizeof(int) * hrank)) == NULL) + { + goto ERR; + } + + incr1[0] = gdim.howmany_dims[0].n * gdim.howmany_dims[0].is; + for (i = 1; i < hrank; i++) + { + incr1[i] = incr1[i - 1] + (gdim.howmany_dims[i].n - 1) * gdim.howmany_dims[i].is;; + } + switch (gdim.rank) + { + case 1: /* multiple 1D dct */ + if (Ai == NULL) + { + j = 0; + for (i = 1; i <= m; i++) + { + dct_scale_1D_array(Ar + j, NULL, gdim.dims[0].n, gdim.dims[0].is, isn, (double)1.0); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + else + { + j = 0; + for (i = 1; i <= m; i++) + { + dct_scale_1D_array(Ar + j, Ai + j, gdim.dims[0].n, gdim.dims[0].is, isn, (double)1.0); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + break; + case 2: /* multiple 2D dct */ + if (Ai == NULL) + { + j = 0; + for (i = 1; i <= m; i++) + { + dct_scale_2D_array(&Ar[j], NULL, gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is, isn, (double)1.0); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + + else + { + j = 0; + for (i = 1; i <= m; i++) + { + dct_scale_2D_array(&Ar[j], &Ai[j], gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is, isn, (double)1.0); + + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + break; + default: /* multiple ND dct */ + if ((dims = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + goto ERR; + } + if ((incr = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + goto ERR; + } + + for (i = 0; i < gdim.rank; i++) + { + dims[i] = gdim.dims[i].n; + incr[i] = gdim.dims[i].is; + } + j = 0; + for (i = 1; i <= m; i++) + { + if (Ai == NULL) + { + dct_scale_ND_array(Ar + j, NULL, gdim.rank, dims, incr, isn, (double)1.0); + } + else + { + dct_scale_ND_array(Ar + j, Ai + j, gdim.rank, dims, incr, isn, (double)1.0); + } + + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + + } + FREE(dims); + FREE(incr); + FREE(dims1); + FREE(incr1); + return 0; + +ERR: + FREE(dims); + FREE(incr); + FREE(dims1); + FREE(incr1); + return -1; +} + +void dst_scale_1D_array(double *Ar, double *Ai, int nA, int iA, int isn, double fact) +{ + /* fact: multiplication factor for all terms but the first one*/ + double s = fact / (1.0 + nA); + int i = 0; + + if (Ai == NULL) + { + for (i = 0; i < nA; i++) + { + Ar[i * iA] *= s; + } + } + else + { + for (i = 0; i < nA; i++) + { + Ar[i * iA] *= s; + Ai[i * iA] *= s; + } + + } +} + + +void dst_scale_2D_array(double *Ar, double *Ai, int mA, int iA, int nA, int jA, int isn, double fact) +{ + int j = 0; /* loop variables */ + double s = fact / (1.0 + nA); + + if (Ai == NULL) + { + for (j = 0; j < nA; j++) + { + dst_scale_1D_array(&Ar[j * jA], NULL, mA, iA, isn, s); + } + } + else + { + for (j = 0; j < nA; j++) + { + dst_scale_1D_array(&Ar[j * jA], &Ai[j * jA], mA, iA, isn, s); + } + } +} + +int dst_scale_ND_array(double *Ar, double *Ai, int ndims, int *dims, int *incr, int isn, double fact) +{ + int i = 0; + double s = 1.0; + + if (ndims == 2) + { + dst_scale_2D_array(Ar, Ai, dims[0], incr[0], dims[1], incr[1], isn, fact); + } + else if (ndims == 1) + { + dst_scale_1D_array(Ar, Ai, dims[0], incr[0], isn, fact); + } + else + { + /* Decompose recursively along the first array dimension + A_scaled(i,:,...,:)=s1*scale(A(i,:,...,:)) + with + s1 = 1/(n+1) + */ + + s = fact / (1.0 + dims[0]); + + if (Ai == NULL) + { + /* next indexes: s1(i>1)*/ + for (i = 0; i < dims[0]; i++) + { + dst_scale_ND_array(&Ar[i * incr[0]], NULL, ndims - 1, dims + 1, incr + 1, isn, s); + } + } + else + { + for (i = 0; i < dims[0]; i++) + { + dst_scale_ND_array(&Ar[i * incr[0]], &Ai[i * incr[0]], ndims - 1, dims + 1, incr + 1, isn, s); + } + } + } + return 0; +} + + +int dst_scale_array(double *Ar, double *Ai, guru_dim_struct gdim, int isn) +{ + int * dims = NULL; + int * incr = NULL; + int *dims1 = NULL; + int *incr1 = NULL; + + int i = 0, j = 0, k = 0; + if (gdim.howmany_rank == 0) + { + switch (gdim.rank) + { + case 1: + dst_scale_1D_array(Ar, Ai, gdim.dims[0].n, gdim.dims[0].is, isn, (double)1.0); + return 0; + case 2: + dst_scale_2D_array(Ar, Ai, gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is, isn, (double)1.0); + return 0; + default: /*general N-D case*/ + if ((dims = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + goto ERR; + } + if ((incr = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + goto ERR; + } + for (i = 0; i < gdim.rank; i++) + { + dims[i] = gdim.dims[i].n; + incr[i] = gdim.dims[i].is; + } + dst_scale_ND_array(Ar, Ai, gdim.rank, dims, incr, isn, (double)1.0); + } + } + else + { + int m = 0; + int hrank = gdim.howmany_rank; + + if ((dims1 = (int *)MALLOC(sizeof(int) * hrank)) == NULL) + { + goto ERR; + } + dims1[0] = gdim.howmany_dims[0].n; + for (i = 1; i < hrank; i++) + { + dims1[i] = dims1[i - 1] * gdim.howmany_dims[i].n; + } + m = dims1[gdim.howmany_rank - 1]; + + if ((incr1 = (int *)MALLOC(sizeof(int) * hrank)) == NULL) + { + goto ERR; + } + + incr1[0] = gdim.howmany_dims[0].n * gdim.howmany_dims[0].is; + for (i = 1; i < hrank; i++) + { + incr1[i] = incr1[i - 1] + (gdim.howmany_dims[i].n - 1) * gdim.howmany_dims[i].is;; + } + + switch (gdim.rank) + { + case 1: /* multiple 1D dst */ + if (Ai == NULL) + { + j = 0; + for (i = 1; i <= m; i++) + { + dst_scale_1D_array(Ar + j, NULL, gdim.dims[0].n, gdim.dims[0].is, isn, (double)1.0); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + else + { + j = 0; + for (i = 1; i <= m; i++) + { + dst_scale_1D_array(Ar + j, Ai + j, gdim.dims[0].n, gdim.dims[0].is, isn, (double)1.0); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + break; + case 2: /* multiple 2D dst */ + if (Ai == NULL) + { + j = 0; + for (i = 1; i <= m; i++) + { + dst_scale_2D_array(&Ar[j], NULL, gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is, isn, (double)1.0); + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + + else + { + j = 0; + for (i = 1; i <= m; i++) + { + dst_scale_2D_array(&Ar[j], &Ai[j], gdim.dims[0].n, gdim.dims[0].is, gdim.dims[1].n, gdim.dims[1].is, isn, (double)1.0); + + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + break; + default: /* multiple ND dst */ + if ((dims = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + goto ERR; + } + if ((incr = (int *)MALLOC(sizeof(int) * gdim.rank)) == NULL) + { + goto ERR; + } + + for (i = 0; i < gdim.rank; i++) + { + dims[i] = gdim.dims[i].n; + incr[i] = gdim.dims[i].is; + } + j = 0; + for (i = 1; i <= m; i++) + { + if (Ai == NULL) + { + dst_scale_ND_array(Ar + j, NULL, gdim.rank, dims, incr, isn, (double)1.0); + } + else + { + dst_scale_ND_array(Ar + j, Ai + j, gdim.rank, dims, incr, isn, (double)1.0); + } + + j += gdim.howmany_dims[0].is; + for (k = hrank - 2; k >= 0; k--) + { + if (i % dims1[k] == 0) + { + j += -incr1[k] + gdim.howmany_dims[k + 1].is; + break; + } + } + } + } + + } + FREE(dims); + FREE(incr); + FREE(dims1); + FREE(incr1); + return 0; + +ERR: + FREE(dims); + FREE(incr); + FREE(dims1); + FREE(incr1); + return -1; +} diff --git a/modules/fftw/src/c/fftw_utilities.h b/modules/fftw/src/c/fftw_utilities.h new file mode 100755 index 000000000..70e6027a0 --- /dev/null +++ b/modules/fftw/src/c/fftw_utilities.h @@ -0,0 +1,78 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2006/2007 - INRIA - Alan Layec +* Copyright (C) 2008 - INRIA - Allan CORNET +* Copyright (C) 2012 - INRIA - Serge STEER +* +* 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 +* +*/ +#ifndef __FFTW_UTILITIES__ +#define __FFTW_UTILITIES__ + +#include <string.h> +#include <stdio.h> +#include "fftw3.h" + + +/* definiton of a guru_dim structure type */ +typedef struct guru_dim_st +{ + int rank; + fftw_iodim *dims; + int howmany_rank; + fftw_iodim *howmany_dims; +} guru_dim_struct; + +enum Plan_Type +{ + C2C_PLAN = 0, + R2C_PLAN = 1, + C2R_PLAN = 2, + R2R_PLAN = 3 +}; + +/* definition of a FFTW_Plan structure type */ +typedef struct fftw_plan_st +{ + /* stored parameters of fftw_plan_guru_split_dft function */ + enum Plan_Type plan_type; + fftw_plan p; + guru_dim_struct gdim; + unsigned flags; + fftw_r2r_kind *kind; +} FFTW_Plan_struct; + + + +/* prototypes of utilities functions */ +fftw_plan GetFFTWPlan(enum Plan_Type type, guru_dim_struct *gdim, + double *ri, double *ii, + double *ro, double *io, + unsigned flags, int isn, fftw_r2r_kind *kind, int *errflag); + +int FreeFFTWPlan(FFTW_Plan_struct *Sci_Plan); + +int CheckGuruDims(guru_dim_struct *gdim1, guru_dim_struct *gdim2); +int CheckKindArray(fftw_r2r_kind *kind1, fftw_r2r_kind *kind2, int rank); + +void ExecuteFFTWPlan(enum Plan_Type type, const fftw_plan p, double *ri, double *ii, double *ro, double *io); + +int is_real(double *Ar, double *Ai, int ndims, int *dims); +int check_array_symmetry(double *Ar, double *Ai, guru_dim_struct gdim); +int complete_array(double *Ar, double *Ai, guru_dim_struct gdim); +int dct_scale_array(double *Ar, double *Ai, guru_dim_struct gdim, int isn); +int dst_scale_array(double *Ar, double *Ai, guru_dim_struct gdim, int isn); + +unsigned int getCurrentFftwFlags(void); +void setCurrentFftwFlags(unsigned int newFftwFlags); + +FFTW_Plan_struct *getSci_Backward_Plan(void); +FFTW_Plan_struct *getSci_Forward_Plan(void); + +#endif /* __FFTW_UTILITIES__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/src/c/fftwlibname.c b/modules/fftw/src/c/fftwlibname.c new file mode 100755 index 000000000..cb20a9697 --- /dev/null +++ b/modules/fftw/src/c/fftwlibname.c @@ -0,0 +1,55 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - 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 "stdlib.h" +#include "fftwlibname.h" +#include "MALLOC.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#endif +/*--------------------------------------------------------------------------*/ +static char *fftwlibname = NULL; +/*--------------------------------------------------------------------------*/ +void setfftwlibname(char *libname) +{ + if (libname) + { + if (fftwlibname) + { + FREE(fftwlibname); + fftwlibname = NULL; + } + fftwlibname = strdup(libname); + } +} +/*--------------------------------------------------------------------------*/ +char *getfftwlibname(void) +{ + char *name = NULL; + + if (fftwlibname) + { + name = strdup(fftwlibname); + } + + return name; +} +/*--------------------------------------------------------------------------*/ +void freefftwlibname(void) +{ + if (fftwlibname) + { + FREE(fftwlibname); + fftwlibname = NULL; + } +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/src/c/fftwlibname.h b/modules/fftw/src/c/fftwlibname.h new file mode 100755 index 000000000..060f481b1 --- /dev/null +++ b/modules/fftw/src/c/fftwlibname.h @@ -0,0 +1,21 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007 - 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 + * + */ +#ifndef __FFTWLIBNAME_H__ +#define __FFTWLIBNAME_H__ +/*--------------------------------------------------------------------------*/ + +void setfftwlibname(char *libname); +char *getfftwlibname(void); +void freefftwlibname(void); + +#endif /*__FFTWLIBNAME_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/src/c/libscifftw_algo_la-callfftw.lo b/modules/fftw/src/c/libscifftw_algo_la-callfftw.lo new file mode 100755 index 000000000..bbae15089 --- /dev/null +++ b/modules/fftw/src/c/libscifftw_algo_la-callfftw.lo @@ -0,0 +1,12 @@ +# src/c/libscifftw_algo_la-callfftw.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/libscifftw_algo_la-callfftw.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/src/c/libscifftw_algo_la-fftw_utilities.lo b/modules/fftw/src/c/libscifftw_algo_la-fftw_utilities.lo new file mode 100755 index 000000000..5b0472ac2 --- /dev/null +++ b/modules/fftw/src/c/libscifftw_algo_la-fftw_utilities.lo @@ -0,0 +1,12 @@ +# src/c/libscifftw_algo_la-fftw_utilities.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/libscifftw_algo_la-fftw_utilities.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/src/c/libscifftw_algo_la-fftwlibname.lo b/modules/fftw/src/c/libscifftw_algo_la-fftwlibname.lo new file mode 100755 index 000000000..c7dc028ce --- /dev/null +++ b/modules/fftw/src/c/libscifftw_algo_la-fftwlibname.lo @@ -0,0 +1,12 @@ +# src/c/libscifftw_algo_la-fftwlibname.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/libscifftw_algo_la-fftwlibname.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/src/c/libscifftw_algo_la-sci_data_utilities.lo b/modules/fftw/src/c/libscifftw_algo_la-sci_data_utilities.lo new file mode 100755 index 000000000..db64b48f1 --- /dev/null +++ b/modules/fftw/src/c/libscifftw_algo_la-sci_data_utilities.lo @@ -0,0 +1,12 @@ +# src/c/libscifftw_algo_la-sci_data_utilities.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/libscifftw_algo_la-sci_data_utilities.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/src/c/libscifftw_algo_la-with_fftw.lo b/modules/fftw/src/c/libscifftw_algo_la-with_fftw.lo new file mode 100755 index 000000000..94fb5ecf7 --- /dev/null +++ b/modules/fftw/src/c/libscifftw_algo_la-with_fftw.lo @@ -0,0 +1,12 @@ +# src/c/libscifftw_algo_la-with_fftw.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/libscifftw_algo_la-with_fftw.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/fftw/src/c/sci_data_utilities.c b/modules/fftw/src/c/sci_data_utilities.c new file mode 100755 index 000000000..9463546b2 --- /dev/null +++ b/modules/fftw/src/c/sci_data_utilities.c @@ -0,0 +1,484 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2012 - INRIA - Serge STEER +* +* 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 "stack-c.h" +#include "MALLOC.h" +#include "api_scilab.h" +#include "localization.h" +#include "Scierror.h" +/*--------------------------------------------------------------------------*/ +int getArrayOfDouble(void* _pvCtx, int *piAddr, int *ndims, int **dims, double **Ar, double **Ai) +{ + SciErr sciErr; + int *piAddrChild = NULL; + int *piOffset = NULL; + int *piData = NULL; + int nItems = 0; + int iRows = 0; + int iCols = 0; + int iType = 0; + + sciErr = getVarType(_pvCtx, piAddr, &iType); + if (iType == sci_matrix) + { + *ndims = 2; + *dims = &(piAddr[1]); + if (isVarComplex(_pvCtx, piAddr)) + { + getComplexMatrixOfDouble(_pvCtx, piAddr, &iRows, &iCols, Ar, Ai); + } + else + { + getMatrixOfDouble(_pvCtx, piAddr, &iRows, &iCols, Ar); + *Ai = NULL; + } + return 1; + } + else if (iType == sci_mlist) + { + sciErr = getListItemNumber(_pvCtx, piAddr, &nItems); + if (nItems != 3) + { + return 0; + } + /*Check if first item is ["hm","dims","entries"] */ + sciErr = getListItemAddress(_pvCtx, piAddr, 1, &piAddrChild); + sciErr = getVarType(_pvCtx, piAddrChild, &iType); + if (iType != sci_strings) + { + return 0; + } + sciErr = getVarDimension(_pvCtx, piAddrChild, &iRows, &iCols); + if (iRows*iCols != 3) + { + return 0; + } + /* Check if first entry of the first item is "hm" */ + piOffset = piAddrChild + 4; + if (piOffset[1] - piOffset[0] != 2) + { + return 0; + } + piData = piOffset + iRows * iCols + 1; + if (piData[0] != 17 || piData[1] != 22) + { + return 0; /* check "hm" */ + } + /* Get second item dims */ + sciErr = getListItemAddress(_pvCtx, piAddr, 2, &piAddrChild); + sciErr = getVarType(_pvCtx, piAddrChild, &iType); + if (iType != sci_ints) + { + return 0; + } + sciErr = getMatrixOfInteger32(_pvCtx, piAddrChild, &iRows, &iCols, dims); + if (sciErr.iErr) + { + return 0; + } + *ndims = iRows * iCols; + /* Get thirds item entries */ + sciErr = getListItemAddress(_pvCtx, piAddr, 3, &piAddrChild); + sciErr = getVarType(_pvCtx, piAddrChild, &iType); + if (iType != sci_matrix) + { + return 0; + } + if (isVarComplex(_pvCtx, piAddrChild)) + { + getComplexMatrixOfDouble(_pvCtx, piAddrChild, &iRows, &iCols, Ar, Ai); + } + else + { + getMatrixOfDouble(_pvCtx, piAddrChild, &iRows, &iCols, Ar); + *Ai = NULL; + } + return 1; + } + else + { + return 0; + } +} + +SciErr allocComplexArrayOfDouble(void* _pvCtx, int _iVar, int ndims, int *dims, double **Ar, double **Ai) +{ + SciErr sciErr; + int *piAddr = NULL; + + if (ndims == 2) + { + sciErr = allocComplexMatrixOfDouble( _pvCtx, _iVar, dims[0], dims[1], Ar, Ai); + if (sciErr.iErr) + { + return sciErr; + } + } + else + { + int i = 0; + int n = 1; + const char * hmType[] = {"hm", "dims", "entries"}; + + for (i = 0; i < ndims; i++) + { + n *= dims[i]; + } + + sciErr = createMList(_pvCtx, _iVar, 3, &piAddr); + if (sciErr.iErr) + { + return sciErr; + } + + sciErr = createMatrixOfStringInList(_pvCtx, _iVar, piAddr, 1, 1, 3, hmType); + if (sciErr.iErr) + { + return sciErr; + } + sciErr = createMatrixOfInteger32InList(_pvCtx, _iVar, piAddr, 2, 1, ndims, dims); + if (sciErr.iErr) + { + return sciErr; + } + + sciErr = allocComplexMatrixOfDoubleInList(_pvCtx, _iVar, piAddr, 3, n, 1, Ar, Ai); + if (sciErr.iErr) + { + return sciErr; + } + } + return sciErr; +} + +SciErr allocArrayOfDouble(void* _pvCtx, int _iVar, int ndims, int *dims, double **Ar) +{ + SciErr sciErr; + int *piAddr = NULL; + + + if (ndims == 2) + { + sciErr = allocMatrixOfDouble( _pvCtx, _iVar, dims[0], dims[1], Ar); + if (sciErr.iErr) + { + return sciErr; + } + } + else + { + int i = 0; + int n = 1; + const char * hmType[] = {"hm", "dims", "entries"}; + + for (i = 0; i < ndims; i++) + { + n *= dims[i]; + } + + sciErr = createMList(_pvCtx, _iVar, 3, &piAddr); + if (sciErr.iErr) + { + return sciErr; + } + sciErr = createMatrixOfStringInList(_pvCtx, _iVar, piAddr, 1, 1, 3, hmType); + if (sciErr.iErr) + { + return sciErr; + } + sciErr = createMatrixOfInteger32InList(_pvCtx, _iVar, piAddr, 2, 1, ndims, dims); + if (sciErr.iErr) + { + return sciErr; + } + + sciErr = allocMatrixOfDoubleInList(_pvCtx, _iVar, piAddr, 3, n, 1, Ar); + if (sciErr.iErr) + { + return sciErr; + } + } + return sciErr; +} + +SciErr getScalarIntArg(void* _pvCtx, int _iVar, char *fname, int *value) +{ + SciErr sciErr; + int *piAddr = NULL; + int iType = 0; + int iPrec = 0; + double t_d = 0.0; + char t_c = 0; + unsigned char t_uc = 0; + short t_s = 0; + unsigned short t_us = 0; + int t_i = 0; + unsigned int t_ui = 0; + sciErr.iErr = 0; + sciErr.iMsgCount = 0; + + sciErr = getVarAddressFromPosition(_pvCtx, _iVar, &piAddr); + if (sciErr.iErr) + { + addErrorMessage(&sciErr, API_ERROR_GET_STRING, _("%s: Can not read input argument #%d.\n"), fname, _iVar); + return sciErr; + } + + //check type + sciErr = getVarType(_pvCtx, piAddr, &iType); + if (sciErr.iErr) + { + addErrorMessage(&sciErr, API_ERROR_GET_INT, _("%s: Can not read input argument #%d.\n"), fname, _iVar); + return sciErr; + } + + if (!isScalar(_pvCtx, piAddr)) + { + addErrorMessage(&sciErr, API_ERROR_GET_INT, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), fname, _iVar); + return sciErr; + } + + if (iType == sci_matrix) + { + getScalarDouble(_pvCtx, piAddr, &t_d); + *value = (int)t_d; + } + else if (iType == sci_ints) + { + sciErr = getMatrixOfIntegerPrecision(_pvCtx, piAddr, &iPrec); + if (sciErr.iErr) + { + addErrorMessage(&sciErr, API_ERROR_GET_INT, _("%s: Can not read input argument #%d.\n"), fname, _iVar); + return sciErr; + } + + switch (iPrec) + { + case SCI_INT8 : + { + getScalarInteger8(_pvCtx, piAddr, &t_c); + *value = (int)t_c; + } + case SCI_INT16 : + { + getScalarInteger16(_pvCtx, piAddr, &t_s); + *value = (int)t_s; + } + case SCI_INT32 : + { + getScalarInteger32(_pvCtx, piAddr, &t_i); + *value = (int)t_i; + } + case SCI_UINT8 : + { + getScalarUnsignedInteger8(_pvCtx, piAddr, &t_uc); + *value = (int)t_uc; + } + case SCI_UINT16 : + { + getScalarUnsignedInteger16(_pvCtx, piAddr, &t_us); + *value = (int)t_us; + } + case SCI_UINT32 : + { + getScalarUnsignedInteger32(_pvCtx, piAddr, &t_ui); + *value = (int)t_ui; + } + } + } + else + { + addErrorMessage(&sciErr, API_ERROR_GET_INT, + _("%s: Wrong type for argument #%d: An integer or a floating point number expected.\n"), + fname, _iVar); + return sciErr; + } + return sciErr; +} + +SciErr getVectorIntArg(void* _pvCtx, int _iVar, char *fname, int *pndims, int **pDim) +{ + SciErr sciErr; + int *piAddr = NULL; + int iType = 0; + int iPrec = 0; + int mDim = 0; + int nDim = 0; + int *Dim = NULL; + int ndims = 0; + + double* p_d = NULL; + char* p_c = NULL; + unsigned char* p_uc = NULL; + short* p_s = NULL; + unsigned short* p_us = NULL; + int* p_i = NULL; + unsigned int* p_ui = NULL; + int i = 0; + + sciErr.iErr = 0; + sciErr.iMsgCount = 0; + + getVarAddressFromPosition(_pvCtx, _iVar, &piAddr); + + //check type + getVarType(_pvCtx, piAddr, &iType); + + if (isVarMatrixType(_pvCtx, piAddr) == 0) + { + addErrorMessage(&sciErr, API_ERROR_GET_INT, _("%s: Wrong type for input argument #%d.\n"), fname, _iVar); + return sciErr; + } + + getVarDimension(_pvCtx, piAddr, &mDim, &nDim); + + ndims = mDim * nDim; + *pndims = ndims; + if (ndims <= 0) + { + addErrorMessage(&sciErr, API_ERROR_GET_INT, + _("%s: Wrong size for input argument #%d.\n"), fname, _iVar); + return sciErr; + } + if ((Dim = (int *)MALLOC(ndims * sizeof(int))) == NULL) + { + addErrorMessage(&sciErr, API_ERROR_GET_INT, + _("%s: Cannot allocate more memory.\n"), fname); + return sciErr; + } + *pDim = Dim; + if (iType == sci_matrix) + { + sciErr = getMatrixOfDouble(_pvCtx, piAddr, &mDim, &nDim, &p_d); + for (i = 0; i < ndims; i++) + { + Dim[i] = (int)(p_d[i]); + } + } + else if (iType == sci_ints) + { + getMatrixOfIntegerPrecision(_pvCtx, piAddr, &iPrec); + switch (iPrec) + { + case SCI_INT8 : + getMatrixOfInteger8(_pvCtx, piAddr, &mDim, &nDim, &p_c); + for (i = 0; i < ndims; i++) + { + Dim[i] = (int)(p_c[i]); + } + break; + case SCI_INT16 : + getMatrixOfInteger16(_pvCtx, piAddr, &mDim, &nDim, &p_s); + for (i = 0; i < ndims; i++) + { + Dim[i] = (int)(p_s[i]); + } + break; + case SCI_INT32 : + getMatrixOfInteger32(_pvCtx, piAddr, &mDim, &nDim, &p_i); + for (i = 0; i < ndims; i++) + { + Dim[i] = (int)(p_i[i]); + } + break; + case SCI_UINT8 : + getMatrixOfUnsignedInteger8(_pvCtx, piAddr, &mDim, &nDim, &p_uc); + for (i = 0; i < ndims; i++) + { + Dim[i] = (int)(p_uc[i]); + } + break; + case SCI_UINT16 : + getMatrixOfUnsignedInteger16(_pvCtx, piAddr, &mDim, &nDim, &p_us); + for (i = 0; i < ndims; i++) + { + Dim[i] = (int) p_us[i]; + } + break; + case SCI_UINT32 : + getMatrixOfUnsignedInteger32(_pvCtx, piAddr, &mDim, &nDim, &p_ui); + for (i = 0; i < ndims; i++) + { + Dim[i] = (int)(p_ui[i]); + } + break; + } + } + else + { + FREE(Dim); + Dim = NULL; + addErrorMessage(&sciErr, API_ERROR_GET_INT, + _("%s: Wrong type for argument #%d: An array of floating point or integer numbers expected.\n"), fname, _iVar); + return sciErr; + } + return sciErr; +} + +BOOL isHyperMatrixMlist(void* _pvCtx, int *piAddressVar) +{ + char **fields = NULL; + SciErr sciErr; + int iType = 0; + int m = 0, n = 0; + + if (piAddressVar == NULL) + { + return FALSE; + } + + sciErr = getVarType(_pvCtx, piAddressVar, &iType); + if (sciErr.iErr) + { + return FALSE; + } + + if (iType == sci_mlist) + { + int* piAddrChild = NULL; + int iItem = 0; + + sciErr = getListItemNumber(pvApiCtx, piAddressVar, &iItem); + if (sciErr.iErr) + { + return FALSE; + } + + sciErr = getListItemAddress(pvApiCtx, piAddressVar, 1, &piAddrChild); + if (sciErr.iErr) + { + return FALSE; + } + + if (!isStringType(_pvCtx, piAddrChild)) + { + return FALSE; + } + + if (getAllocatedMatrixOfString(_pvCtx, piAddrChild, &m, &n , &fields) == 0) + { + if (strcmp(fields[0], "hm") != 0) + { + freeAllocatedMatrixOfString(m, n, fields); + fields = NULL; + return FALSE; + } + freeAllocatedMatrixOfString(m, n, fields); + fields = NULL; + } + else + { + return FALSE; + } + return TRUE; + } + return FALSE; +} diff --git a/modules/fftw/src/c/sci_data_utilities.h b/modules/fftw/src/c/sci_data_utilities.h new file mode 100755 index 000000000..92d0e6465 --- /dev/null +++ b/modules/fftw/src/c/sci_data_utilities.h @@ -0,0 +1,27 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2012 - INRIA - Serge STEER +* +* 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 "api_scilab.h" +#ifndef __SCI_DATA_UTILITIES__ +#define __SCI_DATA_UTILITIES__ +int getArrayOfDouble(void* pvApiCtx, int *piAddr, int *ndims, int **dims, double **Ar, double **Ai); + +SciErr allocArrayOfDouble(void* _pvCtx, int _iVar, int ndims, int *dims, double **Ar); + +SciErr allocComplexArrayOfDouble(void* _pvCtx, int _iVar, int ndims, int *dims, double **Ar, double **Ai); + +SciErr getScalarIntArg(void* _pvCtx, int _iVar, char *fname, int *value); + +SciErr getVectorIntArg(void* _pvCtx, int _iVar, char *fname, int *pndims, int **pDim); + +BOOL isHyperMatrixMlist(void* _pvCtx, int *piAddressVar); +#endif /* __SCI_DATA_UTILITIES__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/src/c/with_fftw.c b/modules/fftw/src/c/with_fftw.c new file mode 100755 index 000000000..51bbadde5 --- /dev/null +++ b/modules/fftw/src/c/with_fftw.c @@ -0,0 +1,25 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2007 - 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 "with_fftw.h" +/*--------------------------------------------------------------------------*/ +int C2F(withfftw)(int *rep) +{ + *rep = 1; + return 0; +} +/*--------------------------------------------------------------------------*/ +BOOL withfftw(void) +{ + return TRUE; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/src/nofftw/.deps/libscifftw_algo_la-nofftw.Plo b/modules/fftw/src/nofftw/.deps/libscifftw_algo_la-nofftw.Plo new file mode 100755 index 000000000..9ce06a81e --- /dev/null +++ b/modules/fftw/src/nofftw/.deps/libscifftw_algo_la-nofftw.Plo @@ -0,0 +1 @@ +# dummy diff --git a/modules/fftw/src/nofftw/.deps/libscifftw_la-nofftw.Plo b/modules/fftw/src/nofftw/.deps/libscifftw_la-nofftw.Plo new file mode 100755 index 000000000..9ce06a81e --- /dev/null +++ b/modules/fftw/src/nofftw/.deps/libscifftw_la-nofftw.Plo @@ -0,0 +1 @@ +# dummy diff --git a/modules/fftw/src/nofftw/nofftw.c b/modules/fftw/src/nofftw/nofftw.c new file mode 100755 index 000000000..92482d952 --- /dev/null +++ b/modules/fftw/src/nofftw/nofftw.c @@ -0,0 +1,35 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006 - 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 "machine.h" /* C2F */ +#include "BOOL.h" +#include "Scierror.h" +#include "localization.h" +#include "gw_fftw.h" +#include "with_fftw.h" +/*--------------------------------------------------------------------------*/ +int gw_fftw(void) +{ + Scierror(999, _("Scilab FFTW module not installed.\n")); + return 0; +} +/*--------------------------------------------------------------------------*/ +BOOL withfftw(void) +{ + return FALSE; +} +/*--------------------------------------------------------------------------*/ +int C2F(withfftw)(int *rep) +{ + *rep = 0; + return 0; +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/fftw/src/nofftw/nofftw.rc b/modules/fftw/src/nofftw/nofftw.rc new file mode 100755 index 000000000..9d8515efe --- /dev/null +++ b/modules/fftw/src/nofftw/nofftw.rc @@ -0,0 +1,97 @@ +// Microsoft Visual C++ generated resource script. +// + + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +//#include "afxres.h" +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// French (France) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA) +#ifdef _WIN32 +LANGUAGE LANG_FRENCH, SUBLANG_FRENCH +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 5,5,2,0 + PRODUCTVERSION 5,5,2,0 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x0L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040c04b0" + BEGIN + VALUE "FileDescription", "nofftw module" + VALUE "FileVersion", "5, 5, 2, 0" + VALUE "InternalName", "nofftw module" + VALUE "LegalCopyright", "Copyright (C) 2017" + VALUE "OriginalFilename", "nofftw.dll" + VALUE "ProductName", " nofftw" + VALUE "ProductVersion", "5, 5, 2, 0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x40c, 1200 + END +END + +#endif // French (France) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/modules/fftw/src/nofftw/nofftw.vcxproj b/modules/fftw/src/nofftw/nofftw.vcxproj new file mode 100755 index 000000000..8e5c51ca2 --- /dev/null +++ b/modules/fftw/src/nofftw/nofftw.vcxproj @@ -0,0 +1,195 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{7D4C4BE5-62F7-4886-9E59-645017329A22}</ProjectGuid> + <RootNamespace>nofftw</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../api_scilab/includes;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;FFTW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <Link> + <AdditionalDependencies>../../../../bin/libintl.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../api_scilab/includes;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;FFTW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <Link> + <AdditionalDependencies>../../../../bin/libintl.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../api_scilab/includes;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;FFTW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <Link> + <AdditionalDependencies>../../../../bin/libintl.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>../../../core/includes;../../../output_stream/includes;../../../localization/includes;../../../../libs/intl;../../../api_scilab/includes;../../includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;FFTW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <Link> + <AdditionalDependencies>../../../../bin/libintl.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(SolutionDir)bin\$(ProjectName).dll</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <ImportLibrary>$(SolutionDir)bin\$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="nofftw.c" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="nofftw.rc" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj"> + <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\..\..\localization\src\localization.vcxproj"> + <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj"> + <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/modules/fftw/src/nofftw/nofftw.vcxproj.filters b/modules/fftw/src/nofftw/nofftw.vcxproj.filters new file mode 100755 index 000000000..02506883e --- /dev/null +++ b/modules/fftw/src/nofftw/nofftw.vcxproj.filters @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + <Filter Include="Libraries Dependencies"> + <UniqueIdentifier>{7fd5a762-9543-4248-b628-38b21c807518}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="nofftw.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="nofftw.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/modules/fftw/tests/benchmarks/bench_fft.tst b/modules/fftw/tests/benchmarks/bench_fft.tst new file mode 100755 index 000000000..4bc004833 --- /dev/null +++ b/modules/fftw/tests/benchmarks/bench_fft.tst @@ -0,0 +1,19 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +//============================================================================== +// Benchmark for fft function +//============================================================================== + +a = 0; b = 0; +stacksize(30000000); +a = rand(800000, 1, 'n'); + +// <-- BENCH START --> + b = fft(a, -1); +// <-- BENCH END --> + diff --git a/modules/fftw/tests/nonreg_tests/bug_10807.dia.ref b/modules/fftw/tests/nonreg_tests/bug_10807.dia.ref new file mode 100755 index 000000000..faf19f4a4 --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_10807.dia.ref @@ -0,0 +1,41 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 10807 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=10807 +// +// <-- Short Description --> +// It was not possible to overload fft and fftw for list, tlist, mlist type +// +M = mlist(['V', 'name', 'value'], ['a', 'b';'c' 'd'], [1 2; 3 4]); +if %fftw then + fname = "fftw"; + msgerr = [msprintf(gettext("Function not defined for given argument type(s),\n")); + msprintf(gettext(" check arguments or define function %s for overloading.\n"), "%V_" + fname)]; + assert_checkerror ("fft(M)", msgerr); + msgerr = [msprintf(gettext("Function not defined for given argument type(s),\n")); + msprintf(gettext(" check arguments or define function %s for overloading.\n"), "%V_" + fname)]; + assert_checkerror ("fftw(M)", msgerr); + function bOK = %V_fftw(X) + bOK = %T; + endfunction + assert_checktrue(fft(M)); + assert_checktrue(fftw(M)); +else + fname = "fft"; + msgerr = [msprintf(gettext("Function not defined for given argument type(s),\n")); + msprintf(gettext(" check arguments or define function %s for overloading.\n"), "%V_" + fname)]; + assert_checkerror ("fft(M)", msgerr); + function bOK = %V_fft(X) + bOK = %T; + endfunction + assert_checktrue(fft(M)); +end diff --git a/modules/fftw/tests/nonreg_tests/bug_10807.tst b/modules/fftw/tests/nonreg_tests/bug_10807.tst new file mode 100755 index 000000000..f1e210ca5 --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_10807.tst @@ -0,0 +1,47 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 10807 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=10807 +// +// <-- Short Description --> +// It was not possible to overload fft and fftw for list, tlist, mlist type +// + +M = mlist(['V', 'name', 'value'], ['a', 'b';'c' 'd'], [1 2; 3 4]); + +if %fftw then + fname = "fftw"; + msgerr = [msprintf(gettext("Function not defined for given argument type(s),\n")); + msprintf(gettext(" check arguments or define function %s for overloading.\n"), "%V_" + fname)]; + assert_checkerror ("fft(M)", msgerr); + + msgerr = [msprintf(gettext("Function not defined for given argument type(s),\n")); + msprintf(gettext(" check arguments or define function %s for overloading.\n"), "%V_" + fname)]; + assert_checkerror ("fftw(M)", msgerr); + + function bOK = %V_fftw(X) + bOK = %T; + endfunction + + assert_checktrue(fft(M)); + assert_checktrue(fftw(M)); +else + fname = "fft"; + msgerr = [msprintf(gettext("Function not defined for given argument type(s),\n")); + msprintf(gettext(" check arguments or define function %s for overloading.\n"), "%V_" + fname)]; + assert_checkerror ("fft(M)", msgerr); + + function bOK = %V_fft(X) + bOK = %T; + endfunction + assert_checktrue(fft(M)); +end diff --git a/modules/fftw/tests/nonreg_tests/bug_5081.dia.ref b/modules/fftw/tests/nonreg_tests/bug_5081.dia.ref new file mode 100755 index 000000000..e91d3e591 --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_5081.dia.ref @@ -0,0 +1,31 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- CLI SHELL MODE --> +// <-- Non-regression test for bug 5081 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=5081 +// +// <-- Short Description --> +// +// demo "Signal Processing" --> "Spectral Estimation" fails (Windows) + rand('normal'); + rand('seed',0); + x = rand(1:1024-33+1); + nf = 33; + bedge = [0 .1;.125 .5]; + des = [1 0]; + wate = [1 1]; + h = eqfir(nf,bedge,des,wate); + h1 = [h 0*ones(1:max(size(x))-1)]; + x1 = [x 0*ones(1:max(size(h))-1)]; + hf = fft(h1,-1); + xf = fft(x1,-1); + yf = hf.*xf; + y = real(fft(yf,1)); + ierr = execstr("[sm2] = cspect(100,200,''tr'',y);","errcatch"); + if ierr <> 0 then bugmes();quit;end diff --git a/modules/fftw/tests/nonreg_tests/bug_5081.tst b/modules/fftw/tests/nonreg_tests/bug_5081.tst new file mode 100755 index 000000000..eed3aa93b --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_5081.tst @@ -0,0 +1,34 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- CLI SHELL MODE --> + +// <-- Non-regression test for bug 5081 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=5081 +// +// <-- Short Description --> +// +// demo "Signal Processing" --> "Spectral Estimation" fails (Windows) + + rand('normal'); + rand('seed',0); + x = rand(1:1024-33+1); + nf = 33; + bedge = [0 .1;.125 .5]; + des = [1 0]; + wate = [1 1]; + h = eqfir(nf,bedge,des,wate); + h1 = [h 0*ones(1:max(size(x))-1)]; + x1 = [x 0*ones(1:max(size(h))-1)]; + hf = fft(h1,-1); + xf = fft(x1,-1); + yf = hf.*xf; + y = real(fft(yf,1)); + ierr = execstr("[sm2] = cspect(100,200,''tr'',y);","errcatch"); + if ierr <> 0 then pause,end diff --git a/modules/fftw/tests/nonreg_tests/bug_8390.tst b/modules/fftw/tests/nonreg_tests/bug_8390.tst new file mode 100755 index 000000000..ca6a74bed --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_8390.tst @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- INTERACTIVE TEST --> +// +// <-- Non-regression test for bug 8390 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=8390 +// +// <-- Short Description --> +// a "Warning : redefining function: mputl" displayed if you did not install fftw on Windows. +// +// +// install scilab without fftw module +// check that you do not have this warning
\ No newline at end of file diff --git a/modules/fftw/tests/nonreg_tests/bug_9266.dia.ref b/modules/fftw/tests/nonreg_tests/bug_9266.dia.ref new file mode 100755 index 000000000..0344d7626 --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_9266.dia.ref @@ -0,0 +1,24 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 9266 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=9266 +// +// <-- Short Description --> +// +// fftw crashed on Windows with MKL wrapper +// (install scilab on windows with fftw support and MKL wrapper) +a = rand(3, 3); +r = fftw(a); +ref = [ 5.0053826 , -1.0513065 + 0.6838074*%i, -1.0513065 - 0.6838074*%i ; .. + -0.4155955 - 0.5198981*%i, -0.2145198-0.3890532*%i, 0.1296924-1.0547338*%i ; .. + - 0.4155955 + 0.5198981*%i, 0.1296924 + 1.0547338*%i, - 0.2145198 + 0.3890532*%i ]; +assert_checkalmostequal(r, ref, %eps * 10e8); diff --git a/modules/fftw/tests/nonreg_tests/bug_9266.tst b/modules/fftw/tests/nonreg_tests/bug_9266.tst new file mode 100755 index 000000000..8edacfac6 --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_9266.tst @@ -0,0 +1,27 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 9266 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=9266 +// +// <-- Short Description --> +// +// fftw crashed on Windows with MKL wrapper +// (install scilab on windows with fftw support and MKL wrapper) + +a = rand(3, 3); +r = fftw(a); + +ref = [ 5.0053826 , -1.0513065 + 0.6838074*%i, -1.0513065 - 0.6838074*%i ; .. + -0.4155955 - 0.5198981*%i, -0.2145198-0.3890532*%i, 0.1296924-1.0547338*%i ; .. + - 0.4155955 + 0.5198981*%i, 0.1296924 + 1.0547338*%i, - 0.2145198 + 0.3890532*%i ]; + +assert_checkalmostequal(r, ref, %eps * 10e8); diff --git a/modules/fftw/tests/nonreg_tests/bug_9647.dia.ref b/modules/fftw/tests/nonreg_tests/bug_9647.dia.ref new file mode 100755 index 000000000..690669b8a --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_9647.dia.ref @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 9647 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=9647 +// +// <-- Short Description --> +// On Scilab startup, the variable fft was declared by default while it should not. +// +if %fftw then + assert_checkequal(isdef("fft"), %T); + assert_checkequal(funptr("fft"), funptr("fftw")); +else + assert_checkequal(isdef("fft"), %F); +end diff --git a/modules/fftw/tests/nonreg_tests/bug_9647.tst b/modules/fftw/tests/nonreg_tests/bug_9647.tst new file mode 100755 index 000000000..a9842b1ab --- /dev/null +++ b/modules/fftw/tests/nonreg_tests/bug_9647.tst @@ -0,0 +1,24 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Allan CORNET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// +// <-- CLI SHELL MODE --> +// +// <-- Non-regression test for bug 9647 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=9647 +// +// <-- Short Description --> +// On Scilab startup, the variable fft was declared by default while it should not. +// + +if %fftw then + assert_checkequal(isdef("fft"), %T); + assert_checkequal(funptr("fft"), funptr("fftw")); +else + assert_checkequal(isdef("fft"), %F); +end diff --git a/modules/fftw/tests/unit_tests/dct_part1.dia.ref b/modules/fftw/tests/unit_tests/dct_part1.dia.ref new file mode 100755 index 000000000..4b91d3c8c --- /dev/null +++ b/modules/fftw/tests/unit_tests/dct_part1.dia.ref @@ -0,0 +1,133 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +//============================================================================================ +//=================================dct(A [,isn ]) ============================================ +//============================================================================================ +//*****1-D transform ************************************************************************* +//Real case +x=1:12; +y=dct(x); +y_ref=[22.516660498395403,-11.8786642686858634,0,-1.28774657627874833,0,-0.43698525004935185,0,.. + -0.19742775076373928,0,-0.09151733141338797,0,-0.02710534350890513]; +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +x=[2;8;1;3;7;6;8;7;9;1;6;7;7;2;5;2;2;2;9;7;3]; +y_ref=[22.6946605845432074;1.10519574266518794;-2.3241759528540804;-4.85151174144696462; + 1.0125846934610252;-1.1922212636993892;1.59557416291812504;4.54344111251121419; + -2.5559634218592766;0.60407624058440501;-2.30214098713630388; 3.897143024186624; + -4.1080570985039806;-4.03538258536340688;-2.00594354950719467;-1.38969746761551849; + -1.83219922773155397;-2.95095934890382949;-1.53744081244562425;-1.30413301180655994; + 4.3041816147747296]; +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +//Complex case +x=[9+%i*4,2+%i*3,3+%i*6,4+%i*4,3+%i*9,6+%i,5+%i*5,3+%i*3,6+%i*4,5+%i*3]; +y_ref=complex(dct(real(x)),dct(imag(x))); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +//*****2-D transform ************************************************************************* +//Real case +x=matrix([1 5 -3 7 0.3 -1 23 -0.5 -0.9 2 -7 23],3,4); +y_ref=[14.1162140816863513,-8.0479004090282249,-1.9918584287042105,3.4272874122786048; + 5.26794551983977577,8.50616086908862101,-17.2887608000110866,12.1283851880283517; + 11.3288900603721974,-15.5570935550615044,-0.30618621784789912,-0.91342220197659429]; +//assert_checkalmostequal(DCTN(x,-1),y_ref); +y=dct(x); +assert_checkalmostequal(y,y_ref); +assert_checktrue(isreal(y)); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1),x); +x = [5,0,8,8,6,4,3,2,4; + 4,5,2,4,6,9,5,6,8; + 3,3,1,4,7,9,3,8,6; + 6,4,7,9,9,3,5,0,5; + 4,3,2,1,5,4,5,7,2; + 9,1,7,2,3,7,1,2,8]; +y_ref = [34.5650219259403997,-1.78710447324021815,-2.48169728021161573,0.16666666666666699,.. + 5.69563532864431199,-0.59272882615611178,2.21317603189356582,3.3056243529158942,.. + 0.77159656358327178; + 1.97808522199214609,-1.62888466797664266,-3.52915941330826,-1.81698729810778037,.. + -0.00057916618067070,0.72759134820032212,-0.49562009306186250,-1.52634899725477169,.. + -1.64182890117946090; + -2,2.0255789396616728,2.39977639282567701,-1.02062072615965738,-0.21623417629893263,.. + -0.33673269589600086,4.59619407771255872,3.58705650694926259,1.2017970067515158; + -1.632993161855452,4.54779009715027005,-3.28900566318474974,-2.5,-2.3230729643967232,.. + 4.37582606600885970,0.28867513459481303,-2.32803596885859054,3.9415445893237928; + 0.7698003589195008,3.99972019170555404,-1.83426711715667090,-4.12478955692152738,.. + 2.28878659482871472,0.71653818014654680,4.42268981335851574,1.16186166799936497,.. + 1.59242235450869574; + -2.92089426357420923,-3.87026979368244106,0.33153838264147889,2.68301270189221830,.. + -1.42188370601683456,1.21560492170039569,-3.67104657360480369,2.74425230353935490,.. + -2.13332925728981504]; +//assert_checkalmostequal(DCTN(x,-1),y_ref); +y=dct(x); +assert_checkalmostequal(y,y_ref,1000*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +//Complex case +x=[1+%i*4, 8+%i*4; 2+%i*9, 1+%i; 7+%i*2, 2+%i*6; 7+%i*6, 8+%i*7]; +y_ref=complex(dct(real(x)),dct(imag(x))); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +//*****N-D transform ************************************************************************* +function y=DCTN(y,flag) + for i=1:ndims(y),y=dct(y,flag,i),end +endfunction +//Real case +x=matrix([2,8,1,3,7,6,8,7,9,1,6,7,7,2,5,2,2,2,9,7,3,9,2,3,.. + 4,3,6,5,3,6,5,4,3,6,4,9,1,5,3,4,3,1,8,2,1,7,2,7],[3,4,4]); +y_ref=DCTN(x,-1); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1),x); +x=matrix([5,1,10,2,0,8,1,10,7,2,5,8,8,1,8,3],[2 2 2 2]); +y_ref=DCTN(x,-1); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +x=matrix([5,1,10,2,0,8,1,10,7,2,5,8,8,1,8,3],[1 2 2 2 2]); +y_ref=DCTN(x,-1); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +x=matrix([2,8,1,3,7,6,8,7,9,1,6,7,7,2,5,2,2,2,9,7,3,9,2,3,... + 4,3,6,5,3,6,5,4,3,6,4,9,11,5,3,4,3,1,8,2,1,7,2,7,... + 8,4,4,9,1,2,6,6,7,9,5,3,4,9,9,3,4,7,3,5,3,5,5,1,... + 2,6,8,5,7,2,4,8,6,5,2,8,1,3,9,8,5,10,6,10,1,7,4,6],[3,4,2 4]); +y_ref=DCTN(x,-1); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,100*%eps); +//Complex case +x=matrix([3,3+%i*8,6+%i,1+%i*9,6,7+%i*2,3+%i*5,%i*7,5+%i*9,4+%i*2,2+%i*6,5+%i*3,4+%i*4,... + 3+%i*9,1+%i*8,6+%i*8,3+%i*3,7+%i*4,5+%i*4,3+%i*7,7+%i*8,1+%i*4,4+%i*8,7+%i*5,... + 9+%i,2+%i*10,4+%i*2,10,5+%i*8,5+%i,6+%i*10,6+%i*7,5+%i*2,8+%i*5,8+%i*8,10+%i*8,... + 8+%i,4+%i*8,2+%i*3,9+%i*3,1+%i*10,5+%i*9,4+%i*2,%i*9,5+%i*7,8+%i*9,6,2+%i*2],[3,4,1,4]); +y_ref=dct(real(x))+%i*(dct(imag(x))); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); diff --git a/modules/fftw/tests/unit_tests/dct_part1.tst b/modules/fftw/tests/unit_tests/dct_part1.tst new file mode 100755 index 000000000..3a2475e70 --- /dev/null +++ b/modules/fftw/tests/unit_tests/dct_part1.tst @@ -0,0 +1,151 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +//============================================================================================ +//=================================dct(A [,isn ]) ============================================ +//============================================================================================ +//*****1-D transform ************************************************************************* +//Real case +x=1:12; +y=dct(x); +y_ref=[22.516660498395403,-11.8786642686858634,0,-1.28774657627874833,0,-0.43698525004935185,0,.. + -0.19742775076373928,0,-0.09151733141338797,0,-0.02710534350890513]; +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); + +x=[2;8;1;3;7;6;8;7;9;1;6;7;7;2;5;2;2;2;9;7;3]; +y_ref=[22.6946605845432074;1.10519574266518794;-2.3241759528540804;-4.85151174144696462; + 1.0125846934610252;-1.1922212636993892;1.59557416291812504;4.54344111251121419; + -2.5559634218592766;0.60407624058440501;-2.30214098713630388; 3.897143024186624; + -4.1080570985039806;-4.03538258536340688;-2.00594354950719467;-1.38969746761551849; + -1.83219922773155397;-2.95095934890382949;-1.53744081244562425;-1.30413301180655994; + 4.3041816147747296]; +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); + +//Complex case +x=[9+%i*4,2+%i*3,3+%i*6,4+%i*4,3+%i*9,6+%i,5+%i*5,3+%i*3,6+%i*4,5+%i*3]; + +y_ref=complex(dct(real(x)),dct(imag(x))); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +//*****2-D transform ************************************************************************* +//Real case +x=matrix([1 5 -3 7 0.3 -1 23 -0.5 -0.9 2 -7 23],3,4); +y_ref=[14.1162140816863513,-8.0479004090282249,-1.9918584287042105,3.4272874122786048; + 5.26794551983977577,8.50616086908862101,-17.2887608000110866,12.1283851880283517; + 11.3288900603721974,-15.5570935550615044,-0.30618621784789912,-0.91342220197659429]; + +//assert_checkalmostequal(DCTN(x,-1),y_ref); + +y=dct(x); +assert_checkalmostequal(y,y_ref); +assert_checktrue(isreal(y)); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref); +assert_checktrue(isreal(y)); + +assert_checkalmostequal(dct(y,1),x); + + +x = [5,0,8,8,6,4,3,2,4; + 4,5,2,4,6,9,5,6,8; + 3,3,1,4,7,9,3,8,6; + 6,4,7,9,9,3,5,0,5; + 4,3,2,1,5,4,5,7,2; + 9,1,7,2,3,7,1,2,8]; +y_ref = [34.5650219259403997,-1.78710447324021815,-2.48169728021161573,0.16666666666666699,.. + 5.69563532864431199,-0.59272882615611178,2.21317603189356582,3.3056243529158942,.. + 0.77159656358327178; + 1.97808522199214609,-1.62888466797664266,-3.52915941330826,-1.81698729810778037,.. + -0.00057916618067070,0.72759134820032212,-0.49562009306186250,-1.52634899725477169,.. + -1.64182890117946090; + -2,2.0255789396616728,2.39977639282567701,-1.02062072615965738,-0.21623417629893263,.. + -0.33673269589600086,4.59619407771255872,3.58705650694926259,1.2017970067515158; + -1.632993161855452,4.54779009715027005,-3.28900566318474974,-2.5,-2.3230729643967232,.. + 4.37582606600885970,0.28867513459481303,-2.32803596885859054,3.9415445893237928; + 0.7698003589195008,3.99972019170555404,-1.83426711715667090,-4.12478955692152738,.. + 2.28878659482871472,0.71653818014654680,4.42268981335851574,1.16186166799936497,.. + 1.59242235450869574; + -2.92089426357420923,-3.87026979368244106,0.33153838264147889,2.68301270189221830,.. + -1.42188370601683456,1.21560492170039569,-3.67104657360480369,2.74425230353935490,.. + -2.13332925728981504]; +//assert_checkalmostequal(DCTN(x,-1),y_ref); +y=dct(x); +assert_checkalmostequal(y,y_ref,1000*%eps); +assert_checktrue(isreal(y)); + +assert_checkalmostequal(dct(y,1),x,0,100*%eps); + +//Complex case +x=[1+%i*4, 8+%i*4; 2+%i*9, 1+%i; 7+%i*2, 2+%i*6; 7+%i*6, 8+%i*7]; +y_ref=complex(dct(real(x)),dct(imag(x))); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); +//*****N-D transform ************************************************************************* +function y=DCTN(y,flag) + for i=1:ndims(y),y=dct(y,flag,i),end +endfunction + +//Real case +x=matrix([2,8,1,3,7,6,8,7,9,1,6,7,7,2,5,2,2,2,9,7,3,9,2,3,.. + 4,3,6,5,3,6,5,4,3,6,4,9,1,5,3,4,3,1,8,2,1,7,2,7],[3,4,4]); +y_ref=DCTN(x,-1); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +y=dct(x,-1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1),x); + +x=matrix([5,1,10,2,0,8,1,10,7,2,5,8,8,1,8,3],[2 2 2 2]); +y_ref=DCTN(x,-1); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); + +x=matrix([5,1,10,2,0,8,1,10,7,2,5,8,8,1,8,3],[1 2 2 2 2]); +y_ref=DCTN(x,-1); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); + + +x=matrix([2,8,1,3,7,6,8,7,9,1,6,7,7,2,5,2,2,2,9,7,3,9,2,3,... + 4,3,6,5,3,6,5,4,3,6,4,9,11,5,3,4,3,1,8,2,1,7,2,7,... + 8,4,4,9,1,2,6,6,7,9,5,3,4,9,9,3,4,7,3,5,3,5,5,1,... + 2,6,8,5,7,2,4,8,6,5,2,8,1,3,9,8,5,10,6,10,1,7,4,6],[3,4,2 4]); +y_ref=DCTN(x,-1); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,100*%eps); + +//Complex case +x=matrix([3,3+%i*8,6+%i,1+%i*9,6,7+%i*2,3+%i*5,%i*7,5+%i*9,4+%i*2,2+%i*6,5+%i*3,4+%i*4,... + 3+%i*9,1+%i*8,6+%i*8,3+%i*3,7+%i*4,5+%i*4,3+%i*7,7+%i*8,1+%i*4,4+%i*8,7+%i*5,... + 9+%i,2+%i*10,4+%i*2,10,5+%i*8,5+%i,6+%i*10,6+%i*7,5+%i*2,8+%i*5,8+%i*8,10+%i*8,... + 8+%i,4+%i*8,2+%i*3,9+%i*3,1+%i*10,5+%i*9,4+%i*2,%i*9,5+%i*7,8+%i*9,6,2+%i*2],[3,4,1,4]); +y_ref=dct(real(x))+%i*(dct(imag(x))); +y=dct(x); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1),x,0,100*%eps); diff --git a/modules/fftw/tests/unit_tests/dct_part2.dia.ref b/modules/fftw/tests/unit_tests/dct_part2.dia.ref new file mode 100755 index 000000000..b185f0a0f --- /dev/null +++ b/modules/fftw/tests/unit_tests/dct_part2.dia.ref @@ -0,0 +1,181 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +//============================================================================================ +//=================================dct(A ,isn, sel) ============================================ +//============================================================================================== +function x=DCT(y,flag,sel) + x=y; + Dims=size(y) + ind=1:ndims(y) + ind(sel)=[]; + I=list(); + for k=1:ndims(y),I(k)=:;end + select size(ind,'*') + case 1 then + for i1=1:Dims(ind) + I(ind)=i1; + x(I(:))=dct(y(I(:))); + end + case 2 then + for i1=1:Dims(ind(1)) + I(ind(1))=i1; + for i2=1:Dims(ind(2)) + I(ind(2))=i2; + x(I(:))=dct(y(I(:))); + end + end + case 3 then + for i1=1:Dims(ind(1)) + I(ind(1))=i1; + for i2=1:Dims(ind(2)) + I(ind(2))=i2; + for i3=1:Dims(ind(3)) + I(ind(3))=i3; + x(I(:))=dct(y(I(:))); + end + end + end + else + error('not handled') + end +endfunction +//*****multiple 1-D transform ****************************************************************** +//Real case +x=matrix(1:12,3,4); +y_ref=x;for i2=1:4,y_ref(:,i2)=dct(x(:,i2));end +y=dct(x,-1,1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,1),x,0,100*%eps); +y_ref=x;for i1=1:3,y_ref(i1,:)=dct(x(i1,:));end +y=dct(x,-1,2); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,2),x,0,100*%eps); +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,4,2]); +y_ref=x;for i1=1:3,for i3=1:2,y_ref(i1,:,i3)=dct(x(i1,:,i3));end;end +y=dct(x,-1,2); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,2),x,0,100*%eps); +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,1,4,2]); +y_ref=x;for i1=1:3,for i4=1:2,y_ref(i1,1,:,i4)=dct(x(i1,1,:,i4));end;end +y=dct(x,-1,3); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,3),x,0,100*%eps); +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,1,4,2]); +y_ref=x;for i1=1:3,for i3=1:4,y_ref(i1,1,i3,:)=dct(x(i1,1,i3,:));end;end +y=dct(x,-1,4); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,4),x,0,100*%eps); +//Complex case +x=matrix( [ 9+%i*9, 8+%i*4, 4+%i*6, 8+%i*8, 1+%i*8, 1+%i*6, 5+%i*4, 4+%i*7, ... + 6+%i*5, 9+%i*6, 1+%i*10, 4+%i*2, 9+%i*5,%i*2, 9+%i*6, 9+%i*4, 9, ... + 8+%i*6,%i*7,%i*9, 5+%i, 4+%i*3, 8, 5+%i*6],[3,1,4,2]); +y_ref=x;for i1=1:3,for i3=1:4,y_ref(i1,1,i3,:)=dct(x(i1,1,i3,:));end;end +y=dct(x,-1,4); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1,4),x,0,100*%eps); +//*****multiple 2-D transform ****************************************************************** +//Real case +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,4,2]); +sel=[2 3]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,1,4,2]); +sel=[1 3]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[1,3,4,2]); +sel=[2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +x=matrix([6,4,5,5,1,9,7,1,1,5,8,1,7,2,2,4,4,2,3,1,4,7,1,6,4,... + 2,2,6,9,7,3,2,2,7,6,9,6,8,1,7,6,8,8,1,2,3,5,7],[3,2,1,4,2]); +sel=[2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +//Complex case +x=matrix([6+%i,4,5,5,1,9,7,1,1,5,8,1,7,2,2,4,4,2,3,1,4,7,1,6,4,... + 2,2,6,9,7,3,2,2,7,6,9,6,8,1,7,6,8,8-%i,1,2,3,5,7],[3,2,1,4,2]); +sel=[2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +//*****multiple N-D transform ****************************************************************** +//Real case +x=matrix([2,8,1,3,7,6,8,7,9,1,6,7,7,2,5,2,2,2,9,7,3,9,2,3,... + 4,3,6,5,3,6,5,4,3,6,4,9,11,5,3,4,3,1,8,2,1,7,2,7,... + 8,4,4,9,1,2,6,6,7,9,5,3,4,9,9,3,4,7,3,5,3,5,5,1,... + 2,6,8,5,7,2,4,8,6,5,2,8,1,3,9,8,5,10,6,10,1,7,4,6],[3,4,2 4]); +sel=[1 3 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +sel=[1 2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +x=matrix([5,8,8,4,2,2,2,9,0,2,6,7,6,0,2,9,1,3,4,6,4,3,1,8,0,4,7,2,9,7,2,3,9,1,5,7,.. + 8,6,4,7,1,2,9,3,7,0,2,10,9,1,9,5,9,9,2,0,0,7,5,1,5,8,4,4,8,0,10,10,7,10,... + 8,5,2,9,0,7,2,8,4,3,6,8,9,6,6,9,6,5,7,9,7,5,9,6,4,7,3,6,0,9,10,6,6,3,10,... + 8,9,5,1,7,9,0,8,6,1,8,5,2,8,8,7,4,3,6,0,9,3,2,5,1,10,7,8,5,7,5,7,1,7,3,9,... + 8,5,4,9,0,5,2,1,10,5,2,1,9,9,6,7,2,9,8,3,2,6,2,5,6,4,1,5,1,3,9,2,2,1,7,10,... + 9,7,8,8,10,2,5,7,4,5,8,3,9,2,9,9,10,1,8,9,7,6,8,1,5,0,10,8,6,8,4,8,4,6,9,3,... + 9,4,2,4,3,5,4,3,3,0,5,7,7,3,6,7,4,2,9,9,4,4,6,7,9,3,10,1,1,7,8,8,3,5,4,3,3,... + 9,10,1,6,2,0,6,0,3,1,2,2,4,1,3,1,8,6,3,4,5,1,10,7,9,10,3,6,2,6,6,5,2,1,8,6,... + 6,7,1,1,8,6,4,3,9,10,1,4,7,2,10,7,1,4,5,5,5,8,3,9,7,2,1,3,1,3,4,2,0,4,5,1,10,... + 7,1,9,8,5,9,5,3,6,4,9,0,8,3,1,6,9,4,3,4,8,2,5,1,5,3,0,2,3,1,10,3,1,9,9,8,2],[3 2 3 4 5]); +sel=[2 3 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +x=matrix([5,8,8,4,2,2,2,9,0,2,6,7,6,0,2,9,1,3,4,6,4,3,1,8,0,4,7,2,9,7,2,3,9,1,5,7,.. + 8,6,4,7,1,2,9,3,7,0,2,10,9,1,9,5,9,9,2,0,0,7,5,1,5,8,4,4,8,0,10,10,7,10,... + 8,5,2,9,0,7,2,8,4,3,6,8,9,6,6,9,6,5,7,9,7,5,9,6,4,7,3,6,0,9,10,6,6,3,10,... + 8,9,5,1,7,9,0,8,6,1,8,5,2,8,8,7,4,3,6,0,9,3,2,5,1,10,7,8,5,7,5,7,1,7,3,9,... + 8,5,4,9,0,5,2,1,10,5,2,1,9,9,6,7,2,9,8,3,2,6,2,5,6,4,1,5,1,3,9,2,2,1,7,10,... + 9,7,8,8,10,2,5,7,4,5,8,3,9,2,9,9,10,1,8,9,7,6,8,1,5,0,10,8,6,8,4,8,4,6,9,3,... + 9,4,2,4,3,5,4,3,3,0,5,7,7,3,6,7,4,2,9,9,4,4,6,7,9,3,10,1,1,7,8,8,3,5,4,3,3,... + 9,10,1,6,2,0,6,0,3,1,2,2,4,1,3,1,8,6,3,4,5,1,10,7,9,10,3,6,2,6,6,5,2,1,8,6,... + 6,7,1,1,8,6,4,3,9,10,1,4,7,2,10,7,1,4,5,5,5,8,3,9,7,2,1,3,1,3,4,2,0,4,5,1,10,... + 7,1,9,8,5,9,5,3,6,4,9,0,8,3,1,6,9,4,3,4,8,2,5,1,5,3,0,2,3,1,10,3,1,9,9,8,2],[3 2 1 3 4 5]); +sel=[2 4 5]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); +x=matrix([9,8,8,8,6,5,5,9,8,1,1,9,4,10,8,6,0,7,2,5,6,8,2,1,7,1,1,6,8,6,4,3],[2 2 2 2 2]); +sel=[2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); diff --git a/modules/fftw/tests/unit_tests/dct_part2.tst b/modules/fftw/tests/unit_tests/dct_part2.tst new file mode 100755 index 000000000..06de11424 --- /dev/null +++ b/modules/fftw/tests/unit_tests/dct_part2.tst @@ -0,0 +1,204 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +//============================================================================================ +//=================================dct(A ,isn, sel) ============================================ +//============================================================================================== +function x=DCT(y,flag,sel) + x=y; + Dims=size(y) + ind=1:ndims(y) + ind(sel)=[]; + I=list(); + for k=1:ndims(y),I(k)=:;end + select size(ind,'*') + case 1 then + for i1=1:Dims(ind) + I(ind)=i1; + x(I(:))=dct(y(I(:))); + end + case 2 then + for i1=1:Dims(ind(1)) + I(ind(1))=i1; + for i2=1:Dims(ind(2)) + I(ind(2))=i2; + x(I(:))=dct(y(I(:))); + end + end + case 3 then + for i1=1:Dims(ind(1)) + I(ind(1))=i1; + for i2=1:Dims(ind(2)) + I(ind(2))=i2; + for i3=1:Dims(ind(3)) + I(ind(3))=i3; + x(I(:))=dct(y(I(:))); + end + end + end + + else + error('not handled') + end +endfunction + +//*****multiple 1-D transform ****************************************************************** +//Real case +x=matrix(1:12,3,4); +y_ref=x;for i2=1:4,y_ref(:,i2)=dct(x(:,i2));end +y=dct(x,-1,1); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,1),x,0,100*%eps); + +y_ref=x;for i1=1:3,y_ref(i1,:)=dct(x(i1,:));end +y=dct(x,-1,2); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,2),x,0,100*%eps); + +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,4,2]); +y_ref=x;for i1=1:3,for i3=1:2,y_ref(i1,:,i3)=dct(x(i1,:,i3));end;end +y=dct(x,-1,2); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,2),x,0,100*%eps); + +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,1,4,2]); +y_ref=x;for i1=1:3,for i4=1:2,y_ref(i1,1,:,i4)=dct(x(i1,1,:,i4));end;end +y=dct(x,-1,3); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,3),x,0,100*%eps); + +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,1,4,2]); +y_ref=x;for i1=1:3,for i3=1:4,y_ref(i1,1,i3,:)=dct(x(i1,1,i3,:));end;end +y=dct(x,-1,4); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,4),x,0,100*%eps); + +//Complex case +x=matrix( [ 9+%i*9, 8+%i*4, 4+%i*6, 8+%i*8, 1+%i*8, 1+%i*6, 5+%i*4, 4+%i*7, ... + 6+%i*5, 9+%i*6, 1+%i*10, 4+%i*2, 9+%i*5,%i*2, 9+%i*6, 9+%i*4, 9, ... + 8+%i*6,%i*7,%i*9, 5+%i, 4+%i*3, 8, 5+%i*6],[3,1,4,2]); +y_ref=x;for i1=1:3,for i3=1:4,y_ref(i1,1,i3,:)=dct(x(i1,1,i3,:));end;end +y=dct(x,-1,4); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1,4),x,0,100*%eps); + +//*****multiple 2-D transform ****************************************************************** +//Real case +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,4,2]); +sel=[2 3]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[3,1,4,2]); +sel=[1 3]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + +x=matrix([7,1,8,3,5,6,2,8,6,3,10,9,3,1,9,7,9,4,6,7,7,4,1,5],[1,3,4,2]); +sel=[2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + +x=matrix([6,4,5,5,1,9,7,1,1,5,8,1,7,2,2,4,4,2,3,1,4,7,1,6,4,... + 2,2,6,9,7,3,2,2,7,6,9,6,8,1,7,6,8,8,1,2,3,5,7],[3,2,1,4,2]); +sel=[2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + +//Complex case +x=matrix([6+%i,4,5,5,1,9,7,1,1,5,8,1,7,2,2,4,4,2,3,1,4,7,1,6,4,... + 2,2,6,9,7,3,2,2,7,6,9,6,8,1,7,6,8,8-%i,1,2,3,5,7],[3,2,1,4,2]); +sel=[2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + +//*****multiple N-D transform ****************************************************************** +//Real case + + +x=matrix([2,8,1,3,7,6,8,7,9,1,6,7,7,2,5,2,2,2,9,7,3,9,2,3,... + 4,3,6,5,3,6,5,4,3,6,4,9,11,5,3,4,3,1,8,2,1,7,2,7,... + 8,4,4,9,1,2,6,6,7,9,5,3,4,9,9,3,4,7,3,5,3,5,5,1,... + 2,6,8,5,7,2,4,8,6,5,2,8,1,3,9,8,5,10,6,10,1,7,4,6],[3,4,2 4]); +sel=[1 3 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + +sel=[1 2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + + +x=matrix([5,8,8,4,2,2,2,9,0,2,6,7,6,0,2,9,1,3,4,6,4,3,1,8,0,4,7,2,9,7,2,3,9,1,5,7,.. + 8,6,4,7,1,2,9,3,7,0,2,10,9,1,9,5,9,9,2,0,0,7,5,1,5,8,4,4,8,0,10,10,7,10,... + 8,5,2,9,0,7,2,8,4,3,6,8,9,6,6,9,6,5,7,9,7,5,9,6,4,7,3,6,0,9,10,6,6,3,10,... + 8,9,5,1,7,9,0,8,6,1,8,5,2,8,8,7,4,3,6,0,9,3,2,5,1,10,7,8,5,7,5,7,1,7,3,9,... + 8,5,4,9,0,5,2,1,10,5,2,1,9,9,6,7,2,9,8,3,2,6,2,5,6,4,1,5,1,3,9,2,2,1,7,10,... + 9,7,8,8,10,2,5,7,4,5,8,3,9,2,9,9,10,1,8,9,7,6,8,1,5,0,10,8,6,8,4,8,4,6,9,3,... + 9,4,2,4,3,5,4,3,3,0,5,7,7,3,6,7,4,2,9,9,4,4,6,7,9,3,10,1,1,7,8,8,3,5,4,3,3,... + 9,10,1,6,2,0,6,0,3,1,2,2,4,1,3,1,8,6,3,4,5,1,10,7,9,10,3,6,2,6,6,5,2,1,8,6,... + 6,7,1,1,8,6,4,3,9,10,1,4,7,2,10,7,1,4,5,5,5,8,3,9,7,2,1,3,1,3,4,2,0,4,5,1,10,... + 7,1,9,8,5,9,5,3,6,4,9,0,8,3,1,6,9,4,3,4,8,2,5,1,5,3,0,2,3,1,10,3,1,9,9,8,2],[3 2 3 4 5]); +sel=[2 3 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + +x=matrix([5,8,8,4,2,2,2,9,0,2,6,7,6,0,2,9,1,3,4,6,4,3,1,8,0,4,7,2,9,7,2,3,9,1,5,7,.. + 8,6,4,7,1,2,9,3,7,0,2,10,9,1,9,5,9,9,2,0,0,7,5,1,5,8,4,4,8,0,10,10,7,10,... + 8,5,2,9,0,7,2,8,4,3,6,8,9,6,6,9,6,5,7,9,7,5,9,6,4,7,3,6,0,9,10,6,6,3,10,... + 8,9,5,1,7,9,0,8,6,1,8,5,2,8,8,7,4,3,6,0,9,3,2,5,1,10,7,8,5,7,5,7,1,7,3,9,... + 8,5,4,9,0,5,2,1,10,5,2,1,9,9,6,7,2,9,8,3,2,6,2,5,6,4,1,5,1,3,9,2,2,1,7,10,... + 9,7,8,8,10,2,5,7,4,5,8,3,9,2,9,9,10,1,8,9,7,6,8,1,5,0,10,8,6,8,4,8,4,6,9,3,... + 9,4,2,4,3,5,4,3,3,0,5,7,7,3,6,7,4,2,9,9,4,4,6,7,9,3,10,1,1,7,8,8,3,5,4,3,3,... + 9,10,1,6,2,0,6,0,3,1,2,2,4,1,3,1,8,6,3,4,5,1,10,7,9,10,3,6,2,6,6,5,2,1,8,6,... + 6,7,1,1,8,6,4,3,9,10,1,4,7,2,10,7,1,4,5,5,5,8,3,9,7,2,1,3,1,3,4,2,0,4,5,1,10,... + 7,1,9,8,5,9,5,3,6,4,9,0,8,3,1,6,9,4,3,4,8,2,5,1,5,3,0,2,3,1,10,3,1,9,9,8,2],[3 2 1 3 4 5]); + +sel=[2 4 5]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); + +x=matrix([9,8,8,8,6,5,5,9,8,1,1,9,4,10,8,6,0,7,2,5,6,8,2,1,7,1,1,6,8,6,4,3],[2 2 2 2 2]); +sel=[2 4]; +y_ref=DCT(x,-1,sel); +y=dct(x,-1,sel); +assert_checkalmostequal(y,y_ref,0,100*%eps); +assert_checktrue(isreal(y)); +assert_checkalmostequal(dct(y,1,sel),x,0,100*%eps); diff --git a/modules/fftw/tests/unit_tests/dct_part3.dia.ref b/modules/fftw/tests/unit_tests/dct_part3.dia.ref new file mode 100755 index 000000000..ec6969825 --- /dev/null +++ b/modules/fftw/tests/unit_tests/dct_part3.dia.ref @@ -0,0 +1,65 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +//============================================================================================ +//=================================dct(A ,isn, dim, incr) ============================================ +//============================================================================================== +//*****multiple 1-D transform ****************************************************************** +//Real case +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 5 1 -1]; +y=matrix(dct(A(:),-1,4,1),size(A)); +assert_checkalmostequal(y,dct(A,-1,1),0,100*%eps); +y1=matrix(dct(y(:),1,4,1),size(A)); +assert_checkalmostequal(y1,dct(y,1,1),0,100*%eps); +y=matrix(dct(A(:),-1,3,4),size(A)); +assert_checkalmostequal(y,dct(A,-1,2),0,100*%eps); +y1=matrix(dct(y(:),1,3,4),size(A)); +assert_checkalmostequal(y1,dct(y,1,2),0,100*%eps); +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y=matrix(dct(A,-1,20,1),[5*4 9 5 6]); +assert_checkalmostequal(y,dct(matrix(A,[5*4 9 5 6]),-1,1),0,100*%eps); +y=matrix(dct(A,-1,45,20),[5*4 9*5 6]); +assert_checkalmostequal(y,dct(matrix(A,[5*4 9*5 6]),-1,2),0,100*%eps); +y1=matrix(dct(y(:),1,45,20),size(A)); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A,0,100*%eps); +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y=matrix(dct(A(:),-1,[9 5],[20 180]),[5 4 9 5 6]); +y1=dct(matrix(A,[5 4 9 5 6]),-1,[3 4]); +assert_checkalmostequal(y,y1,0,100*%eps); +y1=dct(y(:),1,[9 5],[20 180]); +assert_checkalmostequal(A(:),y1,0,100*%eps); +assert_checktrue(isreal(y1)); +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y1=dct(matrix(A,[5 4 9 5 6]),-1,[2 4]); +y=matrix(dct(A(:),-1,[4 5],[5 180]),[5 4 9 5 6]); +assert_checkalmostequal(y,y1,0,100*%eps); +y1=dct(y(:),1,[4 5],[5 180]); +assert_checkalmostequal(A(:),y1,10*%eps,100*%eps); +assert_checktrue(isreal(y1)); +//complex case +A=[%i 1 1 + 2 -1+3*%i -1; + 3 4 4; + 5*%i 1 -1]; +y=matrix(dct(A(:),-1,4,1),size(A)); +assert_checkalmostequal(y,dct(A,-1,1),0,100*%eps); +y1=matrix(dct(y(:),1,4,1),size(A)); +assert_checkalmostequal(y1,dct(y,1,1),0,100*%eps); +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims))+%i*rand(1,prod(Dims)); +y1=dct(matrix(A,[5 4 9 5 6]),-1,[2 4]); +y=matrix(dct(A(:),-1,[4 5],[5 180]),[5 4 9 5 6]); +assert_checkalmostequal(y,y1,0,100*%eps); +y1=dct(y(:),1,[4 5],[5 180]); +assert_checkalmostequal(A(:),y1,10*%eps,100*%eps); diff --git a/modules/fftw/tests/unit_tests/dct_part3.tst b/modules/fftw/tests/unit_tests/dct_part3.tst new file mode 100755 index 000000000..9139f63af --- /dev/null +++ b/modules/fftw/tests/unit_tests/dct_part3.tst @@ -0,0 +1,83 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +//============================================================================================ +//=================================dct(A ,isn, dim, incr) ============================================ +//============================================================================================== +//*****multiple 1-D transform ****************************************************************** +//Real case +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 5 1 -1]; +y=matrix(dct(A(:),-1,4,1),size(A)); +assert_checkalmostequal(y,dct(A,-1,1),0,100*%eps); +y1=matrix(dct(y(:),1,4,1),size(A)); +assert_checkalmostequal(y1,dct(y,1,1),0,100*%eps); + +y=matrix(dct(A(:),-1,3,4),size(A)); +assert_checkalmostequal(y,dct(A,-1,2),0,100*%eps); +y1=matrix(dct(y(:),1,3,4),size(A)); +assert_checkalmostequal(y1,dct(y,1,2),0,100*%eps); + +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y=matrix(dct(A,-1,20,1),[5*4 9 5 6]); +assert_checkalmostequal(y,dct(matrix(A,[5*4 9 5 6]),-1,1),0,100*%eps); + +y=matrix(dct(A,-1,45,20),[5*4 9*5 6]); +assert_checkalmostequal(y,dct(matrix(A,[5*4 9*5 6]),-1,2),0,100*%eps); +y1=matrix(dct(y(:),1,45,20),size(A)); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A,0,100*%eps); + +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y=matrix(dct(A(:),-1,[9 5],[20 180]),[5 4 9 5 6]); +y1=dct(matrix(A,[5 4 9 5 6]),-1,[3 4]); +assert_checkalmostequal(y,y1,0,100*%eps); + +y1=dct(y(:),1,[9 5],[20 180]); +assert_checkalmostequal(A(:),y1,0,100*%eps); +assert_checktrue(isreal(y1)); + + +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y1=dct(matrix(A,[5 4 9 5 6]),-1,[2 4]); + +y=matrix(dct(A(:),-1,[4 5],[5 180]),[5 4 9 5 6]); + +assert_checkalmostequal(y,y1,0,100*%eps); + +y1=dct(y(:),1,[4 5],[5 180]); +assert_checkalmostequal(A(:),y1,10*%eps,100*%eps); +assert_checktrue(isreal(y1)); + +//complex case +A=[%i 1 1 + 2 -1+3*%i -1; + 3 4 4; + 5*%i 1 -1]; +y=matrix(dct(A(:),-1,4,1),size(A)); +assert_checkalmostequal(y,dct(A,-1,1),0,100*%eps); +y1=matrix(dct(y(:),1,4,1),size(A)); +assert_checkalmostequal(y1,dct(y,1,1),0,100*%eps); + + +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims))+%i*rand(1,prod(Dims)); +y1=dct(matrix(A,[5 4 9 5 6]),-1,[2 4]); + +y=matrix(dct(A(:),-1,[4 5],[5 180]),[5 4 9 5 6]); + +assert_checkalmostequal(y,y1,0,100*%eps); + +y1=dct(y(:),1,[4 5],[5 180]); +assert_checkalmostequal(A(:),y1,10*%eps,100*%eps); diff --git a/modules/fftw/tests/unit_tests/dct_part4.dia.ref b/modules/fftw/tests/unit_tests/dct_part4.dia.ref new file mode 100755 index 000000000..9e359a081 --- /dev/null +++ b/modules/fftw/tests/unit_tests/dct_part4.dia.ref @@ -0,0 +1,33 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// Here only option specific cases are checked because the other parts +// are common with dct_part[1 2 3].tst +//============================================================================================ +//=================================dct(A, ..., option) ============================================ +//============================================================================================== +//DCT-II, DCT, IDCT, DCT-III +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5]; +n=15; +assert_checkequal(dct(A),dct(A,"dct")); +assert_checkequal(dct(A,1),dct(A,1,"idct")); +assert_checkalmostequal(dct(A)./dct(A,"dct2"),[0.5 ones(1,n-1)/sqrt(2)]/sqrt(n));//unnormalized +A=matrix([1 5 -3 7 0.3 -1 23 -0.5 -0.9 2 -7 23],3,4); +assert_checkequal(dct(A),dct(A,"dct")); +assert_checkequal(dct(A,1),dct(A,1,"idct")); +[m,n]=size(A); +y_ref=diag([0.5 ones(1,m-1)/sqrt(2)]/sqrt(m))*dct(A,"dct2")*diag([0.5 ones(1,n-1)/sqrt(2)]/sqrt(n)); +assert_checkalmostequal(dct(A),y_ref); +//dct-I +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5];n=15; +y_ref=A(1)+(-1).^(0:n-1)*A(n)+2*sum((A(2:n-1)'*ones(1,n)).*cos(%pi*(1:n-2)'*(0:n-1)/(n-1)),1); +assert_checkalmostequal(dct(A,"dct1"),y_ref); +//dct-IV +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5];n=15; +y_ref=2*sum((A'*ones(1,n)).*cos(%pi*(0.5:n)'*(0.5:n)/n),1); +assert_checkalmostequal(dct(A,-1,"dct4"),y_ref); +assert_checkalmostequal(dct(dct(A,-1,"dct4"),1,"dct4"),2*n*A); diff --git a/modules/fftw/tests/unit_tests/dct_part4.tst b/modules/fftw/tests/unit_tests/dct_part4.tst new file mode 100755 index 000000000..2f3ae8412 --- /dev/null +++ b/modules/fftw/tests/unit_tests/dct_part4.tst @@ -0,0 +1,40 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> +// Here only option specific cases are checked because the other parts +// are common with dct_part[1 2 3].tst +//============================================================================================ +//=================================dct(A, ..., option) ============================================ +//============================================================================================== +//DCT-II, DCT, IDCT, DCT-III +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5]; +n=15; +assert_checkequal(dct(A),dct(A,"dct")); +assert_checkequal(dct(A,1),dct(A,1,"idct")); + +assert_checkalmostequal(dct(A)./dct(A,"dct2"),[0.5 ones(1,n-1)/sqrt(2)]/sqrt(n));//unnormalized + +A=matrix([1 5 -3 7 0.3 -1 23 -0.5 -0.9 2 -7 23],3,4); +assert_checkequal(dct(A),dct(A,"dct")); +assert_checkequal(dct(A,1),dct(A,1,"idct")); + +[m,n]=size(A); +y_ref=diag([0.5 ones(1,m-1)/sqrt(2)]/sqrt(m))*dct(A,"dct2")*diag([0.5 ones(1,n-1)/sqrt(2)]/sqrt(n)); +assert_checkalmostequal(dct(A),y_ref); + +//dct-I +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5];n=15; +y_ref=A(1)+(-1).^(0:n-1)*A(n)+2*sum((A(2:n-1)'*ones(1,n)).*cos(%pi*(1:n-2)'*(0:n-1)/(n-1)),1); +assert_checkalmostequal(dct(A,"dct1"),y_ref); + + +//dct-IV +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5];n=15; +y_ref=2*sum((A'*ones(1,n)).*cos(%pi*(0.5:n)'*(0.5:n)/n),1); +assert_checkalmostequal(dct(A,-1,"dct4"),y_ref); +assert_checkalmostequal(dct(dct(A,-1,"dct4"),1,"dct4"),2*n*A); diff --git a/modules/fftw/tests/unit_tests/dst.dia.ref b/modules/fftw/tests/unit_tests/dst.dia.ref new file mode 100755 index 000000000..f0a43935d --- /dev/null +++ b/modules/fftw/tests/unit_tests/dst.dia.ref @@ -0,0 +1,48 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +// Here only 1d dst computations are checked, because the dst gateway +// is a clone of the dct one. +//real cases +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5]; +n=15; +//DST-I +y_ref=2*sum((A'*ones(1,n)).*sin(%pi*(1:n)'*(1:n)/(n+1)),1); +assert_checkalmostequal(dst(A,-1,"dst1"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst1"),1,"dst1"),2*(n+1)*A); +//DST-II +y_ref=2*sum((A'*ones(1,n)).*sin(%pi*(0.5:n)'*(1:n)/(n)),1); +assert_checkalmostequal(dst(A,-1,"dst2"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst2"),1,"dst3"),2*n*A); +//DST-III +y_ref=((-1).^(0:n-1))*A(n)+ 2*sum((A(1:n-1)'*ones(1,n)).*sin(%pi*(1:n-1)'*(0.5:n)/(n)),1); +assert_checkalmostequal(dst(A,1,"dst3"),y_ref); +assert_checkalmostequal(dst(dst(A,1,"dst3"),-1,"dst2"),2*n*A); +//DST-iV +y_ref=2*sum((A'*ones(1,n)).*sin(%pi*(0.5:n)'*(0.5:n)/(n)),1); +assert_checkalmostequal(dst(A,-1,"dst4"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst4"),1,"dst4"),2*n*A); +//complex cases +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5]+%i*[2 2 2 9 7 3 9 2 3 4 3 6 5 3 6]; +n=15; +//DST-I +y_ref=2*sum((A.'*ones(1,n)).*sin(%pi*(1:n)'*(1:n)/(n+1)),1); +assert_checkalmostequal(dst(A,-1,"dst1"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst1"),1,"dst1"),2*(n+1)*A); +//DST-II +y_ref=2*sum((A.'*ones(1,n)).*sin(%pi*(0.5:n)'*(1:n)/(n)),1); +assert_checkalmostequal(dst(A,-1,"dst2"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst2"),1,"dst3"),2*n*A); +//DST-III +y_ref=((-1).^(0:n-1))*A(n)+ 2*sum((A(1:n-1).'*ones(1,n)).*sin(%pi*(1:n-1)'*(0.5:n)/(n)),1); +assert_checkalmostequal(dst(A,1,"dst3"),y_ref,100*%eps,104*%eps); +assert_checkalmostequal(dst(dst(A,1,"dst3"),-1,"dst2"),2*n*A); +//DST-iV +y_ref=2*sum((A.'*ones(1,n)).*sin(%pi*(0.5:n)'*(0.5:n)/(n)),1); +assert_checkalmostequal(dst(A,-1,"dst4"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst4"),1,"dst4"),2*n*A); +//complex cases diff --git a/modules/fftw/tests/unit_tests/dst.tst b/modules/fftw/tests/unit_tests/dst.tst new file mode 100755 index 000000000..9064d00c0 --- /dev/null +++ b/modules/fftw/tests/unit_tests/dst.tst @@ -0,0 +1,60 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +// Here only 1d dst computations are checked, because the dst gateway +// is a clone of the dct one. +//real cases +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5]; +n=15; +//DST-I +y_ref=2*sum((A'*ones(1,n)).*sin(%pi*(1:n)'*(1:n)/(n+1)),1); +assert_checkalmostequal(dst(A,-1,"dst1"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst1"),1,"dst1"),2*(n+1)*A); + +//DST-II +y_ref=2*sum((A'*ones(1,n)).*sin(%pi*(0.5:n)'*(1:n)/(n)),1); +assert_checkalmostequal(dst(A,-1,"dst2"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst2"),1,"dst3"),2*n*A); + +//DST-III +y_ref=((-1).^(0:n-1))*A(n)+ 2*sum((A(1:n-1)'*ones(1,n)).*sin(%pi*(1:n-1)'*(0.5:n)/(n)),1); +assert_checkalmostequal(dst(A,1,"dst3"),y_ref); +assert_checkalmostequal(dst(dst(A,1,"dst3"),-1,"dst2"),2*n*A); + + +//DST-iV +y_ref=2*sum((A'*ones(1,n)).*sin(%pi*(0.5:n)'*(0.5:n)/(n)),1); +assert_checkalmostequal(dst(A,-1,"dst4"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst4"),1,"dst4"),2*n*A); +//complex cases + +A=[2,8,-1,3,7,6,8,7,9,1,6,7,7,2,5]+%i*[2 2 2 9 7 3 9 2 3 4 3 6 5 3 6]; +n=15; +//DST-I +y_ref=2*sum((A.'*ones(1,n)).*sin(%pi*(1:n)'*(1:n)/(n+1)),1); +assert_checkalmostequal(dst(A,-1,"dst1"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst1"),1,"dst1"),2*(n+1)*A); + +//DST-II +y_ref=2*sum((A.'*ones(1,n)).*sin(%pi*(0.5:n)'*(1:n)/(n)),1); +assert_checkalmostequal(dst(A,-1,"dst2"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst2"),1,"dst3"),2*n*A); + +//DST-III +y_ref=((-1).^(0:n-1))*A(n)+ 2*sum((A(1:n-1).'*ones(1,n)).*sin(%pi*(1:n-1)'*(0.5:n)/(n)),1); +assert_checkalmostequal(dst(A,1,"dst3"),y_ref,100*%eps,104*%eps); +assert_checkalmostequal(dst(dst(A,1,"dst3"),-1,"dst2"),2*n*A); + + +//DST-iV +y_ref=2*sum((A.'*ones(1,n)).*sin(%pi*(0.5:n)'*(0.5:n)/(n)),1); +assert_checkalmostequal(dst(A,-1,"dst4"),y_ref); +assert_checkalmostequal(dst(dst(A,-1,"dst4"),1,"dst4"),2*n*A); +//complex cases + diff --git a/modules/fftw/tests/unit_tests/fftw_flag.dia.ref b/modules/fftw/tests/unit_tests/fftw_flag.dia.ref new file mode 100755 index 000000000..816865bf1 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_flag.dia.ref @@ -0,0 +1,20 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- CLI SHELL MODE --> +//============================================= +ff = fftw_flags(); +assert_checkequal(double(ff),64); +//============================================= +//change flags +r = fftw_flags(["FFTW_MEASURE";"FFTW_CONSERVE_MEMORY"]); +assert_checkequal(double(r),4); +//============================================= +//change flags and display current value of fftw flags (both integer and strings) +[a,S]=fftw_flags("FFTW_PATIENT"); +assert_checkequal(double(a),32); +assert_checkequal(S,'FFTW_PATIENT'); +//============================================= diff --git a/modules/fftw/tests/unit_tests/fftw_flag.tst b/modules/fftw/tests/unit_tests/fftw_flag.tst new file mode 100755 index 000000000..818164883 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_flag.tst @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- CLI SHELL MODE --> + +//============================================= +ff = fftw_flags(); +assert_checkequal(double(ff),64); +//============================================= +//change flags +r = fftw_flags(["FFTW_MEASURE";"FFTW_CONSERVE_MEMORY"]); +assert_checkequal(double(r),4); +//============================================= +//change flags and display current value of fftw flags (both integer and strings) +[a,S]=fftw_flags("FFTW_PATIENT"); +assert_checkequal(double(a),32); +assert_checkequal(S,'FFTW_PATIENT'); +//============================================= diff --git a/modules/fftw/tests/unit_tests/fftw_part1.dia.ref b/modules/fftw/tests/unit_tests/fftw_part1.dia.ref new file mode 100755 index 000000000..ca8492ec5 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part1.dia.ref @@ -0,0 +1,272 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +//============================================================================================ +//=================================fft(A [,isn [,flag]]) ===================================== +//============================================================================================ +//1-D transform ****************************************************************************** +//R2C case ------------------------------------------------------------------------------------ +assert_checkequal(fft(1:4),[10,-2+%i*2,-2,-2-%i*2]); +assert_checkequal(ifft(1:4),conj(fft(1:4)/4)); +assert_checkequal(fft(1:4,-1),[10,-2+%i*2,-2,-2-%i*2]); +assert_checkequal(fft(1:4,1),conj(fft(1:4,-1)/4)); +//C2R case ------------------------------------------------------------------------------------ +// ODD case +A=[1 0 %i -%i 0]; +y=fft(A); +y_ref=[1, 2.17557050458494672, -0.902113032590307062, 2.90211303259030728, -0.17557050458494649]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y)); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,-1); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1)); +// EVEN case +A=[1 0 %i 2 -%i 0]; +y=fft(A); +y_ref=[3, 0.73205080756887719, 1.2679491924311228,-1, 4.7320508075688767,-2.73205080756887719]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,-1); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1),10*%eps,10*%eps); +//R2R case ------------------------------------------------------------------------------------ +// ODD case +y=fft(1); +assert_checktrue(isreal(y)); +assert_checkequal(y,1); +A=[0 1 2 2 1]; +y=fft(A); +y_ref=[6,-2.61803398874989446, -0.381966011250104875, -0.381966011250104875, -2.61803398874989446]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),10*%eps,10*%eps); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +// EVEN case +A=1:2; +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,[3 -1]); +assert_checkalmostequal(A,ifft(y),10*%eps,10*%eps); +A=[0 1 2 5 2 1]; +y=fft(A); +y_ref=[11,-6, 2,-3, 2,-6]; +assert_checktrue(isreal(y)); +assert_checkequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),10*%eps,10*%eps); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +//C2C case ------------------------------------------------------------------------------------ +A=[1+%i 2 5*%i -8+5*%i]; +y=fft(A); +y_ref=[-5+%i*11,-4-%i*14, 7+%i, 6+%i*6]; +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y)); +//2-D transform ******************************************************************************* +//R2R case ------------------------------------------------------------------------------------ +// ODD X EVEN case +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 2 -1 -1]; +y=fft(A); +y_ref=[ 13, 4, 4; + -9, 0, 0; + 13,-8,-8; + -9, 0, 0]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +// EVEN X EVEN case +A=[0 1 5 1 + 2 -1 6 -1 + 3 4 7 4 + 2 -1 6 -1]; +y=fft(A); +y_ref=[37, -17, 25,-17; + -11, -1, 1, -1; + 13, -1,-15, -1; + -11, -1, 1, -1]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +// ODD X ODD case +A=[0 1 1 + 2 -1 -1 + 2 -1 -1]; +y=fft(A); +y_ref=[ 2, 5, 5; + 2,-4,-4; + 2,-4,-4]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +A=[0 1 5 1 + 2 -1 6 -1 + 3 4 7 4 + 2 -1 6 -1]; +y=fft(A); +y_ref=[37, -17, 25,-17; + -11, -1, 1, -1; + 13, -1,-15, -1; + -11, -1, 1, -1]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +A=[1 2 3 3 2;4 6 9 11 8;5 7 10 10 7;4 8 11 9 6]; +y=fft(A); +y_ref=[ 126,-25.1803398874989490,-2.81966011250105097,-2.81966011250105097,-25.1803398874989490; + -28, 10.391435051850296,-1.68915303351051138, 1.21701707851093177,-1.91929909685071642; + -26, 6.2360679774997898, 1.76393202250021019, 1.76393202250021019, 6.2360679774997898; + -28,-1.91929909685071642, 1.21701707851093177,-1.68915303351051138, 10.391435051850296]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y)); +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +//R2C case ------------------------------------------------------------------------------------ +A=[1 2 3;7 3 9;-1 5 4;0 8 -3]; +y=fft(A); +y_ref=[38, -8.5-%i*4.33012701892219276, -8.5+%i*4.33012701892219276; + -2-%i*14, 18.722431864335455-%i*1.76794919243112281 -10.7224318643354568-%i*5.23205080756887675; + -10, -5.5+%i*4.33012701892219276, -5.5-%i*4.33012701892219276; + -2+%i*14,-10.7224318643354568+%i*5.23205080756887675, 18.722431864335455+%i*1.76794919243112281]; +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +y=fft(A,1); +y_ref=[3.16666666666666607, -0.70833333333333326+%i*0.36084391824351614,-0.70833333333333326-%i*0.36084391824351614; + -0.16666666666666660+%i*1.16666666666666652, 1.56020265536128777+%i*0.14732909936926014,-0.89353598869462125+%i*0.43600423396407301; + -0.83333333333333337, -0.45833333333333320-%i*0.36084391824351603,-0.45833333333333320+%i*0.36084391824351603; + -0.16666666666666660-%i*1.16666666666666652,-0.89353598869462125-%i*0.43600423396407301,1.56020265536128777-%i*0.14732909936926014]; +assert_checkalmostequal(y,y_ref); +//C2R case +//------------------------------------------------------------------------------------ +// ODD X EVEN case +A=[0 %i -%i + 2+%i -1 -1 + 3 4 4 + 2-%i -1 -1]; +y=fft(A); +y_ref=[ 11, 6.7320508075688767, 3.2679491924311228; + -9, 4.7320508075688767, 1.2679491924311228; + 11,-5.26794919243112325, -8.7320508075688767; + -13, 0.73205080756887719, -2.73205080756887719]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +A=[1 2 3 3 2;4 6 9 11 8;5 7 10 10 7;4 8 11 9 6]; +y=fft(A); +y_ref=[ 126,-25.1803398874989490,-2.81966011250105097,-2.81966011250105097,-25.1803398874989490; + -28, 10.391435051850296,-1.68915303351051138, 1.21701707851093177,-1.91929909685071642; + -26, 6.2360679774997898, 1.76393202250021019, 1.76393202250021019, 6.2360679774997898; + -28,-1.91929909685071642, 1.21701707851093177,-1.68915303351051138, 10.391435051850296]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y)); +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +// ODD X ODD case +A=[0 %i -%i + 2+%i -1 -1 + 2-%i -1 -1]; +y=fft(A); +y_ref=[0, 7.7320508075688767, 4.26794919243112325; + 1.73205080756887719, 0.46410161513775439, -3; + -1.73205080756887719,-2.99999999999999956, -6.46410161513775350]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +A=[1440, 32-%i*28,-102-%i*188,-102+%i*188, 32+%i*28; + 140-%i*52,-21+%i*14,-33+%i*8, 31+%i*77, 8+%i*169; + 30,-179+%i*40,-32-%i*175, 97-%i*107,-191-%i*147; + 20,-83-%i*162,-127+%i*71,-127-%i*71,-83+%i*162; + 30,-191+%i*147, 97+%i*107,-32+%i*175,-179-%i*40; + 140+%i*52, 8-%i*169, 31-%i*77,-33-%i*8,-21-%i*14]; +y=fft(A); +y_ref=[ 600, 1201.23812370118321, 2697.02967953848838, 2102.2365384314553, 2399.49565832887311; + 1800.35521029058418, 1800.85854102712074, 897.335302928384408, 598.365730980120588,2102.75200480588182; + 2097.89073857917083, 901.733860383104911, 600.566385143489583, 602.768240434540644,1796.70756549178577; + 900, 1503.68526108760511, 2698.74007483319838, 598.106629651731282, 299.468034427465; + 2.10926142082939805, 1797.22849022236483, 902.940272151356453, 1500.39858431578159,2697.65660185757633; + 2399.64478970941582, 898.55653188654594, 2102.57661444176256, 601.137293239859559,2098.41798069032438]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,1000*%eps); +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +//C2C case ------------------------------------------------------------------------------------ +A=[0 %i 3-%i + 2+%i -1 -1 + 3 4 4 + 2-3*%i -1 -1]; +y=fft(A); +y_ref=[14-%i*2, 5.23205080756887675+%i*0.59807621135331601,1.76794919243112281-%i*4.598076211353316; + -4, 5.23205080756887675+%i*2.598076211353316, 1.76794919243112281-%i*2.598076211353316; + 14+%i*2,-6.7679491924311233+%i*4.598076211353316, -10.2320508075688767-%i*0.59807621135331601; + -12, -2.76794919243112281+%i*2.598076211353316, -6.23205080756887675-%i*2.598076211353316]; +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); diff --git a/modules/fftw/tests/unit_tests/fftw_part1.tst b/modules/fftw/tests/unit_tests/fftw_part1.tst new file mode 100755 index 000000000..bf81aae80 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part1.tst @@ -0,0 +1,333 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +//============================================================================================ +//=================================fft(A [,isn [,flag]]) ===================================== +//============================================================================================ + +//1-D transform ****************************************************************************** +//R2C case ------------------------------------------------------------------------------------ +assert_checkequal(fft(1:4),[10,-2+%i*2,-2,-2-%i*2]); +assert_checkequal(ifft(1:4),conj(fft(1:4)/4)); +assert_checkequal(fft(1:4,-1),[10,-2+%i*2,-2,-2-%i*2]); +assert_checkequal(fft(1:4,1),conj(fft(1:4,-1)/4)); +//C2R case ------------------------------------------------------------------------------------ +// ODD case +A=[1 0 %i -%i 0]; +y=fft(A); +y_ref=[1, 2.17557050458494672, -0.902113032590307062, 2.90211303259030728, -0.17557050458494649]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y)); + +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + +y=fft(A,-1); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1)); + +// EVEN case +A=[1 0 %i 2 -%i 0]; +y=fft(A); +y_ref=[3, 0.73205080756887719, 1.2679491924311228,-1, 4.7320508075688767,-2.73205080756887719]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); + +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,-1); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1),10*%eps,10*%eps); + +//R2R case ------------------------------------------------------------------------------------ +// ODD case +y=fft(1); +assert_checktrue(isreal(y)); +assert_checkequal(y,1); + +A=[0 1 2 2 1]; +y=fft(A); +y_ref=[6,-2.61803398874989446, -0.381966011250104875, -0.381966011250104875, -2.61803398874989446]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),10*%eps,10*%eps); + +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + +// EVEN case +A=1:2; +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,[3 -1]); +assert_checkalmostequal(A,ifft(y),10*%eps,10*%eps); + +A=[0 1 2 5 2 1]; +y=fft(A); +y_ref=[11,-6, 2,-3, 2,-6]; +assert_checktrue(isreal(y)); +assert_checkequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),10*%eps,10*%eps); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + +//C2C case ------------------------------------------------------------------------------------ +A=[1+%i 2 5*%i -8+5*%i]; +y=fft(A); +y_ref=[-5+%i*11,-4-%i*14, 7+%i, 6+%i*6]; +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y)); + +//2-D transform ******************************************************************************* + +//R2R case ------------------------------------------------------------------------------------ +// ODD X EVEN case +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 2 -1 -1]; +y=fft(A); +y_ref=[ 13, 4, 4; + -9, 0, 0; + 13,-8,-8; + -9, 0, 0]; + +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); + +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + + +// EVEN X EVEN case +A=[0 1 5 1 + 2 -1 6 -1 + 3 4 7 4 + 2 -1 6 -1]; +y=fft(A); +y_ref=[37, -17, 25,-17; + -11, -1, 1, -1; + 13, -1,-15, -1; + -11, -1, 1, -1]; + +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); + +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + +// ODD X ODD case +A=[0 1 1 + 2 -1 -1 + 2 -1 -1]; +y=fft(A); +y_ref=[ 2, 5, 5; + 2,-4,-4; + 2,-4,-4]; + +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); + +A=[0 1 5 1 + 2 -1 6 -1 + 3 4 7 4 + 2 -1 6 -1]; +y=fft(A); +y_ref=[37, -17, 25,-17; + -11, -1, 1, -1; + 13, -1,-15, -1; + -11, -1, 1, -1]; + +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); + +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + +A=[1 2 3 3 2;4 6 9 11 8;5 7 10 10 7;4 8 11 9 6]; +y=fft(A); +y_ref=[ 126,-25.1803398874989490,-2.81966011250105097,-2.81966011250105097,-25.1803398874989490; + -28, 10.391435051850296,-1.68915303351051138, 1.21701707851093177,-1.91929909685071642; + -26, 6.2360679774997898, 1.76393202250021019, 1.76393202250021019, 6.2360679774997898; + -28,-1.91929909685071642, 1.21701707851093177,-1.68915303351051138, 10.391435051850296]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y)); + +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + +//R2C case ------------------------------------------------------------------------------------ +A=[1 2 3;7 3 9;-1 5 4;0 8 -3]; +y=fft(A); +y_ref=[38, -8.5-%i*4.33012701892219276, -8.5+%i*4.33012701892219276; + -2-%i*14, 18.722431864335455-%i*1.76794919243112281 -10.7224318643354568-%i*5.23205080756887675; + -10, -5.5+%i*4.33012701892219276, -5.5-%i*4.33012701892219276; + -2+%i*14,-10.7224318643354568+%i*5.23205080756887675, 18.722431864335455+%i*1.76794919243112281]; +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); + +y=fft(A,1); +y_ref=[3.16666666666666607, -0.70833333333333326+%i*0.36084391824351614,-0.70833333333333326-%i*0.36084391824351614; + -0.16666666666666660+%i*1.16666666666666652, 1.56020265536128777+%i*0.14732909936926014,-0.89353598869462125+%i*0.43600423396407301; + -0.83333333333333337, -0.45833333333333320-%i*0.36084391824351603,-0.45833333333333320+%i*0.36084391824351603; + -0.16666666666666660-%i*1.16666666666666652,-0.89353598869462125-%i*0.43600423396407301,1.56020265536128777-%i*0.14732909936926014]; +assert_checkalmostequal(y,y_ref); +//C2R case +//------------------------------------------------------------------------------------ +// ODD X EVEN case +A=[0 %i -%i + 2+%i -1 -1 + 3 4 4 + 2-%i -1 -1]; +y=fft(A); +y_ref=[ 11, 6.7320508075688767, 3.2679491924311228; + -9, 4.7320508075688767, 1.2679491924311228; + 11,-5.26794919243112325, -8.7320508075688767; + -13, 0.73205080756887719, -2.73205080756887719]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); +A=[1 2 3 3 2;4 6 9 11 8;5 7 10 10 7;4 8 11 9 6]; +y=fft(A); +y_ref=[ 126,-25.1803398874989490,-2.81966011250105097,-2.81966011250105097,-25.1803398874989490; + -28, 10.391435051850296,-1.68915303351051138, 1.21701707851093177,-1.91929909685071642; + -26, 6.2360679774997898, 1.76393202250021019, 1.76393202250021019, 6.2360679774997898; + -28,-1.91929909685071642, 1.21701707851093177,-1.68915303351051138, 10.391435051850296]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y)); + +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + +// ODD X ODD case +A=[0 %i -%i + 2+%i -1 -1 + 2-%i -1 -1]; +y=fft(A); +y_ref=[0, 7.7320508075688767, 4.26794919243112325; + 1.73205080756887719, 0.46410161513775439, -3; + -1.73205080756887719,-2.99999999999999956, -6.46410161513775350]; + +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); + +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + +A=[1440, 32-%i*28,-102-%i*188,-102+%i*188, 32+%i*28; + 140-%i*52,-21+%i*14,-33+%i*8, 31+%i*77, 8+%i*169; + 30,-179+%i*40,-32-%i*175, 97-%i*107,-191-%i*147; + 20,-83-%i*162,-127+%i*71,-127-%i*71,-83+%i*162; + 30,-191+%i*147, 97+%i*107,-32+%i*175,-179-%i*40; + 140+%i*52, 8-%i*169, 31-%i*77,-33-%i*8,-21-%i*14]; +y=fft(A); +y_ref=[ 600, 1201.23812370118321, 2697.02967953848838, 2102.2365384314553, 2399.49565832887311; + 1800.35521029058418, 1800.85854102712074, 897.335302928384408, 598.365730980120588,2102.75200480588182; + 2097.89073857917083, 901.733860383104911, 600.566385143489583, 602.768240434540644,1796.70756549178577; + 900, 1503.68526108760511, 2698.74007483319838, 598.106629651731282, 299.468034427465; + 2.10926142082939805, 1797.22849022236483, 902.940272151356453, 1500.39858431578159,2697.65660185757633; + 2399.64478970941582, 898.55653188654594, 2102.57661444176256, 601.137293239859559,2098.41798069032438]; +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,1000*%eps); + + +y=fft(A,-1,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,-1,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + + +//C2C case ------------------------------------------------------------------------------------ +A=[0 %i 3-%i + 2+%i -1 -1 + 3 4 4 + 2-3*%i -1 -1]; +y=fft(A); +y_ref=[14-%i*2, 5.23205080756887675+%i*0.59807621135331601,1.76794919243112281-%i*4.598076211353316; + -4, 5.23205080756887675+%i*2.598076211353316, 1.76794919243112281-%i*2.598076211353316; + 14+%i*2,-6.7679491924311233+%i*4.598076211353316, -10.2320508075688767-%i*0.59807621135331601; + -12, -2.76794919243112281+%i*2.598076211353316, -6.23205080756887675-%i*2.598076211353316]; +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,ifft(y),0,10*%eps); + + diff --git a/modules/fftw/tests/unit_tests/fftw_part2.dia.ref b/modules/fftw/tests/unit_tests/fftw_part2.dia.ref new file mode 100755 index 000000000..8d75478d4 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part2.dia.ref @@ -0,0 +1,386 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +//3-D transform ******************************************************************************* +//R2R case ------------------------------------------------------------------------------------ +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 2 -1 -1]; +A(:,:,2)=A+1; +A(:,:,3)=A(:,:,2); +y_ref=matrix([63;-27;39;-27;12;0;-24;0;12;0;-24;0;-12; + 0;0;0;0;0;0;0;0;0;0;0; + -12;0;0;0;0;0;0;0;0;0;0;0],[4 3 3]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1),0,10*%eps); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1,"symmetric"),0,10*%eps); +y=fft(A,"nonsymmetric"); //use R2C +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1,"nonsymmetric"),0,10*%eps); +A=matrix([4750;-163;138;138;-163;-100;-2;9;-148;42;10;-301;246;246;-301;-100;42;-148;9;-2;-12;157; + -110;224;37;-101;-94;260;258;345;-49;175;227;110;161;65;-40;-182;161;-390;412;101;168; + 138;35;21;-95;-81;236;1;219;-215;120;284;-232;-35;-23;215;-191;122;412;35;138;168;101; + -35;122;-191;215;-23;219;-232;284;120;-215;21;1;236;-81;-95;-12;37;224;-110;157;65;-390; + 161;-182;-40;-49;161;110;227;175;-101;345;258;260;-94],[5,4,5]); +y_ref=matrix([ 9006; 1997.01835368650836; 7499.98164631349118; 7499.98164631349118; + 1997.01835368650836; 5500; 8003.03595972396761; 4499.30203473224719; + 3496.74144394796622; 4500.92056159581989; 7994; 4500.41996658886728; + 7002.58003341113272; 7002.58003341113272; 4500.41996658886728; 5500; + 4500.92056159581989; 3496.74144394796622; 4499.30203473224719; 8003.03595972396761; + 3003.23606797749972; 4503.21094298379558; 2498.80193260011856; 4500.56038652002371; + 3002.80933008143711; 1502.48409399493175; 4997.98726249178435; 6998.63971425121235; + 4503.41908441918713; 5499.99740938413652; 4000.79645449752343; 3004.49048964150825; + 3499; 4495.40709100495314; 4504.89210254386671; 5498.03152064027927; + 3999.73866895309675; 1500.9206722688125; 7001.49266501579041; 3003.15588613093223; + 2998.76393202250028; 5001.43961347997629; 5493.78905701620442; 6994.19066991856289; + 5003.19806739988144; 4499.2782026543191; 4996.34845842043978; 3004.96649100621744; + 7499.64517406068444; 5505.14335301404844; 4497.20354550247703; 3502.59290899504595; + 8498.50951035849175; 6998.10789745613329; 3499; 7000.20618271046988; + 5998.73979214458359; 3497.30757754890101; 2497.2015304242459; 3495.29626046592784; + 2998.76393202250028; 5003.19806739988144; 6994.19066991856289; 5493.78905701620442; + 5001.43961347997629; 7000.20618271046988; 3495.29626046592784; 2497.2015304242459; + 3497.30757754890101; 5998.73979214458359; 4497.20354550247703; 3499; + 6998.10789745613329; 8498.50951035849175; 3502.59290899504595; 4499.2782026543191; + 5505.14335301404844; 7499.64517406068444; 3004.96649100621744; 4996.34845842043978; + 3003.23606797749972; 3002.80933008143711; 4500.56038652002371; 2498.80193260011856; + 4503.21094298379558; 5498.03152064027927; 3003.15588613093223; 7001.49266501579041; + 1500.9206722688125; 3999.73866895309675; 4000.79645449752343; 4504.89210254386671; + 4495.40709100495314; 3499; 3004.49048964150825; 1502.48409399493175; + 5499.99740938413652; 4503.41908441918713; 6998.63971425121235; 4997.98726249178435],[5,4,5]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +//R2C case ------------------------------------------------------------------------------------ +A=matrix([5;4;3;6;4;9;0;5;3;4;3;1;8;2;1;7;2;7;8;4;4;9; + 1;2;6;6;7;9;5;3;4;9;9;3;4;7;3;5;3;5;5;1;2;6; + 8;0;7;2;4;8;6;5;2;8;1;3;9;8;5;10],[4,3,5]); +y_ref=matrix([ 290; 22+%i*4;-26; 22-%i*4; 9.5+%i*9.52627944162882301; + -1.1339745962155614+%i*17.1602540378443891;-3.5+%i*25.1147367097487191; + -2.8660254037844384+%i*0.16025403784438552; 9.5-%i*9.52627944162882301; + -2.8660254037844384-%i*0.16025403784438552;-3.5-%i*25.1147367097487191; + -1.1339745962155614-%i*17.1602540378443891;-10.9549150281252636-%i*1.37984007917967944; + 5.35973404130009712-%i*26.1183685942109989;-23.4614928368734752-%i*1.14281435514402396; + -3.59580201879988692+%i*23.0406850570357449;-21.3658553026453930-%i*8.84359942677465227; + 20.7330326917071268-%i*8.81688081018132586; 3.64531223802112692-%i*9.52499614355328994; + 7.43941996380932657-%i*16.867370295570808; 17.5396173813961269+%i*3.3290181678526012; + 15.0849628274577707+%i*11.593028238175755; 25.597333548226878-%i*1.41840966171390725; + -18.8967357079763296-%i*30.6614339614318183;-16.5450849718747364+%i*32.005406439473461; + -2.0005198567285527+%i*10.4427980896260522; 8.9614928368734752-%i*15.1639036975864734; + 8.23658783422834162-%i*9.7162555616206916;-4.97109202629695890-%i*8.30757202395887973; + 0.92910806515476718-%i*30.3790246133370161;-5.43718181239582421+%i*23.1017112524799586; + -14.884673669748171-%i*11.3804574337330209; 16.7973299475462241+%i*19.3569789554980396; + -0.44355669881229343+%i*5.1399061460535682;-7.8054639738521807-%i*7.52153572775482537; + -5.96155747159219818-%i*1.55370934855336351;-16.5450849718747364-%i*32.005406439473461; + 8.23658783422834162+%i*9.7162555616206916; 8.9614928368734752+%i*15.1639036975864734; + -2.0005198567285527-%i*10.4427980896260522; 16.7973299475462241-%i*19.3569789554980396; + -5.96155747159219818+%i*1.55370934855336351;-7.8054639738521807+%i*7.52153572775482537; + -0.44355669881229343-%i*5.1399061460535682;-4.97109202629695890+%i*8.30757202395887973; + -14.884673669748171+%i*11.3804574337330209;-5.43718181239582421-%i*23.1017112524799586; + 0.92910806515476718+%i*30.3790246133370161;-10.9549150281252636+%i*1.37984007917967944; + -3.59580201879988692-%i*23.0406850570357449;-23.4614928368734752+%i*1.14281435514402396; + 5.35973404130009712+%i*26.1183685942109989; 17.5396173813961269-%i*3.3290181678526012; + -18.8967357079763296+%i*30.6614339614318183; 25.597333548226878+%i*1.41840966171390725; + 15.0849628274577707-%i*11.593028238175755;-21.3658553026453930+%i*8.84359942677465227; + 7.43941996380932657+%i*16.867370295570808; 3.64531223802112692+%i*9.52499614355328994; + 20.7330326917071268+%i*8.81688081018132586],[4,3,5]); +y=fft(A); +assert_checkalmostequal(y,y_ref); +//C2R case ------------------------------------------------------------------------------------ +A=matrix([ 2900; 220+%i*40;-260; 220-%i*40; 95+%i*95;-11+%i*172;-35+%i*251;-29+%i*2; 95-%i*95; + -29-%i*2;-35-%i*251;-11-%i*172;-110-%i*14; 54-%i*261;-235-%i*11;-36+%i*230;-214-%i*88; + 207-%i*88; 36-%i*95; 74-%i*169; 175+%i*33; 151+%i*116; 256-%i*14;-189-%i*307; + -165+%i*320;-20+%i*104; 90-%i*152; 82-%i*97;-50-%i*83; 9-%i*304;-54+%i*231;-149-%i*114; + 168+%i*194;-4+%i*51;-78-%i*75;-60-%i*16;-165-%i*320; 82+%i*97; 90+%i*152;-20-%i*104; + 168-%i*194;-60+%i*16;-78+%i*75;-4-%i*51;-50+%i*83;-149+%i*114;-54-%i*231; 9+%i*304; + -110+%i*14;-36-%i*230;-235+%i*11; 54+%i*261; 175-%i*33;-189+%i*307; 256+%i*14; + 151-%i*116;-214+%i*88; 74+%i*169; 36+%i*95; 207+%i*88],[4,3,5]); +y_ref=matrix([ 2996; 3600; 1800; 2396; 1804.08726109815325; 601.420841162336728; 1797.20231832067839; + 2402.0440006453523; 2399.91273890184675; 2998.57915883766327; 2.79768167932161305; + 5401.95599935464725; 2396.96074950014463; 2999.02579525054898; 3601.07865923712325; + 4800.47728151174852; 5402.68357811465103; 5996.71587420499782; 2994.98775825329631; + 4800.7569165971172; 1194.78718041472757; 1801.42138987713292; 597.945126438306488; + 4795.69787130615623; 1806.28063851446973; 2996.33933739403255; 1802.22357633135243; + 2999.61398771896711; 4800.14227629597099; 1194.58106615498582; 4200.9816123952096; + -1.643335439786938; 3000.6599157117771; 3602.13659702117502; 1207.26152998727684; + 601.910475422587638; 3601.29217048561441; 5398.45474462091079; 4205.6200225335615; + 3606.49125722100416; 5397.78905489267254; 4200.45827894945342; 2396.05617461713109; + 1802.27482470993255; 3000.2119789042963; 5400.98960279924631; 2403.91117288032501; + 1800.15817472797062; 4799.46644149977146; 4206.18012273450677; 591.077741897962369; + 1197.41747354827976; 2398.62992927763071; 1199.93973694330134; 600.335830922918376; + 5401.45253626486101; 1201.09608638827149; 2403.75745404970803; 4798.52079450553538; + 4195.39253641116193],[4,3,5]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +//C2C case +//------------------------------------------------------------------------------------ +A=[0 %i 3-%i + 2+%i -1 -1 + 3 4 4 + 2-3*%i -1 -1]; +A(:,:,2)=A+1; +A(:,:,3)=A(:,:,2).*A(:,:,2); +y=fft(A); +y_ref=matrix([ 130-%i*22;-34-%i*14; 102+%i*10;-98+%i*2; 11.624355652982139+%i*5.18653347947321031; + 45.6243556529821319+%i*13.1865334794732103;-28.375644347017861+%i*37.1865334794732121; + -18.375644347017861+%i*29.1865334794732121;-12.624355652982139-%i*31.1865334794732121; + 21.3756443470178574-%i*23.1865334794732121;-52.6243556529821319+%i*0.81346652052678969; + -42.624355652982139-%i*7.18653347947321031;-30.1435935394489825+%i*63.4256258422040702; + 23.124355652982139-%i*12.0525588832576496;-33.464101615137757+%i*49.9615242270663131; + 29.2679491924311215-%i*54.6935750346351952;-0.90192378864668221-%i*5.2224318643354568; + -19.633974596215559+%i*23.2224318643354550;-16.2224318643354550-%i*18.6865334794732121; + -13.4903810567665765-%i*19.4185842870420871; 24.026279441628823-%i*6.83012701892219098; + 5.29422863405994804+%i*21.6147367097487226; 8.7057713659400484-%i*20.2942286340599445; + 11.4378221735089287-%i*21.026279441628823;-57.8564064605510140-%i*47.4256258422040702; + -1.1243556529821408+%i*26.0525588832576496;-26.5358983848622465-%i*53.9615242270663131; + 32.732050807568875+%i*52.6935750346351952; 4.97372055837117344+%i*1.83012701892219409; + -10.2942286340599463-%i*28.614736709748719; 24.2942286340599480-%i*4.705771365940052; + 23.5621778264910695-%i*1.9737205583711752;-6.09807621135331601+%i*24.2224318643354550; + -21.3660254037844375-%i*6.2224318643354586; 13.2224318643354550+%i*17.6865334794732085; + 12.4903810567665818+%i*20.4185842870420871],[4,3,3]); +assert_checkalmostequal(y,y_ref); +//N-D transform ******************************************************************************* +//R2R case ------------------------------------------------------------------------------------ +A=matrix([7090;265;265;180;-42;-198;30;15;15;180;-198;-42;160;235;-245;-335;135;182;240;-75;75; + -265;465;148;160;-245;235;-265;148;465;240;75;-75;-335;182;135;-410;446;204;-280;-253; + 353;-450;-198;-372;140;351;229;-48;236;-312;456;181;-279;262;-540;-50;363;385;-99;368; + 242;-6;-236;-71;-321;158;20;-90;397;109;195;-110;265;265;-120;-370;-110;-650;55;55;-120; + -110;-370;-20;-125;-245;91;-153;34;-80;85;-5;-151;-447;416;-20;-245;-125;-151;416;-447; + -80;-5;85;91;34;-153;-410;204;446;140;229;351;-450;-372;-198;-280;353;-253;368;-6;242; + 397;195;109;158;-90;20;-236;-321;-71;-48;-312;236;363;-99;385;262;-50;-540;456;-279;181],[3,4,3,4]); +y_ref=matrix([ 8640; 6480; 6480; 11520; 5760.26656797432588; 5039.73343202567412; 4320; 7200; 7200; + 11520; 5039.73343202567412; 5760.26656797432588; 4320; 2160; 2880; 9369.32603294810724; + 4323.73066958946401; 5040.79842187187296; 7200; 2160.00000000000045; 2880; + 12230.6739670518928; 3596.2693304105369; 12239.2015781281261; 4320; 2880; 2160; + 12230.6739670518928; 12239.2015781281261; 3596.2693304105369; 7200; 2880; + 2160.00000000000045; 9369.32603294810724; 5040.79842187187296; 4323.73066958946401; + 11520; 4318.1340241797152; 9361.8659758202848; 12240; 5046.12849930729499; + 7193.87150069270501; 7200; 10079.7334320256741; 10800.2665679743259; 2160; + 2164.52909146133834; 8635.47090853866212; 7923.73066958946401; 7196.80246635918866; + 8641.59812579485151; 7921.06627189730625; 6480.53313594865176; 10801.5994078459589; + 10079.2015781281261; 6482.39782971783188; 7198.66844217947437; 5759.73343202567321; + 9362.39911176893838; 5038.66716012836696; 7196.26933041053599; 13678.4018742051485; + 6483.19753364081134; 5038.93372810269375; 6478.40059215404108; 5039.46686405134824; + 2880.79842187187342; 1441.33155782052563; 9357.60217028216903; 6480.26656797432679; + 8641.33283987163304; 2877.60088823106116; 4320; 4320; 4320; 3600; 8639.20029607702054; + 10800.7997039229795; 12960; 8640; 8640; 3600; 10800.7997039229795; 8639.20029607702054; + 7920; 12960; 10800; 9365.06350946109706; 7196.00276243620829; 8637.60217028216721; + 10800; 720.000000000000455; 7920; 5034.93649053890294; 8643.99723756379171; + 5762.39782971783279; 7920; 10800; 12960; 5034.93649053890294; 5762.39782971783279; + 8643.99723756379171; 10800; 7920; 720.000000000000455; 9365.06350946109706; + 8637.60217028216721; 7196.00276243620829; 11520; 9361.8659758202848; 4318.1340241797152; + 2160; 8635.47090853866212; 2164.52909146133834; 7200; 10800.2665679743259; + 10079.7334320256741; 12240; 7193.87150069270501; 5046.12849930729499; + 7196.26933041053599; 6483.19753364081134; 13678.4018742051485; 6480.26656797432679; + 2877.60088823106116; 8641.33283987163304; 2880.79842187187342; 9357.60217028216903; + 1441.33155782052563; 5038.93372810269375; 5039.46686405134824; 6478.40059215404108; + 7923.73066958946401; 8641.59812579485151; 7196.80246635918866; 5759.73343202567321; + 5038.66716012836696; 9362.39911176893838; 10079.2015781281261; 7198.66844217947437; + 6482.39782971783188; 7921.06627189730625; 10801.5994078459589; 6480.53313594865176],[3,4,3,4]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +A=matrix([ 2900; 220+%i*40;-260; 220-%i*40; 95+%i*95;-11+%i*172;-35+%i*251;-29+%i*2; 95-%i*95; + -29-%i*2;-35-%i*251;-11-%i*172;-110-%i*14; 54-%i*261;-235-%i*11;-36+%i*230;-214-%i*88; + 207-%i*88; 36-%i*95; 74-%i*169; 175+%i*33; 151+%i*116; 256-%i*14;-189-%i*307; + -165+%i*320;-20+%i*104; 90-%i*152; 82-%i*97;-50-%i*83; 9-%i*304;-54+%i*231;-149-%i*114; + 168+%i*194;-4+%i*51;-78-%i*75;-60-%i*16;-165-%i*320; 82+%i*97; 90+%i*152;-20-%i*104; + 168-%i*194;-60+%i*16;-78+%i*75;-4-%i*51;-50+%i*83;-149+%i*114;-54-%i*231; 9+%i*304; + -110+%i*14;-36-%i*230;-235+%i*11; 54+%i*261; 175-%i*33;-189+%i*307; 256+%i*14; + 151-%i*116;-214+%i*88; 74+%i*169; 36+%i*95; 207+%i*88],[4,3,5]); +y_ref=matrix([ 2996; 3600; 1800; 2396; 1804.08726109815325; 601.420841162336728; 1797.20231832067839; + 2402.0440006453523; 2399.91273890184675; 2998.57915883766327; 2.79768167932161305; + 5401.95599935464725; 2396.96074950014463; 2999.02579525054898; 3601.07865923712325; + 4800.47728151174852; 5402.68357811465103; 5996.71587420499782; 2994.98775825329631; + 4800.7569165971172; 1194.78718041472757; 1801.42138987713292; 597.945126438306488; + 4795.69787130615623; 1806.28063851446973; 2996.33933739403255; 1802.22357633135243; + 2999.61398771896711; 4800.14227629597099; 1194.58106615498582; 4200.9816123952096; + -1.643335439786938; 3000.6599157117771; 3602.13659702117502; 1207.26152998727684; + 601.910475422587638; 3601.29217048561441; 5398.45474462091079; 4205.6200225335615; + 3606.49125722100416; 5397.78905489267254; 4200.45827894945342; 2396.05617461713109; + 1802.27482470993255; 3000.2119789042963; 5400.98960279924631; 2403.91117288032501; + 1800.15817472797062; 4799.46644149977146; 4206.18012273450677; 591.077741897962369; + 1197.41747354827976; 2398.62992927763071; 1199.93973694330134; 600.335830922918376; + 5401.45253626486101; 1201.09608638827149; 2403.75745404970803; 4798.52079450553538; + 4195.39253641116193],[4,3,5]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +//============================================================================================ +//=================================fft(A ,isn, sel [,flag]) ================================== +//============================================================================================ +//R2C and C2R case --------------------------------------------------------------------------- +// Multiple 1D transforms +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 5 1 -1]; +y_ref = [ 10, 5, 3; + -3+%i*3,-3+%i*2,-3; + -4, 5, 7; + -3-%i*3,-3-%i*2,-3]; +y=fft(A,-1,1); +assert_checkalmostequal(y,y_ref); +y=fft(y_ref,1,1); +assert_checktrue(isreal(y)); +assert_checkalmostequal(A,y); +y_ref = [ 2.5, 1.25, 0.75; + -0.75-%i*0.75,-0.75-%i*0.5,-0.75; + -1, 1.25, 1.75; + -0.75+%i*0.75,-0.75+%i*0.5,-0.75]; +y=fft(A,1,1); +assert_checkalmostequal(y,y_ref); +y=fft(y_ref,-1,1); +assert_checktrue(isreal(y)); +assert_checkalmostequal(A,y); +y_ref = [ 2,-1,-1; + 0, 3, 3; + 11,-1,-1; + 5, 5-%i*1.7320508, 5+%i*1.7320508]; +y=fft(A,-1,2); +assert_checkalmostequal(y,y_ref); +y=fft(y_ref,1,2); +assert_checktrue(isreal(y)); +assert_checkalmostequal(A,y); +y_ref = [ 0.66666666666666663,-0.33333333333333331,-0.33333333333333331; + 0, 1, 1; + 3.66666666666666652,-0.33333333333333326,-0.33333333333333326; + 1.66666666666666652, 1.66666666666666652+%i*0.57735026918962573,.. + 1.66666666666666652-%i*0.57735026918962573]; +y=fft(A,1,2); +assert_checkalmostequal(y,y_ref); +y=fft(y_ref,-1,2); +assert_checktrue(isreal(y)); +assert_checkalmostequal(A,y); +// Multiple 1D and 2D transforms of ND arrays +Dims=[5 3 4]; +A=matrix(1:60,Dims); +Sel=2; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(3) + ind=list(i,:,j); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + for j=1:Dims(3) + ind=list(i,:,j); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end +end +Sel=3; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(2) + ind=list(i,j,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + for j=1:Dims(2) + ind=list(i,j,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end +end +Sel=[1 2]; +y=fft(A,-1,Sel); +for j=1:Dims(3) + ind=list(:,:,j); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(3) + ind=list(:,:,j); + assert_checkalmostequal(y(ind(:)),A(ind(:))); +end +Sel=[1 3]; +y=fft(A,-1,Sel); +for j=1:Dims(2) + ind=list(:,j,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + ind=list(:,j,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); +end +Dims=[5 3 4 7]; +A=matrix(1:prod(Dims),Dims); +Sel=[1 3 4]; +y=fft(A,-1,Sel); +for j=1:Dims(2) + ind=list(:,j,:,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + ind=list(:,j,:,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); +end +Sel=[2 4]; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(3) + ind=list(i,:,j,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + for j=1:Dims(3) + ind=list(i,:,j,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end +end +Sel=3; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(2) + for k=1:Dims(4) + ind=list(i,j,:,k); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end + end +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + for j=1:Dims(2) + for k=1:Dims(4) + ind=list(i,j,:,k); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end + end +end diff --git a/modules/fftw/tests/unit_tests/fftw_part2.tst b/modules/fftw/tests/unit_tests/fftw_part2.tst new file mode 100755 index 000000000..afc9d67bd --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part2.tst @@ -0,0 +1,421 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +//3-D transform ******************************************************************************* + +//R2R case ------------------------------------------------------------------------------------ +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 2 -1 -1]; +A(:,:,2)=A+1; +A(:,:,3)=A(:,:,2); +y_ref=matrix([63;-27;39;-27;12;0;-24;0;12;0;-24;0;-12; + 0;0;0;0;0;0;0;0;0;0;0; + -12;0;0;0;0;0;0;0;0;0;0;0],[4 3 3]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1),0,10*%eps); + +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1,"symmetric"),0,10*%eps); + +y=fft(A,"nonsymmetric"); //use R2C +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); +assert_checkalmostequal(A,fft(y,1,"nonsymmetric"),0,10*%eps); + + +A=matrix([4750;-163;138;138;-163;-100;-2;9;-148;42;10;-301;246;246;-301;-100;42;-148;9;-2;-12;157; + -110;224;37;-101;-94;260;258;345;-49;175;227;110;161;65;-40;-182;161;-390;412;101;168; + 138;35;21;-95;-81;236;1;219;-215;120;284;-232;-35;-23;215;-191;122;412;35;138;168;101; + -35;122;-191;215;-23;219;-232;284;120;-215;21;1;236;-81;-95;-12;37;224;-110;157;65;-390; + 161;-182;-40;-49;161;110;227;175;-101;345;258;260;-94],[5,4,5]); +y_ref=matrix([ 9006; 1997.01835368650836; 7499.98164631349118; 7499.98164631349118; + 1997.01835368650836; 5500; 8003.03595972396761; 4499.30203473224719; + 3496.74144394796622; 4500.92056159581989; 7994; 4500.41996658886728; + 7002.58003341113272; 7002.58003341113272; 4500.41996658886728; 5500; + 4500.92056159581989; 3496.74144394796622; 4499.30203473224719; 8003.03595972396761; + 3003.23606797749972; 4503.21094298379558; 2498.80193260011856; 4500.56038652002371; + 3002.80933008143711; 1502.48409399493175; 4997.98726249178435; 6998.63971425121235; + 4503.41908441918713; 5499.99740938413652; 4000.79645449752343; 3004.49048964150825; + 3499; 4495.40709100495314; 4504.89210254386671; 5498.03152064027927; + 3999.73866895309675; 1500.9206722688125; 7001.49266501579041; 3003.15588613093223; + 2998.76393202250028; 5001.43961347997629; 5493.78905701620442; 6994.19066991856289; + 5003.19806739988144; 4499.2782026543191; 4996.34845842043978; 3004.96649100621744; + 7499.64517406068444; 5505.14335301404844; 4497.20354550247703; 3502.59290899504595; + 8498.50951035849175; 6998.10789745613329; 3499; 7000.20618271046988; + 5998.73979214458359; 3497.30757754890101; 2497.2015304242459; 3495.29626046592784; + 2998.76393202250028; 5003.19806739988144; 6994.19066991856289; 5493.78905701620442; + 5001.43961347997629; 7000.20618271046988; 3495.29626046592784; 2497.2015304242459; + 3497.30757754890101; 5998.73979214458359; 4497.20354550247703; 3499; + 6998.10789745613329; 8498.50951035849175; 3502.59290899504595; 4499.2782026543191; + 5505.14335301404844; 7499.64517406068444; 3004.96649100621744; 4996.34845842043978; + 3003.23606797749972; 3002.80933008143711; 4500.56038652002371; 2498.80193260011856; + 4503.21094298379558; 5498.03152064027927; 3003.15588613093223; 7001.49266501579041; + 1500.9206722688125; 3999.73866895309675; 4000.79645449752343; 4504.89210254386671; + 4495.40709100495314; 3499; 3004.49048964150825; 1502.48409399493175; + 5499.99740938413652; 4503.41908441918713; 6998.63971425121235; 4997.98726249178435],[5,4,5]); + +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + + +//R2C case ------------------------------------------------------------------------------------ +A=matrix([5;4;3;6;4;9;0;5;3;4;3;1;8;2;1;7;2;7;8;4;4;9; + 1;2;6;6;7;9;5;3;4;9;9;3;4;7;3;5;3;5;5;1;2;6; + 8;0;7;2;4;8;6;5;2;8;1;3;9;8;5;10],[4,3,5]); +y_ref=matrix([ 290; 22+%i*4;-26; 22-%i*4; 9.5+%i*9.52627944162882301; + -1.1339745962155614+%i*17.1602540378443891;-3.5+%i*25.1147367097487191; + -2.8660254037844384+%i*0.16025403784438552; 9.5-%i*9.52627944162882301; + -2.8660254037844384-%i*0.16025403784438552;-3.5-%i*25.1147367097487191; + -1.1339745962155614-%i*17.1602540378443891;-10.9549150281252636-%i*1.37984007917967944; + 5.35973404130009712-%i*26.1183685942109989;-23.4614928368734752-%i*1.14281435514402396; + -3.59580201879988692+%i*23.0406850570357449;-21.3658553026453930-%i*8.84359942677465227; + 20.7330326917071268-%i*8.81688081018132586; 3.64531223802112692-%i*9.52499614355328994; + 7.43941996380932657-%i*16.867370295570808; 17.5396173813961269+%i*3.3290181678526012; + 15.0849628274577707+%i*11.593028238175755; 25.597333548226878-%i*1.41840966171390725; + -18.8967357079763296-%i*30.6614339614318183;-16.5450849718747364+%i*32.005406439473461; + -2.0005198567285527+%i*10.4427980896260522; 8.9614928368734752-%i*15.1639036975864734; + 8.23658783422834162-%i*9.7162555616206916;-4.97109202629695890-%i*8.30757202395887973; + 0.92910806515476718-%i*30.3790246133370161;-5.43718181239582421+%i*23.1017112524799586; + -14.884673669748171-%i*11.3804574337330209; 16.7973299475462241+%i*19.3569789554980396; + -0.44355669881229343+%i*5.1399061460535682;-7.8054639738521807-%i*7.52153572775482537; + -5.96155747159219818-%i*1.55370934855336351;-16.5450849718747364-%i*32.005406439473461; + 8.23658783422834162+%i*9.7162555616206916; 8.9614928368734752+%i*15.1639036975864734; + -2.0005198567285527-%i*10.4427980896260522; 16.7973299475462241-%i*19.3569789554980396; + -5.96155747159219818+%i*1.55370934855336351;-7.8054639738521807+%i*7.52153572775482537; + -0.44355669881229343-%i*5.1399061460535682;-4.97109202629695890+%i*8.30757202395887973; + -14.884673669748171+%i*11.3804574337330209;-5.43718181239582421-%i*23.1017112524799586; + 0.92910806515476718+%i*30.3790246133370161;-10.9549150281252636+%i*1.37984007917967944; + -3.59580201879988692-%i*23.0406850570357449;-23.4614928368734752+%i*1.14281435514402396; + 5.35973404130009712+%i*26.1183685942109989; 17.5396173813961269-%i*3.3290181678526012; + -18.8967357079763296+%i*30.6614339614318183; 25.597333548226878+%i*1.41840966171390725; + 15.0849628274577707-%i*11.593028238175755;-21.3658553026453930+%i*8.84359942677465227; + 7.43941996380932657+%i*16.867370295570808; 3.64531223802112692+%i*9.52499614355328994; + 20.7330326917071268+%i*8.81688081018132586],[4,3,5]); +y=fft(A); +assert_checkalmostequal(y,y_ref); + +//C2R case ------------------------------------------------------------------------------------ +A=matrix([ 2900; 220+%i*40;-260; 220-%i*40; 95+%i*95;-11+%i*172;-35+%i*251;-29+%i*2; 95-%i*95; + -29-%i*2;-35-%i*251;-11-%i*172;-110-%i*14; 54-%i*261;-235-%i*11;-36+%i*230;-214-%i*88; + 207-%i*88; 36-%i*95; 74-%i*169; 175+%i*33; 151+%i*116; 256-%i*14;-189-%i*307; + -165+%i*320;-20+%i*104; 90-%i*152; 82-%i*97;-50-%i*83; 9-%i*304;-54+%i*231;-149-%i*114; + 168+%i*194;-4+%i*51;-78-%i*75;-60-%i*16;-165-%i*320; 82+%i*97; 90+%i*152;-20-%i*104; + 168-%i*194;-60+%i*16;-78+%i*75;-4-%i*51;-50+%i*83;-149+%i*114;-54-%i*231; 9+%i*304; + -110+%i*14;-36-%i*230;-235+%i*11; 54+%i*261; 175-%i*33;-189+%i*307; 256+%i*14; + 151-%i*116;-214+%i*88; 74+%i*169; 36+%i*95; 207+%i*88],[4,3,5]); +y_ref=matrix([ 2996; 3600; 1800; 2396; 1804.08726109815325; 601.420841162336728; 1797.20231832067839; + 2402.0440006453523; 2399.91273890184675; 2998.57915883766327; 2.79768167932161305; + 5401.95599935464725; 2396.96074950014463; 2999.02579525054898; 3601.07865923712325; + 4800.47728151174852; 5402.68357811465103; 5996.71587420499782; 2994.98775825329631; + 4800.7569165971172; 1194.78718041472757; 1801.42138987713292; 597.945126438306488; + 4795.69787130615623; 1806.28063851446973; 2996.33933739403255; 1802.22357633135243; + 2999.61398771896711; 4800.14227629597099; 1194.58106615498582; 4200.9816123952096; + -1.643335439786938; 3000.6599157117771; 3602.13659702117502; 1207.26152998727684; + 601.910475422587638; 3601.29217048561441; 5398.45474462091079; 4205.6200225335615; + 3606.49125722100416; 5397.78905489267254; 4200.45827894945342; 2396.05617461713109; + 1802.27482470993255; 3000.2119789042963; 5400.98960279924631; 2403.91117288032501; + 1800.15817472797062; 4799.46644149977146; 4206.18012273450677; 591.077741897962369; + 1197.41747354827976; 2398.62992927763071; 1199.93973694330134; 600.335830922918376; + 5401.45253626486101; 1201.09608638827149; 2403.75745404970803; 4798.52079450553538; + 4195.39253641116193],[4,3,5]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + +//C2C case +//------------------------------------------------------------------------------------ +A=[0 %i 3-%i + 2+%i -1 -1 + 3 4 4 + 2-3*%i -1 -1]; +A(:,:,2)=A+1; +A(:,:,3)=A(:,:,2).*A(:,:,2); +y=fft(A); +y_ref=matrix([ 130-%i*22;-34-%i*14; 102+%i*10;-98+%i*2; 11.624355652982139+%i*5.18653347947321031; + 45.6243556529821319+%i*13.1865334794732103;-28.375644347017861+%i*37.1865334794732121; + -18.375644347017861+%i*29.1865334794732121;-12.624355652982139-%i*31.1865334794732121; + 21.3756443470178574-%i*23.1865334794732121;-52.6243556529821319+%i*0.81346652052678969; + -42.624355652982139-%i*7.18653347947321031;-30.1435935394489825+%i*63.4256258422040702; + 23.124355652982139-%i*12.0525588832576496;-33.464101615137757+%i*49.9615242270663131; + 29.2679491924311215-%i*54.6935750346351952;-0.90192378864668221-%i*5.2224318643354568; + -19.633974596215559+%i*23.2224318643354550;-16.2224318643354550-%i*18.6865334794732121; + -13.4903810567665765-%i*19.4185842870420871; 24.026279441628823-%i*6.83012701892219098; + 5.29422863405994804+%i*21.6147367097487226; 8.7057713659400484-%i*20.2942286340599445; + 11.4378221735089287-%i*21.026279441628823;-57.8564064605510140-%i*47.4256258422040702; + -1.1243556529821408+%i*26.0525588832576496;-26.5358983848622465-%i*53.9615242270663131; + 32.732050807568875+%i*52.6935750346351952; 4.97372055837117344+%i*1.83012701892219409; + -10.2942286340599463-%i*28.614736709748719; 24.2942286340599480-%i*4.705771365940052; + 23.5621778264910695-%i*1.9737205583711752;-6.09807621135331601+%i*24.2224318643354550; + -21.3660254037844375-%i*6.2224318643354586; 13.2224318643354550+%i*17.6865334794732085; + 12.4903810567665818+%i*20.4185842870420871],[4,3,3]); +assert_checkalmostequal(y,y_ref); + +//N-D transform ******************************************************************************* +//R2R case ------------------------------------------------------------------------------------ + +A=matrix([7090;265;265;180;-42;-198;30;15;15;180;-198;-42;160;235;-245;-335;135;182;240;-75;75; + -265;465;148;160;-245;235;-265;148;465;240;75;-75;-335;182;135;-410;446;204;-280;-253; + 353;-450;-198;-372;140;351;229;-48;236;-312;456;181;-279;262;-540;-50;363;385;-99;368; + 242;-6;-236;-71;-321;158;20;-90;397;109;195;-110;265;265;-120;-370;-110;-650;55;55;-120; + -110;-370;-20;-125;-245;91;-153;34;-80;85;-5;-151;-447;416;-20;-245;-125;-151;416;-447; + -80;-5;85;91;34;-153;-410;204;446;140;229;351;-450;-372;-198;-280;353;-253;368;-6;242; + 397;195;109;158;-90;20;-236;-321;-71;-48;-312;236;363;-99;385;262;-50;-540;456;-279;181],[3,4,3,4]); + +y_ref=matrix([ 8640; 6480; 6480; 11520; 5760.26656797432588; 5039.73343202567412; 4320; 7200; 7200; + 11520; 5039.73343202567412; 5760.26656797432588; 4320; 2160; 2880; 9369.32603294810724; + 4323.73066958946401; 5040.79842187187296; 7200; 2160.00000000000045; 2880; + 12230.6739670518928; 3596.2693304105369; 12239.2015781281261; 4320; 2880; 2160; + 12230.6739670518928; 12239.2015781281261; 3596.2693304105369; 7200; 2880; + 2160.00000000000045; 9369.32603294810724; 5040.79842187187296; 4323.73066958946401; + 11520; 4318.1340241797152; 9361.8659758202848; 12240; 5046.12849930729499; + 7193.87150069270501; 7200; 10079.7334320256741; 10800.2665679743259; 2160; + 2164.52909146133834; 8635.47090853866212; 7923.73066958946401; 7196.80246635918866; + 8641.59812579485151; 7921.06627189730625; 6480.53313594865176; 10801.5994078459589; + 10079.2015781281261; 6482.39782971783188; 7198.66844217947437; 5759.73343202567321; + 9362.39911176893838; 5038.66716012836696; 7196.26933041053599; 13678.4018742051485; + 6483.19753364081134; 5038.93372810269375; 6478.40059215404108; 5039.46686405134824; + 2880.79842187187342; 1441.33155782052563; 9357.60217028216903; 6480.26656797432679; + 8641.33283987163304; 2877.60088823106116; 4320; 4320; 4320; 3600; 8639.20029607702054; + 10800.7997039229795; 12960; 8640; 8640; 3600; 10800.7997039229795; 8639.20029607702054; + 7920; 12960; 10800; 9365.06350946109706; 7196.00276243620829; 8637.60217028216721; + 10800; 720.000000000000455; 7920; 5034.93649053890294; 8643.99723756379171; + 5762.39782971783279; 7920; 10800; 12960; 5034.93649053890294; 5762.39782971783279; + 8643.99723756379171; 10800; 7920; 720.000000000000455; 9365.06350946109706; + 8637.60217028216721; 7196.00276243620829; 11520; 9361.8659758202848; 4318.1340241797152; + 2160; 8635.47090853866212; 2164.52909146133834; 7200; 10800.2665679743259; + 10079.7334320256741; 12240; 7193.87150069270501; 5046.12849930729499; + 7196.26933041053599; 6483.19753364081134; 13678.4018742051485; 6480.26656797432679; + 2877.60088823106116; 8641.33283987163304; 2880.79842187187342; 9357.60217028216903; + 1441.33155782052563; 5038.93372810269375; 5039.46686405134824; 6478.40059215404108; + 7923.73066958946401; 8641.59812579485151; 7196.80246635918866; 5759.73343202567321; + 5038.66716012836696; 9362.39911176893838; 10079.2015781281261; 7198.66844217947437; + 6482.39782971783188; 7921.06627189730625; 10801.5994078459589; 6480.53313594865176],[3,4,3,4]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +A=matrix([ 2900; 220+%i*40;-260; 220-%i*40; 95+%i*95;-11+%i*172;-35+%i*251;-29+%i*2; 95-%i*95; + -29-%i*2;-35-%i*251;-11-%i*172;-110-%i*14; 54-%i*261;-235-%i*11;-36+%i*230;-214-%i*88; + 207-%i*88; 36-%i*95; 74-%i*169; 175+%i*33; 151+%i*116; 256-%i*14;-189-%i*307; + -165+%i*320;-20+%i*104; 90-%i*152; 82-%i*97;-50-%i*83; 9-%i*304;-54+%i*231;-149-%i*114; + 168+%i*194;-4+%i*51;-78-%i*75;-60-%i*16;-165-%i*320; 82+%i*97; 90+%i*152;-20-%i*104; + 168-%i*194;-60+%i*16;-78+%i*75;-4-%i*51;-50+%i*83;-149+%i*114;-54-%i*231; 9+%i*304; + -110+%i*14;-36-%i*230;-235+%i*11; 54+%i*261; 175-%i*33;-189+%i*307; 256+%i*14; + 151-%i*116;-214+%i*88; 74+%i*169; 36+%i*95; 207+%i*88],[4,3,5]); +y_ref=matrix([ 2996; 3600; 1800; 2396; 1804.08726109815325; 601.420841162336728; 1797.20231832067839; + 2402.0440006453523; 2399.91273890184675; 2998.57915883766327; 2.79768167932161305; + 5401.95599935464725; 2396.96074950014463; 2999.02579525054898; 3601.07865923712325; + 4800.47728151174852; 5402.68357811465103; 5996.71587420499782; 2994.98775825329631; + 4800.7569165971172; 1194.78718041472757; 1801.42138987713292; 597.945126438306488; + 4795.69787130615623; 1806.28063851446973; 2996.33933739403255; 1802.22357633135243; + 2999.61398771896711; 4800.14227629597099; 1194.58106615498582; 4200.9816123952096; + -1.643335439786938; 3000.6599157117771; 3602.13659702117502; 1207.26152998727684; + 601.910475422587638; 3601.29217048561441; 5398.45474462091079; 4205.6200225335615; + 3606.49125722100416; 5397.78905489267254; 4200.45827894945342; 2396.05617461713109; + 1802.27482470993255; 3000.2119789042963; 5400.98960279924631; 2403.91117288032501; + 1800.15817472797062; 4799.46644149977146; 4206.18012273450677; 591.077741897962369; + 1197.41747354827976; 2398.62992927763071; 1199.93973694330134; 600.335830922918376; + 5401.45253626486101; 1201.09608638827149; 2403.75745404970803; 4798.52079450553538; + 4195.39253641116193],[4,3,5]); +y=fft(A); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); +y=fft(A,"symmetric"); +assert_checktrue(isreal(y)); +assert_checkalmostequal(y,y_ref); + +y=fft(A,"nonsymmetric"); +assert_checktrue(~isreal(y)); +assert_checkalmostequal(y,y_ref); + +//============================================================================================ +//=================================fft(A ,isn, sel [,flag]) ================================== +//============================================================================================ +//R2C and C2R case --------------------------------------------------------------------------- +// Multiple 1D transforms +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 5 1 -1]; + +y_ref = [ 10, 5, 3; + -3+%i*3,-3+%i*2,-3; + -4, 5, 7; + -3-%i*3,-3-%i*2,-3]; +y=fft(A,-1,1); +assert_checkalmostequal(y,y_ref); +y=fft(y_ref,1,1); +assert_checktrue(isreal(y)); +assert_checkalmostequal(A,y); + +y_ref = [ 2.5, 1.25, 0.75; + -0.75-%i*0.75,-0.75-%i*0.5,-0.75; + -1, 1.25, 1.75; + -0.75+%i*0.75,-0.75+%i*0.5,-0.75]; +y=fft(A,1,1); +assert_checkalmostequal(y,y_ref); +y=fft(y_ref,-1,1); +assert_checktrue(isreal(y)); +assert_checkalmostequal(A,y); + +y_ref = [ 2,-1,-1; + 0, 3, 3; + 11,-1,-1; + 5, 5-%i*1.7320508, 5+%i*1.7320508]; + +y=fft(A,-1,2); +assert_checkalmostequal(y,y_ref); +y=fft(y_ref,1,2); +assert_checktrue(isreal(y)); +assert_checkalmostequal(A,y); + +y_ref = [ 0.66666666666666663,-0.33333333333333331,-0.33333333333333331; + 0, 1, 1; + 3.66666666666666652,-0.33333333333333326,-0.33333333333333326; + 1.66666666666666652, 1.66666666666666652+%i*0.57735026918962573,.. + 1.66666666666666652-%i*0.57735026918962573]; +y=fft(A,1,2); +assert_checkalmostequal(y,y_ref); +y=fft(y_ref,-1,2); +assert_checktrue(isreal(y)); +assert_checkalmostequal(A,y); + +// Multiple 1D and 2D transforms of ND arrays +Dims=[5 3 4]; +A=matrix(1:60,Dims); +Sel=2; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(3) + ind=list(i,:,j); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end + +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + for j=1:Dims(3) + ind=list(i,:,j); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end +end + + +Sel=3; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(2) + ind=list(i,j,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + for j=1:Dims(2) + ind=list(i,j,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end +end + +Sel=[1 2]; +y=fft(A,-1,Sel); +for j=1:Dims(3) + ind=list(:,:,j); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(3) + ind=list(:,:,j); + assert_checkalmostequal(y(ind(:)),A(ind(:))); +end + +Sel=[1 3]; +y=fft(A,-1,Sel); +for j=1:Dims(2) + ind=list(:,j,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + ind=list(:,j,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); +end + +Dims=[5 3 4 7]; +A=matrix(1:prod(Dims),Dims); +Sel=[1 3 4]; +y=fft(A,-1,Sel); +for j=1:Dims(2) + ind=list(:,j,:,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end + +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + ind=list(:,j,:,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); +end + +Sel=[2 4]; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(3) + ind=list(i,:,j,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end + +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + for j=1:Dims(3) + ind=list(i,:,j,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end +end + +Sel=3; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(2) + for k=1:Dims(4) + ind=list(i,j,:,k); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end + end +end + +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + for j=1:Dims(2) + for k=1:Dims(4) + ind=list(i,j,:,k); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end + end +end diff --git a/modules/fftw/tests/unit_tests/fftw_part3.dia.ref b/modules/fftw/tests/unit_tests/fftw_part3.dia.ref new file mode 100755 index 000000000..9ee0c4d35 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part3.dia.ref @@ -0,0 +1,53 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +//C2C case ------------------------------------------------------------------------------------ +Dims=[5 3 4]; +A=[10 %i 3-%i 5 + 2+%i -1 -1 7-%i + 3 4 4 -11 + 2-3*%i -1 -1 0.3+%i + -3 -2 -1 8]; +Sel=1; +y=fft(A,-1,Sel); +for j=1:Dims(2) + ind=list(:,j); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +for j=1:Dims(2) + ind=list(:,j); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end +Sel=2; +y=fft(A,-1,Sel); +for i=1:Dims(1) + ind=list(i,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +for i=1:Dims(1) + ind=list(i,:); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end +Dims=[5 3 4 7 5]; +A=matrix(rand(1,prod(Dims))+%i*rand(1,prod(Dims)),Dims); +Sel= [2 3 5]; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(4) + ind=list(i,:,:,j,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y=fft(y,1,Sel); +for i=1:Dims(1) + for j=1:Dims(4) + ind=list(i,:,:,j,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end +end diff --git a/modules/fftw/tests/unit_tests/fftw_part3.tst b/modules/fftw/tests/unit_tests/fftw_part3.tst new file mode 100755 index 000000000..72323cc43 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part3.tst @@ -0,0 +1,61 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +//C2C case ------------------------------------------------------------------------------------ +Dims=[5 3 4]; +A=[10 %i 3-%i 5 + 2+%i -1 -1 7-%i + 3 4 4 -11 + 2-3*%i -1 -1 0.3+%i + -3 -2 -1 8]; + +Sel=1; +y=fft(A,-1,Sel); +for j=1:Dims(2) + ind=list(:,j); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +for j=1:Dims(2) + ind=list(:,j); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end + +Sel=2; +y=fft(A,-1,Sel); +for i=1:Dims(1) + ind=list(i,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +for i=1:Dims(1) + ind=list(i,:); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end + + +Dims=[5 3 4 7 5]; +A=matrix(rand(1,prod(Dims))+%i*rand(1,prod(Dims)),Dims); +Sel= [2 3 5]; +y=fft(A,-1,Sel); +for i=1:Dims(1) + for j=1:Dims(4) + ind=list(i,:,:,j,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end + +y=fft(y,1,Sel); +for i=1:Dims(1) + for j=1:Dims(4) + ind=list(i,:,:,j,:); + assert_checkalmostequal(y(ind(:)),A(ind(:))); + end +end + diff --git a/modules/fftw/tests/unit_tests/fftw_part4.dia.ref b/modules/fftw/tests/unit_tests/fftw_part4.dia.ref new file mode 100755 index 000000000..ddbd62de4 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part4.dia.ref @@ -0,0 +1,152 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +//R2R case ------------------------------------------------------------------------------------ +A=[0 1 2 2 1 + 2 -1 3 3 -1 + 3 4 5 5 4 + 2 -1 3 3 -1]; +Dims=[4 5]; +Sel=1; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + ind=list(:,j); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + ind=list(:,j); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end +Sel=2; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + ind=list(i,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + ind=list(i,:); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end +//ND case +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 2 -1 -1]; +A(:,:,2)=A+1; +A(:,:,3)=A(:,:,2); +Dims=size(A); +Sel=1; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + for k=1:Dims(3) + ind=list(:,j,k); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + for k=1:Dims(3) + ind=list(:,j,k); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); + end +end +Sel=1:2; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for k=1:Dims(3) + ind=list(:,:,k); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for k=1:Dims(3) + ind=list(:,:,k); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end +Sel=2:3; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + ind=list(i,:,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + ind=list(i,:,:); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end +Dims=[5 4 9 5 6]; +A=matrix(rand(1,prod(Dims)),Dims); +y=fft(A,-1,[2 4]); +for i1=1:Dims(1) + for i3=1:Dims(3) + for i5=1:Dims(5) + ind=list(i1,:,i3,:,i5);; + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end + end +end +y1=fft(y,1,[2 4]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); +y=fft(A,-1,[2 4 5]); +for i1=1:Dims(1) + for i3=1:Dims(3) + ind=list(i1,:,i3,:,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y1=fft(y,1,[2 4 5]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); +Dims=[5 4 7 5 6 3]; +A=matrix(rand(1,prod(Dims)),Dims); +y=fft(A,-1,[2 5]); +for i1=1:Dims(1) + for i3=1:Dims(3) + for i4=1:Dims(4) + for i6=1:Dims(6) + ind=list(i1,:,i3,i4,:,i6); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end + end + end +end +y1=fft(y,1,[2 5]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); +y=fft(A,-1,[2 4 6]); +for i1=1:Dims(1) + for i3=1:Dims(3) + for i5=1:Dims(5) + ind=list(i1,:,i3,:,i5,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end + end +end +y1=fft(y,1,[2 4 6]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); +y=fft(A,-1,[2 4 5 6]); +for i1=1:Dims(1) + for i3=1:Dims(3) + ind=list(i1,:,i3,:,:,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y1=fft(y,1,[2 4 5 6]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); diff --git a/modules/fftw/tests/unit_tests/fftw_part4.tst b/modules/fftw/tests/unit_tests/fftw_part4.tst new file mode 100755 index 000000000..fb81ce425 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part4.tst @@ -0,0 +1,171 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +//R2R case ------------------------------------------------------------------------------------ +A=[0 1 2 2 1 + 2 -1 3 3 -1 + 3 4 5 5 4 + 2 -1 3 3 -1]; + +Dims=[4 5]; +Sel=1; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + ind=list(:,j); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + ind=list(:,j); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end + +Sel=2; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + ind=list(i,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + ind=list(i,:); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end + +//ND case +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 2 -1 -1]; +A(:,:,2)=A+1; +A(:,:,3)=A(:,:,2); + +Dims=size(A); +Sel=1; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + for k=1:Dims(3) + ind=list(:,j,k); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end + +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for j=1:Dims(2) + for k=1:Dims(3) + ind=list(:,j,k); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); + end +end + +Sel=1:2; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for k=1:Dims(3) + ind=list(:,:,k); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end + +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for k=1:Dims(3) + ind=list(:,:,k); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end + +Sel=2:3; +y=fft(A,-1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + ind=list(i,:,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); +end +y=fft(y,1,Sel); +assert_checktrue(isreal(y)); +for i=1:Dims(1) + ind=list(i,:,:); + assert_checkalmostequal(y(ind(:)),A(ind(:)),0,10*%eps); +end + +Dims=[5 4 9 5 6]; +A=matrix(rand(1,prod(Dims)),Dims); +y=fft(A,-1,[2 4]); +for i1=1:Dims(1) + for i3=1:Dims(3) + for i5=1:Dims(5) + ind=list(i1,:,i3,:,i5);; + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end + end +end +y1=fft(y,1,[2 4]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); + + +y=fft(A,-1,[2 4 5]); +for i1=1:Dims(1) + for i3=1:Dims(3) + ind=list(i1,:,i3,:,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y1=fft(y,1,[2 4 5]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); + + +Dims=[5 4 7 5 6 3]; +A=matrix(rand(1,prod(Dims)),Dims); +y=fft(A,-1,[2 5]); +for i1=1:Dims(1) + for i3=1:Dims(3) + for i4=1:Dims(4) + for i6=1:Dims(6) + ind=list(i1,:,i3,i4,:,i6); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end + end + end +end + +y1=fft(y,1,[2 5]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); + + +y=fft(A,-1,[2 4 6]); +for i1=1:Dims(1) + for i3=1:Dims(3) + for i5=1:Dims(5) + ind=list(i1,:,i3,:,i5,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end + end +end +y1=fft(y,1,[2 4 6]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); + +y=fft(A,-1,[2 4 5 6]); +for i1=1:Dims(1) + for i3=1:Dims(3) + ind=list(i1,:,i3,:,:,:); + assert_checkalmostequal(y(ind(:)),fft(A(ind(:)),-1)); + end +end +y1=fft(y,1,[2 4 5 6]); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); diff --git a/modules/fftw/tests/unit_tests/fftw_part5.dia.ref b/modules/fftw/tests/unit_tests/fftw_part5.dia.ref new file mode 100755 index 000000000..bdd805fc7 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part5.dia.ref @@ -0,0 +1,45 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- JVM NOT MANDATORY --> +//=================================fft(A ,isn, dim, incr [,flag]) ============================= +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 5 1 -1]; +y=matrix(fft(A(:),-1,4,1),size(A)); +assert_checkalmostequal(y,fft(A,-1,1)); +y1=matrix(fft(y(:),1,4,1),size(A)); +assert_checkalmostequal(y1,fft(y,1,1)); +y=matrix(fft(A(:),-1,3,4),size(A)); +assert_checkalmostequal(y,fft(A,-1,2)); +y1=matrix(fft(y(:),1,3,4),size(A)); +assert_checkalmostequal(y1,fft(y,1,2)); +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y=matrix(fft(A,-1,20,1),[5*4 9 5 6]); +assert_checkalmostequal(y,fft(matrix(A,[5*4 9 5 6]),-1,1)); +y=matrix(fft(A,-1,45,20),[5*4 9*5 6]); +assert_checkalmostequal(y,fft(matrix(A,[5*4 9*5 6]),-1,2)); +y1=matrix(fft(y(:),1,45,20),size(A)); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y=matrix(fft(A(:),-1,[9 5],[20 180]),[5 4 9 5 6]); +y1=fft(matrix(A,[5 4 9 5 6]),-1,[3 4]); +assert_checkalmostequal(y,y1); +y1=fft(y(:),1,[9 5],[20 180]); +assert_checkalmostequal(A(:),y1); +assert_checktrue(isreal(y1)); +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y1=fft(matrix(A,[5 4 9 5 6]),-1,[2 4]); +y=matrix(fft(A(:),-1,[4 5],[5 180]),[5 4 9 5 6]); +assert_checkalmostequal(y,y1); +y1=fft(y(:),1,[4 5],[5 180]); +assert_checkalmostequal(A(:),y1); +assert_checktrue(isreal(y1)); diff --git a/modules/fftw/tests/unit_tests/fftw_part5.tst b/modules/fftw/tests/unit_tests/fftw_part5.tst new file mode 100755 index 000000000..3a509cd30 --- /dev/null +++ b/modules/fftw/tests/unit_tests/fftw_part5.tst @@ -0,0 +1,57 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - INRIA - Serge STEER +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- JVM NOT MANDATORY --> + +//=================================fft(A ,isn, dim, incr [,flag]) ============================= +A=[0 1 1 + 2 -1 -1 + 3 4 4 + 5 1 -1]; +y=matrix(fft(A(:),-1,4,1),size(A)); +assert_checkalmostequal(y,fft(A,-1,1)); +y1=matrix(fft(y(:),1,4,1),size(A)); +assert_checkalmostequal(y1,fft(y,1,1)); + +y=matrix(fft(A(:),-1,3,4),size(A)); +assert_checkalmostequal(y,fft(A,-1,2)); +y1=matrix(fft(y(:),1,3,4),size(A)); +assert_checkalmostequal(y1,fft(y,1,2)); + +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y=matrix(fft(A,-1,20,1),[5*4 9 5 6]); +assert_checkalmostequal(y,fft(matrix(A,[5*4 9 5 6]),-1,1)); + +y=matrix(fft(A,-1,45,20),[5*4 9*5 6]); +assert_checkalmostequal(y,fft(matrix(A,[5*4 9*5 6]),-1,2)); +y1=matrix(fft(y(:),1,45,20),size(A)); +assert_checktrue(isreal(y1)); +assert_checkalmostequal(y1,A); + +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y=matrix(fft(A(:),-1,[9 5],[20 180]),[5 4 9 5 6]); +y1=fft(matrix(A,[5 4 9 5 6]),-1,[3 4]); +assert_checkalmostequal(y,y1); + +y1=fft(y(:),1,[9 5],[20 180]); +assert_checkalmostequal(A(:),y1); +assert_checktrue(isreal(y1)); + + +Dims=[5 4 9 5 6]; +A=rand(1,prod(Dims)); +y1=fft(matrix(A,[5 4 9 5 6]),-1,[2 4]); + +y=matrix(fft(A(:),-1,[4 5],[5 180]),[5 4 9 5 6]); + +assert_checkalmostequal(y,y1); + +y1=fft(y(:),1,[4 5],[5 180]); +assert_checkalmostequal(A(:),y1); +assert_checktrue(isreal(y1)); diff --git a/modules/fftw/tests/unit_tests/setget_fftw_wisdom.dia.ref b/modules/fftw/tests/unit_tests/setget_fftw_wisdom.dia.ref new file mode 100755 index 000000000..048cc3af3 --- /dev/null +++ b/modules/fftw/tests/unit_tests/setget_fftw_wisdom.dia.ref @@ -0,0 +1,20 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- CLI SHELL MODE --> +//================================= +//return fftw wisdom +try + txt=get_fftw_wisdom(); + assert_checkequal(size(txt),[3 1]); + //================================= + //set fftw wisdom + set_fftw_wisdom(txt); + //================================= + //reset fftw wisdom + fftw_forget_wisdom() + //================================= +end diff --git a/modules/fftw/tests/unit_tests/setget_fftw_wisdom.tst b/modules/fftw/tests/unit_tests/setget_fftw_wisdom.tst new file mode 100755 index 000000000..2e5a1bc67 --- /dev/null +++ b/modules/fftw/tests/unit_tests/setget_fftw_wisdom.tst @@ -0,0 +1,22 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007-2008 - INRIA +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- CLI SHELL MODE --> + +//================================= +//return fftw wisdom +try + txt=get_fftw_wisdom(); + assert_checkequal(size(txt),[3 1]); + //================================= + //set fftw wisdom + set_fftw_wisdom(txt); + //================================= + //reset fftw wisdom + fftw_forget_wisdom() + //================================= +end |