diff options
Diffstat (limited to '2.3-1/src/c/elementaryFunctions/tan')
21 files changed, 2336 insertions, 0 deletions
diff --git a/2.3-1/src/c/elementaryFunctions/tan/Makefile.am b/2.3-1/src/c/elementaryFunctions/tan/Makefile.am new file mode 100644 index 00000000..71fc0112 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/Makefile.am @@ -0,0 +1,73 @@ +## +## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +## Copyright (C) 2008-2008 - INRIA - Bruno JOFRET +## +## 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-en.txt +## +## + +libTan_la_CFLAGS = -I $(top_builddir)/src/c/type \ + -I $(top_builddir)/src/c/elementaryFunctions/includes \ + -I $(top_builddir)/src/c/auxiliaryFunctions/includes + +instdir = $(top_builddir)/lib + +pkglib_LTLIBRARIES = libTan.la + +libTan_la_SOURCES = $(HEAD) $(SRC) + +SRC = stans.c \ + dtans.c \ + ctans.c \ + ztans.c \ + stana.c \ + dtana.c \ + ctana.c \ + ztana.c + +HEAD = ../includes/tan.h + +#### +# Checking Part +#### + +check_INCLUDES = -I $(top_builddir)/src/c/elementaryFunctions/includes \ + -I $(top_builddir)/src/c/type + +check_LDADD = $(top_builddir)/src/fortran/lapack/libscilapack.la \ + $(top_builddir)/src/c/type/libDoubleComplex.la \ + $(top_builddir)/src/c/type/libFloatComplex.la \ + $(top_builddir)/src/c/operations/addition/libAddition.la \ + $(top_builddir)/src/c/elementaryFunctions/tan/libTan.la \ + $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \ + $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \ + $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \ + $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \ + $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \ + $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \ + $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \ + $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \ + $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \ + $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \ + $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \ + $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \ + @LIBMATH@ + +check_PROGRAMS = testFloatTan testDoubleTan + +TESTS = testFloatTan testDoubleTan + +# +# -*- Tangeant Tests -*- +# +testFloatTan_SOURCES = testTan.h testFloatTan.c +testFloatTan_CFLAGS = $(check_INCLUDES) -g +testFloatTan_LDADD = $(check_LDADD) + +testDoubleTan_SOURCES = testTan.h testDoubleTan.c +testDoubleTan_CFLAGS = $(check_INCLUDES) -g +testDoubleTan_LDADD = $(check_LDADD) diff --git a/2.3-1/src/c/elementaryFunctions/tan/Makefile.in b/2.3-1/src/c/elementaryFunctions/tan/Makefile.in new file mode 100644 index 00000000..01d6aecf --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/Makefile.in @@ -0,0 +1,818 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ + +VPATH = @srcdir@ +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@ +check_PROGRAMS = testFloatTan$(EXEEXT) testDoubleTan$(EXEEXT) +TESTS = testFloatTan$(EXEEXT) testDoubleTan$(EXEEXT) +subdir = src/c/elementaryFunctions/tan +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/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__installdirs = "$(DESTDIR)$(pkglibdir)" +LTLIBRARIES = $(pkglib_LTLIBRARIES) +libTan_la_LIBADD = +am__objects_1 = +am__objects_2 = libTan_la-stans.lo libTan_la-dtans.lo \ + libTan_la-ctans.lo libTan_la-ztans.lo libTan_la-stana.lo \ + libTan_la-dtana.lo libTan_la-ctana.lo libTan_la-ztana.lo +am_libTan_la_OBJECTS = $(am__objects_1) $(am__objects_2) +libTan_la_OBJECTS = $(am_libTan_la_OBJECTS) +libTan_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libTan_la_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_testDoubleTan_OBJECTS = testDoubleTan-testDoubleTan.$(OBJEXT) +testDoubleTan_OBJECTS = $(am_testDoubleTan_OBJECTS) +am__DEPENDENCIES_1 = \ + $(top_builddir)/src/fortran/lapack/libscilapack.la \ + $(top_builddir)/src/c/type/libDoubleComplex.la \ + $(top_builddir)/src/c/type/libFloatComplex.la \ + $(top_builddir)/src/c/operations/addition/libAddition.la \ + $(top_builddir)/src/c/elementaryFunctions/tan/libTan.la \ + $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \ + $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \ + $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \ + $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \ + $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \ + $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \ + $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \ + $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \ + $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \ + $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \ + $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \ + $(top_builddir)/src/c/operations/multiplication/libMultiplication.la +testDoubleTan_DEPENDENCIES = $(am__DEPENDENCIES_1) +testDoubleTan_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleTan_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_testFloatTan_OBJECTS = testFloatTan-testFloatTan.$(OBJEXT) +testFloatTan_OBJECTS = $(am_testFloatTan_OBJECTS) +testFloatTan_DEPENDENCIES = $(am__DEPENDENCIES_1) +testFloatTan_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatTan_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/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) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libTan_la_SOURCES) $(testDoubleTan_SOURCES) \ + $(testFloatTan_SOURCES) +DIST_SOURCES = $(libTan_la_SOURCES) $(testDoubleTan_SOURCES) \ + $(testFloatTan_SOURCES) +ETAGS = etags +CTAGS = ctags +am__tty_colors = \ +red=; grn=; lgn=; blu=; std= +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBMATH = @LIBMATH@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +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@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +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@ +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@ +lt_ECHO = @lt_ECHO@ +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@ +libTan_la_CFLAGS = -I $(top_builddir)/src/c/type \ + -I $(top_builddir)/src/c/elementaryFunctions/includes \ + -I $(top_builddir)/src/c/auxiliaryFunctions/includes + +instdir = $(top_builddir)/lib +pkglib_LTLIBRARIES = libTan.la +libTan_la_SOURCES = $(HEAD) $(SRC) +SRC = stans.c \ + dtans.c \ + ctans.c \ + ztans.c \ + stana.c \ + dtana.c \ + ctana.c \ + ztana.c + +HEAD = ../includes/tan.h + +#### +# Checking Part +#### +check_INCLUDES = -I $(top_builddir)/src/c/elementaryFunctions/includes \ + -I $(top_builddir)/src/c/type + +check_LDADD = $(top_builddir)/src/fortran/lapack/libscilapack.la \ + $(top_builddir)/src/c/type/libDoubleComplex.la \ + $(top_builddir)/src/c/type/libFloatComplex.la \ + $(top_builddir)/src/c/operations/addition/libAddition.la \ + $(top_builddir)/src/c/elementaryFunctions/tan/libTan.la \ + $(top_builddir)/src/c/elementaryFunctions/sin/libSin.la \ + $(top_builddir)/src/c/elementaryFunctions/cos/libCos.la \ + $(top_builddir)/src/c/elementaryFunctions/sinh/libSinh.la \ + $(top_builddir)/src/c/elementaryFunctions/cosh/libCosh.la \ + $(top_builddir)/src/c/elementaryFunctions/exp/libExp.la \ + $(top_builddir)/src/c/elementaryFunctions/log/libLog.la \ + $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \ + $(top_builddir)/src/c/elementaryFunctions/log1p/libLog1p.la \ + $(top_builddir)/src/c/elementaryFunctions/lnp1m1/libLnp1m1.la \ + $(top_builddir)/src/c/auxiliaryFunctions/abs/libAbs.la \ + $(top_builddir)/src/c/auxiliaryFunctions/pythag/libPythag.la \ + $(top_builddir)/src/c/operations/multiplication/libMultiplication.la \ + @LIBMATH@ + + +# +# -*- Tangeant Tests -*- +# +testFloatTan_SOURCES = testTan.h testFloatTan.c +testFloatTan_CFLAGS = $(check_INCLUDES) -g +testFloatTan_LDADD = $(check_LDADD) +testDoubleTan_SOURCES = testTan.h testDoubleTan.c +testDoubleTan_CFLAGS = $(check_INCLUDES) -g +testDoubleTan_LDADD = $(check_LDADD) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.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 src/c/elementaryFunctions/tan/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/c/elementaryFunctions/tan/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_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): +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" + @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 " $(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)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libTan.la: $(libTan_la_OBJECTS) $(libTan_la_DEPENDENCIES) + $(libTan_la_LINK) -rpath $(pkglibdir) $(libTan_la_OBJECTS) $(libTan_la_LIBADD) $(LIBS) + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +testDoubleTan$(EXEEXT): $(testDoubleTan_OBJECTS) $(testDoubleTan_DEPENDENCIES) + @rm -f testDoubleTan$(EXEEXT) + $(testDoubleTan_LINK) $(testDoubleTan_OBJECTS) $(testDoubleTan_LDADD) $(LIBS) +testFloatTan$(EXEEXT): $(testFloatTan_OBJECTS) $(testFloatTan_DEPENDENCIES) + @rm -f testFloatTan$(EXEEXT) + $(testFloatTan_LINK) $(testFloatTan_OBJECTS) $(testFloatTan_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libTan_la-ctana.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libTan_la-ctans.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libTan_la-dtana.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libTan_la-dtans.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libTan_la-stana.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libTan_la-stans.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libTan_la-ztana.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libTan_la-ztans.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleTan-testDoubleTan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatTan-testFloatTan.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +libTan_la-stans.lo: stans.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -MT libTan_la-stans.lo -MD -MP -MF $(DEPDIR)/libTan_la-stans.Tpo -c -o libTan_la-stans.lo `test -f 'stans.c' || echo '$(srcdir)/'`stans.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libTan_la-stans.Tpo $(DEPDIR)/libTan_la-stans.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stans.c' object='libTan_la-stans.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -c -o libTan_la-stans.lo `test -f 'stans.c' || echo '$(srcdir)/'`stans.c + +libTan_la-dtans.lo: dtans.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -MT libTan_la-dtans.lo -MD -MP -MF $(DEPDIR)/libTan_la-dtans.Tpo -c -o libTan_la-dtans.lo `test -f 'dtans.c' || echo '$(srcdir)/'`dtans.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libTan_la-dtans.Tpo $(DEPDIR)/libTan_la-dtans.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dtans.c' object='libTan_la-dtans.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -c -o libTan_la-dtans.lo `test -f 'dtans.c' || echo '$(srcdir)/'`dtans.c + +libTan_la-ctans.lo: ctans.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -MT libTan_la-ctans.lo -MD -MP -MF $(DEPDIR)/libTan_la-ctans.Tpo -c -o libTan_la-ctans.lo `test -f 'ctans.c' || echo '$(srcdir)/'`ctans.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libTan_la-ctans.Tpo $(DEPDIR)/libTan_la-ctans.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ctans.c' object='libTan_la-ctans.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -c -o libTan_la-ctans.lo `test -f 'ctans.c' || echo '$(srcdir)/'`ctans.c + +libTan_la-ztans.lo: ztans.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -MT libTan_la-ztans.lo -MD -MP -MF $(DEPDIR)/libTan_la-ztans.Tpo -c -o libTan_la-ztans.lo `test -f 'ztans.c' || echo '$(srcdir)/'`ztans.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libTan_la-ztans.Tpo $(DEPDIR)/libTan_la-ztans.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ztans.c' object='libTan_la-ztans.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -c -o libTan_la-ztans.lo `test -f 'ztans.c' || echo '$(srcdir)/'`ztans.c + +libTan_la-stana.lo: stana.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -MT libTan_la-stana.lo -MD -MP -MF $(DEPDIR)/libTan_la-stana.Tpo -c -o libTan_la-stana.lo `test -f 'stana.c' || echo '$(srcdir)/'`stana.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libTan_la-stana.Tpo $(DEPDIR)/libTan_la-stana.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stana.c' object='libTan_la-stana.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -c -o libTan_la-stana.lo `test -f 'stana.c' || echo '$(srcdir)/'`stana.c + +libTan_la-dtana.lo: dtana.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -MT libTan_la-dtana.lo -MD -MP -MF $(DEPDIR)/libTan_la-dtana.Tpo -c -o libTan_la-dtana.lo `test -f 'dtana.c' || echo '$(srcdir)/'`dtana.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libTan_la-dtana.Tpo $(DEPDIR)/libTan_la-dtana.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dtana.c' object='libTan_la-dtana.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -c -o libTan_la-dtana.lo `test -f 'dtana.c' || echo '$(srcdir)/'`dtana.c + +libTan_la-ctana.lo: ctana.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -MT libTan_la-ctana.lo -MD -MP -MF $(DEPDIR)/libTan_la-ctana.Tpo -c -o libTan_la-ctana.lo `test -f 'ctana.c' || echo '$(srcdir)/'`ctana.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libTan_la-ctana.Tpo $(DEPDIR)/libTan_la-ctana.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ctana.c' object='libTan_la-ctana.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -c -o libTan_la-ctana.lo `test -f 'ctana.c' || echo '$(srcdir)/'`ctana.c + +libTan_la-ztana.lo: ztana.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -MT libTan_la-ztana.lo -MD -MP -MF $(DEPDIR)/libTan_la-ztana.Tpo -c -o libTan_la-ztana.lo `test -f 'ztana.c' || echo '$(srcdir)/'`ztana.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libTan_la-ztana.Tpo $(DEPDIR)/libTan_la-ztana.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ztana.c' object='libTan_la-ztana.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libTan_la_CFLAGS) $(CFLAGS) -c -o libTan_la-ztana.lo `test -f 'ztana.c' || echo '$(srcdir)/'`ztana.c + +testDoubleTan-testDoubleTan.o: testDoubleTan.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleTan_CFLAGS) $(CFLAGS) -MT testDoubleTan-testDoubleTan.o -MD -MP -MF $(DEPDIR)/testDoubleTan-testDoubleTan.Tpo -c -o testDoubleTan-testDoubleTan.o `test -f 'testDoubleTan.c' || echo '$(srcdir)/'`testDoubleTan.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleTan-testDoubleTan.Tpo $(DEPDIR)/testDoubleTan-testDoubleTan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleTan.c' object='testDoubleTan-testDoubleTan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleTan_CFLAGS) $(CFLAGS) -c -o testDoubleTan-testDoubleTan.o `test -f 'testDoubleTan.c' || echo '$(srcdir)/'`testDoubleTan.c + +testDoubleTan-testDoubleTan.obj: testDoubleTan.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleTan_CFLAGS) $(CFLAGS) -MT testDoubleTan-testDoubleTan.obj -MD -MP -MF $(DEPDIR)/testDoubleTan-testDoubleTan.Tpo -c -o testDoubleTan-testDoubleTan.obj `if test -f 'testDoubleTan.c'; then $(CYGPATH_W) 'testDoubleTan.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleTan.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleTan-testDoubleTan.Tpo $(DEPDIR)/testDoubleTan-testDoubleTan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleTan.c' object='testDoubleTan-testDoubleTan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleTan_CFLAGS) $(CFLAGS) -c -o testDoubleTan-testDoubleTan.obj `if test -f 'testDoubleTan.c'; then $(CYGPATH_W) 'testDoubleTan.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleTan.c'; fi` + +testFloatTan-testFloatTan.o: testFloatTan.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatTan_CFLAGS) $(CFLAGS) -MT testFloatTan-testFloatTan.o -MD -MP -MF $(DEPDIR)/testFloatTan-testFloatTan.Tpo -c -o testFloatTan-testFloatTan.o `test -f 'testFloatTan.c' || echo '$(srcdir)/'`testFloatTan.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatTan-testFloatTan.Tpo $(DEPDIR)/testFloatTan-testFloatTan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatTan.c' object='testFloatTan-testFloatTan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatTan_CFLAGS) $(CFLAGS) -c -o testFloatTan-testFloatTan.o `test -f 'testFloatTan.c' || echo '$(srcdir)/'`testFloatTan.c + +testFloatTan-testFloatTan.obj: testFloatTan.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatTan_CFLAGS) $(CFLAGS) -MT testFloatTan-testFloatTan.obj -MD -MP -MF $(DEPDIR)/testFloatTan-testFloatTan.Tpo -c -o testFloatTan-testFloatTan.obj `if test -f 'testFloatTan.c'; then $(CYGPATH_W) 'testFloatTan.c'; else $(CYGPATH_W) '$(srcdir)/testFloatTan.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatTan-testFloatTan.Tpo $(DEPDIR)/testFloatTan-testFloatTan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatTan.c' object='testFloatTan-testFloatTan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatTan_CFLAGS) $(CFLAGS) -c -o testFloatTan-testFloatTan.obj `if test -f 'testFloatTan.c'; then $(CYGPATH_W) 'testFloatTan.c'; else $(CYGPATH_W) '$(srcdir)/testFloatTan.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + 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 +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + 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" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list=' $(TESTS) '; \ + $(am__tty_colors); \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + col=$$red; res=XPASS; \ + ;; \ + *) \ + col=$$grn; res=PASS; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xfail=`expr $$xfail + 1`; \ + col=$$lgn; res=XFAIL; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + col=$$red; res=FAIL; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + col=$$blu; res=SKIP; \ + fi; \ + echo "$${col}$$res$${std}: $$tst"; \ + done; \ + if test "$$all" -eq 1; then \ + tests="test"; \ + All=""; \ + else \ + tests="tests"; \ + All="All "; \ + fi; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="$$All$$all $$tests passed"; \ + else \ + if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ + banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all $$tests failed"; \ + else \ + if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ + banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + if test "$$skip" -eq 1; then \ + skipped="($$skip test was not run)"; \ + else \ + skipped="($$skip tests were not run)"; \ + fi; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + if test "$$failed" -eq 0; then \ + echo "$$grn$$dashes"; \ + else \ + echo "$$red$$dashes"; \ + fi; \ + echo "$$banner"; \ + test -z "$$skipped" || echo "$$skipped"; \ + test -z "$$report" || echo "$$report"; \ + echo "$$dashes$$std"; \ + test "$$failed" -eq 0; \ + else :; fi + +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_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)"; 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: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +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) + +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-checkPROGRAMS clean-generic clean-libtool \ + clean-pkglibLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +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 ./$(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-pkglibLTLIBRARIES + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ + clean-checkPROGRAMS clean-generic clean-libtool \ + clean-pkglibLTLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am 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 uninstall \ + uninstall-am uninstall-pkglibLTLIBRARIES + + +# 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/2.3-1/src/c/elementaryFunctions/tan/ctana.c b/2.3-1/src/c/elementaryFunctions/tan/ctana.c new file mode 100644 index 00000000..731407ee --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/ctana.c @@ -0,0 +1,20 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * + * 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-en.txt + * + */ + +#include "tan.h" + +void ctana(floatComplex* x, int size, floatComplex* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = ctans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/ctans.c b/2.3-1/src/c/elementaryFunctions/tan/ctans.c new file mode 100644 index 00000000..9a6bd8c1 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/ctans.c @@ -0,0 +1,45 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * + * 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-en.txt + * + */ + +#include <math.h> +#include "lapack.h" +#include "tan.h" +#include "sqrt.h" +#include "cos.h" +#include "sinh.h" +#include "sin.h" +#include "log.h" +#include "abs.h" + +#define localSign(x) x >= 0 ? 1.0f : -1.0f + +floatComplex ctans(floatComplex z) { + float Temp = 0.0f; + float Lim = 1.0f + slogs(2.0f / ssqrts((float) getRelativeMachinePrecision())); + float RealIn = creals(z); + float ImagIn = cimags(z); + float RealOut = 0.0f; + float ImagOut = 0.0f; + + Temp = powf(scoss(RealIn), 2.0f) + powf(ssinhs(ImagIn), 2.0f); + RealOut = 0.5f * ssins(2 * RealIn) / Temp; + if(sabss(ImagIn) < Lim) + { + ImagOut = 0.5f * ssinhs(2.0f * ImagIn) / Temp; + } + else + { + ImagOut = localSign(ImagIn); + } + + return FloatComplex(RealOut, ImagOut); +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/dtana.c b/2.3-1/src/c/elementaryFunctions/tan/dtana.c new file mode 100644 index 00000000..8a5f4f68 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/dtana.c @@ -0,0 +1,20 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * + * 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-en.txt + * + */ + +#include "tan.h" + +void dtana(double* x, int size, double* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = dtans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/dtans.c b/2.3-1/src/c/elementaryFunctions/tan/dtans.c new file mode 100644 index 00000000..888a2dae --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/dtans.c @@ -0,0 +1,18 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * + * 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-en.txt + * + */ + +#include <math.h> +#include "tan.h" + +double dtans(double x) { + return tan(x); +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/i16tana.c b/2.3-1/src/c/elementaryFunctions/tan/i16tana.c new file mode 100644 index 00000000..cbbe237b --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/i16tana.c @@ -0,0 +1,20 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + 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-en.txt + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include "tan.h" + +void i16tana(int16* x, int size, float* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = i16tans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/i16tans.c b/2.3-1/src/c/elementaryFunctions/tan/i16tans.c new file mode 100644 index 00000000..b7cc7bb7 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/i16tans.c @@ -0,0 +1,18 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + 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-en.txt + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include <math.h> +#include "tan.h" + +float i16tans(int16 x) { + return (tanf(x)); +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/i8tana.c b/2.3-1/src/c/elementaryFunctions/tan/i8tana.c new file mode 100644 index 00000000..4daeb471 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/i8tana.c @@ -0,0 +1,20 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + 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-en.txt + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include "tan.h" + +void i8tana(int8* x, int size, float* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = i8tans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/i8tans.c b/2.3-1/src/c/elementaryFunctions/tan/i8tans.c new file mode 100644 index 00000000..0dc9f9a5 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/i8tans.c @@ -0,0 +1,18 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + 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-en.txt + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include <math.h> +#include "tan.h" + +float i8tans(int8 x) { + return (tanf(x)); +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/stana.c b/2.3-1/src/c/elementaryFunctions/tan/stana.c new file mode 100644 index 00000000..c228afe1 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/stana.c @@ -0,0 +1,20 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * + * 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-en.txt + * + */ + +#include "tan.h" + +void stana(float* x, int size, float* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = stans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/stans.c b/2.3-1/src/c/elementaryFunctions/tan/stans.c new file mode 100644 index 00000000..436c32e4 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/stans.c @@ -0,0 +1,18 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * + * 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-en.txt + * + */ + +#include <math.h> +#include "tan.h" + +float stans(float x) { + return (tanf(x)); +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/testDoubleTan.c b/2.3-1/src/c/elementaryFunctions/tan/testDoubleTan.c new file mode 100644 index 00000000..33c791d5 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/testDoubleTan.c @@ -0,0 +1,497 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA - Arnaud TORSET + * + * 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-en.txt + * + */ + +#include "testTan.h" + +#define SOURCE {0.7062616096809506416321,0.4090520101599395275116,0.3011248558759689331055,\ +0.1880126395262777805328,0.1796709178015589714050,0.2828889950178563594818,\ +0.7232380937784910202026,0.7360379849560558795929,0.1852612206712365150452,\ +0.7703790138475596904755,0.1914967410266399383545,0.7521587223745882511139,\ +0.6205883463844656944275,0.2807604051195085048676,0.2289868686348199844360,\ +0.5049233403988182544708,0.8354099662974476814270,0.8174716415815055370331,\ +0.0030740275979042053223,0.3677616142667829990387,0.8278525872156023979187,\ +0.72754097869619727135,0.5323124285787343978882,0.9267726917751133441925,\ +0.9542504185810685157776,0.3162104780785739421845,0.5789009965956211090088,\ +0.6881225542165338993073,0.3714061146602034568787,0.1705444059334695339203,\ +0.1954363007098436355591,0.978800852317363023758,0.9300233917310833930969,\ +0.5357720064930617809296,0.3947123587131500244141,0.1344871171750128269196,\ +0.7380615202710032463074,0.588114650454372167587,0.9113173168152570724487,\ +0.5682763461954891681671,0.1127616921439766883850,0.9478473584167659282684,\ +0.5237770043313503265381,0.8140139640308916568756,0.1400952627882361412048,\ +0.2763446993194520473480,0.9059953633695840835571,0.1379901585169136524200,\ +0.5603838684037327766419,0.3008610638789832592011,0.4767417535185813904,\ +0.8127435916103422641754,0.1988414181396365165710,0.1107953130267560482025,\ +0.2159351315349340438843,0.6467244853265583515167,0.6597879612818360328674,\ +0.0691898013465106487274,0.9164751060307025909424,0.8635670826770365238190,\ +0.5032854294404387474060,0.1832137755118310451508,0.8403698671609163284302,\ +0.9247214836068451404572,0.6229452537372708320618,0.2773811477236449718475,\ +0.2479109913110733032227,0.3891948559321463108063,0.0436578569933772087097,\ +0.8132526441477239131928,0.7686451207846403121948,0.4041520212776958942413,\ +0.8579940209165215492249,0.6993723283521831035614,0.0828925184905529022217,\ +0.9201254160143435001373,0.5200281282886862754822,0.9351884997449815273285,\ +0.8825624976307153701782,0.2245844271965324878693,0.2153332801535725593567,\ +0.4327089670114219188690,0.5800157263875007629395,0.8876141034997999668121,\ +0.5258982880041003227234,0.859640696551650762558,0.7337234076112508773804,\ +0.7134532411582767963409,0.1087165409699082374573,0.8477638359181582927704,\ +0.6594733335077762603760,0.7916418449021875858307,0.6067967480048537254334,\ +0.4102901122532784938812,0.1958728153258562088013,0.241527963895350694656,\ +0.5113455550745129585266,0.9119556057266891002655,0.0928984880447387695313,\ +0.7438839026726782321930,0.1938720373436808586121,0.4355978979729115962982,\ +0.9922429900616407394409,0.4533818070776760578156,0.8269640663638710975647,\ +0.8889675955288112163544,0.4682085178792476654053,0.3856786251999437808991,\ +0.4124865522608160972595,0.6955242282710969448090,0.0978972557932138442993,\ +0.8728604433126747608185,0.6359515609219670295715,0.4129665228538215160370,\ +0.0294486805796623229980,0.1809961968101561069489,0.7658103061839938163757,\ +0.1232470511458814144135,0.0170737411826848983765,0.8835507561452686786652,\ +0.3164170170202851295471,0.9378212536685168743134,0.3916359134018421173096,\ +0.0844073877669870853424,0.6934146797284483909607,0.4618808380328118801117,\ +0.9355291295796632766724,0.0842495900578796863556,0.5402926551178097724915,\ +0.5613215523771941661835,0.1306025832891464233398,0.5840523042716085910797,\ +0.0048661706969141960144,0.2761953338049352169037,0.7478824090212583541870,\ +0.0194325004704296588898,0.6444276878610253334045,0.2243968318216502666473,\ +0.2478402368724346160889,0.1196091384626924991608,0.1883201440796256065369,\ +0.3393343067727982997894,0.959958622232079505920,0.2847225037403404712677,\ +0.8766820700839161872864,0.2853349032811820507050,0.5103433504700660705566,\ +0.8752629184164106845856,0.5941145820543169975281,0.3945342986844480037689,\ +0.4661326166242361068726,0.0073588271625339984894,0.5170202488079667091370,\ +0.4690007264725863933563,0.6654530800879001617432,0.9476742581464350223541,\ +0.4933638339862227439880,0.2918433747254312038422,0.2016727942973375320435,\ +0.7016656589694321155548,0.8736049132421612739563,0.191055159550160169601,\ +0.5307010114192962646484,0.8889481076039373874664,0.0115523664280772209167,\ +0.4998398735187947750092,0.6700848620384931564331,0.4995208983309566974640,\ +0.1538907447829842567444,0.2571737091057002544403,0.9586529098451137542725,\ +0.6246025026775896549225,0.9371285131201148033142,0.9923511571250855922699,\ +0.3454555813223123550415,0.7558249053545296192169,0.2107181670144200325012,\ +0.9372652801685035228729,0.6767524704337120056152,0.7465373151935636997223,\ +0.4050982249900698661804,0.5101723610423505306244,0.9497965183109045028687,\ +0.0289692510850727558136,0.1634070957079529762268,0.4146909262053668498993,\ +0.0021650679409503936768,0.1810030029155313968658,0.4556188201531767845154,\ +0.1977851442061364650726,0.6053877938538789749146,0.4363054675050079822540,\ +0.8938506888225674629211,0.6104825991205871105194,0.4316215068101882934570,\ +0.2315693595446646213532,0.4675927339121699333191,0.6150764389894902706146,\ +0.8621218334883451461792,0.3846137975342571735382} + +#define RESULT {0.8530491813252144561730,0.4335045992710032103368,0.3105691712500722179158,\ +0.1902597554084684006170,0.1816295703181560194928,0.2906848138476661458363,\ +0.8828132281173867168533,0.9058504084575731418738,0.1874102230574337113467,\ +0.9704039825071290037428,0.193872386487773856745,0.9356368085981127125095,\ +0.7147975865621483126944,0.2883777870673323029394,0.233074941053011769343,\ +0.5527124758136455762170,1.1053818146408691536209,1.0662960354617996294735,\ +0.0030740372807646679752,0.3852902674825339213172,1.0887291048642380175693,\ +0.8904988483295813717078,0.589027514944382324380,1.3318828819928720808008,\ +1.4110197782284186196478,0.3271889768526293207351,0.6535988324182537834162,\ +0.8221846610900451768345,0.3894816929387301396304,0.1722173220386573888607,\ +0.1979631660252146874157,1.4871003608159341080608,1.3409392796872054987034,\ +0.5936969391438152721108,0.4165742349308056979851,0.1353038396146245825324,\ +0.9095411562053630216695,0.666828524289825752547,1.2898724607003566600127,\ +0.6385394321030002373618,0.1132420646312260748001,1.3920395973271377787484,\ +0.5775879319584731330650,1.058934135979150648055,0.141019050913288951365,\ +0.2836009152345423944830,1.2757925164705434806223,0.1388727177433937698403,\ +0.6274844177211460483079,0.3102799593553379198241,0.5164764951302321938087,\ +1.0562428612021228513385,0.2015041286208432702587,0.1112509099475587071026,\ +0.2193551393571971375174,0.7550487488328985197228,0.7757652108685924030596,\ +0.0693004223106622879724,1.3037037706937266712259,1.1699705921283873877314,\ +0.550576129776577216646,0.1852916762694652719201,1.1164629082914852009623,\ +1.3262085052804502005586,0.7183647379901514362643,0.2847210542962326229599,\ +0.2531178933037822043062,0.4101140401836267934677,0.0436856155719798008863,\ +1.0573204171612526902635,0.9670429620877326604145,0.4276960657258361830913,\ +1.156854335998896532445,0.8412159741625684361566,0.0830828979444599852178,\ +1.3136054718047147638060,0.5725991803557812787062,1.355492790615370424234,\ +1.2159959299593459114419,0.2284380696339281535678,0.2187244120791704826701,\ +0.4619038629088654257515,0.6551909258647544698206,1.228594570395200147317,\ +0.5804203670779729540286,1.1607121297665823345113,0.9016453790519162181383,\ +0.8655510240366158791758,0.1091468929729377396187,1.133211951033040509884,\ +0.7752613593928633362040,1.0125659843026109108166,0.6941614960626277808231,\ +0.4349761638068749824981,0.1984168266250701806452,0.2463367776963759914199,\ +0.5611266025781723732,1.2915741173940875619053,0.0931666557927946503703,\ +0.9202369550199469561136,0.1963381019951347117303,0.4654138557801037467954,\ +1.531152598161082067918,0.4872328317068129743817,1.0867892686527245160732,\ +1.231996743210198141938,0.5057142067082607272965,0.4060123002390389479466,\ +0.4375906817398340642455,0.8346659585500807443381,0.0982112043307575288686,\ +1.1922276352973026902760,0.7382700256000707117465,0.4381626799731911381386,\ +0.0294571964089862109448,0.1829988997674065476229,0.9615720911131384607273,\ +0.1238749003414561927761,0.0170754004466078072866,1.2184484210758381728112,\ +0.3274176417863428056876,1.3629896342945482246023,0.4129685310508503515159,\ +0.0846084171803287293789,0.8310930423770829245100,0.4977934831990530883950,\ +1.3564597268158093967827,0.0844494919835185042789,0.5998275037194918946071,\ +0.6287920720664262885791,0.1313502491565903540494,0.6609756367352789263592,\ +0.0048662091069645377339,0.2834395431640467921675,0.9276488528261589427970,\ +0.0194349468870056892034,0.7514487870197579244547,0.2282406932471093830017,\ +0.2530426070707028074480,0.1201828114589197499251,0.1905784099029704803385,\ +0.352988062986135442411,1.428231701456014857143,0.2926743123472941854324,\ +1.2015237487616485800856,0.2933392882321691486069,0.5598095809652490206787,\ +1.1980617264883439698764,0.6755313107918682336006,0.4163652909127465440164,\ +0.5031101302799753094419,0.0073589599979746594949,0.5686119631638693050491,\ +0.5067094190821778143530,0.7848798186452353720100,1.391531190313842980544,\ +0.5377167840923406938458,0.3004214213647905529214,0.2044521595617958820146,\ +0.8451397437154636316237,1.1940319015577840477960,0.1934142466999154985619,\ +0.5868590674474564172769,1.2319476773796440571829,0.0115528803708900857511,\ +0.5460945923736312268559,0.792392311128046200608,0.5456805647330320585553,\ +0.1551171962759635702955,0.2629975069837691137309,1.4242699230594764170377,\ +0.7208802037485926295091,1.3610118285291581408103,1.5315144150725372718114,\ +0.3598870449025589057790,0.9425361247426047306419,0.2138933525822492576207,\ +1.3614020090881830959972,0.8033042279594378998198,0.925149379458894971506,\ +0.4288158062140490778269,0.5595850272060393093554,1.397781375537582970736,\ +0.0289773576405878592610,0.1648772252909011803990,0.4402197018088547242343,\ +0.0021650713238892428658,0.1830059338084651376910,0.4900039273308094966986,\ +0.2004051993228692374327,0.6920756616600035604492,0.4662749757103929471036,\ +1.244365984627544330365,0.6996374475054760733173,0.4605850493651166277509,\ +0.2357993689411847226811,0.5049411785573922895054,0.7065020490746397596737,\ +1.16655281751026174142,0.4047724755535024310227} + +#define ZSOURCER {0.6045256052166223526001,0.9455216196365654468536,0.4476299257948994636536,\ +0.8624908211641013622284,0.1751048639416694641113,0.2067177616991102695465,\ +0.6848411662504076957703,0.1348653226159512996674,0.0069159921258687973022,\ +0.1496290047653019428253,0.5665438110008835792542,0.4359452719800174236298,\ +0.6547604538500308990479,0.3381605879403650760651,0.4259321158751845359802,\ +0.3060420057736337184906,0.7704779822379350662231,0.7058695447631180286408,\ +0.2373670237138867378235,0.8205849635414779186249,0.6789963841438293457031,\ +0.5250809141434729099274,0.3359806565567851066589,0.8941988362930715084076,\ +0.5461782198399305343628,0.7568633262999355792999,0.0259526828303933143616,\ +0.3250150899402797222138,0.6072143577039241791,0.8756139636971056461334,\ +0.2962085595354437828064,0.4229678637348115444183,0.4243144039064645767212,\ +0.7620028969831764698029,0.3622896494343876838684,0.5658242437057197093964,\ +0.6424440070986747741699,0.7580267959274351596832,0.2531452132388949394226,\ +0.5266989110969007015228,0.2118590380996465682983,0.4779220153577625751495,\ +0.1615962767973542213440,0.9168031658045947551727,0.5461866445839405059815,\ +0.4686870560981333255768,0.7772213732823729515076,0.5871783248148858547211,\ +0.5848031807690858840942,0.3139644009061157703400,0.3204141603782773017883,\ +0.3331634956412017345429,0.2282590121030807495117,0.2750317254103720188141,\ +0.4963629124686121940613,0.7453477247618138790131,0.1155001949518918991089,\ +0.0626524840481579303741,0.0877018878236413002014,0.5507565210573375225067,\ +0.2116370312869548797607,0.8335358710028231143951,0.4045845707878470420837,\ +0.2880227542482316493988,0.1750094983726739883423,0.0051561561413109302521,\ +0.3109287889674305915833,0.6602919283322989940643,0.9722995534539222717285,\ +0.9826813959516584873200,0.0455837054178118705750,0.4096118300221860408783,\ +0.7104403134435415267944,0.3917615194804966449738,0.5571686858311295509338,\ +0.0565565521828830242157,0.1540721096098423004150,0.9109257892705500125885,\ +0.5713340407237410545349,0.3488348922692239284515,0.8972954172641038894653,\ +0.2973396372981369495392,0.1091936426237225532532,0.7626331257633864879608,\ +0.6584706604480743408203,0.6996708759106695652008,0.6756794182583689689636,\ +0.9004421546123921871185,0.6668148916214704513550,0.8518152837641537189484,\ +0.8365677157416939735413,0.1291190306656062602997,0.6095453463494777679443,\ +0.2412315667606890201569,0.4029275467619299888611,0.3019328541122376918793,\ +0.1083198729902505874634,0.8456356939859688282013,0.9417407037690281867981,\ +0.9083450469188392162323,0.1937242373824119567871,0.5318046086467802524567,\ +0.8314437521621584892273,0.4952740012668073177338,0.7465563025325536727905,\ +0.7102393140085041522980,0.5811418974772095680237,0.7035941029898822307587,\ +0.3746570833027362823486,0.3394373343326151371002,0.6322447275742888450623,\ +0.7636191300116479396820,0.6940386760979890823364,0.8735245508141815662384,\ +0.3612738298252224922180,0.7933200257830321788788,0.4830590635538101196289,\ +0.2469964125193655490875,0.5025922833010554313660,0.7430270477198064327240,\ +0.6783937942236661911011,0.4903185223229229450226,0.709806025959551334381,\ +0.3303662906400859355927,0.6815545372664928436279,0.0701365978457033634186,\ +0.4745870968326926231384,0.8091805852018296718597,0.9447045121341943740845,\ +0.5478458073921501636505,0.1216687532141804695129,0.9161847713403403759003,\ +0.3045207932591438293457,0.6502694808878004550934,0.0987624628469347953796,\ +0.8391053467057645320892,0.0328534897416830062866,0.3461971958167850971222,\ +0.2801467711105942726135,0.5500544901005923748016,0.0729318000376224517822,\ +0.0225322381593286991119,0.50267804320901632309,0.3478884599171578884125,\ +0.4298669416457414627075,0.3537984383292496204376,0.0529730813577771186829,\ +0.9533003675751388072968,0.1842019557952880859375,0.958756382111459970474,\ +0.3245136169716715812683,0.0003973259590566158295,0.0972583871334791183472,\ +0.4378789965994656086,0.3634226778522133827210,0.2685119728557765483856,\ +0.2770298384130001068115,0.8854365111328661441803,0.5216628303751349449158,\ +0.4979983693920075893,0.8733724001795053482056,0.4699407932348549365997,\ +0.9364062966778874397278,0.1337622734718024730682,0.2712419554591178894043,\ +0.1766990595497190952301,0.0543269468471407890320,0.8402757882140576839447,\ +0.7507283594459295272827,0.3062269617803394794464,0.9195641661062836647034,\ +0.1318263853900134563446,0.0826364941895008087158,0.8222710476256906986237,\ +0.4441085970029234886169,0.9617503038607537746429,0.0283641982823610305786,\ +0.1431905967183411121368,0.3793597565963864326477,0.6144003230147063732147,\ +0.2128270715475082397461,0.4704488315619528293610,0.2076055286452174186707,\ +0.7435979112051427364349,0.3391801547259092330933,0.2479635034687817096710,\ +0.6721735307946801185608,0.9013197491876780986786,0.2140864841639995574951,\ +0.8460668534971773624420,0.1650043567642569541931,0.4003686285577714443207,\ +0.5522825215011835098267,0.0638249483890831470490,0.6903966935351490974426,\ +0.8547787251882255077362,0.0291904583573341369629,0.5434663915075361728668,\ +0.6236743135377764701843,0.2417052476666867733002} + +#define ZSOURCEI {0.5503273960202932357788,0.6906704087741672992706,0.9835249418392777442932,\ +0.8285484607331454753876,0.2062614001333713531494,0.1944643096067011356354,\ +0.4367609983310103416443,0.8090620837174355983734,0.8818644303828477859497,\ +0.7404803228564560413361,0.7542522149160504341126,0.9921960639767348766327,\ +0.9886121451854705810547,0.0113218077458441257477,0.9367801276966929435730,\ +0.3874237253330647945404,0.2886805813759565353394,0.567788839805871248245,\ +0.7295644441619515419006,0.0303032915107905864716,0.2795897088944911956787,\ +0.7047131718136370182037,0.7442112853750586509705,0.8920237845741212368012,\ +0.1081438604742288589478,0.8751525697298347949982,0.9068333031609654426575,\ +0.2166852983646094799042,0.4824190363287925720215,0.7766945236362516880035,\ +0.4510916722938418388367,0.1300636469386518001556,0.5505470838397741317749,\ +0.6936193336732685565949,0.1749099576845765113831,0.8636093880049884319305,\ +0.2150467522442340850830,0.1886725709773600101471,0.1796098565682768821716,\ +0.4374312213622033596039,0.8514516223222017288208,0.7381969136185944080353,\ +0.8102188156917691230774,0.1460137623362243175507,0.8999849110841751098633,\ +0.4043733575381338596344,0.0156995235010981559753,0.6904196902178227901459,\ +0.2990311514586210250855,0.1383218024857342243195,0.8478512773290276527405,\ +0.3007262717001140117645,0.229154746979475021362,0.8078110129572451114655,\ +0.3176332255825400352478,0.6924462593160569667816,0.1364154014736413955689,\ +0.5433279541321098804474,0.3276594849303364753723,0.2006831648759543895721,\ +0.5037304237484931945801,0.4962565028108656406403,0.8996161324903368949890,\ +0.9357709079049527645111,0.3390339072793722152710,0.6029155333526432514191,\ +0.4153500730171799659729,0.3041478390805423259735,0.8489827848970890045166,\ +0.4482063786126673221588,0.0903797810897231101990,0.7382151386700570583344,\ +0.2669597584754228591919,0.8226196658797562122345,0.3985779182985424995422,\ +0.9789295899681746959686,0.3041231036186218261719,0.0663515278138220310211,\ +0.6667758254334330558777,0.7548807277344167232513,0.1922533493489027023315,\ +0.7942791883833706378937,0.5580398896709084510803,0.2016023616306483745575,\ +0.787146832793951034546,0.0955459238030016422272,0.6623697867617011070252,\ +0.864868474658578634262,0.7013061288744211196899,0.8015053984709084033966,\ +0.9135685982182621955872,0.6317234965972602367401,0.9346773549914360046387,\ +0.9157753759063780307770,0.0510348035022616386414,0.4329969524405896663666,\ +0.9721843507140874862671,0.8001508046872913837433,0.8452261472120881080627,\ +0.0610524858348071575165,0.8168097324669361114502,0.2101262793876230716705,\ +0.3055453812703490257263,0.9465212575159966945648,0.9269728232175111770630,\ +0.7737778765149414539337,0.5893978821113705635071,0.2377697187475860118866,\ +0.5269544571638107299805,0.0077543654479086399078,0.8311711428686976432800,\ +0.0268517597578465938568,0.2591186594218015670776,0.4641277943737804889679,\ +0.6098861405625939369202,0.0656952331773936748505,0.6466812007129192352295,\ +0.1018534512259066104889,0.2742705782875418663025,0.8162728524766862392426,\ +0.3357750270515680313110,0.4765891996212303638458,0.8440040023997426033020,\ +0.1785074654035270214081,0.5855625644326210021973,0.8426241897977888584137,\ +0.7058847947046160697937,0.7396617024205625057221,0.9751448985189199447632,\ +0.7606669445522129535675,0.8236690396443009376526,0.8889620001427829265595,\ +0.7960178293287754058838,0.3052428201772272586823,0.6803312664851546287537,\ +0.6412069997750222682953,0.0988248009234666824341,0.4654508423991501331329,\ +0.6714970665052533149719,0.5131103205494582653046,0.8631567060947418212891,\ +0.8328299173153936862946,0.1687975851818919181824,0.2961277081631124019623,\ +0.2591485660523176193237,0.1700844173319637775421,0.9718958893790841102600,\ +0.0695185582153499126434,0.4696230851113796234131,0.9544191421009600162506,\ +0.3679352095350623130798,0.2973918146453797817230,0.0415310803800821304321,\ +0.4892336544580757617950,0.5171590568497776985169,0.3534862431697547435761,\ +0.2354387864470481872559,0.6779259913600981235504,0.3834532154724001884460,\ +0.3174350797198712825775,0.3418120350688695907593,0.0535557498224079608917,\ +0.9285596096888184547424,0.3862650538794696331024,0.4328473098576068878174,\ +0.1581165478564798831940,0.7887120461091399192810,0.7448797873221337795258,\ +0.5185996759682893753052,0.8651678604073822498322,0.1524438308551907539368,\ +0.2392775672487914562225,0.5761575847864151000977,0.7395762302912771701813,\ +0.0583172617480158805847,0.6962534948252141475678,0.4206145536154508590698,\ +0.0281158541329205036163,0.8313249954953789710999,0.2333360086195170879364,\ +0.8865877203643321990967,0.3746785433031618595123,0.87671328987926244736,\ +0.4027077830396592617035,0.2890332732349634170532,0.8538430598564445972443,\ +0.5499771209433674812317,0.5128610017709434032440,0.6321087554097175598145,\ +0.4165538274683058261871,0.3217771751806139945984,0.9717370062135159969330,\ +0.5348322447389364242554,0.3416590173728764057159,0.9565287167206406593323,\ +0.9951003189198672771454,0.3422884084284305572510,0.7870580093003809452057,\ +0.9234123295173048973084,0.5238970420323312282562} + +#define ZRESULTR {0.4622549506274005182149,0.52703543104286754151,0.1827556517526441881572,\ +0.3854184255425531224759,0.1693791983359425601385,0.2016515153621968869935,\ +0.6100517388487384229379,0.0743340542544716487150,0.0034555684806514769605,\ +0.0902156984479902251950,0.3241135973562218053345,0.1760110212342378688266,\ +0.2452633832131958513401,0.3516179963878625636120,0.1885474403955421374146,\ +0.2692513911062309750477,0.8321367071581778906975,0.5264631357733180472280,\ +0.1448019483693787634593,1.0708552390146606203558,0.7125992289896019293849,\ +0.3253494174977278885486,0.2001345889867806593365,0.343199696050296210181,\ +0.5982400693418048476246,0.3303593637710269814711,0.0125118697596118978038,\ +0.3199717638395740970658,0.5061472843217617034739,0.4295842023027047207329,\ +0.2465282516242081889413,0.441112206343829249544,0.3219119603275076846316,\ +0.4595743499683106469966,0.3660794615870797685808,0.2720878846188879984780,\ +0.6972660654407580871350,0.8861718442431221198774,0.2499974132956042649489,\ +0.4568598941148580561134,0.1097116340955419794279,0.2836394335106861008811,\ +0.0888432657814137161090,1.2330526748467487418992,0.2488174581727523593244,\ +0.4160762578947443945943,0.9833017375902159962209,0.3688379479484371614717,\ +0.5845995722843282393910,0.3179368621558099627933,0.1652197278936747004696,\ +0.3133619394599517771205,0.2199213980004723900663,0.150759611907827051347,\ +0.4771998617931776376366,0.4525965638532219448287,0.1138559184839921800680,\ +0.0472861014102091622990,0.0790630167394415495075,0.5814611436078345185763,\ +0.1667238962880819019841,0.6920944670661310915705,0.1906861485587098559158,\ +0.1307919466930784202496,0.1574308648240616004266,0.0036575163164140646332,\ +0.2674520780172894851567,0.6735689731298903915047,0.378774827327838792268,\ +0.8834054385824835486929,0.0452439501756518244746,0.2447083220521515389834,\ +0.7633578523125562620422,0.2078243181020067997800,0.5055052026142557997090,\ +0.0245040445592060660007,0.1414831146311008314154,1.2738839652002900137973,\ +0.3722074374977639710238,0.2046196449929307825677,1.143222534499549469800,\ +0.1658122283683383380026,0.0812521009905448621247,0.8856778536505196530726,\ +0.3496455120553698669994,0.8287603905975037266174,0.4374379182437952429119,\ +0.3632754548631693114480,0.4065565887334736672187,0.4042071334744706256892,\ +0.3223163664494689273354,0.0887658719864259648791,0.2562423384997916109285,\ +0.1135016065651749256338,0.4249393631867034448746,0.2555315607462380622650,\ +0.0473167224981555015195,0.4038863981107233547263,0.3812800945055046519805,\ +1.2694612396144742128001,0.1054006198029389801407,0.5548755616229488207836,\ +0.9047138472187979951755,0.2120875774680325287491,0.2977497737582537329359,\ +0.3793852632159244175902,0.4216852391721442327999,0.7719661269702553507699,\ +0.2909766448133100369411,0.3530800537032807717708,0.3144419867733496687379,\ +0.9560423318471079623393,0.7455173297127551945707,0.7647697575929581770282,\ +0.2552307563419532465687,1.0071246904841177904899,0.3254058309317561237251,\ +0.2493837937457981657197,0.4995060266703120754883,0.3635478722517977989703,\ +0.6755663854502449439110,0.4060422219779377672744,0.3354119513743121228089,\ +0.3310200365444659897918,0.4956952069626366363941,0.0369899619573449203735,\ +0.2949888674609426608697,0.4417162785414836534415,0.2901327037722924995222,\ +0.3113814080983853260776,0.0657705595388366343057,0.3468932593605689174154,\ +0.1693138876335541220808,0.6604383641650866110240,0.0641696842881706724926,\ +0.5420718455446384975716,0.0325460783396350344931,0.2856018727381676169941,\ +0.1837045440337584378820,0.4394912998560263073244,0.0373805900188774464787,\ +0.0120513737523088183129,0.5299342664002043568061,0.3290248923514364487453,\ +0.4232813397541956845771,0.3574733895472496092438,0.0231976592717455104564,\ +1.388138041383984555566,0.1495922092250967505578,0.3027074594945061147833,\ +0.2906013786665496145822,0.0003641583735012103801,0.0973965246964013098285,\ +0.3558085542679609303285,0.2850038039654740895657,0.2413433027684695197923,\ +0.2679865438260303767137,0.5240490385593890021454,0.4768351880953459742685,\ +0.479037567928660701355,0.9219838892273597430460,0.5060637477109658499686,\ +0.3200337217432840941633,0.1160441175011530240413,0.2289284118436291093346,\ +0.1740340532494602521219,0.0308192365918868102503,0.4474996159504823212139,\ +0.601992209828681956729,0.1542000078067730650666,1.2334589409579821417395,\ +0.1251630868814269104128,0.0603288006292757861271,0.4462414520672394746548,\ +0.4738309669088760500699,0.5239025685810345667193,0.0238870191275340100490,\ +0.1440610501660575526461,0.1990046768508525187880,0.6514000598731057856128,\ +0.1047897932784156715957,0.429099188123020058860,0.1037294840964696623908,\ +0.6989271583573236634734,0.3217396834648525993927,0.1276324483471362458698,\ +0.51478179757014652651,0.7241126844123151329313,0.1471790945486320945079,\ +0.7963244963417922539506,0.1499982428024713432269,0.1685430842340138735125,\ +0.4298103979039861188838,0.0569704807929593617932,0.2690745622378380996764,\ +0.2759880123858853839813,0.0260258640811948625815,0.2968457197721043328009,\ +0.2658449701658989750008,0.1869340145100120420540} + +#define ZRESULTI {0.6606731609576530495076,1.0352924413907944600766,0.8208009210718538728457,\ +0.9855228198847613141354,0.2094799364238341676803,0.2001711092576675676824,\ +0.6157063400955946619320,0.6758210089185754387842,0.7073690227519786599686,\ +0.6379959312114483749312,0.7691489792855270568595,0.8204717538076390370705,\ +0.8992691795054111869590,0.0127212399656787735619,0.7965072880961274748302,\ +0.4005414846539865347808,0.5078102333041875082742,0.7442675929748912011519,\ +0.6446164613619681515999,0.0651017559751383007027,0.4292463160345246220295,\ +0.7218268661973539224164,0.675831849442214971369,1.016847265460205207432,\ +0.1468976923106849463707,0.923642083424730087060,0.7198425877508842773977,\ +0.2363604106893440193193,0.6057859843456331327971,0.9859934125773722746189,\ +0.4546059235344489524167,0.1550160776744255175519,0.5737784438019621902072,\ +0.8635696530908816281880,0.1971722712896061546761,0.8187472766310414096225,\ +0.3223047939566238695441,0.3428986541358745587793,0.1891956718334251719149,\ +0.5208354545548833369750,0.7081524694874962166935,0.7203267007574796210179,\ +0.6794103936977667901331,0.3782115660166653348107,0.8246286245352181243362,\ +0.4645139855543011786487,0.0308839406628786498910,0.7450942218464524646748,\ +0.4028312748892641792509,0.1516356705950959171680,0.7277735925258916882541,\ +0.3236400086381776008970,0.2367328033923032648556,0.6968150511733807173087,\ +0.3868027398676305850245,0.8499965389936866566600,0.1373663005352325217068,\ +0.4969728656393965771088,0.3186158192908606912042,0.2687494032146487410451,\ +0.4817044586911616854685,0.8091241454316642212064,0.7745837276131475324092,\ +0.7616864033669616951272,0.3357065002058312042088,0.5391311137157557276112,\ +0.4267832806356777752832,0.4494653959304828472199,1.07409232431056356205,\ +0.9773946189840253540027,0.0903205143448218145119,0.6947943813727951445358,\ +0.4320600869989819070582,0.7345738223824911372617,0.4980076917918512258154,\ +0.753646277499480543582,0.3015650137112788620186,0.1750320030662110004638,\ +0.7223173121894863601966,0.6855367528648522723600,0.4620100861135144620917,\ +0.6944021533252422440086,0.5110335784375538148439,0.3672451576697671193905,\ +0.8344551064956932107108,0.16170594539219715347,0.7832786921268890534265,\ +1.0189285776822756268700,0.7988551639208606447440,0.9719247807905779801274,\ +0.9809763387972041392970,0.5656833224514162816732,0.8638733429144607178785,\ +0.7441066604777042403640,0.0602264440127683667314,0.4402801210484636462716,\ +0.7535199884397705272221,0.9667811691361050119298,1.0493588871220529412653,\ +0.1602121578348635611011,0.6872528304663769738170,0.2746926003887739664577,\ +0.5904217499472341756928,0.8227770718789775283852,0.9300490141104427177510,\ +0.8608967966610167055208,0.6761042332942854837796,0.3862514929365022942065,\ +0.5383206023328632738867,0.0087209580621782408633,0.8379947814437334052684,\ +0.0514162894427564812205,0.4107196425718538934646,0.8291800128662117908007,\ +0.5965153474380232578866,0.1327243053149035900695,0.6666204349503430659496,\ +0.1078852700862242136592,0.3410661266092010479589,0.8978136284012265821986,\ +0.4999590426790496699994,0.5396356462900459005638,0.8861720904164178680418,\ +0.1966865820582558155305,0.7384948934734244518907,0.6889822634082830576929,\ +0.7002461629632836803694,0.9202927678328401972507,1.0522470356995357043672,\ +0.7633410819201092989417,0.6825068129840573538658,1.032180426666563732852,\ +0.6970224139462883883311,0.4448502829538992786596,0.5954971038562514307202,\ +0.9072269118636318019355,0.0986096977623509007849,0.4792818549998886235031,\ +0.6169344532127701841162,0.5996614784596430158814,0.6997864810760641152143,\ +0.6821778350957495851148,0.2159298191152681511973,0.3221001280586711645881,\ +0.3026923795099815683862,0.1907050596442291245936,0.7504581695080775327611,\ +0.2050797642560421019109,0.4500993401191650811200,1.0616552076870116039231,\ +0.3866139253948813192530,0.2889239979563678062391,0.0419016457354280461023,\ +0.5291730503201013124937,0.5270449613735276317428,0.3620065401137618765759,\ +0.2487989439191494456249,0.9684607851607960338214,0.4659312790851565244665,\ +0.3871941948924775833696,0.6912156199525602007228,0.0672566496597855195683,\ +1.0473726182255131966770,0.3738845568372618499708,0.4336537904037139901092,\ +0.1616849585723995341713,0.6587810404999043800700,0.9478245114156004236250,\ +0.7443033774708265326581,0.7329852502477968156924,0.3960943016785423709258,\ +0.2387102372514374737378,0.5224647164810142241365,0.9310236182750510902650,\ +0.0713841738247450452448,1.0541437904171060413461,0.3977173917051313734028,\ +0.0286922698814963753056,0.7352303476692350070465,0.3345177682401353491670,\ +0.7257755336052617023412,0.4362132495206523241649,0.7201678840265979264501,\ +0.6279860575277228518232,0.3131701555376726897606,0.7154672057942548235587,\ +0.7055403294219286802758,0.90419581128384973745,0.5774063124958943582499,\ +0.748377680093745611956,0.3188837788675313866804,0.8029276503063254022408,\ +0.6186055293635583929301,0.3301554535865592887589,0.907799805701633655275,\ +1.0004593122932974313954,0.3297692664500386783288,0.774518614973831232007,\ +0.8666563831612021928663,0.5028547740750087813311} + + + + +void dtansTest(void) { + double in[]=SOURCE; + double res[]=RESULT; + double out; + int i; + + for (i=0;i<200;i++){ + out=dtans(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<3e-16); + } +} + +void ztansTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in,out; + int i; + + for (i=0;i<200;i++){ + in=DoubleComplex(inR[i],inI[i]); + out=ztans(in); + assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<3e-15); + assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<3e-15); + } +} + +void dtanaTest(void) { + double in[]=SOURCE; + double res[]=RESULT; + double out[200]; + int i; + + dtana(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-16); + } +} + +void ztanaTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex *in,out[200]; + int i; + + + in=DoubleComplexMatrix(inR,inI,200); + ztana(in,200,out); + + for (i=0;i<200;i++){ + assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<3e-15); + assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<3e-15); + } +} + +int testTan() { + printf("\n>>>> Double Tangeant Tests\n"); + dtansTest(); + ztansTest(); + dtanaTest(); + ztanaTest(); + + return 0; +} + +int main() { + assert(testTan() == 0); + return 0; +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/testFloatTan.c b/2.3-1/src/c/elementaryFunctions/tan/testFloatTan.c new file mode 100644 index 00000000..4b487887 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/testFloatTan.c @@ -0,0 +1,495 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008 - INRIA - Arnaud TORSET + * + * 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-en.txt + * + */ + +#include "testTan.h" + +#define SOURCE {0.7062616096809506416321f,0.4090520101599395275116f,0.3011248558759689331055f,\ +0.1880126395262777805328f,0.1796709178015589714050f,0.2828889950178563594818f,\ +0.7232380937784910202026f,0.7360379849560558795929f,0.1852612206712365150452f,\ +0.7703790138475596904755f,0.1914967410266399383545f,0.7521587223745882511139f,\ +0.6205883463844656944275f,0.2807604051195085048676f,0.2289868686348199844360f,\ +0.5049233403988182544708f,0.8354099662974476814270f,0.8174716415815055370331f,\ +0.0030740275979042053223f,0.3677616142667829990387f,0.8278525872156023979187f,\ +0.72754097869619727135f,0.5323124285787343978882f,0.9267726917751133441925f,\ +0.9542504185810685157776f,0.3162104780785739421845f,0.5789009965956211090088f,\ +0.6881225542165338993073f,0.3714061146602034568787f,0.1705444059334695339203f,\ +0.1954363007098436355591f,0.978800852317363023758f,0.9300233917310833930969f,\ +0.5357720064930617809296f,0.3947123587131500244141f,0.1344871171750128269196f,\ +0.7380615202710032463074f,0.588114650454372167587f,0.9113173168152570724487f,\ +0.5682763461954891681671f,0.1127616921439766883850f,0.9478473584167659282684f,\ +0.5237770043313503265381f,0.8140139640308916568756f,0.1400952627882361412048f,\ +0.2763446993194520473480f,0.9059953633695840835571f,0.1379901585169136524200f,\ +0.5603838684037327766419f,0.3008610638789832592011f,0.4767417535185813904f,\ +0.8127435916103422641754f,0.1988414181396365165710f,0.1107953130267560482025f,\ +0.2159351315349340438843f,0.6467244853265583515167f,0.6597879612818360328674f,\ +0.0691898013465106487274f,0.9164751060307025909424f,0.8635670826770365238190f,\ +0.5032854294404387474060f,0.1832137755118310451508f,0.8403698671609163284302f,\ +0.9247214836068451404572f,0.6229452537372708320618f,0.2773811477236449718475f,\ +0.2479109913110733032227f,0.3891948559321463108063f,0.0436578569933772087097f,\ +0.8132526441477239131928f,0.7686451207846403121948f,0.4041520212776958942413f,\ +0.8579940209165215492249f,0.6993723283521831035614f,0.0828925184905529022217f,\ +0.9201254160143435001373f,0.5200281282886862754822f,0.9351884997449815273285f,\ +0.8825624976307153701782f,0.2245844271965324878693f,0.2153332801535725593567f,\ +0.4327089670114219188690f,0.5800157263875007629395f,0.8876141034997999668121f,\ +0.5258982880041003227234f,0.859640696551650762558f,0.7337234076112508773804f,\ +0.7134532411582767963409f,0.1087165409699082374573f,0.8477638359181582927704f,\ +0.6594733335077762603760f,0.7916418449021875858307f,0.6067967480048537254334f,\ +0.4102901122532784938812f,0.1958728153258562088013f,0.241527963895350694656f,\ +0.5113455550745129585266f,0.9119556057266891002655f,0.0928984880447387695313f,\ +0.7438839026726782321930f,0.1938720373436808586121f,0.4355978979729115962982f,\ +0.9922429900616407394409f,0.4533818070776760578156f,0.8269640663638710975647f,\ +0.8889675955288112163544f,0.4682085178792476654053f,0.3856786251999437808991f,\ +0.4124865522608160972595f,0.6955242282710969448090f,0.0978972557932138442993f,\ +0.8728604433126747608185f,0.6359515609219670295715f,0.4129665228538215160370f,\ +0.0294486805796623229980f,0.1809961968101561069489f,0.7658103061839938163757f,\ +0.1232470511458814144135f,0.0170737411826848983765f,0.8835507561452686786652f,\ +0.3164170170202851295471f,0.9378212536685168743134f,0.3916359134018421173096f,\ +0.0844073877669870853424f,0.6934146797284483909607f,0.4618808380328118801117f,\ +0.9355291295796632766724f,0.0842495900578796863556f,0.5402926551178097724915f,\ +0.5613215523771941661835f,0.1306025832891464233398f,0.5840523042716085910797f,\ +0.0048661706969141960144f,0.2761953338049352169037f,0.7478824090212583541870f,\ +0.0194325004704296588898f,0.6444276878610253334045f,0.2243968318216502666473f,\ +0.2478402368724346160889f,0.1196091384626924991608f,0.1883201440796256065369f,\ +0.3393343067727982997894f,0.959958622232079505920f,0.2847225037403404712677f,\ +0.8766820700839161872864f,0.2853349032811820507050f,0.5103433504700660705566f,\ +0.8752629184164106845856f,0.5941145820543169975281f,0.3945342986844480037689f,\ +0.4661326166242361068726f,0.0073588271625339984894f,0.5170202488079667091370f,\ +0.4690007264725863933563f,0.6654530800879001617432f,0.9476742581464350223541f,\ +0.4933638339862227439880f,0.2918433747254312038422f,0.2016727942973375320435f,\ +0.7016656589694321155548f,0.8736049132421612739563f,0.191055159550160169601f,\ +0.5307010114192962646484f,0.8889481076039373874664f,0.0115523664280772209167f,\ +0.4998398735187947750092f,0.6700848620384931564331f,0.4995208983309566974640f,\ +0.1538907447829842567444f,0.2571737091057002544403f,0.9586529098451137542725f,\ +0.6246025026775896549225f,0.9371285131201148033142f,0.9923511571250855922699f,\ +0.3454555813223123550415f,0.7558249053545296192169f,0.2107181670144200325012f,\ +0.9372652801685035228729f,0.6767524704337120056152f,0.7465373151935636997223f,\ +0.4050982249900698661804f,0.5101723610423505306244f,0.9497965183109045028687f,\ +0.0289692510850727558136f,0.1634070957079529762268f,0.4146909262053668498993f,\ +0.0021650679409503936768f,0.1810030029155313968658f,0.4556188201531767845154f,\ +0.1977851442061364650726f,0.6053877938538789749146f,0.4363054675050079822540f,\ +0.8938506888225674629211f,0.6104825991205871105194f,0.4316215068101882934570f,\ +0.2315693595446646213532f,0.4675927339121699333191f,0.6150764389894902706146f,\ +0.8621218334883451461792f,0.3846137975342571735382f} + +#define RESULT {0.8530491813252144561730f,0.4335045992710032103368f,0.3105691712500722179158f,\ +0.1902597554084684006170f,0.1816295703181560194928f,0.2906848138476661458363f,\ +0.8828132281173867168533f,0.9058504084575731418738f,0.1874102230574337113467f,\ +0.9704039825071290037428f,0.193872386487773856745f,0.9356368085981127125095f,\ +0.7147975865621483126944f,0.2883777870673323029394f,0.233074941053011769343f,\ +0.5527124758136455762170f,1.1053818146408691536209f,1.0662960354617996294735f,\ +0.0030740372807646679752f,0.3852902674825339213172f,1.0887291048642380175693f,\ +0.8904988483295813717078f,0.589027514944382324380f,1.3318828819928720808008f,\ +1.4110197782284186196478f,0.3271889768526293207351f,0.6535988324182537834162f,\ +0.8221846610900451768345f,0.3894816929387301396304f,0.1722173220386573888607f,\ +0.1979631660252146874157f,1.4871003608159341080608f,1.3409392796872054987034f,\ +0.5936969391438152721108f,0.4165742349308056979851f,0.1353038396146245825324f,\ +0.9095411562053630216695f,0.666828524289825752547f,1.2898724607003566600127f,\ +0.6385394321030002373618f,0.1132420646312260748001f,1.3920395973271377787484f,\ +0.5775879319584731330650f,1.058934135979150648055f,0.141019050913288951365f,\ +0.2836009152345423944830f,1.2757925164705434806223f,0.1388727177433937698403f,\ +0.6274844177211460483079f,0.3102799593553379198241f,0.5164764951302321938087f,\ +1.0562428612021228513385f,0.2015041286208432702587f,0.1112509099475587071026f,\ +0.2193551393571971375174f,0.7550487488328985197228f,0.7757652108685924030596f,\ +0.0693004223106622879724f,1.3037037706937266712259f,1.1699705921283873877314f,\ +0.550576129776577216646f,0.1852916762694652719201f,1.1164629082914852009623f,\ +1.3262085052804502005586f,0.7183647379901514362643f,0.2847210542962326229599f,\ +0.2531178933037822043062f,0.4101140401836267934677f,0.0436856155719798008863f,\ +1.0573204171612526902635f,0.9670429620877326604145f,0.4276960657258361830913f,\ +1.156854335998896532445f,0.8412159741625684361566f,0.0830828979444599852178f,\ +1.3136054718047147638060f,0.5725991803557812787062f,1.355492790615370424234f,\ +1.2159959299593459114419f,0.2284380696339281535678f,0.2187244120791704826701f,\ +0.4619038629088654257515f,0.6551909258647544698206f,1.228594570395200147317f,\ +0.5804203670779729540286f,1.1607121297665823345113f,0.9016453790519162181383f,\ +0.8655510240366158791758f,0.1091468929729377396187f,1.133211951033040509884f,\ +0.7752613593928633362040f,1.0125659843026109108166f,0.6941614960626277808231f,\ +0.4349761638068749824981f,0.1984168266250701806452f,0.2463367776963759914199f,\ +0.5611266025781723732f,1.2915741173940875619053f,0.0931666557927946503703f,\ +0.9202369550199469561136f,0.1963381019951347117303f,0.4654138557801037467954f,\ +1.531152598161082067918f,0.4872328317068129743817f,1.0867892686527245160732f,\ +1.231996743210198141938f,0.5057142067082607272965f,0.4060123002390389479466f,\ +0.4375906817398340642455f,0.8346659585500807443381f,0.0982112043307575288686f,\ +1.1922276352973026902760f,0.7382700256000707117465f,0.4381626799731911381386f,\ +0.0294571964089862109448f,0.1829988997674065476229f,0.9615720911131384607273f,\ +0.1238749003414561927761f,0.0170754004466078072866f,1.2184484210758381728112f,\ +0.3274176417863428056876f,1.3629896342945482246023f,0.4129685310508503515159f,\ +0.0846084171803287293789f,0.8310930423770829245100f,0.4977934831990530883950f,\ +1.3564597268158093967827f,0.0844494919835185042789f,0.5998275037194918946071f,\ +0.6287920720664262885791f,0.1313502491565903540494f,0.6609756367352789263592f,\ +0.0048662091069645377339f,0.2834395431640467921675f,0.9276488528261589427970f,\ +0.0194349468870056892034f,0.7514487870197579244547f,0.2282406932471093830017f,\ +0.2530426070707028074480f,0.1201828114589197499251f,0.1905784099029704803385f,\ +0.352988062986135442411f,1.428231701456014857143f,0.2926743123472941854324f,\ +1.2015237487616485800856f,0.2933392882321691486069f,0.5598095809652490206787f,\ +1.1980617264883439698764f,0.6755313107918682336006f,0.4163652909127465440164f,\ +0.5031101302799753094419f,0.0073589599979746594949f,0.5686119631638693050491f,\ +0.5067094190821778143530f,0.7848798186452353720100f,1.391531190313842980544f,\ +0.5377167840923406938458f,0.3004214213647905529214f,0.2044521595617958820146f,\ +0.8451397437154636316237f,1.1940319015577840477960f,0.1934142466999154985619f,\ +0.5868590674474564172769f,1.2319476773796440571829f,0.0115528803708900857511f,\ +0.5460945923736312268559f,0.792392311128046200608f,0.5456805647330320585553f,\ +0.1551171962759635702955f,0.2629975069837691137309f,1.4242699230594764170377f,\ +0.7208802037485926295091f,1.3610118285291581408103f,1.5315144150725372718114f,\ +0.3598870449025589057790f,0.9425361247426047306419f,0.2138933525822492576207f,\ +1.3614020090881830959972f,0.8033042279594378998198f,0.925149379458894971506f,\ +0.4288158062140490778269f,0.5595850272060393093554f,1.397781375537582970736f,\ +0.0289773576405878592610f,0.1648772252909011803990f,0.4402197018088547242343f,\ +0.0021650713238892428658f,0.1830059338084651376910f,0.4900039273308094966986f,\ +0.2004051993228692374327f,0.6920756616600035604492f,0.4662749757103929471036f,\ +1.244365984627544330365f,0.6996374475054760733173f,0.4605850493651166277509f,\ +0.2357993689411847226811f,0.5049411785573922895054f,0.7065020490746397596737f,\ +1.16655281751026174142f,0.4047724755535024310227f} + +#define CSOURCER {0.6045256052166223526001f,0.9455216196365654468536f,0.4476299257948994636536f,\ +0.8624908211641013622284f,0.1751048639416694641113f,0.2067177616991102695465f,\ +0.6848411662504076957703f,0.1348653226159512996674f,0.0069159921258687973022f,\ +0.1496290047653019428253f,0.5665438110008835792542f,0.4359452719800174236298f,\ +0.6547604538500308990479f,0.3381605879403650760651f,0.4259321158751845359802f,\ +0.3060420057736337184906f,0.7704779822379350662231f,0.7058695447631180286408f,\ +0.2373670237138867378235f,0.8205849635414779186249f,0.6789963841438293457031f,\ +0.5250809141434729099274f,0.3359806565567851066589f,0.8941988362930715084076f,\ +0.5461782198399305343628f,0.7568633262999355792999f,0.0259526828303933143616f,\ +0.3250150899402797222138f,0.6072143577039241791f,0.8756139636971056461334f,\ +0.2962085595354437828064f,0.4229678637348115444183f,0.4243144039064645767212f,\ +0.7620028969831764698029f,0.3622896494343876838684f,0.5658242437057197093964f,\ +0.6424440070986747741699f,0.7580267959274351596832f,0.2531452132388949394226f,\ +0.5266989110969007015228f,0.2118590380996465682983f,0.4779220153577625751495f,\ +0.1615962767973542213440f,0.9168031658045947551727f,0.5461866445839405059815f,\ +0.4686870560981333255768f,0.7772213732823729515076f,0.5871783248148858547211f,\ +0.5848031807690858840942f,0.3139644009061157703400f,0.3204141603782773017883f,\ +0.3331634956412017345429f,0.2282590121030807495117f,0.2750317254103720188141f,\ +0.4963629124686121940613f,0.7453477247618138790131f,0.1155001949518918991089f,\ +0.0626524840481579303741f,0.0877018878236413002014f,0.5507565210573375225067f,\ +0.2116370312869548797607f,0.8335358710028231143951f,0.4045845707878470420837f,\ +0.2880227542482316493988f,0.1750094983726739883423f,0.0051561561413109302521f,\ +0.3109287889674305915833f,0.6602919283322989940643f,0.9722995534539222717285f,\ +0.9826813959516584873200f,0.0455837054178118705750f,0.4096118300221860408783f,\ +0.7104403134435415267944f,0.3917615194804966449738f,0.5571686858311295509338f,\ +0.0565565521828830242157f,0.1540721096098423004150f,0.9109257892705500125885f,\ +0.5713340407237410545349f,0.3488348922692239284515f,0.8972954172641038894653f,\ +0.2973396372981369495392f,0.1091936426237225532532f,0.7626331257633864879608f,\ +0.6584706604480743408203f,0.6996708759106695652008f,0.6756794182583689689636f,\ +0.9004421546123921871185f,0.6668148916214704513550f,0.8518152837641537189484f,\ +0.8365677157416939735413f,0.1291190306656062602997f,0.6095453463494777679443f,\ +0.2412315667606890201569f,0.4029275467619299888611f,0.3019328541122376918793f,\ +0.1083198729902505874634f,0.8456356939859688282013f,0.9417407037690281867981f,\ +0.9083450469188392162323f,0.1937242373824119567871f,0.5318046086467802524567f,\ +0.8314437521621584892273f,0.4952740012668073177338f,0.7465563025325536727905f,\ +0.7102393140085041522980f,0.5811418974772095680237f,0.7035941029898822307587f,\ +0.3746570833027362823486f,0.3394373343326151371002f,0.6322447275742888450623f,\ +0.7636191300116479396820f,0.6940386760979890823364f,0.8735245508141815662384f,\ +0.3612738298252224922180f,0.7933200257830321788788f,0.4830590635538101196289f,\ +0.2469964125193655490875f,0.5025922833010554313660f,0.7430270477198064327240f,\ +0.6783937942236661911011f,0.4903185223229229450226f,0.709806025959551334381f,\ +0.3303662906400859355927f,0.6815545372664928436279f,0.0701365978457033634186f,\ +0.4745870968326926231384f,0.8091805852018296718597f,0.9447045121341943740845f,\ +0.5478458073921501636505f,0.1216687532141804695129f,0.9161847713403403759003f,\ +0.3045207932591438293457f,0.6502694808878004550934f,0.0987624628469347953796f,\ +0.8391053467057645320892f,0.0328534897416830062866f,0.3461971958167850971222f,\ +0.2801467711105942726135f,0.5500544901005923748016f,0.0729318000376224517822f,\ +0.0225322381593286991119f,0.50267804320901632309f,0.3478884599171578884125f,\ +0.4298669416457414627075f,0.3537984383292496204376f,0.0529730813577771186829f,\ +0.9533003675751388072968f,0.1842019557952880859375f,0.958756382111459970474f,\ +0.3245136169716715812683f,0.0003973259590566158295f,0.0972583871334791183472f,\ +0.4378789965994656086f,0.3634226778522133827210f,0.2685119728557765483856f,\ +0.2770298384130001068115f,0.8854365111328661441803f,0.5216628303751349449158f,\ +0.4979983693920075893f,0.8733724001795053482056f,0.4699407932348549365997f,\ +0.9364062966778874397278f,0.1337622734718024730682f,0.2712419554591178894043f,\ +0.1766990595497190952301f,0.0543269468471407890320f,0.8402757882140576839447f,\ +0.7507283594459295272827f,0.3062269617803394794464f,0.9195641661062836647034f,\ +0.1318263853900134563446f,0.0826364941895008087158f,0.8222710476256906986237f,\ +0.4441085970029234886169f,0.9617503038607537746429f,0.0283641982823610305786f,\ +0.1431905967183411121368f,0.3793597565963864326477f,0.6144003230147063732147f,\ +0.2128270715475082397461f,0.4704488315619528293610f,0.2076055286452174186707f,\ +0.7435979112051427364349f,0.3391801547259092330933f,0.2479635034687817096710f,\ +0.6721735307946801185608f,0.9013197491876780986786f,0.2140864841639995574951f,\ +0.8460668534971773624420f,0.1650043567642569541931f,0.4003686285577714443207f,\ +0.5522825215011835098267f,0.0638249483890831470490f,0.6903966935351490974426f,\ +0.8547787251882255077362f,0.0291904583573341369629f,0.5434663915075361728668f,\ +0.6236743135377764701843f,0.2417052476666867733002f} + +#define CSOURCEI {0.5503273960202932357788f,0.6906704087741672992706f,0.9835249418392777442932f,\ +0.8285484607331454753876f,0.2062614001333713531494f,0.1944643096067011356354f,\ +0.4367609983310103416443f,0.8090620837174355983734f,0.8818644303828477859497f,\ +0.7404803228564560413361f,0.7542522149160504341126f,0.9921960639767348766327f,\ +0.9886121451854705810547f,0.0113218077458441257477f,0.9367801276966929435730f,\ +0.3874237253330647945404f,0.2886805813759565353394f,0.567788839805871248245f,\ +0.7295644441619515419006f,0.0303032915107905864716f,0.2795897088944911956787f,\ +0.7047131718136370182037f,0.7442112853750586509705f,0.8920237845741212368012f,\ +0.1081438604742288589478f,0.8751525697298347949982f,0.9068333031609654426575f,\ +0.2166852983646094799042f,0.4824190363287925720215f,0.7766945236362516880035f,\ +0.4510916722938418388367f,0.1300636469386518001556f,0.5505470838397741317749f,\ +0.6936193336732685565949f,0.1749099576845765113831f,0.8636093880049884319305f,\ +0.2150467522442340850830f,0.1886725709773600101471f,0.1796098565682768821716f,\ +0.4374312213622033596039f,0.8514516223222017288208f,0.7381969136185944080353f,\ +0.8102188156917691230774f,0.1460137623362243175507f,0.8999849110841751098633f,\ +0.4043733575381338596344f,0.0156995235010981559753f,0.6904196902178227901459f,\ +0.2990311514586210250855f,0.1383218024857342243195f,0.8478512773290276527405f,\ +0.3007262717001140117645f,0.229154746979475021362f,0.8078110129572451114655f,\ +0.3176332255825400352478f,0.6924462593160569667816f,0.1364154014736413955689f,\ +0.5433279541321098804474f,0.3276594849303364753723f,0.2006831648759543895721f,\ +0.5037304237484931945801f,0.4962565028108656406403f,0.8996161324903368949890f,\ +0.9357709079049527645111f,0.3390339072793722152710f,0.6029155333526432514191f,\ +0.4153500730171799659729f,0.3041478390805423259735f,0.8489827848970890045166f,\ +0.4482063786126673221588f,0.0903797810897231101990f,0.7382151386700570583344f,\ +0.2669597584754228591919f,0.8226196658797562122345f,0.3985779182985424995422f,\ +0.9789295899681746959686f,0.3041231036186218261719f,0.0663515278138220310211f,\ +0.6667758254334330558777f,0.7548807277344167232513f,0.1922533493489027023315f,\ +0.7942791883833706378937f,0.5580398896709084510803f,0.2016023616306483745575f,\ +0.787146832793951034546f,0.0955459238030016422272f,0.6623697867617011070252f,\ +0.864868474658578634262f,0.7013061288744211196899f,0.8015053984709084033966f,\ +0.9135685982182621955872f,0.6317234965972602367401f,0.9346773549914360046387f,\ +0.9157753759063780307770f,0.0510348035022616386414f,0.4329969524405896663666f,\ +0.9721843507140874862671f,0.8001508046872913837433f,0.8452261472120881080627f,\ +0.0610524858348071575165f,0.8168097324669361114502f,0.2101262793876230716705f,\ +0.3055453812703490257263f,0.9465212575159966945648f,0.9269728232175111770630f,\ +0.7737778765149414539337f,0.5893978821113705635071f,0.2377697187475860118866f,\ +0.5269544571638107299805f,0.0077543654479086399078f,0.8311711428686976432800f,\ +0.0268517597578465938568f,0.2591186594218015670776f,0.4641277943737804889679f,\ +0.6098861405625939369202f,0.0656952331773936748505f,0.6466812007129192352295f,\ +0.1018534512259066104889f,0.2742705782875418663025f,0.8162728524766862392426f,\ +0.3357750270515680313110f,0.4765891996212303638458f,0.8440040023997426033020f,\ +0.1785074654035270214081f,0.5855625644326210021973f,0.8426241897977888584137f,\ +0.7058847947046160697937f,0.7396617024205625057221f,0.9751448985189199447632f,\ +0.7606669445522129535675f,0.8236690396443009376526f,0.8889620001427829265595f,\ +0.7960178293287754058838f,0.3052428201772272586823f,0.6803312664851546287537f,\ +0.6412069997750222682953f,0.0988248009234666824341f,0.4654508423991501331329f,\ +0.6714970665052533149719f,0.5131103205494582653046f,0.8631567060947418212891f,\ +0.8328299173153936862946f,0.1687975851818919181824f,0.2961277081631124019623f,\ +0.2591485660523176193237f,0.1700844173319637775421f,0.9718958893790841102600f,\ +0.0695185582153499126434f,0.4696230851113796234131f,0.9544191421009600162506f,\ +0.3679352095350623130798f,0.2973918146453797817230f,0.0415310803800821304321f,\ +0.4892336544580757617950f,0.5171590568497776985169f,0.3534862431697547435761f,\ +0.2354387864470481872559f,0.6779259913600981235504f,0.3834532154724001884460f,\ +0.3174350797198712825775f,0.3418120350688695907593f,0.0535557498224079608917f,\ +0.9285596096888184547424f,0.3862650538794696331024f,0.4328473098576068878174f,\ +0.1581165478564798831940f,0.7887120461091399192810f,0.7448797873221337795258f,\ +0.5185996759682893753052f,0.8651678604073822498322f,0.1524438308551907539368f,\ +0.2392775672487914562225f,0.5761575847864151000977f,0.7395762302912771701813f,\ +0.0583172617480158805847f,0.6962534948252141475678f,0.4206145536154508590698f,\ +0.0281158541329205036163f,0.8313249954953789710999f,0.2333360086195170879364f,\ +0.8865877203643321990967f,0.3746785433031618595123f,0.87671328987926244736f,\ +0.4027077830396592617035f,0.2890332732349634170532f,0.8538430598564445972443f,\ +0.5499771209433674812317f,0.5128610017709434032440f,0.6321087554097175598145f,\ +0.4165538274683058261871f,0.3217771751806139945984f,0.9717370062135159969330f,\ +0.5348322447389364242554f,0.3416590173728764057159f,0.9565287167206406593323f,\ +0.9951003189198672771454f,0.3422884084284305572510f,0.7870580093003809452057f,\ +0.9234123295173048973084f,0.5238970420323312282562f} + +#define CRESULTR {0.4622549506274005182149f,0.52703543104286754151f,0.1827556517526441881572f,\ +0.3854184255425531224759f,0.1693791983359425601385f,0.2016515153621968869935f,\ +0.6100517388487384229379f,0.0743340542544716487150f,0.0034555684806514769605f,\ +0.0902156984479902251950f,0.3241135973562218053345f,0.1760110212342378688266f,\ +0.2452633832131958513401f,0.3516179963878625636120f,0.1885474403955421374146f,\ +0.2692513911062309750477f,0.8321367071581778906975f,0.5264631357733180472280f,\ +0.1448019483693787634593f,1.0708552390146606203558f,0.7125992289896019293849f,\ +0.3253494174977278885486f,0.2001345889867806593365f,0.343199696050296210181f,\ +0.5982400693418048476246f,0.3303593637710269814711f,0.0125118697596118978038f,\ +0.3199717638395740970658f,0.5061472843217617034739f,0.4295842023027047207329f,\ +0.2465282516242081889413f,0.441112206343829249544f,0.3219119603275076846316f,\ +0.4595743499683106469966f,0.3660794615870797685808f,0.2720878846188879984780f,\ +0.6972660654407580871350f,0.8861718442431221198774f,0.2499974132956042649489f,\ +0.4568598941148580561134f,0.1097116340955419794279f,0.2836394335106861008811f,\ +0.0888432657814137161090f,1.2330526748467487418992f,0.2488174581727523593244f,\ +0.4160762578947443945943f,0.9833017375902159962209f,0.3688379479484371614717f,\ +0.5845995722843282393910f,0.3179368621558099627933f,0.1652197278936747004696f,\ +0.3133619394599517771205f,0.2199213980004723900663f,0.150759611907827051347f,\ +0.4771998617931776376366f,0.4525965638532219448287f,0.1138559184839921800680f,\ +0.0472861014102091622990f,0.0790630167394415495075f,0.5814611436078345185763f,\ +0.1667238962880819019841f,0.6920944670661310915705f,0.1906861485587098559158f,\ +0.1307919466930784202496f,0.1574308648240616004266f,0.0036575163164140646332f,\ +0.2674520780172894851567f,0.6735689731298903915047f,0.378774827327838792268f,\ +0.8834054385824835486929f,0.0452439501756518244746f,0.2447083220521515389834f,\ +0.7633578523125562620422f,0.2078243181020067997800f,0.5055052026142557997090f,\ +0.0245040445592060660007f,0.1414831146311008314154f,1.2738839652002900137973f,\ +0.3722074374977639710238f,0.2046196449929307825677f,1.143222534499549469800f,\ +0.1658122283683383380026f,0.0812521009905448621247f,0.8856778536505196530726f,\ +0.3496455120553698669994f,0.8287603905975037266174f,0.4374379182437952429119f,\ +0.3632754548631693114480f,0.4065565887334736672187f,0.4042071334744706256892f,\ +0.3223163664494689273354f,0.0887658719864259648791f,0.2562423384997916109285f,\ +0.1135016065651749256338f,0.4249393631867034448746f,0.2555315607462380622650f,\ +0.0473167224981555015195f,0.4038863981107233547263f,0.3812800945055046519805f,\ +1.2694612396144742128001f,0.1054006198029389801407f,0.5548755616229488207836f,\ +0.9047138472187979951755f,0.2120875774680325287491f,0.2977497737582537329359f,\ +0.3793852632159244175902f,0.4216852391721442327999f,0.7719661269702553507699f,\ +0.2909766448133100369411f,0.3530800537032807717708f,0.3144419867733496687379f,\ +0.9560423318471079623393f,0.7455173297127551945707f,0.7647697575929581770282f,\ +0.2552307563419532465687f,1.0071246904841177904899f,0.3254058309317561237251f,\ +0.2493837937457981657197f,0.4995060266703120754883f,0.3635478722517977989703f,\ +0.6755663854502449439110f,0.4060422219779377672744f,0.3354119513743121228089f,\ +0.3310200365444659897918f,0.4956952069626366363941f,0.0369899619573449203735f,\ +0.2949888674609426608697f,0.4417162785414836534415f,0.2901327037722924995222f,\ +0.3113814080983853260776f,0.0657705595388366343057f,0.3468932593605689174154f,\ +0.1693138876335541220808f,0.6604383641650866110240f,0.0641696842881706724926f,\ +0.5420718455446384975716f,0.0325460783396350344931f,0.2856018727381676169941f,\ +0.1837045440337584378820f,0.4394912998560263073244f,0.0373805900188774464787f,\ +0.0120513737523088183129f,0.5299342664002043568061f,0.3290248923514364487453f,\ +0.4232813397541956845771f,0.3574733895472496092438f,0.0231976592717455104564f,\ +1.388138041383984555566f,0.1495922092250967505578f,0.3027074594945061147833f,\ +0.2906013786665496145822f,0.0003641583735012103801f,0.0973965246964013098285f,\ +0.3558085542679609303285f,0.2850038039654740895657f,0.2413433027684695197923f,\ +0.2679865438260303767137f,0.5240490385593890021454f,0.4768351880953459742685f,\ +0.479037567928660701355f,0.9219838892273597430460f,0.5060637477109658499686f,\ +0.3200337217432840941633f,0.1160441175011530240413f,0.2289284118436291093346f,\ +0.1740340532494602521219f,0.0308192365918868102503f,0.4474996159504823212139f,\ +0.601992209828681956729f,0.1542000078067730650666f,1.2334589409579821417395f,\ +0.1251630868814269104128f,0.0603288006292757861271f,0.4462414520672394746548f,\ +0.4738309669088760500699f,0.5239025685810345667193f,0.0238870191275340100490f,\ +0.1440610501660575526461f,0.1990046768508525187880f,0.6514000598731057856128f,\ +0.1047897932784156715957f,0.429099188123020058860f,0.1037294840964696623908f,\ +0.6989271583573236634734f,0.3217396834648525993927f,0.1276324483471362458698f,\ +0.51478179757014652651f,0.7241126844123151329313f,0.1471790945486320945079f,\ +0.7963244963417922539506f,0.1499982428024713432269f,0.1685430842340138735125f,\ +0.4298103979039861188838f,0.0569704807929593617932f,0.2690745622378380996764f,\ +0.2759880123858853839813f,0.0260258640811948625815f,0.2968457197721043328009f,\ +0.2658449701658989750008f,0.1869340145100120420540f} + +#define CRESULTI {0.6606731609576530495076f,1.0352924413907944600766f,0.8208009210718538728457f,\ +0.9855228198847613141354f,0.2094799364238341676803f,0.2001711092576675676824f,\ +0.6157063400955946619320f,0.6758210089185754387842f,0.7073690227519786599686f,\ +0.6379959312114483749312f,0.7691489792855270568595f,0.8204717538076390370705f,\ +0.8992691795054111869590f,0.0127212399656787735619f,0.7965072880961274748302f,\ +0.4005414846539865347808f,0.5078102333041875082742f,0.7442675929748912011519f,\ +0.6446164613619681515999f,0.0651017559751383007027f,0.4292463160345246220295f,\ +0.7218268661973539224164f,0.675831849442214971369f,1.016847265460205207432f,\ +0.1468976923106849463707f,0.923642083424730087060f,0.7198425877508842773977f,\ +0.2363604106893440193193f,0.6057859843456331327971f,0.9859934125773722746189f,\ +0.4546059235344489524167f,0.1550160776744255175519f,0.5737784438019621902072f,\ +0.8635696530908816281880f,0.1971722712896061546761f,0.8187472766310414096225f,\ +0.3223047939566238695441f,0.3428986541358745587793f,0.1891956718334251719149f,\ +0.5208354545548833369750f,0.7081524694874962166935f,0.7203267007574796210179f,\ +0.6794103936977667901331f,0.3782115660166653348107f,0.8246286245352181243362f,\ +0.4645139855543011786487f,0.0308839406628786498910f,0.7450942218464524646748f,\ +0.4028312748892641792509f,0.1516356705950959171680f,0.7277735925258916882541f,\ +0.3236400086381776008970f,0.2367328033923032648556f,0.6968150511733807173087f,\ +0.3868027398676305850245f,0.8499965389936866566600f,0.1373663005352325217068f,\ +0.4969728656393965771088f,0.3186158192908606912042f,0.2687494032146487410451f,\ +0.4817044586911616854685f,0.8091241454316642212064f,0.7745837276131475324092f,\ +0.7616864033669616951272f,0.3357065002058312042088f,0.5391311137157557276112f,\ +0.4267832806356777752832f,0.4494653959304828472199f,1.07409232431056356205f,\ +0.9773946189840253540027f,0.0903205143448218145119f,0.6947943813727951445358f,\ +0.4320600869989819070582f,0.7345738223824911372617f,0.4980076917918512258154f,\ +0.753646277499480543582f,0.3015650137112788620186f,0.1750320030662110004638f,\ +0.7223173121894863601966f,0.6855367528648522723600f,0.4620100861135144620917f,\ +0.6944021533252422440086f,0.5110335784375538148439f,0.3672451576697671193905f,\ +0.8344551064956932107108f,0.16170594539219715347f,0.7832786921268890534265f,\ +1.0189285776822756268700f,0.7988551639208606447440f,0.9719247807905779801274f,\ +0.9809763387972041392970f,0.5656833224514162816732f,0.8638733429144607178785f,\ +0.7441066604777042403640f,0.0602264440127683667314f,0.4402801210484636462716f,\ +0.7535199884397705272221f,0.9667811691361050119298f,1.0493588871220529412653f,\ +0.1602121578348635611011f,0.6872528304663769738170f,0.2746926003887739664577f,\ +0.5904217499472341756928f,0.8227770718789775283852f,0.9300490141104427177510f,\ +0.8608967966610167055208f,0.6761042332942854837796f,0.3862514929365022942065f,\ +0.5383206023328632738867f,0.0087209580621782408633f,0.8379947814437334052684f,\ +0.0514162894427564812205f,0.4107196425718538934646f,0.8291800128662117908007f,\ +0.5965153474380232578866f,0.1327243053149035900695f,0.6666204349503430659496f,\ +0.1078852700862242136592f,0.3410661266092010479589f,0.8978136284012265821986f,\ +0.4999590426790496699994f,0.5396356462900459005638f,0.8861720904164178680418f,\ +0.1966865820582558155305f,0.7384948934734244518907f,0.6889822634082830576929f,\ +0.7002461629632836803694f,0.9202927678328401972507f,1.0522470356995357043672f,\ +0.7633410819201092989417f,0.6825068129840573538658f,1.032180426666563732852f,\ +0.6970224139462883883311f,0.4448502829538992786596f,0.5954971038562514307202f,\ +0.9072269118636318019355f,0.0986096977623509007849f,0.4792818549998886235031f,\ +0.6169344532127701841162f,0.5996614784596430158814f,0.6997864810760641152143f,\ +0.6821778350957495851148f,0.2159298191152681511973f,0.3221001280586711645881f,\ +0.3026923795099815683862f,0.1907050596442291245936f,0.7504581695080775327611f,\ +0.2050797642560421019109f,0.4500993401191650811200f,1.0616552076870116039231f,\ +0.3866139253948813192530f,0.2889239979563678062391f,0.0419016457354280461023f,\ +0.5291730503201013124937f,0.5270449613735276317428f,0.3620065401137618765759f,\ +0.2487989439191494456249f,0.9684607851607960338214f,0.4659312790851565244665f,\ +0.3871941948924775833696f,0.6912156199525602007228f,0.0672566496597855195683f,\ +1.0473726182255131966770f,0.3738845568372618499708f,0.4336537904037139901092f,\ +0.1616849585723995341713f,0.6587810404999043800700f,0.9478245114156004236250f,\ +0.7443033774708265326581f,0.7329852502477968156924f,0.3960943016785423709258f,\ +0.2387102372514374737378f,0.5224647164810142241365f,0.9310236182750510902650f,\ +0.0713841738247450452448f,1.0541437904171060413461f,0.3977173917051313734028f,\ +0.0286922698814963753056f,0.7352303476692350070465f,0.3345177682401353491670f,\ +0.7257755336052617023412f,0.4362132495206523241649f,0.7201678840265979264501f,\ +0.6279860575277228518232f,0.3131701555376726897606f,0.7154672057942548235587f,\ +0.7055403294219286802758f,0.90419581128384973745f,0.5774063124958943582499f,\ +0.748377680093745611956f,0.3188837788675313866804f,0.8029276503063254022408f,\ +0.6186055293635583929301f,0.3301554535865592887589f,0.907799805701633655275f,\ +1.0004593122932974313954f,0.3297692664500386783288f,0.774518614973831232007f,\ +0.8666563831612021928663f,0.5028547740750087813311f} + + + + +void stansTest(void) { + float in[]=SOURCE; + float res[]=RESULT; + float out; + int i; + + for (i=0;i<200;i++){ + out=stans(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-7); + } +} + +void ctansTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in,out; + int i; + + for (i=0;i<200;i++){ + in=FloatComplex(inR[i],inI[i]); + out=ctans(in); + assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-6); + assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6); + } +} + +void stanaTest(void) { + float in[]=SOURCE; + float res[]=RESULT; + float out[200]; + int i; + + stana(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-6); + } +} + +void ctanaTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex *in,out[200]; + int i; + + in=FloatComplexMatrix(inR,inI,200); + ctana(in,200,out); + + for (i=0;i<200;i++){ + assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-6); + assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6); + } +} +int testTan() { + printf("\n>>>> Float Tangeant Tests\n"); + stansTest(); + ctansTest(); + stanaTest(); + ctanaTest(); + + return 0; +} + +int main() { + assert(testTan() == 0); + return 0; +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/testTan.h b/2.3-1/src/c/elementaryFunctions/tan/testTan.h new file mode 100644 index 00000000..b9adf6f7 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/testTan.h @@ -0,0 +1,36 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET + * + * 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-en.txt + * + */ + +#ifndef _TESTTAN_H_ +#define _TESTTAN_H_ + +#include <stdio.h> +#include <assert.h> +#include <math.h> +#include "tan.h" +#include "constant.h" + +void stansTest(void); +void stanaTest(void); + +void dtansTest(void); +void dtanaTest(void); + +void ctansTest(void); +void ctanaTest(void); + +void ztansTest(void); +void ztanaTest(void); + +int testTan(void); + +#endif /* !_TESTTAN_H_ */ diff --git a/2.3-1/src/c/elementaryFunctions/tan/u16tana.c b/2.3-1/src/c/elementaryFunctions/tan/u16tana.c new file mode 100644 index 00000000..12df0ee9 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/u16tana.c @@ -0,0 +1,20 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + 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-en.txt + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include "tan.h" + +void u16tana(uint16* x, int size, float* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = u16tans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/u16tans.c b/2.3-1/src/c/elementaryFunctions/tan/u16tans.c new file mode 100644 index 00000000..f184a674 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/u16tans.c @@ -0,0 +1,18 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + 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-en.txt + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include <math.h> +#include "tan.h" + +float u16tans(uint16 x) { + return (tanf(x)); +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/u8tana.c b/2.3-1/src/c/elementaryFunctions/tan/u8tana.c new file mode 100644 index 00000000..d541b20f --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/u8tana.c @@ -0,0 +1,20 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + 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-en.txt + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include "tan.h" + +void u8tana(uint8* x, int size, float* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = u8tans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/u8tans.c b/2.3-1/src/c/elementaryFunctions/tan/u8tans.c new file mode 100644 index 00000000..74b5fb9d --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/u8tans.c @@ -0,0 +1,18 @@ +/* Copyright (C) 2016 - IIT Bombay - FOSSEE + + 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-en.txt + Author: Siddhesh Wani + Organization: FOSSEE, IIT Bombay + Email: toolbox@scilab.in +*/ + +#include <math.h> +#include "tan.h" + +float u8tans(uint8 x) { + return (tanf(x)); +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/ztana.c b/2.3-1/src/c/elementaryFunctions/tan/ztana.c new file mode 100644 index 00000000..6634d422 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/ztana.c @@ -0,0 +1,20 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * + * 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-en.txt + * + */ + +#include "tan.h" + +void ztana(doubleComplex* x, int size, doubleComplex* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = ztans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/tan/ztans.c b/2.3-1/src/c/elementaryFunctions/tan/ztans.c new file mode 100644 index 00000000..761da36b --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/tan/ztans.c @@ -0,0 +1,104 @@ +/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) Bruno Pincon
+ *
+ * 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-en.txt
+ *
+ */
+
+/*
+ ALGORITHM
+ based on the formula :
+
+ 0.5 sin(2 xr) + i 0.5 sinh(2 xi)
+ tan(xr + i xi) = ---------------------------------
+ cos(xr)^2 + sinh(xi)^2
+
+ noting d = cos(xr)^2 + sinh(xi)^2, we have :
+
+ yr = 0.5 * sin(2 * xr) / d (1)
+
+ yi = 0.5 * sinh(2 * xi) / d (2)
+
+ to avoid spurious overflows in computing yi with
+ formula (2) (which results in NaN for yi)
+ we use also the following formula :
+
+ yi = sign(xi) when |xi| > LIM (3)
+
+ Explanations for (3) :
+
+ we have d = sinh(xi)^2 ( 1 + (cos(xr)/sinh(xi))^2 ),
+ so when :
+
+ (cos(xr)/sinh(xi))^2 < epsm ( epsm = max relative error
+ for coding a real in a f.p.
+ number set F(b,p,emin,emax)
+ epsm = 0.5 b^(1-p) )
+ which is forced when :
+
+ 1/sinh(xi)^2 < epsm (4)
+ <=> |xi| > asinh(1/sqrt(epsm)) (= 19.06... in ieee 754 double)
+
+ sinh(xi)^2 is a good approximation for d (relative to the f.p.
+ arithmetic used) and then yr may be approximate with :
+
+ yr = cosh(xi)/sinh(xi)
+ = sign(xi) (1 + exp(-2 |xi|))/(1 - exp(-2|xi|))
+ = sign(xi) (1 + 2 u + 2 u^2 + 2 u^3 + ...)
+
+ with u = exp(-2 |xi|)). Now when :
+
+ 2 exp(-2|xi|) < epsm (2)
+ <=> |xi| > 0.5 * log(2/epsm) (= 18.71... in ieee 754 double)
+
+ sign(xi) is a good approximation for yr.
+
+ Constraint (1) is stronger than (2) and we take finaly
+
+ LIM = 1 + log(2/sqrt(epsm))
+
+ (log(2/sqrt(epsm)) being very near asinh(1/sqrt(epsm))
+
+AUTHOR
+ Bruno Pincon <Bruno.Pincon@iecn.u-nancy.fr>
+*/
+
+#include <math.h>
+#include "lapack.h"
+#include "tan.h"
+#include "sqrt.h"
+#include "cos.h"
+#include "sinh.h"
+#include "sin.h"
+#include "log.h"
+#include "abs.h"
+
+#define localSign(x) x >= 0 ? 1.0 : -1.0
+
+doubleComplex ztans(doubleComplex z) {
+ double Temp = 0;
+ double Lim = 1 + dlogs(2.0 / dsqrts( getRelativeMachinePrecision()));
+ double RealIn = zreals(z);
+ double ImagIn = zimags(z);
+ double RealOut = 0;
+ double ImagOut = 0;
+
+ Temp = pow(dcoss(RealIn), 2) + pow(dsinhs(ImagIn), 2);
+ RealOut = 0.5 * dsins(2 * RealIn) / Temp;
+ if(dabss(ImagIn) < Lim)
+ {
+ ImagOut = 0.5 * dsinhs(2 * ImagIn) / Temp;
+ }
+ else
+ {
+ ImagOut = localSign(ImagIn);
+ }
+
+ return DoubleComplex(RealOut, ImagOut);
+}
|