summaryrefslogtreecommitdiff
path: root/2.3-1/src/c/elementaryFunctions/atan
diff options
context:
space:
mode:
authorSiddhesh Wani2015-05-25 14:46:31 +0530
committerSiddhesh Wani2015-05-25 14:46:31 +0530
commit6a320264c2de3d6dd8cc1d1327b3c30df4c8cb26 (patch)
tree1b7bd89fdcfd01715713d8a15db471dc75a96bbf /2.3-1/src/c/elementaryFunctions/atan
downloadScilab2C-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.am67
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/Makefile.in803
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/catana.c20
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/catans.c249
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/datana.c20
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/datans.c18
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/satana.c20
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/satans.c18
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/testAtan.h40
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/testDoubleAtan.c496
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/testFloatAtan.c502
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/zatana.c20
-rw-r--r--2.3-1/src/c/elementaryFunctions/atan/zatans.c242
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);
+}