diff options
author | Siddhesh Wani | 2015-05-25 14:46:31 +0530 |
---|---|---|
committer | Siddhesh Wani | 2015-05-25 14:46:31 +0530 |
commit | 6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26 (patch) | |
tree | 1b7bd89fdcfd01715713d8a15db471dc75a96bbf /2.3-1/src/c/elementaryFunctions/atan | |
download | Scilab2C-6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26.tar.gz Scilab2C-6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26.tar.bz2 Scilab2C-6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26.zip |
Original Version
Diffstat (limited to '2.3-1/src/c/elementaryFunctions/atan')
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/Makefile.am | 67 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/Makefile.in | 803 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/catana.c | 20 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/catans.c | 249 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/datana.c | 20 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/datans.c | 18 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/satana.c | 20 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/satans.c | 18 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/testAtan.h | 40 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/testDoubleAtan.c | 496 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/testFloatAtan.c | 502 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/zatana.c | 20 | ||||
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/atan/zatans.c | 242 |
13 files changed, 2515 insertions, 0 deletions
diff --git a/2.3-1/src/c/elementaryFunctions/atan/Makefile.am b/2.3-1/src/c/elementaryFunctions/atan/Makefile.am new file mode 100644 index 00000000..5c090404 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/Makefile.am @@ -0,0 +1,67 @@ +## +## 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 +## +## + +libAtan_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 = libAtan.la + +libAtan_la_SOURCES = $(HEAD) $(SRC) + +SRC = satans.c \ + datans.c \ + catans.c \ + zatans.c \ + satana.c \ + datana.c \ + catana.c \ + zatana.c + +HEAD = ../includes/atan.h + +#### +# Checking Part +#### + +check_INCLUDES = -I $(top_builddir)/src/c/elementaryFunctions/includes \ + -I $(top_builddir)/src/c/type + +check_LDADD = $(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/fortran/lapack/libscilapack.la \ + $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \ + $(top_builddir)/src/c/elementaryFunctions/atan/libAtan.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 = testFloatAtan testDoubleAtan + +TESTS = testFloatAtan testDoubleAtan + +# +# -*- Arc tangeant Tests -*- +# +testFloatAtan_SOURCES = testAtan.h testFloatAtan.c +testFloatAtan_CFLAGS = $(check_INCLUDES) +testFloatAtan_LDADD = $(check_LDADD) + +testDoubleAtan_SOURCES = testAtan.h testDoubleAtan.c +testDoubleAtan_CFLAGS = $(check_INCLUDES) +testDoubleAtan_LDADD = $(check_LDADD) diff --git a/2.3-1/src/c/elementaryFunctions/atan/Makefile.in b/2.3-1/src/c/elementaryFunctions/atan/Makefile.in new file mode 100644 index 00000000..abb85ad4 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/Makefile.in @@ -0,0 +1,803 @@ +# 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 = testFloatAtan$(EXEEXT) testDoubleAtan$(EXEEXT) +TESTS = testFloatAtan$(EXEEXT) testDoubleAtan$(EXEEXT) +subdir = src/c/elementaryFunctions/atan +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) +libAtan_la_LIBADD = +am__objects_1 = +am__objects_2 = libAtan_la-satans.lo libAtan_la-datans.lo \ + libAtan_la-catans.lo libAtan_la-zatans.lo libAtan_la-satana.lo \ + libAtan_la-datana.lo libAtan_la-catana.lo libAtan_la-zatana.lo +am_libAtan_la_OBJECTS = $(am__objects_1) $(am__objects_2) +libAtan_la_OBJECTS = $(am_libAtan_la_OBJECTS) +libAtan_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libAtan_la_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_testDoubleAtan_OBJECTS = testDoubleAtan-testDoubleAtan.$(OBJEXT) +testDoubleAtan_OBJECTS = $(am_testDoubleAtan_OBJECTS) +am__DEPENDENCIES_1 = $(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/fortran/lapack/libscilapack.la \ + $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \ + $(top_builddir)/src/c/elementaryFunctions/atan/libAtan.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 +testDoubleAtan_DEPENDENCIES = $(am__DEPENDENCIES_1) +testDoubleAtan_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleAtan_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_testFloatAtan_OBJECTS = testFloatAtan-testFloatAtan.$(OBJEXT) +testFloatAtan_OBJECTS = $(am_testFloatAtan_OBJECTS) +testFloatAtan_DEPENDENCIES = $(am__DEPENDENCIES_1) +testFloatAtan_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testFloatAtan_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 = $(libAtan_la_SOURCES) $(testDoubleAtan_SOURCES) \ + $(testFloatAtan_SOURCES) +DIST_SOURCES = $(libAtan_la_SOURCES) $(testDoubleAtan_SOURCES) \ + $(testFloatAtan_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@ +libAtan_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 = libAtan.la +libAtan_la_SOURCES = $(HEAD) $(SRC) +SRC = satans.c \ + datans.c \ + catans.c \ + zatans.c \ + satana.c \ + datana.c \ + catana.c \ + zatana.c + +HEAD = ../includes/atan.h + +#### +# Checking Part +#### +check_INCLUDES = -I $(top_builddir)/src/c/elementaryFunctions/includes \ + -I $(top_builddir)/src/c/type + +check_LDADD = $(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/fortran/lapack/libscilapack.la \ + $(top_builddir)/src/c/elementaryFunctions/sqrt/libSqrt.la \ + $(top_builddir)/src/c/elementaryFunctions/atan/libAtan.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@ + + +# +# -*- Arc tangeant Tests -*- +# +testFloatAtan_SOURCES = testAtan.h testFloatAtan.c +testFloatAtan_CFLAGS = $(check_INCLUDES) +testFloatAtan_LDADD = $(check_LDADD) +testDoubleAtan_SOURCES = testAtan.h testDoubleAtan.c +testDoubleAtan_CFLAGS = $(check_INCLUDES) +testDoubleAtan_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/atan/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/c/elementaryFunctions/atan/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 +libAtan.la: $(libAtan_la_OBJECTS) $(libAtan_la_DEPENDENCIES) + $(libAtan_la_LINK) -rpath $(pkglibdir) $(libAtan_la_OBJECTS) $(libAtan_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 +testDoubleAtan$(EXEEXT): $(testDoubleAtan_OBJECTS) $(testDoubleAtan_DEPENDENCIES) + @rm -f testDoubleAtan$(EXEEXT) + $(testDoubleAtan_LINK) $(testDoubleAtan_OBJECTS) $(testDoubleAtan_LDADD) $(LIBS) +testFloatAtan$(EXEEXT): $(testFloatAtan_OBJECTS) $(testFloatAtan_DEPENDENCIES) + @rm -f testFloatAtan$(EXEEXT) + $(testFloatAtan_LINK) $(testFloatAtan_OBJECTS) $(testFloatAtan_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtan_la-catana.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtan_la-catans.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtan_la-datana.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtan_la-datans.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtan_la-satana.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtan_la-satans.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtan_la-zatana.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libAtan_la-zatans.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testDoubleAtan-testDoubleAtan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testFloatAtan-testFloatAtan.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 $@ $< + +libAtan_la-satans.lo: satans.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtan_la_CFLAGS) $(CFLAGS) -MT libAtan_la-satans.lo -MD -MP -MF $(DEPDIR)/libAtan_la-satans.Tpo -c -o libAtan_la-satans.lo `test -f 'satans.c' || echo '$(srcdir)/'`satans.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtan_la-satans.Tpo $(DEPDIR)/libAtan_la-satans.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='satans.c' object='libAtan_la-satans.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) $(libAtan_la_CFLAGS) $(CFLAGS) -c -o libAtan_la-satans.lo `test -f 'satans.c' || echo '$(srcdir)/'`satans.c + +libAtan_la-datans.lo: datans.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtan_la_CFLAGS) $(CFLAGS) -MT libAtan_la-datans.lo -MD -MP -MF $(DEPDIR)/libAtan_la-datans.Tpo -c -o libAtan_la-datans.lo `test -f 'datans.c' || echo '$(srcdir)/'`datans.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtan_la-datans.Tpo $(DEPDIR)/libAtan_la-datans.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='datans.c' object='libAtan_la-datans.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) $(libAtan_la_CFLAGS) $(CFLAGS) -c -o libAtan_la-datans.lo `test -f 'datans.c' || echo '$(srcdir)/'`datans.c + +libAtan_la-catans.lo: catans.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtan_la_CFLAGS) $(CFLAGS) -MT libAtan_la-catans.lo -MD -MP -MF $(DEPDIR)/libAtan_la-catans.Tpo -c -o libAtan_la-catans.lo `test -f 'catans.c' || echo '$(srcdir)/'`catans.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtan_la-catans.Tpo $(DEPDIR)/libAtan_la-catans.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='catans.c' object='libAtan_la-catans.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) $(libAtan_la_CFLAGS) $(CFLAGS) -c -o libAtan_la-catans.lo `test -f 'catans.c' || echo '$(srcdir)/'`catans.c + +libAtan_la-zatans.lo: zatans.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtan_la_CFLAGS) $(CFLAGS) -MT libAtan_la-zatans.lo -MD -MP -MF $(DEPDIR)/libAtan_la-zatans.Tpo -c -o libAtan_la-zatans.lo `test -f 'zatans.c' || echo '$(srcdir)/'`zatans.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtan_la-zatans.Tpo $(DEPDIR)/libAtan_la-zatans.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zatans.c' object='libAtan_la-zatans.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) $(libAtan_la_CFLAGS) $(CFLAGS) -c -o libAtan_la-zatans.lo `test -f 'zatans.c' || echo '$(srcdir)/'`zatans.c + +libAtan_la-satana.lo: satana.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtan_la_CFLAGS) $(CFLAGS) -MT libAtan_la-satana.lo -MD -MP -MF $(DEPDIR)/libAtan_la-satana.Tpo -c -o libAtan_la-satana.lo `test -f 'satana.c' || echo '$(srcdir)/'`satana.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtan_la-satana.Tpo $(DEPDIR)/libAtan_la-satana.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='satana.c' object='libAtan_la-satana.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) $(libAtan_la_CFLAGS) $(CFLAGS) -c -o libAtan_la-satana.lo `test -f 'satana.c' || echo '$(srcdir)/'`satana.c + +libAtan_la-datana.lo: datana.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtan_la_CFLAGS) $(CFLAGS) -MT libAtan_la-datana.lo -MD -MP -MF $(DEPDIR)/libAtan_la-datana.Tpo -c -o libAtan_la-datana.lo `test -f 'datana.c' || echo '$(srcdir)/'`datana.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtan_la-datana.Tpo $(DEPDIR)/libAtan_la-datana.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='datana.c' object='libAtan_la-datana.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) $(libAtan_la_CFLAGS) $(CFLAGS) -c -o libAtan_la-datana.lo `test -f 'datana.c' || echo '$(srcdir)/'`datana.c + +libAtan_la-catana.lo: catana.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtan_la_CFLAGS) $(CFLAGS) -MT libAtan_la-catana.lo -MD -MP -MF $(DEPDIR)/libAtan_la-catana.Tpo -c -o libAtan_la-catana.lo `test -f 'catana.c' || echo '$(srcdir)/'`catana.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtan_la-catana.Tpo $(DEPDIR)/libAtan_la-catana.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='catana.c' object='libAtan_la-catana.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) $(libAtan_la_CFLAGS) $(CFLAGS) -c -o libAtan_la-catana.lo `test -f 'catana.c' || echo '$(srcdir)/'`catana.c + +libAtan_la-zatana.lo: zatana.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libAtan_la_CFLAGS) $(CFLAGS) -MT libAtan_la-zatana.lo -MD -MP -MF $(DEPDIR)/libAtan_la-zatana.Tpo -c -o libAtan_la-zatana.lo `test -f 'zatana.c' || echo '$(srcdir)/'`zatana.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libAtan_la-zatana.Tpo $(DEPDIR)/libAtan_la-zatana.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='zatana.c' object='libAtan_la-zatana.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) $(libAtan_la_CFLAGS) $(CFLAGS) -c -o libAtan_la-zatana.lo `test -f 'zatana.c' || echo '$(srcdir)/'`zatana.c + +testDoubleAtan-testDoubleAtan.o: testDoubleAtan.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleAtan_CFLAGS) $(CFLAGS) -MT testDoubleAtan-testDoubleAtan.o -MD -MP -MF $(DEPDIR)/testDoubleAtan-testDoubleAtan.Tpo -c -o testDoubleAtan-testDoubleAtan.o `test -f 'testDoubleAtan.c' || echo '$(srcdir)/'`testDoubleAtan.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleAtan-testDoubleAtan.Tpo $(DEPDIR)/testDoubleAtan-testDoubleAtan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleAtan.c' object='testDoubleAtan-testDoubleAtan.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) $(testDoubleAtan_CFLAGS) $(CFLAGS) -c -o testDoubleAtan-testDoubleAtan.o `test -f 'testDoubleAtan.c' || echo '$(srcdir)/'`testDoubleAtan.c + +testDoubleAtan-testDoubleAtan.obj: testDoubleAtan.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testDoubleAtan_CFLAGS) $(CFLAGS) -MT testDoubleAtan-testDoubleAtan.obj -MD -MP -MF $(DEPDIR)/testDoubleAtan-testDoubleAtan.Tpo -c -o testDoubleAtan-testDoubleAtan.obj `if test -f 'testDoubleAtan.c'; then $(CYGPATH_W) 'testDoubleAtan.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleAtan.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testDoubleAtan-testDoubleAtan.Tpo $(DEPDIR)/testDoubleAtan-testDoubleAtan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testDoubleAtan.c' object='testDoubleAtan-testDoubleAtan.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) $(testDoubleAtan_CFLAGS) $(CFLAGS) -c -o testDoubleAtan-testDoubleAtan.obj `if test -f 'testDoubleAtan.c'; then $(CYGPATH_W) 'testDoubleAtan.c'; else $(CYGPATH_W) '$(srcdir)/testDoubleAtan.c'; fi` + +testFloatAtan-testFloatAtan.o: testFloatAtan.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatAtan_CFLAGS) $(CFLAGS) -MT testFloatAtan-testFloatAtan.o -MD -MP -MF $(DEPDIR)/testFloatAtan-testFloatAtan.Tpo -c -o testFloatAtan-testFloatAtan.o `test -f 'testFloatAtan.c' || echo '$(srcdir)/'`testFloatAtan.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatAtan-testFloatAtan.Tpo $(DEPDIR)/testFloatAtan-testFloatAtan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatAtan.c' object='testFloatAtan-testFloatAtan.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) $(testFloatAtan_CFLAGS) $(CFLAGS) -c -o testFloatAtan-testFloatAtan.o `test -f 'testFloatAtan.c' || echo '$(srcdir)/'`testFloatAtan.c + +testFloatAtan-testFloatAtan.obj: testFloatAtan.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testFloatAtan_CFLAGS) $(CFLAGS) -MT testFloatAtan-testFloatAtan.obj -MD -MP -MF $(DEPDIR)/testFloatAtan-testFloatAtan.Tpo -c -o testFloatAtan-testFloatAtan.obj `if test -f 'testFloatAtan.c'; then $(CYGPATH_W) 'testFloatAtan.c'; else $(CYGPATH_W) '$(srcdir)/testFloatAtan.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testFloatAtan-testFloatAtan.Tpo $(DEPDIR)/testFloatAtan-testFloatAtan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testFloatAtan.c' object='testFloatAtan-testFloatAtan.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) $(testFloatAtan_CFLAGS) $(CFLAGS) -c -o testFloatAtan-testFloatAtan.obj `if test -f 'testFloatAtan.c'; then $(CYGPATH_W) 'testFloatAtan.c'; else $(CYGPATH_W) '$(srcdir)/testFloatAtan.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/atan/catana.c b/2.3-1/src/c/elementaryFunctions/atan/catana.c new file mode 100644 index 00000000..d6335cd8 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/catana.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 "atan.h" + +void catana(floatComplex* x, int size, floatComplex* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = catans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/atan/catans.c b/2.3-1/src/c/elementaryFunctions/atan/catans.c new file mode 100644 index 00000000..d2081181 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/catans.c @@ -0,0 +1,249 @@ +/*
+ * 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
+ *
+ */
+
+/*
+ PURPOSE
+ watan compute the arctangent of a complex number
+ y = yr + i yi = atan(x), x = xr + i xi
+
+ CALLING LIST / PARAMETERS
+ subroutine watan(xr,xi,yr,yi)
+ double precision xr,xi,yr,yi
+
+ xr,xi: real and imaginary parts of the complex number
+ yr,yi: real and imaginary parts of the result
+ yr,yi may have the same memory cases than xr et xi
+
+ COPYRIGHT (C) 2001 Bruno Pincon and Lydia van Dijk
+ Written by Bruno Pincon <Bruno.Pincon@iecn.u-nancy.fr> so
+ as to get more precision. Also to fix the
+ behavior at the singular points and at the branch cuts.
+ Polished by Lydia van Dijk
+ <lvandijk@hammersmith-consulting.com>
+
+ CHANGES : - (Bruno on 2001 May 22) for ysptrk use a
+ minimax polynome to enlarge the special
+ evaluation zone |s| < SLIM. Also rename
+ this function as lnp1m1.
+ - (Bruno on 2001 June 7) better handling
+ of spurious over/underflow ; remove
+ the call to pythag ; better accuracy
+ in the real part for z near +-i
+
+ EXTERNALS FUNCTIONS
+ dlamch
+ lnp1m1 (at the end of this file)
+
+ ALGORITHM : noting z = a + i*b, we have:
+ Z = yr + yi*b = arctan(z) = (i/2) * log( (i+z)/(i-z) )
+
+ This function has two branch points at +i and -i and the
+ chosen branch cuts are the two half-straight lines
+ D1 = [i, i*oo) and D2 = (-i*oo, i]. The function is then
+ analytic in C \ (D1 U D2)).
+
+ From the definition it follows that:
+
+ yr = 0.5 Arg ( (i+z)/(i-z) ) (1)
+ yi = 0.5 log (|(i+z)/(i-z)|) (2)
+
+ so lim (z -> +- i) yr = undefined (and Nan is logical)
+ lim (z -> +i) yi = +oo
+ lim (z -> -i) yi = -oo
+
+ The real part of arctan(z) is discontinuous across D1 and D2
+ and we impose the following definitions:
+ if imag(z) > 1 then
+ Arg(arctan(z)) = pi/2 (=lim real(z) -> 0+)
+ if imag(z) < 1 then
+ Arg(arctan(z)) = -pi/2 (=lim real(z) -> 0-)
+
+
+ Basic evaluation: if we write (i+z)/(i-z) using
+ z = a + i*b, we get:
+
+ i+z 1-(a**2+b**2) + i*(2a)
+ --- = ----------------------
+ i-z a**2 + (1-b)**2
+
+ then, with r2 = |z|^2 = a**2 + b**2 :
+
+ yr = 0.5 * Arg(1-r2 + (2*a)*i)
+ = 0.5 * atan2(2a, (1-r2)) (3)
+
+ This formula is changed when r2 > RMAX (max pos float)
+ and also when |1-r2| and |a| are near 0 (see comments
+ in the code).
+
+ After some math:
+
+ yi = 0.25 * log( (a**2 + (b + 1)**2) /
+ (a**2 + (b - 1)**2) ) (4)
+
+ Evaluation for "big" |z|
+ ------------------------
+
+ If |z| is "big", the direct evaluation of yi by (4) may
+ suffer of innaccuracies and of spurious overflow. Noting
+ that s = 2 b / (1 + |z|**2), we have:
+
+ yi = 0.25 log ( (1 + s)/(1 - s) ) (5)
+
+ 3 5
+ yi = 0.25*( 2 * ( s + 1/3 s + 1/5 s + ... ))
+
+ yi = 0.25 * lnp1m1(s) if |s| < SLIM
+
+ So if |s| is less than SLIM we switch to a special
+ evaluation done by the function lnp1m1. The
+ threshold value SLIM is choosen by experiment
+ (with the Pari-gp software). For |s|
+ "very small" we used a truncated taylor dvp,
+ else a minimax polynome (see lnp1m1).
+
+ To avoid spurious overflows (which result in spurious
+ underflows for s) in computing s with s= 2 b / (1 + |z|**2)
+ when |z|^2 > RMAX (max positive float) we use :
+
+ s = 2d0 / ( (a/b)*a + b )
+
+ but if |b| = Inf this formula leads to NaN when
+ |a| is also Inf. As we have :
+
+ |s| <= 2 / |b|
+
+ we impose simply : s = 0 when |b| = Inf
+
+ Evaluation for z very near to i or -i:
+ --------------------------------------
+ Floating point numbers of the form a+i or a-i with 0 <
+ a**2 < tiny (approximately 1d-308) may lead to underflow
+ (i.e., a**2 = 0) and the logarithm will break formula (4).
+ So we switch to the following formulas:
+
+ If b = +-1 and |a| < sqrt(tiny) approximately 1d-150 (say)
+ then (by using that a**2 + 4 = 4 in machine for such a):
+
+ yi = 0.5 * log( 2/|a| ) for b=1
+
+ yi = 0.5 * log( |a|/2 ) for b=-1
+
+ finally: yi = 0.5 * sign(b) * log( 2/|a| )
+ yi = 0.5 * sign(b) * (log(2) - log(|a|)) (6)
+
+ The last trick is to avoid overflow for |a|=tiny! In fact
+ this formula may be used until a**2 + 4 = 4 so that the
+ threshold value may be larger.
+*/
+
+#include <math.h>
+#include "atan.h"
+#include "abs.h"
+#include "lnp1m1.h"
+#include "lapack.h"
+
+#define _sign(a, b) b >=0 ? a : -a
+
+floatComplex catans(floatComplex z) {
+ static float sSlim = 0.2f;
+ /* .
+ ** / \ WARNING : this algorithm was based on double precision
+ ** / ! \ using float truncate the value to 0.
+ ** `----'
+ **
+ ** static float sAlim = 1E-150f;
+ */
+ static float sAlim = 0.0f;
+ static float sTol = 0.3f;
+ static float sLn2 = 0.6931471805599453094172321f;
+
+ float RMax = (float) getOverflowThreshold();
+ float Pi_2 = 2.0f * satans(1);
+
+ float _inReal = creals(z);
+ float _inImg = cimags(z);
+ float _outReal = 0;
+ float _outImg = 0;
+
+ /* Temporary variables */
+ float R2 = 0;
+ float S = 0;
+
+
+ if(_inImg == 0)
+ {
+ _outReal = satans(_inReal);
+ _outImg = 0;
+ }
+ else
+ {
+ R2 = _inReal * _inReal + _inImg * _inImg; /* Oo */
+ if(R2 > RMax)
+ {
+ if( dabss(_inImg) > RMax)
+ S = 0;
+ else
+ S = 1.0f / (((0.5f * _inReal) / _inImg) * _inReal + 0.5f * _inImg );
+ }
+ else
+ S = (2 * _inImg) / (1+R2);
+
+ if(dabss(S) < sSlim)
+ {
+ /*
+ s is small: |s| < SLIM <=> |z| outside the following disks:
+ D+ = D(center = [0; 1/slim], radius = sqrt(1/slim**2 - 1)) if b > 0
+ D- = D(center = [0; -1/slim], radius = sqrt(1/slim**2 - 1)) if b < 0
+ use the special evaluation of log((1+s)/(1-s)) (5)
+ */
+ _outImg = slnp1m1s(S) * 0.25f;
+ }
+ else
+ {
+ if(sabss(S) == 1 && sabss(_inReal) <= sAlim)
+ {
+ /* |s| >= SLIM => |z| is inside D+ or D- */
+ _outImg = _sign(0.5f,_inImg) * ( sLn2 - logf(sabss(_inReal)));
+ }
+ else
+ {
+ _outImg = 0.25f * logf((powf(_inReal,2) + powf((_inImg + 1.0f),2)) / (powf(_inReal,2) + powf((_inImg - 1.0f),2)));
+ }
+ }
+ if(_inReal == 0)
+ {/* z is purely imaginary */
+ if( dabss(_inImg) > 1)
+ {/* got sign(b) * pi/2 */
+ _outReal = _sign(1, _inImg) * Pi_2;
+ }
+ else if( dabss(_inImg) == 1)
+ {/* got a Nan with 0/0 */
+ _outReal = (_inReal - _inReal) / (_inReal - _inReal); /* Oo */
+ }
+ else
+ _outReal = 0;
+ }
+ else if(R2 > RMax)
+ {/* _outImg is necessarily very near sign(a)* pi/2 */
+ _outReal = _sign(1, _inReal) * Pi_2;
+ }
+ else if(sabss(1 - R2) + sabss(_inReal) <= sTol)
+ {/* |b| is very near 1 (and a is near 0) some cancellation occur in the (next) generic formula */
+ _outReal = 0.5f * atan2f(2.0f * _inReal, (1.0f - _inImg) * (1.0f + _inImg) - powf(_inReal,2.0f));
+ }
+ else
+ _outReal = 0.5f * atan2f(2.0f * _inReal, 1.0f - R2);
+ }
+
+ return FloatComplex(_outReal, _outImg);
+}
diff --git a/2.3-1/src/c/elementaryFunctions/atan/datana.c b/2.3-1/src/c/elementaryFunctions/atan/datana.c new file mode 100644 index 00000000..9b1d9c94 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/datana.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 "atan.h" + +void datana(double* x, int size, double* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = datans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/atan/datans.c b/2.3-1/src/c/elementaryFunctions/atan/datans.c new file mode 100644 index 00000000..a16df82d --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/datans.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 "atan.h" + +double datans(double x) { + return (atan(x)); +} diff --git a/2.3-1/src/c/elementaryFunctions/atan/satana.c b/2.3-1/src/c/elementaryFunctions/atan/satana.c new file mode 100644 index 00000000..639c6f58 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/satana.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 "atan.h" + +void satana(float* x, int size, float* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = satans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/atan/satans.c b/2.3-1/src/c/elementaryFunctions/atan/satans.c new file mode 100644 index 00000000..5c7badee --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/satans.c @@ -0,0 +1,18 @@ +/* + * 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 + * + */ + +#include <math.h> +#include "atan.h" + +float satans(float x) { + return (atanf(x)); +} diff --git a/2.3-1/src/c/elementaryFunctions/atan/testAtan.h b/2.3-1/src/c/elementaryFunctions/atan/testAtan.h new file mode 100644 index 00000000..86ba100a --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/testAtan.h @@ -0,0 +1,40 @@ +/* + * 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 _TESTATAN_H_ +#define _TESTATAN_H_ + +#include <stdio.h> +#include <assert.h> +#include <math.h> +#include "atan.h" +#include "constant.h" + +void satansTest(void); + +void satanaTest(void); + +void catansTest(void); + +void catanaTest(void); + +void datansTest(void); + +void datanaTest(void); + +void zatansTest(void); + +void zatanaTest(void); + +int testAtan(void); + +#endif /* !_TESTATAN_H_ */ diff --git a/2.3-1/src/c/elementaryFunctions/atan/testDoubleAtan.c b/2.3-1/src/c/elementaryFunctions/atan/testDoubleAtan.c new file mode 100644 index 00000000..85ef1087 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/testDoubleAtan.c @@ -0,0 +1,496 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-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 "testAtan.h" + +#define SOURCE {0.2271646957046519754719,0.0509554588447201708967,1.85687282969809008826,\ +-0.0600149264751901750925,0.1154209251583080408921,0.3931023811137128731730,\ +-0.3192353063868129114944,-0.1509983292012369027191,-0.3971164405532471297633,\ +-0.4879179365092389808467,0.8039704485327389127391,-1.6086183006520318183874,\ +-1.4550051558571557297483,-2.0613539298303464875062,2.3614638061462338569640,\ +-1.1480101088176024592968,-0.2658609898928261938700,1.5427739450302764279144,\ +0.7423335722389889923534,0.3296187860375025535653,0.8154893385384427428875,\ +-0.7055736212996815970300,0.2819847871866195676560,0.3955156539663013948172,\ +-1.0216483261612141486552,-0.9217285194529017955389,0.1388701122197689430404,\ +0.2561008611862776729318,0.9488840790776944533746,-0.6033504831579518112861,\ +-1.255847241084065313288,-1.5093582375924872174267,-0.2071228671170260715595,\ +-0.3992159361232490155658,1.1415777038585108726920,1.2096296402394912661293,\ +1.2000346264198469281581,0.7648344037454491983752,0.5126417298496636076877,\ +-0.6005237850264322219118,-2.2808601123468448257370,-1.0478316411512684780405,\ +0.3987387706615069249416,-0.7901557685645255180162,0.9472076517346639246142,\ +1.2552561019596721880731,0.4826393798173508331573,-1.9230607741483070061150,\ +0.4005546162223627693066,0.1739168390171661471300,-0.0825727057882147952306,\ +0.8203738818332056981220,0.9228038015421474726807,0.4570111559683089907935,\ +0.9219829463190309937204,1.604104528474896707024,-0.7201236539398426783620,\ +0.6869793119903724321063,-1.3399970213280150144186,0.6385085849830633986102,\ +-2.1392676796592846599765,0.3031216472852934495918,1.4731483222685206602165,\ +-0.6666106701273177836953,2.5253251451367195735,-0.3387226520606179125394,\ +0.1099263677503663910739,0.2055796316301525261672,0.4180157426427644207223,\ +-0.5676554981767482077615,0.1457986457557736703627,-1.887021345850510067876,\ +-2.0255226332731517402408,-1.5021973207858168031237,-0.1565213082415607970255,\ +1.792895025421787247311,0.9902819037203779428680,-1.3877868870664777922741,\ +-1.9114516712610110094062,-0.1241624780676525430234,-0.1512289550370426727266,\ +1.0440663453119916059819,0.8275748256509259936919,0.9453274386638104154201,\ +0.8371330563424048687438,0.7021707191099652023425,-1.06501992349112173386,\ +0.0584382761085656052269,0.3908208204693481846448,0.1507745763925768811564,\ +1.0041017891872929812536,-1.2313120848428102949157,0.3394895696418271380246,\ +-0.0827142520512850892844,0.6446222176264210235175,-1.4935026770981445487507,\ +-0.8052775249062644746800,-0.5748653112322126279565,0.9754979932482783500092,\ +-2.2884524191498907264020,2.022987266935787342703,0.1637454282369502356342,\ +0.5475744092801727580522,-0.8932610448161549809853,-1.2797351399265011195894,\ +0.1118201613432585478369,-0.9620980829388734445473,0.3643849907609559291011,\ +-0.6874188098904436827752,-1.217541476664303568000,-0.5294220756831705676504,\ +-0.5958966870065123266897,0.1130069370904074471662,1.3982224083465000230575,\ +-1.0698899503771839292199,-0.4886124217435617311800,-1.3658513358172643670230,\ +0.7879963184644042106797,-1.4375620975102927356915,-0.4139225629147579854639,\ +0.4724629049642866118752,1.3786020791121860185058,-0.1818007311019581573319,\ +-0.1220915022718044445904,-2.1432379005797042026416,-0.8715288727031362814301,\ +1.7328275421264391908949,0.0746395063981880602100,0.9478227559099661192477,\ +-0.6746643568348875685814,-1.12189978973121218253,0.7712825781700975991129,\ +0.7878967433781322027286,-0.114954127571938721775,-0.8797100720757337066757,\ +0.3945983137523260686486,-0.1335061206135170208675,-0.8812942795785859706470,\ +0.9678256351883146590964,-1.2184863124466103201371,0.2811177412486541848935,\ +0.9039980069833579712224,-0.8586130195545335075380,-0.9119525776637865677188,\ +0.7834023749729661645347,-1.8588322045751330957586,0.9413946838303350883592,\ +-0.6013167449649100548825,0.7116576086154465796696,0.1856739618227061516809,\ +-2.4025809662081938355982,-1.1900189182655975805858,0.4811625406314723463197,\ +0.2175387195999395339996,-0.0380853618830928608574,-0.6838145482543566133771,\ +-1.5179336348870946515888,-1.718734246002084020688,-0.5464611700109887060250,\ +0.7723526959000743818962,0.3006795138383335785903,1.4291868716265472283311,\ +-0.0677166634975557846232,0.0573956162401944233742,0.1830487012206095109867,\ +0.6989722492840018119864,0.1910038834963114218191,0.2306826823577726726100,\ +-0.2565102919971545825106,-0.3420573662934773273570,-0.0978166804483409507709,\ +0.1422536753322360680851,0.5435939242933658377410,-0.3468100829076145585894,\ +0.4660640367220392210612,0.8993729143853705920719,0.7600191222869452367661,\ +0.8968829064436780740266,0.5805771807617583490924,-0.2307843851109470378891,\ +0.5165770205506754475522,0.8824788500189956197417,-0.7969387348104061130627,\ +-1.8168722946703086407183,1.5190242407155258863583,-0.8149773729875190442229,\ +2.4028228775031306163612,0.4982657796195523181026,0.2226740315197290043248,\ +0.1768897379163425209736,0.3603060382424789764855,0.3218716686921767045071,\ +-1.192570046506437719813,-0.1122386313819233177869,-2.0287975179488202392974,\ +0.100288454133301133120,-0.9179783877737051067669,-1.1999331406575297620520,\ +0.7483478159755958536437,2.2060613717090746810356} + +#define RESULT {0.2233738732437201557346,0.0509114261721980362885,1.0767942567911201745545,\ +-0.0599430280405672463728,0.1149124379797051148655,0.3745460477695387035979,\ +-0.3090091280795300709983,-0.1498661654051850200542,-0.3780180809438991595961,\ +-0.4539353243495501954996,0.6771572627749745665326,-1.0146085369409014731445,\ +-0.9686564923933993487282,-1.1191250002845629651915,1.1702255762215818535310,\ +-0.8541951038511210736459,-0.2598500531232013632810,0.9956994243583069392756,\ +0.6385765127412353914238,0.3184037447477280347030,0.6841145592833487443230,\ +-0.6144568631857774132499,0.2748482455938721091826,0.3766345938432117956829,\ +-0.7961060093123013547967,-0.7446909349913972686608,0.1379876022907993438071,\ +0.2507123565043022361820,0.759175872898178005777,-0.5428794496736766284073,\ +-0.89833074078511021554,-0.9856607896834306270506,-0.2042349952101077392719,\ +-0.3798302772852411579585,0.8514111742492602719068,0.8799860018302214648145,\ +0.8760722415122048634117,0.6529277236314812160600,0.4737097703113398172725,\ +-0.5408045473230975730417,-1.1576046419742331838876,-0.8087511308495316519895,\ +0.3794186378049814734048,-0.6687094713589172290114,0.7582929808049961861727,\ +0.8981012978260718426782,0.4496629050128420623800,-1.0912735975391061327144,\ +0.3809844030879972476278,0.1721944986308187042212,-0.0823858026410947269502,\ +0.6870411688329144395126,0.7452719880215435965809,0.4286690862084140407617,\ +0.7448284765591709488675,1.0133478453990099055204,-0.6241044852011972121630,\ +0.6019336895450897451099,-0.9296864924479115721567,0.5682544332615881987891,\ +-1.1335263715873262757583,0.2943182248013878621329,0.9744281865108882501048,\ +-0.5879638357107155322012,1.1937528186152712716961,-0.3265930739728566956082,\ +0.1094867742408287547562,0.2027547884149371593132,0.3959400774109990694960,\ +-0.5162971747333449101802,0.1447785328438968288634,-1.0834879385306221966090,\ +-1.112201615701992940544,-0.98346913687842862917,-0.1552615733221418270471,\ +1.062017052786182524926,0.7805154284284491206236,-0.9463968404701921244282,\ +-1.088790816976063835497,-0.1235302727421704604982,-0.1500916423979053448967,\ +0.8069530021779800499360,0.6913301738780865957068,0.7573010048408638228423,\ +0.6969765492354944580455,0.6121813376326975530972,-0.8168741064761906311986,\ +0.0583718892203711620104,0.3725683317450820819516,0.1496473933205103579169,\ +0.7874448575733706823243,-0.8886955789071054878647,0.3272808967598674345645,\ +-0.0825263887088810432768,0.5725854110105892402771,-0.980788536566781998793,\ +-0.6779506710306395511623,-0.5217330517396027156352,0.772995847351621967469,\ +-1.1588253401537096376472,1.1117042516684423337,0.1623050519698593929796,\ +0.5009790459791051420169,-0.7290794216990050813365,-0.9074929345625200038938,\ +0.111357569834535111153,-0.7660835307058299070704,0.349432040770661034301,\ +-0.6022322122997969540137,-0.883185569845575946246,-0.4869072854862174781765,\ +-0.5373968957759416298359,0.1125295355475867259409,0.9499457978350420717106,\ +-0.8191503966966299232766,-0.4544961153792455021971,-0.9388212744104845741688,\ +0.667378646873721059762,-0.9630145809992480820938,-0.3924506725722226585518,\ +0.4413762601275756369823,0.9432440329190430183814,-0.1798366074472934617035,\ +-0.1214902252731905191174,-1.134237248756892579848,-0.7168606663031997783264,\ +1.0473916695445741886772,0.0745013609201800736104,0.7586170976909952790024,\ +-0.5935190472805600414574,-0.8427835085661474767704,0.6569834032811123769591,\ +0.6673172133738860534180,-0.1144517528481678869667,-0.7214914324609644769026,\ +0.3758410950307565223660,-0.1327212976140068612096,-0.722383800988696922474,\ +0.769049408891516961262,-0.8835660062516154100720,0.2740448831292710551999,\ +0.7350195594735607906856,-0.7094731621063239401792,-0.7393796262522003281958,\ +0.6645381846985234375325,-1.0772344059827341222757,0.7552201039546350136433,\ +-0.5413871326815293816281,0.6185070897724082028546,0.1835833463904297524483,\ +-1.176386657281365266670,-0.8719472877519027775861,0.4484643942741659561335,\ +0.2142014421948802427309,-0.0380669636860080026763,-0.5997804502671881810016,\ +-0.9882664118774061590145,-1.0438491153613729256477,-0.5001221995547742160682,\ +0.6576540281533080900545,0.292080085019127744239,0.9602726979256205330771,\ +-0.0676134413768641334697,0.0573327152217289193192,0.1810443840994339081973,\ +0.6100358657130787731759,0.1887306738654894733287,0.2267166741276365193869,\ +-0.2510965487437752940991,-0.3295815282597121531616,-0.0975064859373050984992,\ +0.141305606529955662953,0.4979116182528884881897,-0.3338302007475900112787,\ +0.4361321851910835434296,0.7324685375973356560309,0.6498825704253795576548,\ +0.731090278993245523687,0.526015577583169635645,-0.2268132361170670519002,\ +0.4768211073463659022131,0.7230501420836584758334,-0.6728715276854828619690,\ +-1.0676488164290300897363,0.9885963208407696489743,-0.6838069995773392584226,\ +1.1764223744131836468796,0.4622592705138702240397,0.2190994523411692873616,\ +0.1750786606269341127984,0.345826480359459564884,0.3113998336672463840280,\ +-0.8730018295092231150889,-0.1117708529226727198758,-1.1128425715998719880417,\ +0.0999542424787834421496,-0.7426595867662098005013,-0.8760306483273037070347,\ +0.6424428721795988339593,1.1452043748636047126865} + +#define ZSOURCER {-1.1795163216180464260674,-0.6957584169324845246862,0.8259988996926452831104,\ +0.2005040766836741483736,-1.2112828126521528737669,1.577061196992769698255,\ +0.7637772368360737917925,1.8192271630516374525399,0.5455430088849253511540,\ +1.146539236621446411490,1.6240394311350210276856,-1.4966797534977682726520,\ +-1.59547014335820214193,-0.7395898851221245351439,-0.8068636961152658715335,\ +-1.0311002075319768422901,1.2005970723482952688954,-0.2648910783446530303742,\ +-0.2626223153489460337973,-0.7475187472806215094323,-0.5661153624892958369230,\ +0.7434875747358512532159,0.7872535238570613769227,0.451715552409009846180,\ +0.4606878032667490185936,0.0776842938192593146507,0.8641526902252117947612,\ +1.207833841833020782630,0.8731959322473188400693,0.0203507380205638840898,\ +-2.142561452892851825425,0.3422111419280877142590,1.2579314478540355448644,\ +1.7477933051936518360492,0.5187339957481993391042,-0.132728581017459240643,\ +-1.1602733035670516059668,0.4875989045190238790894,-0.5701105851822111381111,\ +-1.1912139790942799510987,2.0124340046175204221868,-2.7045248893564091119401,\ +-0.6431322992574242114472,-1.9153194443350760600708,-0.5655545944523592272191,\ +-0.65321727466490830949,-0.704349532744792949934,0.1130503418105048285547,\ +0.7790220841116946015603,-0.8369920883463126681789,-1.604067362874623814406,\ +-0.2256746981594401069149,-0.1392938143448255172707,0.6830835101317246360608,\ +-0.4155213883413004238854,0.0229733819760836940893,0.8246417042132325736503,\ +-0.6376565658151804871778,-1.7068298799179615343746,1.4073819355206949044401,\ +-0.8295221757203087298294,0.6373043870424420775933,-0.2922017410826197592044,\ +2.1752387761511053909658,0.0600723389389604608968,0.7835812912685555797765,\ +-1.3959357154825373648066,-2.0629358999978850697232,0.2656918800288301518719,\ +-1.1613766205716309354301,0.8939124507954123721731,1.6784098435216081579568,\ +1.2683311792448521693188,1.8385748076192800493089,-0.9497329202198889763764,\ +-1.270378528387523964227,0.7963056587352231874277,-0.8480009473832804678395,\ +-0.8640072224951356183453,-0.8715001223760306947597,-1.0437638424148545368553,\ +-0.4238345049288854693437,1.1151445198271947578661,-2.2055374030068151114392,\ +0.2874269036908579932899,-1.141542990475093111158,0.5076848390265716881586,\ +0.3056363849775944885323,-0.3052849785217074396471,0.0155317052678219415240,\ +0.2432114799458970910706,0.6784283234918451199746,1.872617399166290219625,\ +-0.5480102320972454199577,-1.1310137592478748391756,-0.0865801063652356234224,\ +-0.32288669591661972591,-0.3304845320488251636526,0.0611848701378388329375,\ +1.826560717567842440090,0.7447867877814601245134,-1.1564474239432984692399,\ +-1.1265940444751152416103,0.142628529129462972014,-0.8925873814067234457426,\ +-0.3627863505191566417807,-0.5662183332585394301972,-0.2716795089578870614488,\ +1.3639803640910439508360,1.237612166886607800720,0.3924305122780659127457,\ +0.7582137693795522048745,-1.1492170633741971563779,0.4241382639443282975833,\ +0.4098444400457034175744,-1.37669132334320454270,-1.4476326062045372644604,\ +0.7114066611465256206870,-1.3924830606697651269599,0.0338524257403221839891,\ +0.0146836062137128426502,1.2378730149006278438151,0.2801823548361609406143,\ +-1.3742686169958964192972,0.1717540380186403925489,-0.5855903929173471578196,\ +0.1907429151227005570401,0.7888793090772500127272,1.1338168541183824000740,\ +0.7778678198128919918375,0.4430509890900592440133,-1.8169712227336964893709,\ +-0.1603235606348805963872,1.0728726966089832117746,-0.6538383763382829005906,\ +-1.2903854138672581353120,-1.2588653493715018516497,0.662482523108547827206,\ +0.8653058064884894262647,0.8205627120768179683097,-0.6052538675768098785923,\ +0.1489320223008726296055,-1.1002545757952191252116,0.5601748137285590400936,\ +-0.7753064210754536667025,0.0825270383499445148168,-1.3301792471357218872186,\ +0.3149537401293732719054,-0.4413283119409475707684,0.5584497354764290655282,\ +0.2709448579613401020261,-0.4281368707331745238065,-0.2387957265896963054974,\ +-0.4604827882307634956405,-0.5412644127984000963494,0.7328783982761175597176,\ +-0.0713404400136534444510,-1.1936962614002064597685,-3.042807307214757006619,\ +0.7597050488151386726798,0.1791274991920646930676,-0.2506292816675101398083,\ +-0.6351531470374360832665,-0.121161180968055212648,-0.3652194549719223193307,\ +-0.9437320920432173965153,-0.2710022932148818952669,-0.9443973941449046449748,\ +1.3983220899832822237130,-0.4381256814836405610869,0.3765568950431126271639,\ +-0.3219819650340491334894,-0.1074889504736799422657,-0.6785727331891553415488,\ +2.4505579021475099033012,-1.3142551981836398944381,0.7354780365902759964314,\ +0.3711279315629368302787,-0.8351813322615772028357,0.9766824658266765046832,\ +1.461883720898450089720,1.5553635146325224258845,1.4271923988949506423296,\ +0.0934141721491809351452,-0.6278372555306163116384,-0.7994063607890871114847,\ +0.4560734872063767486594,1.2736575371127356604006,0.2044809074410245119946,\ +0.2464253458581916467196,0.1480097817386342162749,-0.7352399556856978879438,\ +0.9198120099159204920980,-0.6013531026590643868701,-0.6865004071225593307304,\ +-0.104616070370811706236,-0.3041328910990643286105,-1.0780356133329238588203,\ +-0.4779521279351744977859,0.5025105381497957379722} + +#define ZSOURCEI {-0.9552428551144188650923,1.2961834852294731312838,1.1017640646828426032044,\ +0.8711087850527934328682,-0.9420760043657475657497,-0.1497284505613425964476,\ +-1.3185366552605053414027,-0.6344981208817582762904,-0.1939736947913383302566,\ +0.5047024828595823020549,0.571239270735604098839,0.6329832938920191276466,\ +-1.0836206204774869732432,-0.2988022043772741165313,0.0786451729619408040906,\ +0.1005946170325885125063,0.1951019512685897017157,1.3036996759610997020928,\ +-1.604446040591435362899,-1.665829130168900329423,0.3894119616051456289618,\ +-0.6441312956332616579402,-0.3024073427875212938254,-0.4621890957188650173038,\ +-0.6774568059775447625981,0.445231860114528421590,-0.5535293580988084327643,\ +-0.0006762893110915249931,-1.089389506561633025328,0.5723493142465210237191,\ +0.4420973206857362058919,-0.1612581930858848211496,-0.7163329171822375718293,\ +-0.5277733874018479820478,-0.4768406780661605948168,-0.3993604887388358948286,\ +-1.3804293506092022436604,-0.1591254367281162429570,-1.6980146860343119374903,\ +-1.4761781930573465437817,0.2862303841437082718713,0.6052999005919722508295,\ +-0.5483298295339265049364,0.0209604427664898014527,-0.6457183807429971444947,\ +-0.0603329310380973649064,0.0091414413452102355473,1.0949883817318917245132,\ +1.6400776092272673079009,-0.623485665086227380804,0.9132225220115295361012,\ +0.0829708966832887195864,-0.1905412057335640341194,1.7237280439025588485435,\ +-1.1486098807701770052603,0.7656322424078984001383,0.365608177776686305016,\ +0.8275570484489896960767,-1.1195346368945833237518,2.009348617520048563279,\ +-1.3914607990698013573194,2.0854477679794358735421,1.2877168046463016715109,\ +-0.8111545211857794646093,-1.4392639991852771430558,0.5337937550547192655515,\ +-0.4149967301072188807787,0.7753596072101661684783,-2.0802067762281923890555,\ +0.0857878546561958027494,0.6902510695334604928775,-0.8020501997457173404271,\ +-0.4448276219158631139550,-0.4542741017673427861290,0.7497806557441212271797,\ +0.3761686067694443580400,-0.5437950704705085680501,0.1952712229487395811933,\ +1.4963569359039357031804,0.1448961397504171522144,-1.6571742156046651572865,\ +-2.266222156481924709936,-0.6895293883454371997033,0.2295209621736973848449,\ +0.5362163385171105911553,0.9313103118348207143384,0.6330960821019180340130,\ +-1.0858111091662558944648,0.0887541886374976635166,-0.34952319730873010473,\ +1.2435770678983146808605,0.3496891344866185913354,0.8861210080034624958500,\ +0.8494363200871917207735,-2.6007673657870293837391,0.1208397242502698559763,\ +-2.7285983994246283401708,-0.9589084058643195795923,0.5028677894031623463178,\ +0.1177935239520793014867,-0.8303109816686591315715,0.1392963806792855974148,\ +-0.7007200653415375235511,0.3010279059055253614297,0.2808756871176958935798,\ +-0.3407758216783158822238,-0.1629402754377415607490,-0.9384370915542669111531,\ +-0.9062708617577245329144,-3.8216620591432644005181,-0.4342151148359789103459,\ +-1.8035270857235303765265,0.5183732162291515566110,-0.6322771366436347184603,\ +-1.565814486101537061913,-0.1275146747340561437234,1.64064977802353451075,\ +0.3863617690782851776810,2.0004008659625807098337,-0.6217884089242305956091,\ +0.5238947303594374549363,0.6235004214546735479274,0.2053444204279457063755,\ +0.8703948860420792632553,-1.0392069272746413677311,1.003277086375655047235,\ +-0.592126107443248783646,1.4081926997371712051432,0.3085101089696197229628,\ +1.3401416840168169919423,-0.1266586333113026985320,-0.6461594510334438545840,\ +-1.0118098370918304773625,0.6188273552553577028235,0.3590555220619524590120,\ +-1.1731665361057745933238,-0.6396350210213861409159,-0.1754282371769660675564,\ +-1.4007581459609705909486,0.9435849228454418202716,-0.8904968184314612233976,\ +0.2054651558278166589844,0.4710457442017800810952,-0.9616306477690889087384,\ +-0.121221389008828367428,-0.4940626370918775878138,-1.6256998584585298228689,\ +0.2527933604007285839366,0.9910414428133418329736,-0.4204166976073123729307,\ +-0.3726016912019385896038,0.9512465231833235890235,1.9770278000388763484096,\ +0.7942630050207910574755,0.2042467951135929216111,-0.4515030272861193516576,\ +0.6146475682591936440247,-0.6290585121948016888993,-0.1427330253584118413546,\ +-0.0603831392611861861308,-0.0118358773438195733624,1.060362899843382056275,\ +0.0968488469273018626193,0.1916075762821658201585,-0.4096449181703107345065,\ +0.3696227488734469268650,0.2664498618423789544352,-1.1169828984464544863187,\ +0.1529016818054778348301,0.5016653096177513537768,0.3713737327704177415555,\ +1.519060224335068820523,-0.1807259441689535728326,1.8139275887503047979266,\ +-0.3257752015232963649360,2.1486960576842424330835,-0.1051361455427324009815,\ +-0.2626851203928968758738,1.0103646188196337973864,0.2148110767207350724206,\ +0.4407052420763278299809,-0.5122126723342420584473,1.2412118916908576604641,\ +0.9766933236701691445347,2.039099736880281454887,-0.2559919392094065493382,\ +0.5420836083333696597819,0.0791245311903027159772,-0.0955893777744002970387,\ +-1.3712286813648302263857,2.1069701518694308184365,-1.189922581642507859456,\ +-1.1599757893702906663691,-0.5696357256121767909107,-1.3015572133370920671069,\ +-0.5449309642239419382292,-0.5067789559895423678881,0.6346443332238025369918,\ +-0.6108333161328157734360,1.8419857567724760016858} + +#define ZRESULTR {-1.0378404956328399766363,-1.133735695651125086059,1.0339197498326544444325,\ +0.5531122148702418694910,-1.040340001858497842591,1.0085860369894361632248,\ +1.1420720538989748149561,1.1056797792052726059353,0.5117972485274214777817,\ +0.9070677525728206846978,1.0572990288526666891045,-1.0360972400059726972188,\ +-1.1383229838393340571656,-0.6648420928164470167232,-0.6807443500487321275116,\ +-0.8031597943350016199915,0.883947625424225447155,-1.269412549612109586405,\ +-1.4161063395011512788813,-1.2859233456553140761969,-0.5672668801729759957553,\ +0.7745318044293433290548,0.6947007749642374330179,0.4991201053193883852011,\ +0.6140034872209438887580,0.096413007169791717366,0.8007709883951089624432,\ +0.8792563999787510464756,1.0343346624696823088385,0.0302467913897976371784,\ +-1.1472175673143576446478,0.3369832737151475243742,0.9907410521400105141154,\ +1.0796900049026223467052,0.5594674889946016360653,-0.1560251223940891662778,\ +-1.1705823062338804874116,0.4618385738778090776613,-1.3324797047631469215645,\ +-1.1997345609820562195580,1.1160254294044837930500,-1.230501878395329207194,\ +-0.6761086369817806973614,-1.0896592333865446899921,-0.6710881467286168300390,\ +-0.5798029666713722107829,-0.6136654494083557676021,1.1617507290156328103592,\ +1.27276401512989068010,-0.8120428578165023170143,-1.1072391191957589029471,\ +-0.2233715590492064695383,-0.1434422451344934956730,1.3153998337128238738103,\ +-1.0526498309129606045786,0.0553606627561369843415,0.7291584643384485531215,\ +-0.8211933984789114848724,-1.1593353121271579020402,1.3152057671476293787549,\ +-1.172801856026281397405,1.4071868225661712248353,-1.237749706635684621148,\ +1.1803373520872921798031,1.5151506180989924299496,0.7531983030718831795269,\ +-0.9762856051169326310202,-1.1612557605568909480098,1.4932305416569968681273,\ +-0.8614722664300586973951,0.8618528735715539346174,1.1016443473924788509777,\ +0.9393199732131509716027,1.0919198431908447854966,-0.9052324038739091305317,\ +-0.9298866314213817263479,0.7633780893052066751636,-0.7143116680469970836143,\ +-1.2127221047629597183715,-0.7227638256662162197230,-1.253501631676815275540,\ +-1.4738165927959636647415,0.9413278434132237304510,-1.1484735264203178584097,\ +0.3698862224535668929981,-1.0222624393360630890015,0.6231994143282580944643,\ +0.9950036636352803665062,-0.2983226702432650867536,0.0176907017367243651895,\ +1.2324636476429444709169,0.6361627801840686879942,1.1459319881374090410731,\ +-0.7953680408910630550423,-1.4154164061425698051266,-0.0876282946873059020998,\ +-1.5216557556403844664317,-0.8071142269969606708457,0.0815747053150205070349,\ +1.0712377179167194007903,0.8666202597884599123645,-0.8619222017137594393787,\ +-0.9481006227828882026998,0.1552413858057176687666,-0.7506128146087278629750,\ +-0.3836715577045819447477,-0.5239185633043924594787,-0.7436026090030812829568,\ +1.0616275053374448766874,1.4897517325664235698923,0.4367517077925673341099,\ +1.3246660695183969380651,-0.9109135023203799308433,0.5553722323129884896886,\ +1.3365545316217091187383,-0.9452504202661284882225,-1.24445301968662169756,\ +0.6665795438258386163000,-1.314150441284937187447,0.0550695906884250130364,\ +0.0202332991673926272658,0.9634857364192206397036,0.2836842504797497110935,\ +-1.0552170344242444155469,0.9396260470070250114816,-0.9303925570132891564867,\ +0.2783356640126000702828,1.1824291811858682610392,0.8685688319389791578473,\ +1.1519647668153425446036,0.4220715686665841848146,-1.1065714015957384130928,\ +-0.861924596730684333679,0.9073537157079681891858,-0.6218839294281949259258,\ +-1.120015581786375724604,-0.9733844585621500566930,0.595029230494463101664,\ +1.175230190501943328130,0.9508205283471821145369,-0.8508278968495206484590,\ +0.1541098930310453307690,-0.8824217885955716322854,0.8902851444120675195038,\ +-0.6639557596979325237996,0.1084368331219868891724,-1.2396941127079998956617,\ +0.3226031789257856052799,-0.8843151570857661347702,0.5707126023897258759732,\ +0.3012759106579737111709,-0.8367027089033168829602,-1.4909615617958020816758,\ +-0.7009193727197650103378,-0.5098573775891588333309,0.6979392344955810401075,\ +-0.11360619748546052499,-0.9509385591695135309109,-1.253860295053432105661,\ +0.650797750208578995590,0.1772712514866976729611,-0.9640945137047890467485,\ +-0.5689005122453275609118,-0.1250511412013994849701,-0.4037636514907702589561,\ +-0.7926166698304296653887,-0.2823466357029139617296,-1.056824688357730357424,\ +0.9537129762345133432433,-0.5025361511250948653995,0.4038372312258701746224,\ +-1.356748408455357823854,-0.1106205947085566049237,-1.3416335800212069173654,\ +1.1885949854017261451133,-1.3422443000337007656952,0.6375731708639520434190,\ +0.3760968575323995755078,-0.9884746207385446403748,0.7854115858087797885645,\ +0.999043445647114114472,1.033179400413832382810,1.1526308570666976560659,\ +0.6867562899067288784138,-1.4009010309735028254607,-0.6940419760103245794269,\ +0.5354681750957488439724,0.9063410461496741454823,0.2034358249367814175379,\ +1.3295608151948998809644,1.5281379412739910517161,-1.0737486644518823286631,\ +1.0727905584835071284289,-0.6577524210666327864061,-1.1372820311372766610702,\ +-0.1467884541731124814490,-0.3758609793464613990643,-0.9135278670013463608868,\ +-0.5879353157795642603745,1.3892627420568484097885} + +#define ZRESULTI {-0.3299360864553753103223,0.5773236414575498853807,0.4991095547887292593892,\ +1.0331094146354482532502,-0.3176151990967214233663,-0.0427672547155572568833,\ +-0.5408736725419536206516,-0.1380553162115908116814,-0.1495803862615101287314,\ +0.2075977110248564960759,0.1483156441793008761820,0.1814264210630067153396,\ +-0.2481388687151736549552,-0.1914494023025192226406,0.0475995307877313186817,\ +0.0486725512662827888843,0.0793454719839349342791,0.8749639413571212998022,\ +-0.6896294045728997845757,-0.5086525074514365307721,0.2944098793875352670923,\ +-0.3917506744074427116331,-0.1846852570799382420308,-0.3894217746197643492678,\ +-0.5646100518854718641748,0.4746040014516990646065,-0.3015127179783077537856,\ +-0.0002750414994330601867,-0.4738712470203229054633,0.6504861039469930217294,\ +0.0770111005352082517161,-0.1450021418767060144006,-0.2504460533174687753011,\ +-0.1242925201299330817406,-0.3767991401181884358884,-0.4132076872602681860691,\ +-0.3870747570445600693745,-0.1287551829606753961421,-0.5591653729797143590474,\ +-0.3808547758746415601294,0.0560087196606005033317,0.0701856173788610038233,\ +-0.3788485405347551959743,0.0044895072328474238538,-0.4792093730891275327188,\ +-0.0422815385429984591514,0.0061101098120875880007,1.3269258764406561823535,\ +0.50216582477378490790,-0.3441118926473294425961,0.2204807457606408893636,\ +0.0790893257779779063066,-0.1890021515648551142519,0.518665277550073300361,\ +-0.8006086655024508003109,1.0073379811293934338323,0.2137094925844510162616,\ +0.5375421998418649094376,-0.2320202834395212743157,0.3256990051992574852768,\ +-0.5075425697148114867474,0.4587488944259289214145,0.8635283954295314146066,\ +-0.1297869621390935479521,-0.852694676585578515,0.3180243625197139989424,\ +-0.1362504231180562963566,0.1356147426873018091431,-0.5110906304654022624945,\ +0.0364746671485365880905,0.3518205609306652159596,-0.1882338930265980980749,\ +-0.1641509348055795458610,-0.1003678389496054923491,0.3533058939584889368568,\ +0.1400753442460135889114,-0.3190262039403771177071,0.1130098866744752156288,\ +0.4874882612585151875351,0.0821093566409674818773,-0.4196102828902398829136,\ +-0.451423643355465198379,-0.2794721520836026540380,0.0388676985912680683644,\ +0.5261724556813406339373,0.3369140501375452179111,0.5021943268293638240607,\ +-0.9466008502228719923011,0.0813161752282447886087,-0.3647911127697049948893,\ +0.9402058236775613364600,0.2373145443406108057172,0.1741667096823807936445,\ +0.6110175965051998225874,-0.3276211596627106037438,0.1205074840878167241609,\ +-0.3776545253138779423274,-0.8929722827626465075923,0.549792722962075375293,\ +0.0271042479895461374539,-0.47522513055127707515,0.0593823102898174345898,\ +-0.2798313897020670570903,0.3034375004902351569136,0.1544875118519504486603,\ +-0.3064946913611272250044,-0.1233973071314871799986,-0.9748519593919268144688,\ +-0.2695469774323944189831,-0.2398595153162375315237,-0.3849351067537384318840,\ +-0.4832629774775746844817,0.2120502817724358168849,-0.5500280838647416681297,\ +-0.6567358702149050930785,-0.0439088406752093027285,0.3215272662057582220285,\ +0.252983359599071477852,0.3285524490410307585364,-0.7260295113781071174586,\ +0.5814783672028649430530,0.2280478984411803411447,0.1921683660815579341996,\ +0.2598222279442688464890,-1.2261944929533434844870,0.6354501028006451779362,\ +-0.6350507146232319266588,0.5241840999802419576170,0.1326112979841672367964,\ +0.5331634907909190701503,-0.1060363792025432461141,-0.1405159325068739140097,\ +-1.2650277702054697481771,0.2669908129991411804838,0.2495345813255305800205,\ +-0.3316627619047222141901,-0.2282918540535401608071,-0.1217152595768435791035,\ +-0.4921799931736892674827,0.4709770755615852455556,-0.5858164911014823728053,\ +0.2035859669317575948444,0.2043112301670926833630,-0.6450693837623580062512,\ +-0.0755935103401305513726,-0.5356174761081086144188,-0.3471562389208797116957,\ +0.2328317315621121486036,0.7651997819792383248583,-0.3199579280419243554334,\ +-0.3582454315092570285017,0.7669246314230472316709,0.5441811107763497856737,\ +0.6504831149102675569296,0.1580962824886572026806,-0.2872668874651375658935,\ +0.7084196447067554469612,-0.2398740644903666341392,-0.0138893916104706732079,\ +-0.0382724601233607325534,-0.0114683647521359316501,1.042906817386681339599,\ +0.0689854613036876146426,0.1910230634709511876590,-0.3704134917614289590482,\ +0.1911216797569713354843,0.2522464542416475996589,-0.4451672855349098623101,\ +0.0515134584128001532521,0.4287903998263715155126,0.3315338614185490695441,\ +0.7124742713592439047332,-0.1805296499983318203597,0.5024343285394804459187,\ +-0.0459393453273769861167,0.3351247751616924785978,-0.0681623033986126780626,\ +-0.2332477835758634543417,0.4789761892657505848447,0.1091019217623192538724,\ +0.1355147604481500289708,-0.1428984493591255733325,0.3037123307940571281804,\ +1.5115293287912119346572,0.4692494475562393740908,-0.154956179496453544386,\ +0.4557841446769143045614,0.0301394028826129541099,-0.0919789120268482279785,\ +-0.8385856266070932374390,0.5121474514176801440257,-0.5562655937076338430458,\ +-0.4610543161770726539039,-0.4105611124291430047428,-0.5820664911774818817136,\ +-0.5994113052598605273502,-0.4878070905668511203501,0.2712394281598410339384,\ +-0.5014387951037901913764,0.5397742494143892288960} + + + +void datansTest() { + double in[]= SOURCE; + double res[]= RESULT; + double out; + int i=0; + + for (i=0;i<200;i++){ + out=datans(in[i]); + assert( ( (fabs(out-res[i])) / (fabs(out)) ) <3e-16); + } +} + +void zatansTest() { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in, out; + int i=0; + + for (i=0;i<200;i++){ + in=DoubleComplex(inR[i],inI[i]); + out=zatans(in); + assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <3e-15); + assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <3e-15); + } +} + +void datanaTest(void) { + double in[]= SOURCE; + double res[]= RESULT; + double out[200]; + int i=0; + + datana(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <3e-16); + } +} + +void zatanaTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in[200], out[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i]=DoubleComplex(inR[i],inI[i]); + } + zatana(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 testAtan() { + printf("\n>>>> Double Arc Tangeant Tests\n"); + datansTest(); + zatansTest(); + datanaTest(); + zatanaTest(); + + return 0; +} + +int main() { + assert(testAtan() == 0); + return 0; +} diff --git a/2.3-1/src/c/elementaryFunctions/atan/testFloatAtan.c b/2.3-1/src/c/elementaryFunctions/atan/testFloatAtan.c new file mode 100644 index 00000000..a740b53c --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/testFloatAtan.c @@ -0,0 +1,502 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-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 "testAtan.h" + + +#define SOURCE {0.2271646957046519754719f,0.0509554588447201708967f,1.85687282969809008826f,\ +-0.0600149264751901750925f,0.1154209251583080408921f,0.3931023811137128731730f,\ +-0.3192353063868129114944f,-0.1509983292012369027191f,-0.3971164405532471297633f,\ +-0.4879179365092389808467f,0.8039704485327389127391f,-1.6086183006520318183874f,\ +-1.4550051558571557297483f,-2.0613539298303464875062f,2.3614638061462338569640f,\ +-1.1480101088176024592968f,-0.2658609898928261938700f,1.5427739450302764279144f,\ +0.7423335722389889923534f,0.3296187860375025535653f,0.8154893385384427428875f,\ +-0.7055736212996815970300f,0.2819847871866195676560f,0.3955156539663013948172f,\ +-1.0216483261612141486552f,-0.9217285194529017955389f,0.1388701122197689430404f,\ +0.2561008611862776729318f,0.9488840790776944533746f,-0.6033504831579518112861f,\ +-1.255847241084065313288f,-1.5093582375924872174267f,-0.2071228671170260715595f,\ +-0.3992159361232490155658f,1.1415777038585108726920f,1.2096296402394912661293f,\ +1.2000346264198469281581f,0.7648344037454491983752f,0.5126417298496636076877f,\ +-0.6005237850264322219118f,-2.2808601123468448257370f,-1.0478316411512684780405f,\ +0.3987387706615069249416f,-0.7901557685645255180162f,0.9472076517346639246142f,\ +1.2552561019596721880731f,0.4826393798173508331573f,-1.9230607741483070061150f,\ +0.4005546162223627693066f,0.1739168390171661471300f,-0.0825727057882147952306f,\ +0.8203738818332056981220f,0.9228038015421474726807f,0.4570111559683089907935f,\ +0.9219829463190309937204f,1.604104528474896707024f,-0.7201236539398426783620f,\ +0.6869793119903724321063f,-1.3399970213280150144186f,0.6385085849830633986102f,\ +-2.1392676796592846599765f,0.3031216472852934495918f,1.4731483222685206602165f,\ +-0.6666106701273177836953f,2.5253251451367195735f,-0.3387226520606179125394f,\ +0.1099263677503663910739f,0.2055796316301525261672f,0.4180157426427644207223f,\ +-0.5676554981767482077615f,0.1457986457557736703627f,-1.887021345850510067876f,\ +-2.0255226332731517402408f,-1.5021973207858168031237f,-0.1565213082415607970255f,\ +1.792895025421787247311f,0.9902819037203779428680f,-1.3877868870664777922741f,\ +-1.9114516712610110094062f,-0.1241624780676525430234f,-0.1512289550370426727266f,\ +1.0440663453119916059819f,0.8275748256509259936919f,0.9453274386638104154201f,\ +0.8371330563424048687438f,0.7021707191099652023425f,-1.06501992349112173386f,\ +0.0584382761085656052269f,0.3908208204693481846448f,0.1507745763925768811564f,\ +1.0041017891872929812536f,-1.2313120848428102949157f,0.3394895696418271380246f,\ +-0.0827142520512850892844f,0.6446222176264210235175f,-1.4935026770981445487507f,\ +-0.8052775249062644746800f,-0.5748653112322126279565f,0.9754979932482783500092f,\ +-2.2884524191498907264020f,2.022987266935787342703f,0.1637454282369502356342f,\ +0.5475744092801727580522f,-0.8932610448161549809853f,-1.2797351399265011195894f,\ +0.1118201613432585478369f,-0.9620980829388734445473f,0.3643849907609559291011f,\ +-0.6874188098904436827752f,-1.217541476664303568000f,-0.5294220756831705676504f,\ +-0.5958966870065123266897f,0.1130069370904074471662f,1.3982224083465000230575f,\ +-1.0698899503771839292199f,-0.4886124217435617311800f,-1.3658513358172643670230f,\ +0.7879963184644042106797f,-1.4375620975102927356915f,-0.4139225629147579854639f,\ +0.4724629049642866118752f,1.3786020791121860185058f,-0.1818007311019581573319f,\ +-0.1220915022718044445904f,-2.1432379005797042026416f,-0.8715288727031362814301f,\ +1.7328275421264391908949f,0.0746395063981880602100f,0.9478227559099661192477f,\ +-0.6746643568348875685814f,-1.12189978973121218253f,0.7712825781700975991129f,\ +0.7878967433781322027286f,-0.114954127571938721775f,-0.8797100720757337066757f,\ +0.3945983137523260686486f,-0.1335061206135170208675f,-0.8812942795785859706470f,\ +0.9678256351883146590964f,-1.2184863124466103201371f,0.2811177412486541848935f,\ +0.9039980069833579712224f,-0.8586130195545335075380f,-0.9119525776637865677188f,\ +0.7834023749729661645347f,-1.8588322045751330957586f,0.9413946838303350883592f,\ +-0.6013167449649100548825f,0.7116576086154465796696f,0.1856739618227061516809f,\ +-2.4025809662081938355982f,-1.1900189182655975805858f,0.4811625406314723463197f,\ +0.2175387195999395339996f,-0.0380853618830928608574f,-0.6838145482543566133771f,\ +-1.5179336348870946515888f,-1.718734246002084020688f,-0.5464611700109887060250f,\ +0.7723526959000743818962f,0.3006795138383335785903f,1.4291868716265472283311f,\ +-0.0677166634975557846232f,0.0573956162401944233742f,0.1830487012206095109867f,\ +0.6989722492840018119864f,0.1910038834963114218191f,0.2306826823577726726100f,\ +-0.2565102919971545825106f,-0.3420573662934773273570f,-0.0978166804483409507709f,\ +0.1422536753322360680851f,0.5435939242933658377410f,-0.3468100829076145585894f,\ +0.4660640367220392210612f,0.8993729143853705920719f,0.7600191222869452367661f,\ +0.8968829064436780740266f,0.5805771807617583490924f,-0.2307843851109470378891f,\ +0.5165770205506754475522f,0.8824788500189956197417f,-0.7969387348104061130627f,\ +-1.8168722946703086407183f,1.5190242407155258863583f,-0.8149773729875190442229f,\ +2.4028228775031306163612f,0.4982657796195523181026f,0.2226740315197290043248f,\ +0.1768897379163425209736f,0.3603060382424789764855f,0.3218716686921767045071f,\ +-1.192570046506437719813f,-0.1122386313819233177869f,-2.0287975179488202392974f,\ +0.100288454133301133120f,-0.9179783877737051067669f,-1.1999331406575297620520f,\ +0.7483478159755958536437f,2.2060613717090746810356f} + +#define RESULT {0.2233738732437201557346f,0.0509114261721980362885f,1.0767942567911201745545f,\ +-0.0599430280405672463728f,0.1149124379797051148655f,0.3745460477695387035979f,\ +-0.3090091280795300709983f,-0.1498661654051850200542f,-0.3780180809438991595961f,\ +-0.4539353243495501954996f,0.6771572627749745665326f,-1.0146085369409014731445f,\ +-0.9686564923933993487282f,-1.1191250002845629651915f,1.1702255762215818535310f,\ +-0.8541951038511210736459f,-0.2598500531232013632810f,0.9956994243583069392756f,\ +0.6385765127412353914238f,0.3184037447477280347030f,0.6841145592833487443230f,\ +-0.6144568631857774132499f,0.2748482455938721091826f,0.3766345938432117956829f,\ +-0.7961060093123013547967f,-0.7446909349913972686608f,0.1379876022907993438071f,\ +0.2507123565043022361820f,0.759175872898178005777f,-0.5428794496736766284073f,\ +-0.89833074078511021554f,-0.9856607896834306270506f,-0.2042349952101077392719f,\ +-0.3798302772852411579585f,0.8514111742492602719068f,0.8799860018302214648145f,\ +0.8760722415122048634117f,0.6529277236314812160600f,0.4737097703113398172725f,\ +-0.5408045473230975730417f,-1.1576046419742331838876f,-0.8087511308495316519895f,\ +0.3794186378049814734048f,-0.6687094713589172290114f,0.7582929808049961861727f,\ +0.8981012978260718426782f,0.4496629050128420623800f,-1.0912735975391061327144f,\ +0.3809844030879972476278f,0.1721944986308187042212f,-0.0823858026410947269502f,\ +0.6870411688329144395126f,0.7452719880215435965809f,0.4286690862084140407617f,\ +0.7448284765591709488675f,1.0133478453990099055204f,-0.6241044852011972121630f,\ +0.6019336895450897451099f,-0.9296864924479115721567f,0.5682544332615881987891f,\ +-1.1335263715873262757583f,0.2943182248013878621329f,0.9744281865108882501048f,\ +-0.5879638357107155322012f,1.1937528186152712716961f,-0.3265930739728566956082f,\ +0.1094867742408287547562f,0.2027547884149371593132f,0.3959400774109990694960f,\ +-0.5162971747333449101802f,0.1447785328438968288634f,-1.0834879385306221966090f,\ +-1.112201615701992940544f,-0.98346913687842862917f,-0.1552615733221418270471f,\ +1.062017052786182524926f,0.7805154284284491206236f,-0.9463968404701921244282f,\ +-1.088790816976063835497f,-0.1235302727421704604982f,-0.1500916423979053448967f,\ +0.8069530021779800499360f,0.6913301738780865957068f,0.7573010048408638228423f,\ +0.6969765492354944580455f,0.6121813376326975530972f,-0.8168741064761906311986f,\ +0.0583718892203711620104f,0.3725683317450820819516f,0.1496473933205103579169f,\ +0.7874448575733706823243f,-0.8886955789071054878647f,0.3272808967598674345645f,\ +-0.0825263887088810432768f,0.5725854110105892402771f,-0.980788536566781998793f,\ +-0.6779506710306395511623f,-0.5217330517396027156352f,0.772995847351621967469f,\ +-1.1588253401537096376472f,1.1117042516684423337f,0.1623050519698593929796f,\ +0.5009790459791051420169f,-0.7290794216990050813365f,-0.9074929345625200038938f,\ +0.111357569834535111153f,-0.7660835307058299070704f,0.349432040770661034301f,\ +-0.6022322122997969540137f,-0.883185569845575946246f,-0.4869072854862174781765f,\ +-0.5373968957759416298359f,0.1125295355475867259409f,0.9499457978350420717106f,\ +-0.8191503966966299232766f,-0.4544961153792455021971f,-0.9388212744104845741688f,\ +0.667378646873721059762f,-0.9630145809992480820938f,-0.3924506725722226585518f,\ +0.4413762601275756369823f,0.9432440329190430183814f,-0.1798366074472934617035f,\ +-0.1214902252731905191174f,-1.134237248756892579848f,-0.7168606663031997783264f,\ +1.0473916695445741886772f,0.0745013609201800736104f,0.7586170976909952790024f,\ +-0.5935190472805600414574f,-0.8427835085661474767704f,0.6569834032811123769591f,\ +0.6673172133738860534180f,-0.1144517528481678869667f,-0.7214914324609644769026f,\ +0.3758410950307565223660f,-0.1327212976140068612096f,-0.722383800988696922474f,\ +0.769049408891516961262f,-0.8835660062516154100720f,0.2740448831292710551999f,\ +0.7350195594735607906856f,-0.7094731621063239401792f,-0.7393796262522003281958f,\ +0.6645381846985234375325f,-1.0772344059827341222757f,0.7552201039546350136433f,\ +-0.5413871326815293816281f,0.6185070897724082028546f,0.1835833463904297524483f,\ +-1.176386657281365266670f,-0.8719472877519027775861f,0.4484643942741659561335f,\ +0.2142014421948802427309f,-0.0380669636860080026763f,-0.5997804502671881810016f,\ +-0.9882664118774061590145f,-1.0438491153613729256477f,-0.5001221995547742160682f,\ +0.6576540281533080900545f,0.292080085019127744239f,0.9602726979256205330771f,\ +-0.0676134413768641334697f,0.0573327152217289193192f,0.1810443840994339081973f,\ +0.6100358657130787731759f,0.1887306738654894733287f,0.2267166741276365193869f,\ +-0.2510965487437752940991f,-0.3295815282597121531616f,-0.0975064859373050984992f,\ +0.141305606529955662953f,0.4979116182528884881897f,-0.3338302007475900112787f,\ +0.4361321851910835434296f,0.7324685375973356560309f,0.6498825704253795576548f,\ +0.731090278993245523687f,0.526015577583169635645f,-0.2268132361170670519002f,\ +0.4768211073463659022131f,0.7230501420836584758334f,-0.6728715276854828619690f,\ +-1.0676488164290300897363f,0.9885963208407696489743f,-0.6838069995773392584226f,\ +1.1764223744131836468796f,0.4622592705138702240397f,0.2190994523411692873616f,\ +0.1750786606269341127984f,0.345826480359459564884f,0.3113998336672463840280f,\ +-0.8730018295092231150889f,-0.1117708529226727198758f,-1.1128425715998719880417f,\ +0.0999542424787834421496f,-0.7426595867662098005013f,-0.8760306483273037070347f,\ +0.6424428721795988339593f,1.1452043748636047126865f} + +#define CSOURCER {-1.1795163216180464260674f,-0.6957584169324845246862f,0.8259988996926452831104f,\ +0.2005040766836741483736f,-1.2112828126521528737669f,1.577061196992769698255f,\ +0.7637772368360737917925f,1.8192271630516374525399f,0.5455430088849253511540f,\ +1.146539236621446411490f,1.6240394311350210276856f,-1.4966797534977682726520f,\ +-1.59547014335820214193f,-0.7395898851221245351439f,-0.8068636961152658715335f,\ +-1.0311002075319768422901f,1.2005970723482952688954f,-0.2648910783446530303742f,\ +-0.2626223153489460337973f,-0.7475187472806215094323f,-0.5661153624892958369230f,\ +0.7434875747358512532159f,0.7872535238570613769227f,0.451715552409009846180f,\ +0.4606878032667490185936f,0.0776842938192593146507f,0.8641526902252117947612f,\ +1.207833841833020782630f,0.8731959322473188400693f,0.0203507380205638840898f,\ +-2.142561452892851825425f,0.3422111419280877142590f,1.2579314478540355448644f,\ +1.7477933051936518360492f,0.5187339957481993391042f,-0.132728581017459240643f,\ +-1.1602733035670516059668f,0.4875989045190238790894f,-0.5701105851822111381111f,\ +-1.1912139790942799510987f,2.0124340046175204221868f,-2.7045248893564091119401f,\ +-0.6431322992574242114472f,-1.9153194443350760600708f,-0.5655545944523592272191f,\ +-0.65321727466490830949f,-0.704349532744792949934f,0.1130503418105048285547f,\ +0.7790220841116946015603f,-0.8369920883463126681789f,-1.604067362874623814406f,\ +-0.2256746981594401069149f,-0.1392938143448255172707f,0.6830835101317246360608f,\ +-0.4155213883413004238854f,0.0229733819760836940893f,0.8246417042132325736503f,\ +-0.6376565658151804871778f,-1.7068298799179615343746f,1.4073819355206949044401f,\ +-0.8295221757203087298294f,0.6373043870424420775933f,-0.2922017410826197592044f,\ +2.1752387761511053909658f,0.0600723389389604608968f,0.7835812912685555797765f,\ +-1.3959357154825373648066f,-2.0629358999978850697232f,0.2656918800288301518719f,\ +-1.1613766205716309354301f,0.8939124507954123721731f,1.6784098435216081579568f,\ +1.2683311792448521693188f,1.8385748076192800493089f,-0.9497329202198889763764f,\ +-1.270378528387523964227f,0.7963056587352231874277f,-0.8480009473832804678395f,\ +-0.8640072224951356183453f,-0.8715001223760306947597f,-1.0437638424148545368553f,\ +-0.4238345049288854693437f,1.1151445198271947578661f,-2.2055374030068151114392f,\ +0.2874269036908579932899f,-1.141542990475093111158f,0.5076848390265716881586f,\ +0.3056363849775944885323f,-0.3052849785217074396471f,0.0155317052678219415240f,\ +0.2432114799458970910706f,0.6784283234918451199746f,1.872617399166290219625f,\ +-0.5480102320972454199577f,-1.1310137592478748391756f,-0.0865801063652356234224f,\ +-0.32288669591661972591f,-0.3304845320488251636526f,0.0611848701378388329375f,\ +1.826560717567842440090f,0.7447867877814601245134f,-1.1564474239432984692399f,\ +-1.1265940444751152416103f,0.142628529129462972014f,-0.8925873814067234457426f,\ +-0.3627863505191566417807f,-0.5662183332585394301972f,-0.2716795089578870614488f,\ +1.3639803640910439508360f,1.237612166886607800720f,0.3924305122780659127457f,\ +0.7582137693795522048745f,-1.1492170633741971563779f,0.4241382639443282975833f,\ +0.4098444400457034175744f,-1.37669132334320454270f,-1.4476326062045372644604f,\ +0.7114066611465256206870f,-1.3924830606697651269599f,0.0338524257403221839891f,\ +0.0146836062137128426502f,1.2378730149006278438151f,0.2801823548361609406143f,\ +-1.3742686169958964192972f,0.1717540380186403925489f,-0.5855903929173471578196f,\ +0.1907429151227005570401f,0.7888793090772500127272f,1.1338168541183824000740f,\ +0.7778678198128919918375f,0.4430509890900592440133f,-1.8169712227336964893709f,\ +-0.1603235606348805963872f,1.0728726966089832117746f,-0.6538383763382829005906f,\ +-1.2903854138672581353120f,-1.2588653493715018516497f,0.662482523108547827206f,\ +0.8653058064884894262647f,0.8205627120768179683097f,-0.6052538675768098785923f,\ +0.1489320223008726296055f,-1.1002545757952191252116f,0.5601748137285590400936f,\ +-0.7753064210754536667025f,0.0825270383499445148168f,-1.3301792471357218872186f,\ +0.3149537401293732719054f,-0.4413283119409475707684f,0.5584497354764290655282f,\ +0.2709448579613401020261f,-0.4281368707331745238065f,-0.2387957265896963054974f,\ +-0.4604827882307634956405f,-0.5412644127984000963494f,0.7328783982761175597176f,\ +-0.0713404400136534444510f,-1.1936962614002064597685f,-3.042807307214757006619f,\ +0.7597050488151386726798f,0.1791274991920646930676f,-0.2506292816675101398083f,\ +-0.6351531470374360832665f,-0.121161180968055212648f,-0.3652194549719223193307f,\ +-0.9437320920432173965153f,-0.2710022932148818952669f,-0.9443973941449046449748f,\ +1.3983220899832822237130f,-0.4381256814836405610869f,0.3765568950431126271639f,\ +-0.3219819650340491334894f,-0.1074889504736799422657f,-0.6785727331891553415488f,\ +2.4505579021475099033012f,-1.3142551981836398944381f,0.7354780365902759964314f,\ +0.3711279315629368302787f,-0.8351813322615772028357f,0.9766824658266765046832f,\ +1.461883720898450089720f,1.5553635146325224258845f,1.4271923988949506423296f,\ +0.0934141721491809351452f,-0.6278372555306163116384f,-0.7994063607890871114847f,\ +0.4560734872063767486594f,1.2736575371127356604006f,0.2044809074410245119946f,\ +0.2464253458581916467196f,0.1480097817386342162749f,-0.7352399556856978879438f,\ +0.9198120099159204920980f,-0.6013531026590643868701f,-0.6865004071225593307304f,\ +-0.104616070370811706236f,-0.3041328910990643286105f,-1.0780356133329238588203f,\ +-0.4779521279351744977859f,0.5025105381497957379722f} + +#define CSOURCEI {-0.9552428551144188650923f,1.2961834852294731312838f,1.1017640646828426032044f,\ +0.8711087850527934328682f,-0.9420760043657475657497f,-0.1497284505613425964476f,\ +-1.3185366552605053414027f,-0.6344981208817582762904f,-0.1939736947913383302566f,\ +0.5047024828595823020549f,0.571239270735604098839f,0.6329832938920191276466f,\ +-1.0836206204774869732432f,-0.2988022043772741165313f,0.0786451729619408040906f,\ +0.1005946170325885125063f,0.1951019512685897017157f,1.3036996759610997020928f,\ +-1.604446040591435362899f,-1.665829130168900329423f,0.3894119616051456289618f,\ +-0.6441312956332616579402f,-0.3024073427875212938254f,-0.4621890957188650173038f,\ +-0.6774568059775447625981f,0.445231860114528421590f,-0.5535293580988084327643f,\ +-0.0006762893110915249931f,-1.089389506561633025328f,0.5723493142465210237191f,\ +0.4420973206857362058919f,-0.1612581930858848211496f,-0.7163329171822375718293f,\ +-0.5277733874018479820478f,-0.4768406780661605948168f,-0.3993604887388358948286f,\ +-1.3804293506092022436604f,-0.1591254367281162429570f,-1.6980146860343119374903f,\ +-1.4761781930573465437817f,0.2862303841437082718713f,0.6052999005919722508295f,\ +-0.5483298295339265049364f,0.0209604427664898014527f,-0.6457183807429971444947f,\ +-0.0603329310380973649064f,0.0091414413452102355473f,1.0949883817318917245132f,\ +1.6400776092272673079009f,-0.623485665086227380804f,0.9132225220115295361012f,\ +0.0829708966832887195864f,-0.1905412057335640341194f,1.7237280439025588485435f,\ +-1.1486098807701770052603f,0.7656322424078984001383f,0.365608177776686305016f,\ +0.8275570484489896960767f,-1.1195346368945833237518f,2.009348617520048563279f,\ +-1.3914607990698013573194f,2.0854477679794358735421f,1.2877168046463016715109f,\ +-0.8111545211857794646093f,-1.4392639991852771430558f,0.5337937550547192655515f,\ +-0.4149967301072188807787f,0.7753596072101661684783f,-2.0802067762281923890555f,\ +0.0857878546561958027494f,0.6902510695334604928775f,-0.8020501997457173404271f,\ +-0.4448276219158631139550f,-0.4542741017673427861290f,0.7497806557441212271797f,\ +0.3761686067694443580400f,-0.5437950704705085680501f,0.1952712229487395811933f,\ +1.4963569359039357031804f,0.1448961397504171522144f,-1.6571742156046651572865f,\ +-2.266222156481924709936f,-0.6895293883454371997033f,0.2295209621736973848449f,\ +0.5362163385171105911553f,0.9313103118348207143384f,0.6330960821019180340130f,\ +-1.0858111091662558944648f,0.0887541886374976635166f,-0.34952319730873010473f,\ +1.2435770678983146808605f,0.3496891344866185913354f,0.8861210080034624958500f,\ +0.8494363200871917207735f,-2.6007673657870293837391f,0.1208397242502698559763f,\ +-2.7285983994246283401708f,-0.9589084058643195795923f,0.5028677894031623463178f,\ +0.1177935239520793014867f,-0.8303109816686591315715f,0.1392963806792855974148f,\ +-0.7007200653415375235511f,0.3010279059055253614297f,0.2808756871176958935798f,\ +-0.3407758216783158822238f,-0.1629402754377415607490f,-0.9384370915542669111531f,\ +-0.9062708617577245329144f,-3.8216620591432644005181f,-0.4342151148359789103459f,\ +-1.8035270857235303765265f,0.5183732162291515566110f,-0.6322771366436347184603f,\ +-1.565814486101537061913f,-0.1275146747340561437234f,1.64064977802353451075f,\ +0.3863617690782851776810f,2.0004008659625807098337f,-0.6217884089242305956091f,\ +0.5238947303594374549363f,0.6235004214546735479274f,0.2053444204279457063755f,\ +0.8703948860420792632553f,-1.0392069272746413677311f,1.003277086375655047235f,\ +-0.592126107443248783646f,1.4081926997371712051432f,0.3085101089696197229628f,\ +1.3401416840168169919423f,-0.1266586333113026985320f,-0.6461594510334438545840f,\ +-1.0118098370918304773625f,0.6188273552553577028235f,0.3590555220619524590120f,\ +-1.1731665361057745933238f,-0.6396350210213861409159f,-0.1754282371769660675564f,\ +-1.4007581459609705909486f,0.9435849228454418202716f,-0.8904968184314612233976f,\ +0.2054651558278166589844f,0.4710457442017800810952f,-0.9616306477690889087384f,\ +-0.121221389008828367428f,-0.4940626370918775878138f,-1.6256998584585298228689f,\ +0.2527933604007285839366f,0.9910414428133418329736f,-0.4204166976073123729307f,\ +-0.3726016912019385896038f,0.9512465231833235890235f,1.9770278000388763484096f,\ +0.7942630050207910574755f,0.2042467951135929216111f,-0.4515030272861193516576f,\ +0.6146475682591936440247f,-0.6290585121948016888993f,-0.1427330253584118413546f,\ +-0.0603831392611861861308f,-0.0118358773438195733624f,1.060362899843382056275f,\ +0.0968488469273018626193f,0.1916075762821658201585f,-0.4096449181703107345065f,\ +0.3696227488734469268650f,0.2664498618423789544352f,-1.1169828984464544863187f,\ +0.1529016818054778348301f,0.5016653096177513537768f,0.3713737327704177415555f,\ +1.519060224335068820523f,-0.1807259441689535728326f,1.8139275887503047979266f,\ +-0.3257752015232963649360f,2.1486960576842424330835f,-0.1051361455427324009815f,\ +-0.2626851203928968758738f,1.0103646188196337973864f,0.2148110767207350724206f,\ +0.4407052420763278299809f,-0.5122126723342420584473f,1.2412118916908576604641f,\ +0.9766933236701691445347f,2.039099736880281454887f,-0.2559919392094065493382f,\ +0.5420836083333696597819f,0.0791245311903027159772f,-0.0955893777744002970387f,\ +-1.3712286813648302263857f,2.1069701518694308184365f,-1.189922581642507859456f,\ +-1.1599757893702906663691f,-0.5696357256121767909107f,-1.3015572133370920671069f,\ +-0.5449309642239419382292f,-0.5067789559895423678881f,0.6346443332238025369918f,\ +-0.6108333161328157734360f,1.8419857567724760016858f} + +#define CRESULTR {-1.0378404956328399766363f,-1.133735695651125086059f,1.0339197498326544444325f,\ +0.5531122148702418694910f,-1.040340001858497842591f,1.0085860369894361632248f,\ +1.1420720538989748149561f,1.1056797792052726059353f,0.5117972485274214777817f,\ +0.9070677525728206846978f,1.0572990288526666891045f,-1.0360972400059726972188f,\ +-1.1383229838393340571656f,-0.6648420928164470167232f,-0.6807443500487321275116f,\ +-0.8031597943350016199915f,0.883947625424225447155f,-1.269412549612109586405f,\ +-1.4161063395011512788813f,-1.2859233456553140761969f,-0.5672668801729759957553f,\ +0.7745318044293433290548f,0.6947007749642374330179f,0.4991201053193883852011f,\ +0.6140034872209438887580f,0.096413007169791717366f,0.8007709883951089624432f,\ +0.8792563999787510464756f,1.0343346624696823088385f,0.0302467913897976371784f,\ +-1.1472175673143576446478f,0.3369832737151475243742f,0.9907410521400105141154f,\ +1.0796900049026223467052f,0.5594674889946016360653f,-0.1560251223940891662778f,\ +-1.1705823062338804874116f,0.4618385738778090776613f,-1.3324797047631469215645f,\ +-1.1997345609820562195580f,1.1160254294044837930500f,-1.230501878395329207194f,\ +-0.6761086369817806973614f,-1.0896592333865446899921f,-0.6710881467286168300390f,\ +-0.5798029666713722107829f,-0.6136654494083557676021f,1.1617507290156328103592f,\ +1.27276401512989068010f,-0.8120428578165023170143f,-1.1072391191957589029471f,\ +-0.2233715590492064695383f,-0.1434422451344934956730f,1.3153998337128238738103f,\ +-1.0526498309129606045786f,0.0553606627561369843415f,0.7291584643384485531215f,\ +-0.8211933984789114848724f,-1.1593353121271579020402f,1.3152057671476293787549f,\ +-1.172801856026281397405f,1.4071868225661712248353f,-1.237749706635684621148f,\ +1.1803373520872921798031f,1.5151506180989924299496f,0.7531983030718831795269f,\ +-0.9762856051169326310202f,-1.1612557605568909480098f,1.4932305416569968681273f,\ +-0.8614722664300586973951f,0.8618528735715539346174f,1.1016443473924788509777f,\ +0.9393199732131509716027f,1.0919198431908447854966f,-0.9052324038739091305317f,\ +-0.9298866314213817263479f,0.7633780893052066751636f,-0.7143116680469970836143f,\ +-1.2127221047629597183715f,-0.7227638256662162197230f,-1.253501631676815275540f,\ +-1.4738165927959636647415f,0.9413278434132237304510f,-1.1484735264203178584097f,\ +0.3698862224535668929981f,-1.0222624393360630890015f,0.6231994143282580944643f,\ +0.9950036636352803665062f,-0.2983226702432650867536f,0.0176907017367243651895f,\ +1.2324636476429444709169f,0.6361627801840686879942f,1.1459319881374090410731f,\ +-0.7953680408910630550423f,-1.4154164061425698051266f,-0.0876282946873059020998f,\ +-1.5216557556403844664317f,-0.8071142269969606708457f,0.0815747053150205070349f,\ +1.0712377179167194007903f,0.8666202597884599123645f,-0.8619222017137594393787f,\ +-0.9481006227828882026998f,0.1552413858057176687666f,-0.7506128146087278629750f,\ +-0.3836715577045819447477f,-0.5239185633043924594787f,-0.7436026090030812829568f,\ +1.0616275053374448766874f,1.4897517325664235698923f,0.4367517077925673341099f,\ +1.3246660695183969380651f,-0.9109135023203799308433f,0.5553722323129884896886f,\ +1.3365545316217091187383f,-0.9452504202661284882225f,-1.24445301968662169756f,\ +0.6665795438258386163000f,-1.314150441284937187447f,0.0550695906884250130364f,\ +0.0202332991673926272658f,0.9634857364192206397036f,0.2836842504797497110935f,\ +-1.0552170344242444155469f,0.9396260470070250114816f,-0.9303925570132891564867f,\ +0.2783356640126000702828f,1.1824291811858682610392f,0.8685688319389791578473f,\ +1.1519647668153425446036f,0.4220715686665841848146f,-1.1065714015957384130928f,\ +-0.861924596730684333679f,0.9073537157079681891858f,-0.6218839294281949259258f,\ +-1.120015581786375724604f,-0.9733844585621500566930f,0.595029230494463101664f,\ +1.175230190501943328130f,0.9508205283471821145369f,-0.8508278968495206484590f,\ +0.1541098930310453307690f,-0.8824217885955716322854f,0.8902851444120675195038f,\ +-0.6639557596979325237996f,0.1084368331219868891724f,-1.2396941127079998956617f,\ +0.3226031789257856052799f,-0.8843151570857661347702f,0.5707126023897258759732f,\ +0.3012759106579737111709f,-0.8367027089033168829602f,-1.4909615617958020816758f,\ +-0.7009193727197650103378f,-0.5098573775891588333309f,0.6979392344955810401075f,\ +-0.11360619748546052499f,-0.9509385591695135309109f,-1.253860295053432105661f,\ +0.650797750208578995590f,0.1772712514866976729611f,-0.9640945137047890467485f,\ +-0.5689005122453275609118f,-0.1250511412013994849701f,-0.4037636514907702589561f,\ +-0.7926166698304296653887f,-0.2823466357029139617296f,-1.056824688357730357424f,\ +0.9537129762345133432433f,-0.5025361511250948653995f,0.4038372312258701746224f,\ +-1.356748408455357823854f,-0.1106205947085566049237f,-1.3416335800212069173654f,\ +1.1885949854017261451133f,-1.3422443000337007656952f,0.6375731708639520434190f,\ +0.3760968575323995755078f,-0.9884746207385446403748f,0.7854115858087797885645f,\ +0.999043445647114114472f,1.033179400413832382810f,1.1526308570666976560659f,\ +0.6867562899067288784138f,-1.4009010309735028254607f,-0.6940419760103245794269f,\ +0.5354681750957488439724f,0.9063410461496741454823f,0.2034358249367814175379f,\ +1.3295608151948998809644f,1.5281379412739910517161f,-1.0737486644518823286631f,\ +1.0727905584835071284289f,-0.6577524210666327864061f,-1.1372820311372766610702f,\ +-0.1467884541731124814490f,-0.3758609793464613990643f,-0.9135278670013463608868f,\ +-0.5879353157795642603745f,1.3892627420568484097885f} + +#define CRESULTI {-0.3299360864553753103223f,0.5773236414575498853807f,0.4991095547887292593892f,\ +1.0331094146354482532502f,-0.3176151990967214233663f,-0.0427672547155572568833f,\ +-0.5408736725419536206516f,-0.1380553162115908116814f,-0.1495803862615101287314f,\ +0.2075977110248564960759f,0.1483156441793008761820f,0.1814264210630067153396f,\ +-0.2481388687151736549552f,-0.1914494023025192226406f,0.0475995307877313186817f,\ +0.0486725512662827888843f,0.0793454719839349342791f,0.8749639413571212998022f,\ +-0.6896294045728997845757f,-0.5086525074514365307721f,0.2944098793875352670923f,\ +-0.3917506744074427116331f,-0.1846852570799382420308f,-0.3894217746197643492678f,\ +-0.5646100518854718641748f,0.4746040014516990646065f,-0.3015127179783077537856f,\ +-0.0002750414994330601867f,-0.4738712470203229054633f,0.6504861039469930217294f,\ +0.0770111005352082517161f,-0.1450021418767060144006f,-0.2504460533174687753011f,\ +-0.1242925201299330817406f,-0.3767991401181884358884f,-0.4132076872602681860691f,\ +-0.3870747570445600693745f,-0.1287551829606753961421f,-0.5591653729797143590474f,\ +-0.3808547758746415601294f,0.0560087196606005033317f,0.0701856173788610038233f,\ +-0.3788485405347551959743f,0.0044895072328474238538f,-0.4792093730891275327188f,\ +-0.0422815385429984591514f,0.0061101098120875880007f,1.3269258764406561823535f,\ +0.50216582477378490790f,-0.3441118926473294425961f,0.2204807457606408893636f,\ +0.0790893257779779063066f,-0.1890021515648551142519f,0.518665277550073300361f,\ +-0.8006086655024508003109f,1.0073379811293934338323f,0.2137094925844510162616f,\ +0.5375421998418649094376f,-0.2320202834395212743157f,0.3256990051992574852768f,\ +-0.5075425697148114867474f,0.4587488944259289214145f,0.8635283954295314146066f,\ +-0.1297869621390935479521f,-0.852694676585578515f,0.3180243625197139989424f,\ +-0.1362504231180562963566f,0.1356147426873018091431f,-0.5110906304654022624945f,\ +0.0364746671485365880905f,0.3518205609306652159596f,-0.1882338930265980980749f,\ +-0.1641509348055795458610f,-0.1003678389496054923491f,0.3533058939584889368568f,\ +0.1400753442460135889114f,-0.3190262039403771177071f,0.1130098866744752156288f,\ +0.4874882612585151875351f,0.0821093566409674818773f,-0.4196102828902398829136f,\ +-0.451423643355465198379f,-0.2794721520836026540380f,0.0388676985912680683644f,\ +0.5261724556813406339373f,0.3369140501375452179111f,0.5021943268293638240607f,\ +-0.9466008502228719923011f,0.0813161752282447886087f,-0.3647911127697049948893f,\ +0.9402058236775613364600f,0.2373145443406108057172f,0.1741667096823807936445f,\ +0.6110175965051998225874f,-0.3276211596627106037438f,0.1205074840878167241609f,\ +-0.3776545253138779423274f,-0.8929722827626465075923f,0.549792722962075375293f,\ +0.0271042479895461374539f,-0.47522513055127707515f,0.0593823102898174345898f,\ +-0.2798313897020670570903f,0.3034375004902351569136f,0.1544875118519504486603f,\ +-0.3064946913611272250044f,-0.1233973071314871799986f,-0.9748519593919268144688f,\ +-0.2695469774323944189831f,-0.2398595153162375315237f,-0.3849351067537384318840f,\ +-0.4832629774775746844817f,0.2120502817724358168849f,-0.5500280838647416681297f,\ +-0.6567358702149050930785f,-0.0439088406752093027285f,0.3215272662057582220285f,\ +0.252983359599071477852f,0.3285524490410307585364f,-0.7260295113781071174586f,\ +0.5814783672028649430530f,0.2280478984411803411447f,0.1921683660815579341996f,\ +0.2598222279442688464890f,-1.2261944929533434844870f,0.6354501028006451779362f,\ +-0.6350507146232319266588f,0.5241840999802419576170f,0.1326112979841672367964f,\ +0.5331634907909190701503f,-0.1060363792025432461141f,-0.1405159325068739140097f,\ +-1.2650277702054697481771f,0.2669908129991411804838f,0.2495345813255305800205f,\ +-0.3316627619047222141901f,-0.2282918540535401608071f,-0.1217152595768435791035f,\ +-0.4921799931736892674827f,0.4709770755615852455556f,-0.5858164911014823728053f,\ +0.2035859669317575948444f,0.2043112301670926833630f,-0.6450693837623580062512f,\ +-0.0755935103401305513726f,-0.5356174761081086144188f,-0.3471562389208797116957f,\ +0.2328317315621121486036f,0.7651997819792383248583f,-0.3199579280419243554334f,\ +-0.3582454315092570285017f,0.7669246314230472316709f,0.5441811107763497856737f,\ +0.6504831149102675569296f,0.1580962824886572026806f,-0.2872668874651375658935f,\ +0.7084196447067554469612f,-0.2398740644903666341392f,-0.0138893916104706732079f,\ +-0.0382724601233607325534f,-0.0114683647521359316501f,1.042906817386681339599f,\ +0.0689854613036876146426f,0.1910230634709511876590f,-0.3704134917614289590482f,\ +0.1911216797569713354843f,0.2522464542416475996589f,-0.4451672855349098623101f,\ +0.0515134584128001532521f,0.4287903998263715155126f,0.3315338614185490695441f,\ +0.7124742713592439047332f,-0.1805296499983318203597f,0.5024343285394804459187f,\ +-0.0459393453273769861167f,0.3351247751616924785978f,-0.0681623033986126780626f,\ +-0.2332477835758634543417f,0.4789761892657505848447f,0.1091019217623192538724f,\ +0.1355147604481500289708f,-0.1428984493591255733325f,0.3037123307940571281804f,\ +1.5115293287912119346572f,0.4692494475562393740908f,-0.154956179496453544386f,\ +0.4557841446769143045614f,0.0301394028826129541099f,-0.0919789120268482279785f,\ +-0.8385856266070932374390f,0.5121474514176801440257f,-0.5562655937076338430458f,\ +-0.4610543161770726539039f,-0.4105611124291430047428f,-0.5820664911774818817136f,\ +-0.5994113052598605273502f,-0.4878070905668511203501f,0.2712394281598410339384f,\ +-0.5014387951037901913764f,0.5397742494143892288960f} + + + + + + +void satansTest() { + float in[]= SOURCE; + float res[]= RESULT; + float out; + int i=0; + + for (i=0;i<200;i++){ + out=satans(in[i]); + assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-7); + } +} + +void catansTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in, out; + int i=0; + + for (i=0;i<200;i++){ + in=FloatComplex(inR[i],inI[i]); + out=catans(in); + assert( ( (fabs(creals(out)-resR[i])) / (fabs(creals(out))) ) <1e-6); + assert( ( (fabs(cimags(out)-resI[i])) / (fabs(cimags(out))) ) <1e-6); + } +} + +void satanaTest(void) { + float in[]= SOURCE; + float res[]= RESULT; + float out[200]; + int i=0; + + satana(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-6); + } +} + +void catanaTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in[200], out[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i]=FloatComplex(inR[i],inI[i]); + } + catana(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 testAtan() { + printf("\n>>>> Float Arc tangeant Tests\n"); + satansTest(); + catansTest(); + satanaTest(); + catanaTest(); + + return 0; +} + +int main() { + assert(testAtan() == 0); + return 0; +} diff --git a/2.3-1/src/c/elementaryFunctions/atan/zatana.c b/2.3-1/src/c/elementaryFunctions/atan/zatana.c new file mode 100644 index 00000000..bfe4fc34 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/zatana.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 "atan.h" + +void zatana(doubleComplex* x, int size, doubleComplex* y) { + int i = 0; + for (i = 0; i < size; ++i) { + y[i] = zatans(x[i]); + } +} diff --git a/2.3-1/src/c/elementaryFunctions/atan/zatans.c b/2.3-1/src/c/elementaryFunctions/atan/zatans.c new file mode 100644 index 00000000..4b8e9640 --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/atan/zatans.c @@ -0,0 +1,242 @@ +/*
+ * 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
+ *
+ */
+
+/*
+ PURPOSE
+ watan compute the arctangent of a complex number
+ y = yr + i yi = atan(x), x = xr + i xi
+
+ CALLING LIST / PARAMETERS
+ subroutine watan(xr,xi,yr,yi)
+ double precision xr,xi,yr,yi
+
+ xr,xi: real and imaginary parts of the complex number
+ yr,yi: real and imaginary parts of the result
+ yr,yi may have the same memory cases than xr et xi
+
+ COPYRIGHT (C) 2001 Bruno Pincon and Lydia van Dijk
+ Written by Bruno Pincon <Bruno.Pincon@iecn.u-nancy.fr> so
+ as to get more precision. Also to fix the
+ behavior at the singular points and at the branch cuts.
+ Polished by Lydia van Dijk
+ <lvandijk@hammersmith-consulting.com>
+
+ CHANGES : - (Bruno on 2001 May 22) for ysptrk use a
+ minimax polynome to enlarge the special
+ evaluation zone |s| < SLIM. Also rename
+ this function as lnp1m1.
+ - (Bruno on 2001 June 7) better handling
+ of spurious over/underflow ; remove
+ the call to pythag ; better accuracy
+ in the real part for z near +-i
+
+ EXTERNALS FUNCTIONS
+ dlamch
+ lnp1m1 (at the end of this file)
+
+ ALGORITHM : noting z = a + i*b, we have:
+ Z = yr + yi*b = arctan(z) = (i/2) * log( (i+z)/(i-z) )
+
+ This function has two branch points at +i and -i and the
+ chosen branch cuts are the two half-straight lines
+ D1 = [i, i*oo) and D2 = (-i*oo, i]. The function is then
+ analytic in C \ (D1 U D2)).
+
+ From the definition it follows that:
+
+ yr = 0.5 Arg ( (i+z)/(i-z) ) (1)
+ yi = 0.5 log (|(i+z)/(i-z)|) (2)
+
+ so lim (z -> +- i) yr = undefined (and Nan is logical)
+ lim (z -> +i) yi = +oo
+ lim (z -> -i) yi = -oo
+
+ The real part of arctan(z) is discontinuous across D1 and D2
+ and we impose the following definitions:
+ if imag(z) > 1 then
+ Arg(arctan(z)) = pi/2 (=lim real(z) -> 0+)
+ if imag(z) < 1 then
+ Arg(arctan(z)) = -pi/2 (=lim real(z) -> 0-)
+
+
+ Basic evaluation: if we write (i+z)/(i-z) using
+ z = a + i*b, we get:
+
+ i+z 1-(a**2+b**2) + i*(2a)
+ --- = ----------------------
+ i-z a**2 + (1-b)**2
+
+ then, with r2 = |z|^2 = a**2 + b**2 :
+
+ yr = 0.5 * Arg(1-r2 + (2*a)*i)
+ = 0.5 * atan2(2a, (1-r2)) (3)
+
+ This formula is changed when r2 > RMAX (max pos float)
+ and also when |1-r2| and |a| are near 0 (see comments
+ in the code).
+
+ After some math:
+
+ yi = 0.25 * log( (a**2 + (b + 1)**2) /
+ (a**2 + (b - 1)**2) ) (4)
+
+ Evaluation for "big" |z|
+ ------------------------
+
+ If |z| is "big", the direct evaluation of yi by (4) may
+ suffer of innaccuracies and of spurious overflow. Noting
+ that s = 2 b / (1 + |z|**2), we have:
+
+ yi = 0.25 log ( (1 + s)/(1 - s) ) (5)
+
+ 3 5
+ yi = 0.25*( 2 * ( s + 1/3 s + 1/5 s + ... ))
+
+ yi = 0.25 * lnp1m1(s) if |s| < SLIM
+
+ So if |s| is less than SLIM we switch to a special
+ evaluation done by the function lnp1m1. The
+ threshold value SLIM is choosen by experiment
+ (with the Pari-gp software). For |s|
+ "very small" we used a truncated taylor dvp,
+ else a minimax polynome (see lnp1m1).
+
+ To avoid spurious overflows (which result in spurious
+ underflows for s) in computing s with s= 2 b / (1 + |z|**2)
+ when |z|^2 > RMAX (max positive float) we use :
+
+ s = 2d0 / ( (a/b)*a + b )
+
+ but if |b| = Inf this formula leads to NaN when
+ |a| is also Inf. As we have :
+
+ |s| <= 2 / |b|
+
+ we impose simply : s = 0 when |b| = Inf
+
+ Evaluation for z very near to i or -i:
+ --------------------------------------
+ Floating point numbers of the form a+i or a-i with 0 <
+ a**2 < tiny (approximately 1d-308) may lead to underflow
+ (i.e., a**2 = 0) and the logarithm will break formula (4).
+ So we switch to the following formulas:
+
+ If b = +-1 and |a| < sqrt(tiny) approximately 1d-150 (say)
+ then (by using that a**2 + 4 = 4 in machine for such a):
+
+ yi = 0.5 * log( 2/|a| ) for b=1
+
+ yi = 0.5 * log( |a|/2 ) for b=-1
+
+ finally: yi = 0.5 * sign(b) * log( 2/|a| )
+ yi = 0.5 * sign(b) * (log(2) - log(|a|)) (6)
+
+ The last trick is to avoid overflow for |a|=tiny! In fact
+ this formula may be used until a**2 + 4 = 4 so that the
+ threshold value may be larger.
+*/
+
+#include <math.h>
+#include "lapack.h"
+#include "atan.h"
+#include "abs.h"
+#include "lnp1m1.h"
+
+#define _sign(a, b) b >=0 ? a : -a
+
+doubleComplex zatans(doubleComplex z) {
+ static double sSlim = 0.2;
+ static double sAlim = 1E-150;
+ static double sTol = 0.3;
+ static double sLn2 = 0.6931471805599453094172321;
+
+ double RMax = getOverflowThreshold();
+ double Pi_2 = 2.0 * datans(1);
+
+ double _inReal = zreals(z);
+ double _inImg = zimags(z);
+ double _outReal = 0;
+ double _outImg = 0;
+
+ /* Temporary variables */
+ double R2 = 0;
+ double S = 0;
+
+
+ if(_inImg == 0)
+ {
+ _outReal = datans(_inReal);
+ _outImg = 0;
+ }
+ else
+ {
+ R2 = _inReal * _inReal + _inImg * _inImg; /* Oo */
+ if(R2 > RMax)
+ {
+ if( dabss(_inImg) > RMax)
+ S = 0;
+ else
+ S = 1 / (((0.5 * _inReal) / _inImg) * _inReal + 0.5 * _inImg );
+ }
+ else
+ S = (2 * _inImg) / (1+R2);
+
+ if(dabss(S) < sSlim)
+ {
+ /*
+ s is small: |s| < SLIM <=> |z| outside the following disks:
+ D+ = D(center = [0; 1/slim], radius = sqrt(1/slim**2 - 1)) if b > 0
+ D- = D(center = [0; -1/slim], radius = sqrt(1/slim**2 - 1)) if b < 0
+ use the special evaluation of log((1+s)/(1-s)) (5)
+ */
+ _outImg = dlnp1m1s(S) * 0.25;
+ }
+ else
+ {
+ if(dabss(S) == 1 && dabss(_inReal) <= sAlim)
+ {
+ /* |s| >= SLIM => |z| is inside D+ or D- */
+ _outImg = _sign(0.5,_inImg) * ( sLn2 - log(dabss(_inReal)));
+ }
+ else
+ {
+ _outImg = 0.25 * log((pow(_inReal,2) + pow((_inImg + 1),2)) / (pow(_inReal,2) + pow((_inImg - 1),2)));
+ }
+ }
+ if(_inReal == 0)
+ {/* z is purely imaginary */
+ if( dabss(_inImg) > 1)
+ {/* got sign(b) * pi/2 */
+ _outReal = _sign(1, _inImg) * Pi_2;
+ }
+ else if( dabss(_inImg) == 1)
+ {/* got a Nan with 0/0 */
+ _outReal = (_inReal - _inReal) / (_inReal - _inReal); /* Oo */
+ }
+ else
+ _outReal = 0;
+ }
+ else if(R2 > RMax)
+ {/* _outImg is necessarily very near sign(a)* pi/2 */
+ _outReal = _sign(1, _inReal) * Pi_2;
+ }
+ else if(dabss(1 - R2) + dabss(_inReal) <= sTol)
+ {/* |b| is very near 1 (and a is near 0) some cancellation occur in the (next) generic formula */
+ _outReal = 0.5 * atan2(2 * _inReal, (1-_inImg) * (1 + _inImg) - pow(_inReal,2));
+ }
+ else
+ _outReal = 0.5 * atan2(2 * _inReal, 1 - R2);
+ }
+
+ return DoubleComplex(_outReal, _outImg);
+}
|