mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-19 21:09:22 +08:00
* libc/include/complex.h: New complex header.
* libm/common/fdlibm.h: Added ifdef _COMPLEX_H. * libm/complex/*: New complex functions imported from NetBSD. * libm/Makefile.am: Added complex subdir. * libm/Makefile.in: Regenerate. * libm/configure.in: Added complex subdir. * libm/configure: Regenerate.
This commit is contained in:
parent
1a91b8c0ac
commit
5af2a793bc
@ -1,3 +1,13 @@
|
||||
2010-10-08 Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
|
||||
* libc/include/complex.h: New complex header.
|
||||
* libm/common/fdlibm.h: Added ifdef _COMPLEX_H.
|
||||
* libm/complex/*: New complex functions imported from NetBSD.
|
||||
* libm/Makefile.am: Added complex subdir.
|
||||
* libm/Makefile.in: Regenerate.
|
||||
* libm/configure.in: Added complex subdir.
|
||||
* libm/configure: Regenerate.
|
||||
|
||||
2010-10-06 Eric Blake <eblake@redhat.com>
|
||||
|
||||
* lib/str-two-way.h (two_way_long_needle): Avoid bug with long
|
||||
|
124
newlib/libc/include/complex.h
Normal file
124
newlib/libc/include/complex.h
Normal file
@ -0,0 +1,124 @@
|
||||
/* $NetBSD: complex.h,v 1.3 2010/09/15 16:11:30 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner.
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#ifndef _COMPLEX_H
|
||||
#define _COMPLEX_H
|
||||
|
||||
#define complex _Complex
|
||||
#define _Complex_I 1.0fi
|
||||
#define I _Complex_I
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* 7.3.5 Trigonometric functions */
|
||||
/* 7.3.5.1 The cacos functions */
|
||||
double complex cacos(double complex);
|
||||
float complex cacosf(float complex);
|
||||
|
||||
/* 7.3.5.2 The casin functions */
|
||||
double complex casin(double complex);
|
||||
float complex casinf(float complex);
|
||||
|
||||
/* 7.3.5.1 The catan functions */
|
||||
double complex catan(double complex);
|
||||
float complex catanf(float complex);
|
||||
|
||||
/* 7.3.5.1 The ccos functions */
|
||||
double complex ccos(double complex);
|
||||
float complex ccosf(float complex);
|
||||
|
||||
/* 7.3.5.1 The csin functions */
|
||||
double complex csin(double complex);
|
||||
float complex csinf(float complex);
|
||||
|
||||
/* 7.3.5.1 The ctan functions */
|
||||
double complex ctan(double complex);
|
||||
float complex ctanf(float complex);
|
||||
|
||||
/* 7.3.6 Hyperbolic functions */
|
||||
/* 7.3.6.1 The cacosh functions */
|
||||
double complex cacosh(double complex);
|
||||
float complex cacoshf(float complex);
|
||||
|
||||
/* 7.3.6.2 The casinh functions */
|
||||
double complex casinh(double complex);
|
||||
float complex casinhf(float complex);
|
||||
|
||||
/* 7.3.6.3 The catanh functions */
|
||||
double complex catanh(double complex);
|
||||
float complex catanhf(float complex);
|
||||
|
||||
/* 7.3.6.4 The ccosh functions */
|
||||
double complex ccosh(double complex);
|
||||
float complex ccoshf(float complex);
|
||||
|
||||
/* 7.3.6.5 The csinh functions */
|
||||
double complex csinh(double complex);
|
||||
float complex csinhf(float complex);
|
||||
|
||||
/* 7.3.6.6 The ctanh functions */
|
||||
double complex ctanh(double complex);
|
||||
float complex ctanhf(float complex);
|
||||
|
||||
/* 7.3.7 Exponential and logarithmic functions */
|
||||
/* 7.3.7.1 The cexp functions */
|
||||
double complex cexp(double complex);
|
||||
float complex cexpf(float complex);
|
||||
|
||||
/* 7.3.7.2 The clog functions */
|
||||
double complex clog(double complex);
|
||||
float complex clogf(float complex);
|
||||
|
||||
/* 7.3.8 Power and absolute-value functions */
|
||||
/* 7.3.8.1 The cabs functions */
|
||||
/*#ifndef __LIBM0_SOURCE__
|
||||
/* avoid conflict with historical cabs(struct complex) */
|
||||
/* double cabs(double complex) __RENAME(__c99_cabs);
|
||||
float cabsf(float complex) __RENAME(__c99_cabsf);
|
||||
#endif
|
||||
*/
|
||||
double cabs(double complex) ;
|
||||
float cabsf(float complex) ;
|
||||
|
||||
/* 7.3.8.2 The cpow functions */
|
||||
double complex cpow(double complex, double complex);
|
||||
float complex cpowf(float complex, float complex);
|
||||
|
||||
/* 7.3.8.3 The csqrt functions */
|
||||
double complex csqrt(double complex);
|
||||
float complex csqrtf(float complex);
|
||||
|
||||
/* 7.3.9 Manipulation functions */
|
||||
/* 7.3.9.1 The carg functions */
|
||||
double carg(double complex);
|
||||
float cargf(float complex);
|
||||
|
||||
/* 7.3.9.2 The cimag functions */
|
||||
double cimag(double complex);
|
||||
float cimagf(float complex);
|
||||
/*long double cimagl(long double complex); */
|
||||
|
||||
/* 7.3.9.3 The conj functions */
|
||||
double complex conj(double complex);
|
||||
float complex conjf(float complex);
|
||||
/*long double complex conjl(long double complex); */
|
||||
|
||||
/* 7.3.9.4 The cproj functions */
|
||||
double complex cproj(double complex);
|
||||
float complex cprojf(float complex);
|
||||
/*long double complex cprojl(long double complex); */
|
||||
|
||||
/* 7.3.9.5 The creal functions */
|
||||
double creal(double complex);
|
||||
float crealf(float complex);
|
||||
/*long double creall(long double complex); */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* ! _COMPLEX_H */
|
@ -8,17 +8,17 @@ else
|
||||
MATHDIR = math
|
||||
endif
|
||||
|
||||
SUBDIRS = $(MATHDIR) common machine
|
||||
SUBDIRS = $(MATHDIR) common complex machine
|
||||
|
||||
libm_la_LDFLAGS = -Xcompiler -nostdlib
|
||||
|
||||
if USE_LIBTOOL
|
||||
SUBLIBS = $(MATHDIR)/lib$(MATHDIR).$(aext) common/libcommon.$(aext) $(LIBM_MACHINE_LIB)
|
||||
SUBLIBS = $(MATHDIR)/lib$(MATHDIR).$(aext) common/libcommon.$(aext) complex/libcomplex.$(aext) $(LIBM_MACHINE_LIB)
|
||||
noinst_LTLIBRARIES = libm.la
|
||||
libm_la_SOURCES =
|
||||
libm_la_LIBADD = $(SUBLIBS)
|
||||
else
|
||||
SUBLIBS = $(MATHDIR)/lib.$(aext) common/lib.$(aext) $(LIBM_MACHINE_LIB)
|
||||
SUBLIBS = $(MATHDIR)/lib.$(aext) common/lib.$(aext) complex/lib.$(aext) $(LIBM_MACHINE_LIB)
|
||||
noinst_LIBRARIES = libm.a
|
||||
libm.a: $(SUBLIBS)
|
||||
rm -f $@
|
||||
|
@ -62,10 +62,12 @@ libm_a_OBJECTS = libm.$(OBJEXT)
|
||||
LTLIBRARIES = $(noinst_LTLIBRARIES)
|
||||
am__DEPENDENCIES_1 =
|
||||
@USE_LIBTOOL_FALSE@am__DEPENDENCIES_2 = $(MATHDIR)/lib.$(aext) \
|
||||
@USE_LIBTOOL_FALSE@ common/lib.$(aext) $(am__DEPENDENCIES_1)
|
||||
@USE_LIBTOOL_FALSE@ common/lib.$(aext) complex/lib.$(aext) \
|
||||
@USE_LIBTOOL_FALSE@ $(am__DEPENDENCIES_1)
|
||||
@USE_LIBTOOL_TRUE@am__DEPENDENCIES_2 = \
|
||||
@USE_LIBTOOL_TRUE@ $(MATHDIR)/lib$(MATHDIR).$(aext) \
|
||||
@USE_LIBTOOL_TRUE@ common/libcommon.$(aext) \
|
||||
@USE_LIBTOOL_TRUE@ complex/libcomplex.$(aext) \
|
||||
@USE_LIBTOOL_TRUE@ $(am__DEPENDENCIES_1)
|
||||
@USE_LIBTOOL_TRUE@libm_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_libm_la_OBJECTS =
|
||||
@ -138,7 +140,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = math mathfp common machine
|
||||
DIST_SUBDIRS = math mathfp common complex machine
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
@ -196,6 +198,7 @@ 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@
|
||||
@ -267,10 +270,10 @@ top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
@NEWLIB_HW_FP_FALSE@MATHDIR = math
|
||||
@NEWLIB_HW_FP_TRUE@MATHDIR = mathfp
|
||||
SUBDIRS = $(MATHDIR) common machine
|
||||
SUBDIRS = $(MATHDIR) common complex machine
|
||||
libm_la_LDFLAGS = -Xcompiler -nostdlib
|
||||
@USE_LIBTOOL_FALSE@SUBLIBS = $(MATHDIR)/lib.$(aext) common/lib.$(aext) $(LIBM_MACHINE_LIB)
|
||||
@USE_LIBTOOL_TRUE@SUBLIBS = $(MATHDIR)/lib$(MATHDIR).$(aext) common/libcommon.$(aext) $(LIBM_MACHINE_LIB)
|
||||
@USE_LIBTOOL_FALSE@SUBLIBS = $(MATHDIR)/lib.$(aext) common/lib.$(aext) complex/lib.$(aext) $(LIBM_MACHINE_LIB)
|
||||
@USE_LIBTOOL_TRUE@SUBLIBS = $(MATHDIR)/lib$(MATHDIR).$(aext) common/libcommon.$(aext) complex/libcomplex.$(aext) $(LIBM_MACHINE_LIB)
|
||||
@USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = libm.la
|
||||
@USE_LIBTOOL_TRUE@libm_la_SOURCES =
|
||||
@USE_LIBTOOL_TRUE@libm_la_LIBADD = $(SUBLIBS)
|
||||
|
@ -371,3 +371,34 @@ do { \
|
||||
#define SAFE_RIGHT_SHIFT(op,amt) \
|
||||
(((amt) < 8 * sizeof(op)) ? ((op) >> (amt)) : 0)
|
||||
|
||||
#ifdef _COMPLEX_H
|
||||
|
||||
/*
|
||||
* Quoting from ISO/IEC 9899:TC2:
|
||||
*
|
||||
* 6.2.5.13 Types
|
||||
* Each complex type has the same representation and alignment requirements as
|
||||
* an array type containing exactly two elements of the corresponding real type;
|
||||
* the first element is equal to the real part, and the second element to the
|
||||
* imaginary part, of the complex number.
|
||||
*/
|
||||
typedef union {
|
||||
float complex z;
|
||||
float parts[2];
|
||||
} float_complex;
|
||||
|
||||
typedef union {
|
||||
double complex z;
|
||||
double parts[2];
|
||||
} double_complex;
|
||||
|
||||
typedef union {
|
||||
long double complex z;
|
||||
long double parts[2];
|
||||
} long_double_complex;
|
||||
|
||||
#define REAL_PART(z) ((z).parts[0])
|
||||
#define IMAG_PART(z) ((z).parts[1])
|
||||
|
||||
#endif /* _COMPLEX_H */
|
||||
|
||||
|
54
newlib/libm/complex/Makefile.am
Normal file
54
newlib/libm/complex/Makefile.am
Normal file
@ -0,0 +1,54 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = -I$(srcdir)/../common -I$(srcdir)/ $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
src = cabs.c cacos.c cacosh.c carg.c casin.c casinh.c \
|
||||
catan.c catanh.c ccos.c ccosh.c cephes_subr.c \
|
||||
cexp.c cimag.c clog.c conj.c \
|
||||
cpow.c cproj.c creal.c \
|
||||
csin.c csinh.c csqrt.c ctan.c ctanh.c
|
||||
|
||||
|
||||
fsrc = cabsf.c casinf.c ccosf.c cimagf.c cprojf.c \
|
||||
csqrtf.c cacosf.c casinhf.c ccoshf.c clogf.c \
|
||||
crealf.c ctanf.c cacoshf.c catanf.c \
|
||||
cephes_subrf.c conjf.c csinf.c ctanhf.c \
|
||||
cargf.c catanhf.c cexpf.c cpowf.c csinhf.c
|
||||
|
||||
libcomplex_la_LDFLAGS = -Xcompiler -nostdlib
|
||||
|
||||
if USE_LIBTOOL
|
||||
noinst_LTLIBRARIES = libcomplex.la
|
||||
libcomplex_la_SOURCES = $(src) $(fsrc)
|
||||
noinst_DATA = objectlist.awk.in
|
||||
else
|
||||
noinst_LIBRARIES = lib.a
|
||||
lib_a_SOURCES = $(src) $(fsrc)
|
||||
lib_a_CFLAGS = $(AM_CFLAGS)
|
||||
noinst_DATA =
|
||||
endif # USE_LIBTOOL
|
||||
|
||||
include $(srcdir)/../../Makefile.shared
|
||||
|
||||
chobj =
|
||||
|
||||
SUFFIXES = .def
|
||||
|
||||
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
|
||||
|
||||
.c.def:
|
||||
$(CHEW) < $< > $*.def 2> $*.ref
|
||||
touch stmp-def
|
||||
|
||||
TARGETDOC = ../tmp.texi
|
||||
|
||||
doc: $(chobj)
|
||||
cat $(srcdir)/complex.tex >> $(TARGETDOC)
|
||||
|
||||
CLEANFILES = $(chobj) *.ref
|
||||
|
||||
# A partial dependency list.
|
||||
|
||||
$(lib_a_OBJECTS): $(srcdir)/../../libc/include/complex.h $(srcdir)/cephes_subr.h $(srcdir)/cephes_subrf.h
|
808
newlib/libm/complex/Makefile.in
Normal file
808
newlib/libm/complex/Makefile.in
Normal file
@ -0,0 +1,808 @@
|
||||
# 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@
|
||||
DIST_COMMON = $(srcdir)/../../Makefile.shared $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am
|
||||
subdir = complex
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
|
||||
$(top_srcdir)/../../ltoptions.m4 \
|
||||
$(top_srcdir)/../../ltsugar.m4 \
|
||||
$(top_srcdir)/../../ltversion.m4 \
|
||||
$(top_srcdir)/../../lt~obsolete.m4 \
|
||||
$(top_srcdir)/../acinclude.m4 $(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
LIBRARIES = $(noinst_LIBRARIES)
|
||||
ARFLAGS = cru
|
||||
lib_a_AR = $(AR) $(ARFLAGS)
|
||||
lib_a_LIBADD =
|
||||
am__objects_1 = lib_a-cabs.$(OBJEXT) lib_a-cacos.$(OBJEXT) \
|
||||
lib_a-cacosh.$(OBJEXT) lib_a-carg.$(OBJEXT) \
|
||||
lib_a-casin.$(OBJEXT) lib_a-casinh.$(OBJEXT) \
|
||||
lib_a-catan.$(OBJEXT) lib_a-catanh.$(OBJEXT) \
|
||||
lib_a-ccos.$(OBJEXT) lib_a-ccosh.$(OBJEXT) \
|
||||
lib_a-cephes_subr.$(OBJEXT) lib_a-cexp.$(OBJEXT) \
|
||||
lib_a-cimag.$(OBJEXT) lib_a-clog.$(OBJEXT) \
|
||||
lib_a-conj.$(OBJEXT) lib_a-cpow.$(OBJEXT) \
|
||||
lib_a-cproj.$(OBJEXT) lib_a-creal.$(OBJEXT) \
|
||||
lib_a-csin.$(OBJEXT) lib_a-csinh.$(OBJEXT) \
|
||||
lib_a-csqrt.$(OBJEXT) lib_a-ctan.$(OBJEXT) \
|
||||
lib_a-ctanh.$(OBJEXT)
|
||||
am__objects_2 = lib_a-cabsf.$(OBJEXT) lib_a-casinf.$(OBJEXT) \
|
||||
lib_a-ccosf.$(OBJEXT) lib_a-cimagf.$(OBJEXT) \
|
||||
lib_a-cprojf.$(OBJEXT) lib_a-csqrtf.$(OBJEXT) \
|
||||
lib_a-cacosf.$(OBJEXT) lib_a-casinhf.$(OBJEXT) \
|
||||
lib_a-ccoshf.$(OBJEXT) lib_a-clogf.$(OBJEXT) \
|
||||
lib_a-crealf.$(OBJEXT) lib_a-ctanf.$(OBJEXT) \
|
||||
lib_a-cacoshf.$(OBJEXT) lib_a-catanf.$(OBJEXT) \
|
||||
lib_a-cephes_subrf.$(OBJEXT) lib_a-conjf.$(OBJEXT) \
|
||||
lib_a-csinf.$(OBJEXT) lib_a-ctanhf.$(OBJEXT) \
|
||||
lib_a-cargf.$(OBJEXT) lib_a-catanhf.$(OBJEXT) \
|
||||
lib_a-cexpf.$(OBJEXT) lib_a-cpowf.$(OBJEXT) \
|
||||
lib_a-csinhf.$(OBJEXT)
|
||||
@USE_LIBTOOL_FALSE@am_lib_a_OBJECTS = $(am__objects_1) \
|
||||
@USE_LIBTOOL_FALSE@ $(am__objects_2)
|
||||
lib_a_OBJECTS = $(am_lib_a_OBJECTS)
|
||||
LTLIBRARIES = $(noinst_LTLIBRARIES)
|
||||
libcomplex_la_LIBADD =
|
||||
am__objects_3 = cabs.lo cacos.lo cacosh.lo carg.lo casin.lo casinh.lo \
|
||||
catan.lo catanh.lo ccos.lo ccosh.lo cephes_subr.lo cexp.lo \
|
||||
cimag.lo clog.lo conj.lo cpow.lo cproj.lo creal.lo csin.lo \
|
||||
csinh.lo csqrt.lo ctan.lo ctanh.lo
|
||||
am__objects_4 = cabsf.lo casinf.lo ccosf.lo cimagf.lo cprojf.lo \
|
||||
csqrtf.lo cacosf.lo casinhf.lo ccoshf.lo clogf.lo crealf.lo \
|
||||
ctanf.lo cacoshf.lo catanf.lo cephes_subrf.lo conjf.lo \
|
||||
csinf.lo ctanhf.lo cargf.lo catanhf.lo cexpf.lo cpowf.lo \
|
||||
csinhf.lo
|
||||
@USE_LIBTOOL_TRUE@am_libcomplex_la_OBJECTS = $(am__objects_3) \
|
||||
@USE_LIBTOOL_TRUE@ $(am__objects_4)
|
||||
libcomplex_la_OBJECTS = $(am_libcomplex_la_OBJECTS)
|
||||
libcomplex_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(libcomplex_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
@USE_LIBTOOL_TRUE@am_libcomplex_la_rpath =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||
depcomp =
|
||||
am__depfiles_maybe =
|
||||
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 = $(lib_a_SOURCES) $(libcomplex_la_SOURCES)
|
||||
DATA = $(noinst_DATA)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
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@
|
||||
LIBM_MACHINE_LIB = @LIBM_MACHINE_LIB@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
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@
|
||||
READELF = @READELF@
|
||||
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_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
aext = @aext@
|
||||
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@
|
||||
libm_machine_dir = @libm_machine_dir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
lpfx = @lpfx@
|
||||
machine_dir = @machine_dir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
newlib_basedir = @newlib_basedir@
|
||||
oext = @oext@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
subdirs = @subdirs@
|
||||
sys_dir = @sys_dir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
INCLUDES = -I$(srcdir)/../common -I$(srcdir)/ $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
src = cabs.c cacos.c cacosh.c carg.c casin.c casinh.c \
|
||||
catan.c catanh.c ccos.c ccosh.c cephes_subr.c \
|
||||
cexp.c cimag.c clog.c conj.c \
|
||||
cpow.c cproj.c creal.c \
|
||||
csin.c csinh.c csqrt.c ctan.c ctanh.c
|
||||
|
||||
fsrc = cabsf.c casinf.c ccosf.c cimagf.c cprojf.c \
|
||||
csqrtf.c cacosf.c casinhf.c ccoshf.c clogf.c \
|
||||
crealf.c ctanf.c cacoshf.c catanf.c \
|
||||
cephes_subrf.c conjf.c csinf.c ctanhf.c \
|
||||
cargf.c catanhf.c cexpf.c cpowf.c csinhf.c
|
||||
|
||||
libcomplex_la_LDFLAGS = -Xcompiler -nostdlib
|
||||
@USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = libcomplex.la
|
||||
@USE_LIBTOOL_TRUE@libcomplex_la_SOURCES = $(src) $(fsrc)
|
||||
@USE_LIBTOOL_FALSE@noinst_DATA =
|
||||
@USE_LIBTOOL_TRUE@noinst_DATA = objectlist.awk.in
|
||||
@USE_LIBTOOL_FALSE@noinst_LIBRARIES = lib.a
|
||||
@USE_LIBTOOL_FALSE@lib_a_SOURCES = $(src) $(fsrc)
|
||||
@USE_LIBTOOL_FALSE@lib_a_CFLAGS = $(AM_CFLAGS)
|
||||
chobj =
|
||||
SUFFIXES = .def
|
||||
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
|
||||
TARGETDOC = ../tmp.texi
|
||||
CLEANFILES = $(chobj) *.ref
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .def .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../Makefile.shared $(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) --cygnus complex/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --cygnus complex/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):
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
|
||||
-rm -f lib.a
|
||||
$(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
|
||||
$(RANLIB) lib.a
|
||||
|
||||
clean-noinstLTLIBRARIES:
|
||||
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
|
||||
@list='$(noinst_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
|
||||
libcomplex.la: $(libcomplex_la_OBJECTS) $(libcomplex_la_DEPENDENCIES)
|
||||
$(libcomplex_la_LINK) $(am_libcomplex_la_rpath) $(libcomplex_la_OBJECTS) $(libcomplex_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
$(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
$(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
lib_a-cabs.o: cabs.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cabs.o `test -f 'cabs.c' || echo '$(srcdir)/'`cabs.c
|
||||
|
||||
lib_a-cabs.obj: cabs.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cabs.obj `if test -f 'cabs.c'; then $(CYGPATH_W) 'cabs.c'; else $(CYGPATH_W) '$(srcdir)/cabs.c'; fi`
|
||||
|
||||
lib_a-cacos.o: cacos.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cacos.o `test -f 'cacos.c' || echo '$(srcdir)/'`cacos.c
|
||||
|
||||
lib_a-cacos.obj: cacos.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cacos.obj `if test -f 'cacos.c'; then $(CYGPATH_W) 'cacos.c'; else $(CYGPATH_W) '$(srcdir)/cacos.c'; fi`
|
||||
|
||||
lib_a-cacosh.o: cacosh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cacosh.o `test -f 'cacosh.c' || echo '$(srcdir)/'`cacosh.c
|
||||
|
||||
lib_a-cacosh.obj: cacosh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cacosh.obj `if test -f 'cacosh.c'; then $(CYGPATH_W) 'cacosh.c'; else $(CYGPATH_W) '$(srcdir)/cacosh.c'; fi`
|
||||
|
||||
lib_a-carg.o: carg.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-carg.o `test -f 'carg.c' || echo '$(srcdir)/'`carg.c
|
||||
|
||||
lib_a-carg.obj: carg.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-carg.obj `if test -f 'carg.c'; then $(CYGPATH_W) 'carg.c'; else $(CYGPATH_W) '$(srcdir)/carg.c'; fi`
|
||||
|
||||
lib_a-casin.o: casin.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-casin.o `test -f 'casin.c' || echo '$(srcdir)/'`casin.c
|
||||
|
||||
lib_a-casin.obj: casin.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-casin.obj `if test -f 'casin.c'; then $(CYGPATH_W) 'casin.c'; else $(CYGPATH_W) '$(srcdir)/casin.c'; fi`
|
||||
|
||||
lib_a-casinh.o: casinh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-casinh.o `test -f 'casinh.c' || echo '$(srcdir)/'`casinh.c
|
||||
|
||||
lib_a-casinh.obj: casinh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-casinh.obj `if test -f 'casinh.c'; then $(CYGPATH_W) 'casinh.c'; else $(CYGPATH_W) '$(srcdir)/casinh.c'; fi`
|
||||
|
||||
lib_a-catan.o: catan.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-catan.o `test -f 'catan.c' || echo '$(srcdir)/'`catan.c
|
||||
|
||||
lib_a-catan.obj: catan.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-catan.obj `if test -f 'catan.c'; then $(CYGPATH_W) 'catan.c'; else $(CYGPATH_W) '$(srcdir)/catan.c'; fi`
|
||||
|
||||
lib_a-catanh.o: catanh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-catanh.o `test -f 'catanh.c' || echo '$(srcdir)/'`catanh.c
|
||||
|
||||
lib_a-catanh.obj: catanh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-catanh.obj `if test -f 'catanh.c'; then $(CYGPATH_W) 'catanh.c'; else $(CYGPATH_W) '$(srcdir)/catanh.c'; fi`
|
||||
|
||||
lib_a-ccos.o: ccos.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ccos.o `test -f 'ccos.c' || echo '$(srcdir)/'`ccos.c
|
||||
|
||||
lib_a-ccos.obj: ccos.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ccos.obj `if test -f 'ccos.c'; then $(CYGPATH_W) 'ccos.c'; else $(CYGPATH_W) '$(srcdir)/ccos.c'; fi`
|
||||
|
||||
lib_a-ccosh.o: ccosh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ccosh.o `test -f 'ccosh.c' || echo '$(srcdir)/'`ccosh.c
|
||||
|
||||
lib_a-ccosh.obj: ccosh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ccosh.obj `if test -f 'ccosh.c'; then $(CYGPATH_W) 'ccosh.c'; else $(CYGPATH_W) '$(srcdir)/ccosh.c'; fi`
|
||||
|
||||
lib_a-cephes_subr.o: cephes_subr.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cephes_subr.o `test -f 'cephes_subr.c' || echo '$(srcdir)/'`cephes_subr.c
|
||||
|
||||
lib_a-cephes_subr.obj: cephes_subr.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cephes_subr.obj `if test -f 'cephes_subr.c'; then $(CYGPATH_W) 'cephes_subr.c'; else $(CYGPATH_W) '$(srcdir)/cephes_subr.c'; fi`
|
||||
|
||||
lib_a-cexp.o: cexp.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cexp.o `test -f 'cexp.c' || echo '$(srcdir)/'`cexp.c
|
||||
|
||||
lib_a-cexp.obj: cexp.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cexp.obj `if test -f 'cexp.c'; then $(CYGPATH_W) 'cexp.c'; else $(CYGPATH_W) '$(srcdir)/cexp.c'; fi`
|
||||
|
||||
lib_a-cimag.o: cimag.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cimag.o `test -f 'cimag.c' || echo '$(srcdir)/'`cimag.c
|
||||
|
||||
lib_a-cimag.obj: cimag.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cimag.obj `if test -f 'cimag.c'; then $(CYGPATH_W) 'cimag.c'; else $(CYGPATH_W) '$(srcdir)/cimag.c'; fi`
|
||||
|
||||
lib_a-clog.o: clog.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-clog.o `test -f 'clog.c' || echo '$(srcdir)/'`clog.c
|
||||
|
||||
lib_a-clog.obj: clog.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-clog.obj `if test -f 'clog.c'; then $(CYGPATH_W) 'clog.c'; else $(CYGPATH_W) '$(srcdir)/clog.c'; fi`
|
||||
|
||||
lib_a-conj.o: conj.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-conj.o `test -f 'conj.c' || echo '$(srcdir)/'`conj.c
|
||||
|
||||
lib_a-conj.obj: conj.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-conj.obj `if test -f 'conj.c'; then $(CYGPATH_W) 'conj.c'; else $(CYGPATH_W) '$(srcdir)/conj.c'; fi`
|
||||
|
||||
lib_a-cpow.o: cpow.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cpow.o `test -f 'cpow.c' || echo '$(srcdir)/'`cpow.c
|
||||
|
||||
lib_a-cpow.obj: cpow.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cpow.obj `if test -f 'cpow.c'; then $(CYGPATH_W) 'cpow.c'; else $(CYGPATH_W) '$(srcdir)/cpow.c'; fi`
|
||||
|
||||
lib_a-cproj.o: cproj.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cproj.o `test -f 'cproj.c' || echo '$(srcdir)/'`cproj.c
|
||||
|
||||
lib_a-cproj.obj: cproj.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cproj.obj `if test -f 'cproj.c'; then $(CYGPATH_W) 'cproj.c'; else $(CYGPATH_W) '$(srcdir)/cproj.c'; fi`
|
||||
|
||||
lib_a-creal.o: creal.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-creal.o `test -f 'creal.c' || echo '$(srcdir)/'`creal.c
|
||||
|
||||
lib_a-creal.obj: creal.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-creal.obj `if test -f 'creal.c'; then $(CYGPATH_W) 'creal.c'; else $(CYGPATH_W) '$(srcdir)/creal.c'; fi`
|
||||
|
||||
lib_a-csin.o: csin.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csin.o `test -f 'csin.c' || echo '$(srcdir)/'`csin.c
|
||||
|
||||
lib_a-csin.obj: csin.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csin.obj `if test -f 'csin.c'; then $(CYGPATH_W) 'csin.c'; else $(CYGPATH_W) '$(srcdir)/csin.c'; fi`
|
||||
|
||||
lib_a-csinh.o: csinh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csinh.o `test -f 'csinh.c' || echo '$(srcdir)/'`csinh.c
|
||||
|
||||
lib_a-csinh.obj: csinh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csinh.obj `if test -f 'csinh.c'; then $(CYGPATH_W) 'csinh.c'; else $(CYGPATH_W) '$(srcdir)/csinh.c'; fi`
|
||||
|
||||
lib_a-csqrt.o: csqrt.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csqrt.o `test -f 'csqrt.c' || echo '$(srcdir)/'`csqrt.c
|
||||
|
||||
lib_a-csqrt.obj: csqrt.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csqrt.obj `if test -f 'csqrt.c'; then $(CYGPATH_W) 'csqrt.c'; else $(CYGPATH_W) '$(srcdir)/csqrt.c'; fi`
|
||||
|
||||
lib_a-ctan.o: ctan.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ctan.o `test -f 'ctan.c' || echo '$(srcdir)/'`ctan.c
|
||||
|
||||
lib_a-ctan.obj: ctan.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ctan.obj `if test -f 'ctan.c'; then $(CYGPATH_W) 'ctan.c'; else $(CYGPATH_W) '$(srcdir)/ctan.c'; fi`
|
||||
|
||||
lib_a-ctanh.o: ctanh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ctanh.o `test -f 'ctanh.c' || echo '$(srcdir)/'`ctanh.c
|
||||
|
||||
lib_a-ctanh.obj: ctanh.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ctanh.obj `if test -f 'ctanh.c'; then $(CYGPATH_W) 'ctanh.c'; else $(CYGPATH_W) '$(srcdir)/ctanh.c'; fi`
|
||||
|
||||
lib_a-cabsf.o: cabsf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cabsf.o `test -f 'cabsf.c' || echo '$(srcdir)/'`cabsf.c
|
||||
|
||||
lib_a-cabsf.obj: cabsf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cabsf.obj `if test -f 'cabsf.c'; then $(CYGPATH_W) 'cabsf.c'; else $(CYGPATH_W) '$(srcdir)/cabsf.c'; fi`
|
||||
|
||||
lib_a-casinf.o: casinf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-casinf.o `test -f 'casinf.c' || echo '$(srcdir)/'`casinf.c
|
||||
|
||||
lib_a-casinf.obj: casinf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-casinf.obj `if test -f 'casinf.c'; then $(CYGPATH_W) 'casinf.c'; else $(CYGPATH_W) '$(srcdir)/casinf.c'; fi`
|
||||
|
||||
lib_a-ccosf.o: ccosf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ccosf.o `test -f 'ccosf.c' || echo '$(srcdir)/'`ccosf.c
|
||||
|
||||
lib_a-ccosf.obj: ccosf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ccosf.obj `if test -f 'ccosf.c'; then $(CYGPATH_W) 'ccosf.c'; else $(CYGPATH_W) '$(srcdir)/ccosf.c'; fi`
|
||||
|
||||
lib_a-cimagf.o: cimagf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cimagf.o `test -f 'cimagf.c' || echo '$(srcdir)/'`cimagf.c
|
||||
|
||||
lib_a-cimagf.obj: cimagf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cimagf.obj `if test -f 'cimagf.c'; then $(CYGPATH_W) 'cimagf.c'; else $(CYGPATH_W) '$(srcdir)/cimagf.c'; fi`
|
||||
|
||||
lib_a-cprojf.o: cprojf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cprojf.o `test -f 'cprojf.c' || echo '$(srcdir)/'`cprojf.c
|
||||
|
||||
lib_a-cprojf.obj: cprojf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cprojf.obj `if test -f 'cprojf.c'; then $(CYGPATH_W) 'cprojf.c'; else $(CYGPATH_W) '$(srcdir)/cprojf.c'; fi`
|
||||
|
||||
lib_a-csqrtf.o: csqrtf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csqrtf.o `test -f 'csqrtf.c' || echo '$(srcdir)/'`csqrtf.c
|
||||
|
||||
lib_a-csqrtf.obj: csqrtf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csqrtf.obj `if test -f 'csqrtf.c'; then $(CYGPATH_W) 'csqrtf.c'; else $(CYGPATH_W) '$(srcdir)/csqrtf.c'; fi`
|
||||
|
||||
lib_a-cacosf.o: cacosf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cacosf.o `test -f 'cacosf.c' || echo '$(srcdir)/'`cacosf.c
|
||||
|
||||
lib_a-cacosf.obj: cacosf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cacosf.obj `if test -f 'cacosf.c'; then $(CYGPATH_W) 'cacosf.c'; else $(CYGPATH_W) '$(srcdir)/cacosf.c'; fi`
|
||||
|
||||
lib_a-casinhf.o: casinhf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-casinhf.o `test -f 'casinhf.c' || echo '$(srcdir)/'`casinhf.c
|
||||
|
||||
lib_a-casinhf.obj: casinhf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-casinhf.obj `if test -f 'casinhf.c'; then $(CYGPATH_W) 'casinhf.c'; else $(CYGPATH_W) '$(srcdir)/casinhf.c'; fi`
|
||||
|
||||
lib_a-ccoshf.o: ccoshf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ccoshf.o `test -f 'ccoshf.c' || echo '$(srcdir)/'`ccoshf.c
|
||||
|
||||
lib_a-ccoshf.obj: ccoshf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ccoshf.obj `if test -f 'ccoshf.c'; then $(CYGPATH_W) 'ccoshf.c'; else $(CYGPATH_W) '$(srcdir)/ccoshf.c'; fi`
|
||||
|
||||
lib_a-clogf.o: clogf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-clogf.o `test -f 'clogf.c' || echo '$(srcdir)/'`clogf.c
|
||||
|
||||
lib_a-clogf.obj: clogf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-clogf.obj `if test -f 'clogf.c'; then $(CYGPATH_W) 'clogf.c'; else $(CYGPATH_W) '$(srcdir)/clogf.c'; fi`
|
||||
|
||||
lib_a-crealf.o: crealf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-crealf.o `test -f 'crealf.c' || echo '$(srcdir)/'`crealf.c
|
||||
|
||||
lib_a-crealf.obj: crealf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-crealf.obj `if test -f 'crealf.c'; then $(CYGPATH_W) 'crealf.c'; else $(CYGPATH_W) '$(srcdir)/crealf.c'; fi`
|
||||
|
||||
lib_a-ctanf.o: ctanf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ctanf.o `test -f 'ctanf.c' || echo '$(srcdir)/'`ctanf.c
|
||||
|
||||
lib_a-ctanf.obj: ctanf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ctanf.obj `if test -f 'ctanf.c'; then $(CYGPATH_W) 'ctanf.c'; else $(CYGPATH_W) '$(srcdir)/ctanf.c'; fi`
|
||||
|
||||
lib_a-cacoshf.o: cacoshf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cacoshf.o `test -f 'cacoshf.c' || echo '$(srcdir)/'`cacoshf.c
|
||||
|
||||
lib_a-cacoshf.obj: cacoshf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cacoshf.obj `if test -f 'cacoshf.c'; then $(CYGPATH_W) 'cacoshf.c'; else $(CYGPATH_W) '$(srcdir)/cacoshf.c'; fi`
|
||||
|
||||
lib_a-catanf.o: catanf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-catanf.o `test -f 'catanf.c' || echo '$(srcdir)/'`catanf.c
|
||||
|
||||
lib_a-catanf.obj: catanf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-catanf.obj `if test -f 'catanf.c'; then $(CYGPATH_W) 'catanf.c'; else $(CYGPATH_W) '$(srcdir)/catanf.c'; fi`
|
||||
|
||||
lib_a-cephes_subrf.o: cephes_subrf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cephes_subrf.o `test -f 'cephes_subrf.c' || echo '$(srcdir)/'`cephes_subrf.c
|
||||
|
||||
lib_a-cephes_subrf.obj: cephes_subrf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cephes_subrf.obj `if test -f 'cephes_subrf.c'; then $(CYGPATH_W) 'cephes_subrf.c'; else $(CYGPATH_W) '$(srcdir)/cephes_subrf.c'; fi`
|
||||
|
||||
lib_a-conjf.o: conjf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-conjf.o `test -f 'conjf.c' || echo '$(srcdir)/'`conjf.c
|
||||
|
||||
lib_a-conjf.obj: conjf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-conjf.obj `if test -f 'conjf.c'; then $(CYGPATH_W) 'conjf.c'; else $(CYGPATH_W) '$(srcdir)/conjf.c'; fi`
|
||||
|
||||
lib_a-csinf.o: csinf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csinf.o `test -f 'csinf.c' || echo '$(srcdir)/'`csinf.c
|
||||
|
||||
lib_a-csinf.obj: csinf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csinf.obj `if test -f 'csinf.c'; then $(CYGPATH_W) 'csinf.c'; else $(CYGPATH_W) '$(srcdir)/csinf.c'; fi`
|
||||
|
||||
lib_a-ctanhf.o: ctanhf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ctanhf.o `test -f 'ctanhf.c' || echo '$(srcdir)/'`ctanhf.c
|
||||
|
||||
lib_a-ctanhf.obj: ctanhf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ctanhf.obj `if test -f 'ctanhf.c'; then $(CYGPATH_W) 'ctanhf.c'; else $(CYGPATH_W) '$(srcdir)/ctanhf.c'; fi`
|
||||
|
||||
lib_a-cargf.o: cargf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cargf.o `test -f 'cargf.c' || echo '$(srcdir)/'`cargf.c
|
||||
|
||||
lib_a-cargf.obj: cargf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cargf.obj `if test -f 'cargf.c'; then $(CYGPATH_W) 'cargf.c'; else $(CYGPATH_W) '$(srcdir)/cargf.c'; fi`
|
||||
|
||||
lib_a-catanhf.o: catanhf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-catanhf.o `test -f 'catanhf.c' || echo '$(srcdir)/'`catanhf.c
|
||||
|
||||
lib_a-catanhf.obj: catanhf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-catanhf.obj `if test -f 'catanhf.c'; then $(CYGPATH_W) 'catanhf.c'; else $(CYGPATH_W) '$(srcdir)/catanhf.c'; fi`
|
||||
|
||||
lib_a-cexpf.o: cexpf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cexpf.o `test -f 'cexpf.c' || echo '$(srcdir)/'`cexpf.c
|
||||
|
||||
lib_a-cexpf.obj: cexpf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cexpf.obj `if test -f 'cexpf.c'; then $(CYGPATH_W) 'cexpf.c'; else $(CYGPATH_W) '$(srcdir)/cexpf.c'; fi`
|
||||
|
||||
lib_a-cpowf.o: cpowf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cpowf.o `test -f 'cpowf.c' || echo '$(srcdir)/'`cpowf.c
|
||||
|
||||
lib_a-cpowf.obj: cpowf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cpowf.obj `if test -f 'cpowf.c'; then $(CYGPATH_W) 'cpowf.c'; else $(CYGPATH_W) '$(srcdir)/cpowf.c'; fi`
|
||||
|
||||
lib_a-csinhf.o: csinhf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csinhf.o `test -f 'csinhf.c' || echo '$(srcdir)/'`csinhf.c
|
||||
|
||||
lib_a-csinhf.obj: csinhf.c
|
||||
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-csinhf.obj `if test -f 'csinhf.c'; then $(CYGPATH_W) 'csinhf.c'; else $(CYGPATH_W) '$(srcdir)/csinhf.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-am:
|
||||
check: check-am
|
||||
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA)
|
||||
installdirs:
|
||||
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:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
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-generic clean-libtool clean-noinstLIBRARIES \
|
||||
clean-noinstLTLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-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-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 -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:
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \
|
||||
ctags distclean distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags 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-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
|
||||
|
||||
objectlist.awk.in: $(noinst_LTLIBRARIES)
|
||||
-rm -f objectlist.awk.in
|
||||
for i in `ls *.lo` ; \
|
||||
do \
|
||||
echo $$i `pwd`/$$i >> objectlist.awk.in ; \
|
||||
done
|
||||
|
||||
.c.def:
|
||||
$(CHEW) < $< > $*.def 2> $*.ref
|
||||
touch stmp-def
|
||||
|
||||
doc: $(chobj)
|
||||
cat $(srcdir)/complex.tex >> $(TARGETDOC)
|
||||
|
||||
# A partial dependency list.
|
||||
|
||||
$(lib_a_OBJECTS): $(srcdir)/../../libc/include/complex.h $(srcdir)/cephes_subr.h $(srcdir)/cephes_subrf.h
|
||||
|
||||
# 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:
|
19
newlib/libm/complex/cabs.c
Normal file
19
newlib/libm/complex/cabs.c
Normal file
@ -0,0 +1,19 @@
|
||||
/* $NetBSD: cabs.c,v 1.1 2007/08/20 16:01:30 drochner Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double
|
||||
cabs(double complex z)
|
||||
{
|
||||
|
||||
return hypot( creal(z), cimag(z) );
|
||||
}
|
19
newlib/libm/complex/cabsf.c
Normal file
19
newlib/libm/complex/cabsf.c
Normal file
@ -0,0 +1,19 @@
|
||||
/* $NetBSD: cabsf.c,v 1.1 2007/08/20 16:01:30 drochner Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float
|
||||
cabsf(float complex z)
|
||||
{
|
||||
|
||||
return hypotf( crealf(z), cimagf(z) );
|
||||
}
|
46
newlib/libm/complex/cacos.c
Normal file
46
newlib/libm/complex/cacos.c
Normal file
@ -0,0 +1,46 @@
|
||||
/* $NetBSD: cacos.c,v 1.1 2007/08/20 16:01:30 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double complex
|
||||
cacos(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
|
||||
w = casin(z);
|
||||
w = (M_PI_2 - creal(w)) - cimag(w) * I;
|
||||
return w;
|
||||
}
|
46
newlib/libm/complex/cacosf.c
Normal file
46
newlib/libm/complex/cacosf.c
Normal file
@ -0,0 +1,46 @@
|
||||
/* $NetBSD: cacosf.c,v 1.1 2007/08/20 16:01:30 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float complex
|
||||
cacosf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
|
||||
w = casinf(z);
|
||||
w = ((float)M_PI_2 - crealf(w)) - cimagf(w) * I;
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/cacosh.c
Normal file
48
newlib/libm/complex/cacosh.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: cacosh.c,v 1.2 2009/08/03 19:41:32 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
|
||||
double complex
|
||||
cacosh(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
|
||||
#if 0 /* does not give the principal value */
|
||||
w = I * cacos(z);
|
||||
#else
|
||||
w = clog(z + csqrt(z + 1) * csqrt(z - 1));
|
||||
#endif
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/cacoshf.c
Normal file
48
newlib/libm/complex/cacoshf.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: cacoshf.c,v 1.2 2009/08/03 19:41:32 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
|
||||
float complex
|
||||
cacoshf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
|
||||
#if 0 /* does not give the principal value */
|
||||
w = I * cacosf(z);
|
||||
#else
|
||||
w = clogf(z + csqrtf(z + 1) * csqrtf(z - 1));
|
||||
#endif
|
||||
return w;
|
||||
}
|
19
newlib/libm/complex/carg.c
Normal file
19
newlib/libm/complex/carg.c
Normal file
@ -0,0 +1,19 @@
|
||||
/* $NetBSD: carg.c,v 1.1 2007/08/20 16:01:31 drochner Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double
|
||||
carg(double complex z)
|
||||
{
|
||||
|
||||
return atan2( cimag(z) , creal(z) );
|
||||
}
|
19
newlib/libm/complex/cargf.c
Normal file
19
newlib/libm/complex/cargf.c
Normal file
@ -0,0 +1,19 @@
|
||||
/* $NetBSD: cargf.c,v 1.1 2007/08/20 16:01:31 drochner Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float
|
||||
cargf(float complex z)
|
||||
{
|
||||
|
||||
return atan2f( cimagf(z), creal(z) );
|
||||
}
|
122
newlib/libm/complex/casin.c
Normal file
122
newlib/libm/complex/casin.c
Normal file
@ -0,0 +1,122 @@
|
||||
/* $NetBSD: casin.c,v 1.1 2007/08/20 16:01:31 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __weak_alias
|
||||
__weak_alias(casin, _casin)
|
||||
#endif
|
||||
|
||||
double complex
|
||||
casin(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double complex ca, ct, zz, z2;
|
||||
double x, y;
|
||||
|
||||
x = creal(z);
|
||||
y = cimag(z);
|
||||
|
||||
#if 0 /* MD: test is incorrect, casin(>1) is defined */
|
||||
if (y == 0.0) {
|
||||
if (fabs(x) > 1.0) {
|
||||
w = M_PI_2 + 0.0 * I;
|
||||
#if 0
|
||||
mtherr ("casin", DOMAIN);
|
||||
#endif
|
||||
} else {
|
||||
w = asin(x) + 0.0 * I;
|
||||
}
|
||||
return w;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Power series expansion */
|
||||
/*
|
||||
b = cabs(z);
|
||||
if( b < 0.125 )
|
||||
{
|
||||
z2.r = (x - y) * (x + y);
|
||||
z2.i = 2.0 * x * y;
|
||||
|
||||
cn = 1.0;
|
||||
n = 1.0;
|
||||
ca.r = x;
|
||||
ca.i = y;
|
||||
sum.r = x;
|
||||
sum.i = y;
|
||||
do
|
||||
{
|
||||
ct.r = z2.r * ca.r - z2.i * ca.i;
|
||||
ct.i = z2.r * ca.i + z2.i * ca.r;
|
||||
ca.r = ct.r;
|
||||
ca.i = ct.i;
|
||||
|
||||
cn *= n;
|
||||
n += 1.0;
|
||||
cn /= n;
|
||||
n += 1.0;
|
||||
b = cn/n;
|
||||
|
||||
ct.r *= b;
|
||||
ct.i *= b;
|
||||
sum.r += ct.r;
|
||||
sum.i += ct.i;
|
||||
b = fabs(ct.r) + fabs(ct.i);
|
||||
}
|
||||
while( b > MACHEP );
|
||||
w->r = sum.r;
|
||||
w->i = sum.i;
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
ca = x + y * I;
|
||||
ct = ca * I;
|
||||
/* sqrt( 1 - z*z) */
|
||||
/* cmul( &ca, &ca, &zz ) */
|
||||
/*x * x - y * y */
|
||||
zz = (x - y) * (x + y) + (2.0 * x * y) * I;
|
||||
|
||||
zz = 1.0 - creal(zz) - cimag(zz) * I;
|
||||
z2 = csqrt(zz);
|
||||
|
||||
zz = ct + z2;
|
||||
zz = clog(zz);
|
||||
/* multiply by 1/i = -i */
|
||||
w = zz * (-1.0 * I);
|
||||
return w;
|
||||
}
|
122
newlib/libm/complex/casinf.c
Normal file
122
newlib/libm/complex/casinf.c
Normal file
@ -0,0 +1,122 @@
|
||||
/* $NetBSD: casinf.c,v 1.1 2007/08/20 16:01:31 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __weak_alias
|
||||
__weak_alias(casinf, _casinf)
|
||||
#endif
|
||||
|
||||
float complex
|
||||
casinf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float complex ca, ct, zz, z2;
|
||||
float x, y;
|
||||
|
||||
x = crealf(z);
|
||||
y = cimagf(z);
|
||||
|
||||
#if 0 /* MD: test is incorrect, casin(>1) is defined */
|
||||
if (y == 0.0f) {
|
||||
if (fabsf(x) > 1.0) {
|
||||
w = M_PI_2 + 0.0f * I;
|
||||
#if 0
|
||||
mtherr ("casin", DOMAIN);
|
||||
#endif
|
||||
} else {
|
||||
w = asinf(x) + 0.0f * I;
|
||||
}
|
||||
return w;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Power series expansion */
|
||||
/*
|
||||
b = cabsf(z);
|
||||
if( b < 0.125 )
|
||||
{
|
||||
z2.r = (x - y) * (x + y);
|
||||
z2.i = 2.0 * x * y;
|
||||
|
||||
cn = 1.0;
|
||||
n = 1.0;
|
||||
ca.r = x;
|
||||
ca.i = y;
|
||||
sum.r = x;
|
||||
sum.i = y;
|
||||
do
|
||||
{
|
||||
ct.r = z2.r * ca.r - z2.i * ca.i;
|
||||
ct.i = z2.r * ca.i + z2.i * ca.r;
|
||||
ca.r = ct.r;
|
||||
ca.i = ct.i;
|
||||
|
||||
cn *= n;
|
||||
n += 1.0;
|
||||
cn /= n;
|
||||
n += 1.0;
|
||||
b = cn/n;
|
||||
|
||||
ct.r *= b;
|
||||
ct.i *= b;
|
||||
sum.r += ct.r;
|
||||
sum.i += ct.i;
|
||||
b = fabsf(ct.r) + fabsf(ct.i);
|
||||
}
|
||||
while( b > MACHEP );
|
||||
w->r = sum.r;
|
||||
w->i = sum.i;
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
ca = x + y * I;
|
||||
ct = ca * I;
|
||||
/* sqrt( 1 - z*z) */
|
||||
/* cmul( &ca, &ca, &zz ) */
|
||||
/*x * x - y * y */
|
||||
zz = (x - y) * (x + y) + (2.0f * x * y) * I;
|
||||
|
||||
zz = 1.0f - crealf(zz) - cimagf(zz) * I;
|
||||
z2 = csqrtf(zz);
|
||||
|
||||
zz = ct + z2;
|
||||
zz = clogf(zz);
|
||||
/* multiply by 1/i = -i */
|
||||
w = zz * (-1.0f * I);
|
||||
return w;
|
||||
}
|
44
newlib/libm/complex/casinh.c
Normal file
44
newlib/libm/complex/casinh.c
Normal file
@ -0,0 +1,44 @@
|
||||
/* $NetBSD: casinh.c,v 1.1 2007/08/20 16:01:31 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
|
||||
double complex
|
||||
casinh(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
|
||||
w = -1.0 * I * casin(z * I);
|
||||
return w;
|
||||
}
|
44
newlib/libm/complex/casinhf.c
Normal file
44
newlib/libm/complex/casinhf.c
Normal file
@ -0,0 +1,44 @@
|
||||
/* $NetBSD: casinhf.c,v 1.1 2007/08/20 16:01:32 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
|
||||
float complex
|
||||
casinhf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
|
||||
w = -1.0f * I * casinf(z * I);
|
||||
return w;
|
||||
}
|
81
newlib/libm/complex/catan.c
Normal file
81
newlib/libm/complex/catan.c
Normal file
@ -0,0 +1,81 @@
|
||||
/* $NetBSD: catan.c,v 1.1 2007/08/20 16:01:32 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subr.h"
|
||||
|
||||
#ifdef __weak_alias
|
||||
__weak_alias(catan, _catan)
|
||||
#endif
|
||||
|
||||
#define MAXNUM 1.0e308
|
||||
|
||||
double complex
|
||||
catan(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double a, t, x, x2, y;
|
||||
|
||||
x = creal(z);
|
||||
y = cimag(z);
|
||||
|
||||
if ((x == 0.0) && (y > 1.0))
|
||||
goto ovrf;
|
||||
|
||||
x2 = x * x;
|
||||
a = 1.0 - x2 - (y * y);
|
||||
if (a == 0.0)
|
||||
goto ovrf;
|
||||
|
||||
t = 0.5 * atan2(2.0 * x, a);
|
||||
w = _redupi(t);
|
||||
|
||||
t = y - 1.0;
|
||||
a = x2 + (t * t);
|
||||
if (a == 0.0)
|
||||
goto ovrf;
|
||||
|
||||
t = y + 1.0;
|
||||
a = (x2 + (t * t))/a;
|
||||
w = w + (0.25 * log(a)) * I;
|
||||
return w;
|
||||
|
||||
ovrf:
|
||||
#if 0
|
||||
mtherr ("catan", OVERFLOW);
|
||||
#endif
|
||||
w = MAXNUM + MAXNUM * I;
|
||||
return w;
|
||||
}
|
81
newlib/libm/complex/catanf.c
Normal file
81
newlib/libm/complex/catanf.c
Normal file
@ -0,0 +1,81 @@
|
||||
/* $NetBSD: catanf.c,v 1.1 2007/08/20 16:01:32 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subrf.h"
|
||||
|
||||
#ifdef __weak_alias
|
||||
__weak_alias(catanf, _catanf)
|
||||
#endif
|
||||
|
||||
#define MAXNUMF 1.0e38F
|
||||
|
||||
float complex
|
||||
catanf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float a, t, x, x2, y;
|
||||
|
||||
x = crealf(z);
|
||||
y = cimagf(z);
|
||||
|
||||
if ((x == 0.0f) && (y > 1.0f))
|
||||
goto ovrf;
|
||||
|
||||
x2 = x * x;
|
||||
a = 1.0f - x2 - (y * y);
|
||||
if (a == 0.0f)
|
||||
goto ovrf;
|
||||
|
||||
t = 0.5f * atan2f(2.0f * x, a);
|
||||
w = _redupif(t);
|
||||
|
||||
t = y - 1.0f;
|
||||
a = x2 + (t * t);
|
||||
if (a == 0.0f)
|
||||
goto ovrf;
|
||||
|
||||
t = y + 1.0f;
|
||||
a = (x2 + (t * t))/a;
|
||||
w = w + (0.25f * logf(a)) * I;
|
||||
return w;
|
||||
|
||||
ovrf:
|
||||
#if 0
|
||||
mtherr ("catan", OVERFLOW);
|
||||
#endif
|
||||
w = MAXNUMF + MAXNUMF * I;
|
||||
return w;
|
||||
}
|
44
newlib/libm/complex/catanh.c
Normal file
44
newlib/libm/complex/catanh.c
Normal file
@ -0,0 +1,44 @@
|
||||
/* $NetBSD: catanh.c,v 1.1 2007/08/20 16:01:32 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
|
||||
double complex
|
||||
catanh(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
|
||||
w = -1.0 * I * catan(z * I);
|
||||
return w;
|
||||
}
|
44
newlib/libm/complex/catanhf.c
Normal file
44
newlib/libm/complex/catanhf.c
Normal file
@ -0,0 +1,44 @@
|
||||
/* $NetBSD: catanhf.c,v 1.1 2007/08/20 16:01:32 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
|
||||
float complex
|
||||
catanhf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
|
||||
w = -1.0f * I * catanf(z * I);
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/ccos.c
Normal file
48
newlib/libm/complex/ccos.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: ccos.c,v 1.1 2007/08/20 16:01:32 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subr.h"
|
||||
|
||||
double complex
|
||||
ccos(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double ch, sh;
|
||||
|
||||
_cchsh(cimag(z), &ch, &sh);
|
||||
w = cos(creal(z)) * ch - (sin(creal(z)) * sh) * I;
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/ccosf.c
Normal file
48
newlib/libm/complex/ccosf.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: ccosf.c,v 1.1 2007/08/20 16:01:33 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subrf.h"
|
||||
|
||||
float complex
|
||||
ccosf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float ch, sh;
|
||||
|
||||
_cchshf(cimagf(z), &ch, &sh);
|
||||
w = cosf(crealf(z)) * ch - (sinf(crealf(z)) * sh) * I;
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/ccosh.c
Normal file
48
newlib/libm/complex/ccosh.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: ccosh.c,v 1.1 2007/08/20 16:01:33 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double complex
|
||||
ccosh(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double x, y;
|
||||
|
||||
x = creal(z);
|
||||
y = cimag(z);
|
||||
w = cosh(x) * cos(y) + (sinh(x) * sin(y)) * I;
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/ccoshf.c
Normal file
48
newlib/libm/complex/ccoshf.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: ccoshf.c,v 1.1 2007/08/20 16:01:33 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float complex
|
||||
ccoshf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float x, y;
|
||||
|
||||
x = crealf(z);
|
||||
y = cimagf(z);
|
||||
w = coshf(x) * cosf(y) + (sinhf(x) * sinf(y)) * I;
|
||||
return w;
|
||||
}
|
126
newlib/libm/complex/cephes_subr.c
Normal file
126
newlib/libm/complex/cephes_subr.c
Normal file
@ -0,0 +1,126 @@
|
||||
/* $NetBSD: cephes_subr.c,v 1.1 2007/08/20 16:01:33 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subr.h"
|
||||
|
||||
/* calculate cosh and sinh */
|
||||
|
||||
void
|
||||
_cchsh(double x, double *c, double *s)
|
||||
{
|
||||
double e, ei;
|
||||
|
||||
if (fabs(x) <= 0.5) {
|
||||
*c = cosh(x);
|
||||
*s = sinh(x);
|
||||
} else {
|
||||
e = exp(x);
|
||||
ei = 0.5 / e;
|
||||
e = 0.5 * e;
|
||||
*s = e - ei;
|
||||
*c = e + ei;
|
||||
}
|
||||
}
|
||||
|
||||
/* Program to subtract nearest integer multiple of PI */
|
||||
|
||||
/* extended precision value of PI: */
|
||||
static const double DP1 = 3.14159265160560607910E0;
|
||||
static const double DP2 = 1.98418714791870343106E-9;
|
||||
static const double DP3 = 1.14423774522196636802E-17;
|
||||
#define MACHEP 1.1e-16
|
||||
|
||||
double
|
||||
_redupi(double x)
|
||||
{
|
||||
double t;
|
||||
long i;
|
||||
|
||||
t = x / M_PI;
|
||||
if (t >= 0.0)
|
||||
t += 0.5;
|
||||
else
|
||||
t -= 0.5;
|
||||
|
||||
i = t; /* the multiple */
|
||||
t = i;
|
||||
t = ((x - t * DP1) - t * DP2) - t * DP3;
|
||||
return t;
|
||||
}
|
||||
|
||||
/* Taylor series expansion for cosh(2y) - cos(2x) */
|
||||
|
||||
double
|
||||
_ctans(double complex z)
|
||||
{
|
||||
double f, x, x2, y, y2, rn, t;
|
||||
double d;
|
||||
|
||||
x = fabs(2.0 * creal(z));
|
||||
y = fabs(2.0 * cimag(z));
|
||||
|
||||
x = _redupi(x);
|
||||
|
||||
x = x * x;
|
||||
y = y * y;
|
||||
x2 = 1.0;
|
||||
y2 = 1.0;
|
||||
f = 1.0;
|
||||
rn = 0.0;
|
||||
d = 0.0;
|
||||
do {
|
||||
rn += 1.0;
|
||||
f *= rn;
|
||||
rn += 1.0;
|
||||
f *= rn;
|
||||
x2 *= x;
|
||||
y2 *= y;
|
||||
t = y2 + x2;
|
||||
t /= f;
|
||||
d += t;
|
||||
|
||||
rn += 1.0;
|
||||
f *= rn;
|
||||
rn += 1.0;
|
||||
f *= rn;
|
||||
x2 *= x;
|
||||
y2 *= y;
|
||||
t = y2 - x2;
|
||||
t /= f;
|
||||
d += t;
|
||||
} while (fabs(t/d) > MACHEP);
|
||||
return d;
|
||||
}
|
5
newlib/libm/complex/cephes_subr.h
Normal file
5
newlib/libm/complex/cephes_subr.h
Normal file
@ -0,0 +1,5 @@
|
||||
/* $NetBSD: cephes_subr.h,v 1.1 2007/08/20 16:01:33 drochner Exp $ */
|
||||
|
||||
void _cchsh(double, double *, double *);
|
||||
double _redupi(double);
|
||||
double _ctans(double complex);
|
125
newlib/libm/complex/cephes_subrf.c
Normal file
125
newlib/libm/complex/cephes_subrf.c
Normal file
@ -0,0 +1,125 @@
|
||||
/* $NetBSD: cephes_subrf.c,v 1.1 2007/08/20 16:01:34 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subrf.h"
|
||||
|
||||
/* calculate cosh and sinh */
|
||||
|
||||
void
|
||||
_cchshf(float x, float *c, float *s)
|
||||
{
|
||||
float e, ei;
|
||||
|
||||
if (fabsf(x) <= 0.5f) {
|
||||
*c = coshf(x);
|
||||
*s = sinhf(x);
|
||||
} else {
|
||||
e = expf(x);
|
||||
ei = 0.5f / e;
|
||||
e = 0.5f * e;
|
||||
*s = e - ei;
|
||||
*c = e + ei;
|
||||
}
|
||||
}
|
||||
|
||||
/* Program to subtract nearest integer multiple of PI */
|
||||
|
||||
/* extended precision value of PI: */
|
||||
static const double DP1 = 3.140625;
|
||||
static const double DP2 = 9.67502593994140625E-4;
|
||||
static const double DP3 = 1.509957990978376432E-7;
|
||||
#define MACHEPF 3.0e-8
|
||||
|
||||
float
|
||||
_redupif(float x)
|
||||
{
|
||||
float t;
|
||||
long i;
|
||||
|
||||
t = x / (float)M_PI;
|
||||
if (t >= 0.0f)
|
||||
t += 0.5f;
|
||||
else
|
||||
t -= 0.5f;
|
||||
|
||||
i = t; /* the multiple */
|
||||
t = i;
|
||||
t = ((x - t * DP1) - t * DP2) - t * DP3;
|
||||
return t;
|
||||
}
|
||||
|
||||
/* Taylor series expansion for cosh(2y) - cos(2x) */
|
||||
|
||||
float
|
||||
_ctansf(float complex z)
|
||||
{
|
||||
float f, x, x2, y, y2, rn, t, d;
|
||||
|
||||
x = fabsf(2.0f * crealf(z));
|
||||
y = fabsf(2.0f * cimagf(z));
|
||||
|
||||
x = _redupif(x);
|
||||
|
||||
x = x * x;
|
||||
y = y * y;
|
||||
x2 = 1.0f;
|
||||
y2 = 1.0f;
|
||||
f = 1.0f;
|
||||
rn = 0.0f;
|
||||
d = 0.0f;
|
||||
do {
|
||||
rn += 1.0f;
|
||||
f *= rn;
|
||||
rn += 1.0f;
|
||||
f *= rn;
|
||||
x2 *= x;
|
||||
y2 *= y;
|
||||
t = y2 + x2;
|
||||
t /= f;
|
||||
d += t;
|
||||
|
||||
rn += 1.0f;
|
||||
f *= rn;
|
||||
rn += 1.0f;
|
||||
f *= rn;
|
||||
x2 *= x;
|
||||
y2 *= y;
|
||||
t = y2 - x2;
|
||||
t /= f;
|
||||
d += t;
|
||||
} while (fabsf(t/d) > MACHEPF);
|
||||
return d;
|
||||
}
|
5
newlib/libm/complex/cephes_subrf.h
Normal file
5
newlib/libm/complex/cephes_subrf.h
Normal file
@ -0,0 +1,5 @@
|
||||
/* $NetBSD: cephes_subrf.h,v 1.1 2007/08/20 16:01:34 drochner Exp $ */
|
||||
|
||||
void _cchshf(float, float *, float *);
|
||||
float _redupif(float);
|
||||
float _ctansf(float complex);
|
49
newlib/libm/complex/cexp.c
Normal file
49
newlib/libm/complex/cexp.c
Normal file
@ -0,0 +1,49 @@
|
||||
/* $NetBSD: cexp.c,v 1.1 2007/08/20 16:01:34 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double complex
|
||||
cexp(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double r, x, y;
|
||||
|
||||
x = creal(z);
|
||||
y = cimag(z);
|
||||
r = exp(x);
|
||||
w = r * cos(y) + r * sin(y) * I;
|
||||
return w;
|
||||
}
|
49
newlib/libm/complex/cexpf.c
Normal file
49
newlib/libm/complex/cexpf.c
Normal file
@ -0,0 +1,49 @@
|
||||
/* $NetBSD: cexpf.c,v 1.1 2007/08/20 16:01:34 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float complex
|
||||
cexpf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float r, x, y;
|
||||
|
||||
x = crealf(z);
|
||||
y = cimagf(z);
|
||||
r = expf(x);
|
||||
w = r * cosf(y) + r * sinf(y) * I;
|
||||
return w;
|
||||
}
|
20
newlib/libm/complex/cimag.c
Normal file
20
newlib/libm/complex/cimag.c
Normal file
@ -0,0 +1,20 @@
|
||||
/* $NetBSD: cimag.c,v 1.2 2010/09/15 16:11:29 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include "../common/fdlibm.h"
|
||||
|
||||
double
|
||||
cimag(double complex z)
|
||||
{
|
||||
double_complex w = { .z = z };
|
||||
|
||||
return (IMAG_PART(w));
|
||||
}
|
20
newlib/libm/complex/cimagf.c
Normal file
20
newlib/libm/complex/cimagf.c
Normal file
@ -0,0 +1,20 @@
|
||||
/* $NetBSD: cimagf.c,v 1.2 2010/09/15 16:11:29 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include "../common/fdlibm.h"
|
||||
|
||||
float
|
||||
cimagf(float complex z)
|
||||
{
|
||||
float_complex w = { .z = z };
|
||||
|
||||
return (IMAG_PART(w));
|
||||
}
|
49
newlib/libm/complex/clog.c
Normal file
49
newlib/libm/complex/clog.c
Normal file
@ -0,0 +1,49 @@
|
||||
/* $NetBSD: clog.c,v 1.1 2007/08/20 16:01:35 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double complex
|
||||
clog(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double p, rr;
|
||||
|
||||
rr = cabs(z);
|
||||
p = log(rr);
|
||||
rr = atan2(cimag(z), creal(z));
|
||||
w = p + rr * I;
|
||||
return w;
|
||||
}
|
49
newlib/libm/complex/clogf.c
Normal file
49
newlib/libm/complex/clogf.c
Normal file
@ -0,0 +1,49 @@
|
||||
/* $NetBSD: clogf.c,v 1.1 2007/08/20 16:01:35 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float complex
|
||||
clogf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float p, rr;
|
||||
|
||||
rr = cabsf(z);
|
||||
p = logf(rr);
|
||||
rr = atan2f(cimagf(z), crealf(z));
|
||||
w = p + rr * I;
|
||||
return w;
|
||||
}
|
22
newlib/libm/complex/conj.c
Normal file
22
newlib/libm/complex/conj.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* $NetBSD: conj.c,v 1.2 2010/09/15 16:11:29 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include "../common/fdlibm.h"
|
||||
|
||||
double complex
|
||||
conj(double complex z)
|
||||
{
|
||||
double_complex w = { .z = z };
|
||||
|
||||
IMAG_PART(w) = -IMAG_PART(w);
|
||||
|
||||
return (w.z);
|
||||
}
|
22
newlib/libm/complex/conjf.c
Normal file
22
newlib/libm/complex/conjf.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* $NetBSD: conjf.c,v 1.2 2010/09/15 16:11:29 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include "../common/fdlibm.h"
|
||||
|
||||
float complex
|
||||
conjf(float complex z)
|
||||
{
|
||||
float_complex w = { .z = z };
|
||||
|
||||
IMAG_PART(w) = -IMAG_PART(w);
|
||||
|
||||
return (w.z);
|
||||
}
|
59
newlib/libm/complex/cpow.c
Normal file
59
newlib/libm/complex/cpow.c
Normal file
@ -0,0 +1,59 @@
|
||||
/* $NetBSD: cpow.c,v 1.1 2007/08/20 16:01:35 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double complex
|
||||
cpow(double complex a, double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double x, y, r, theta, absa, arga;
|
||||
|
||||
x = creal(z);
|
||||
y = cimag(z);
|
||||
absa = cabs(a);
|
||||
if (absa == 0.0) {
|
||||
return (0.0 + 0.0 * I);
|
||||
}
|
||||
arga = carg(a);
|
||||
r = pow(absa, x);
|
||||
theta = x * arga;
|
||||
if (y != 0.0) {
|
||||
r = r * exp(-y * arga);
|
||||
theta = theta + y * log(absa);
|
||||
}
|
||||
w = r * cos(theta) + (r * sin(theta)) * I;
|
||||
return w;
|
||||
}
|
59
newlib/libm/complex/cpowf.c
Normal file
59
newlib/libm/complex/cpowf.c
Normal file
@ -0,0 +1,59 @@
|
||||
/* $NetBSD: cpowf.c,v 1.1 2007/08/20 16:01:36 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float complex
|
||||
cpowf(float complex a, float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float x, y, r, theta, absa, arga;
|
||||
|
||||
x = crealf(z);
|
||||
y = cimagf(z);
|
||||
absa = cabsf(a);
|
||||
if (absa == 0.0f) {
|
||||
return (0.0f + 0.0f * I);
|
||||
}
|
||||
arga = cargf(a);
|
||||
r = powf(absa, x);
|
||||
theta = x * arga;
|
||||
if (y != 0.0f) {
|
||||
r = r * expf(-y * arga);
|
||||
theta = theta + y * logf(absa);
|
||||
}
|
||||
w = r * cosf(theta) + (r * sinf(theta)) * I;
|
||||
return w;
|
||||
}
|
67
newlib/libm/complex/cproj.c
Normal file
67
newlib/libm/complex/cproj.c
Normal file
@ -0,0 +1,67 @@
|
||||
/* $NetBSD: cproj.c,v 1.3 2010/09/20 17:51:38 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2010 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
/*__RCSID("$NetBSD: cproj.c,v 1.3 2010/09/20 17:51:38 christos Exp $"); */
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "../common/fdlibm.h"
|
||||
|
||||
/*
|
||||
* cproj(double complex z)
|
||||
*
|
||||
* These functions return the value of the projection (not stereographic!)
|
||||
* onto the Riemann sphere.
|
||||
*
|
||||
* z projects to z, except that all complex infinities (even those with one
|
||||
* infinite part and one NaN part) project to positive infinity on the real axis.
|
||||
* If z has an infinite part, then cproj(z) shall be equivalent to:
|
||||
*
|
||||
* INFINITY + I * copysign(0.0, cimag(z))
|
||||
*/
|
||||
double complex
|
||||
cproj(double complex z)
|
||||
{
|
||||
double_complex w = { .z = z };
|
||||
|
||||
if (isinf(creal(z) || isinf(cimag(z)))) {
|
||||
#ifdef __INFINITY
|
||||
REAL_PART(w) = __INFINITY;
|
||||
#else
|
||||
REAL_PART(w) = INFINITY;
|
||||
#endif
|
||||
IMAG_PART(w) = copysign(0.0, cimag(z));
|
||||
}
|
||||
|
||||
return (w.z);
|
||||
}
|
68
newlib/libm/complex/cprojf.c
Normal file
68
newlib/libm/complex/cprojf.c
Normal file
@ -0,0 +1,68 @@
|
||||
/* $NetBSD: cprojf.c,v 1.3 2010/09/20 17:51:38 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2010 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
/*__RCSID("$NetBSD: cprojf.c,v 1.3 2010/09/20 17:51:38 christos Exp $"); */
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "../common/fdlibm.h"
|
||||
|
||||
/*
|
||||
* cprojf(float complex z)
|
||||
*
|
||||
* These functions return the value of the projection (not stereographic!)
|
||||
* onto the Riemann sphere.
|
||||
*
|
||||
* z projects to z, except that all complex infinities (even those with one
|
||||
* infinite part and one NaN part) project to positive infinity on the real axis.
|
||||
* If z has an infinite part, then cproj(z) shall be equivalent to:
|
||||
*
|
||||
* INFINITY + I * copysign(0.0, cimag(z))
|
||||
*/
|
||||
|
||||
float complex
|
||||
cprojf(float complex z)
|
||||
{
|
||||
float_complex w = { .z = z };
|
||||
|
||||
if (isinf(crealf(z) || isinf(cimagf(z)))) {
|
||||
#ifdef __INFINITY
|
||||
REAL_PART(w) = __INFINITY;
|
||||
#else
|
||||
REAL_PART(w) = INFINITY;
|
||||
#endif
|
||||
IMAG_PART(w) = copysignf(0.0, cimagf(z));
|
||||
}
|
||||
|
||||
return (w.z);
|
||||
}
|
20
newlib/libm/complex/creal.c
Normal file
20
newlib/libm/complex/creal.c
Normal file
@ -0,0 +1,20 @@
|
||||
/* $NetBSD: creal.c,v 1.2 2010/09/15 16:11:29 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include "../common/fdlibm.h"
|
||||
|
||||
double
|
||||
creal(double complex z)
|
||||
{
|
||||
double_complex w = { .z = z };
|
||||
|
||||
return (REAL_PART(w));
|
||||
}
|
20
newlib/libm/complex/crealf.c
Normal file
20
newlib/libm/complex/crealf.c
Normal file
@ -0,0 +1,20 @@
|
||||
/* $NetBSD: crealf.c,v 1.2 2010/09/15 16:11:29 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
||||
* Public domain.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include "../common/fdlibm.h"
|
||||
|
||||
float
|
||||
crealf(float complex z)
|
||||
{
|
||||
float_complex w = { .z = z };
|
||||
|
||||
return (REAL_PART(w));
|
||||
}
|
48
newlib/libm/complex/csin.c
Normal file
48
newlib/libm/complex/csin.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: csin.c,v 1.1 2007/08/20 16:01:36 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subr.h"
|
||||
|
||||
double complex
|
||||
csin(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double ch, sh;
|
||||
|
||||
_cchsh(cimag(z), &ch, &sh);
|
||||
w = sin(creal(z)) * ch + (cos(creal(z)) * sh) * I;
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/csinf.c
Normal file
48
newlib/libm/complex/csinf.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: csinf.c,v 1.1 2007/08/20 16:01:36 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subrf.h"
|
||||
|
||||
float complex
|
||||
csinf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float ch, sh;
|
||||
|
||||
_cchshf(cimagf(z), &ch, &sh);
|
||||
w = sinf(crealf(z)) * ch + (cosf(crealf(z)) * sh) * I;
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/csinh.c
Normal file
48
newlib/libm/complex/csinh.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: csinh.c,v 1.1 2007/08/20 16:01:36 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double complex
|
||||
csinh(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double x, y;
|
||||
|
||||
x = creal(z);
|
||||
y = cimag(z);
|
||||
w = sinh(x) * cos(y) + (cosh(x) * sin(y)) * I;
|
||||
return w;
|
||||
}
|
48
newlib/libm/complex/csinhf.c
Normal file
48
newlib/libm/complex/csinhf.c
Normal file
@ -0,0 +1,48 @@
|
||||
/* $NetBSD: csinhf.c,v 1.1 2007/08/20 16:01:37 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float complex
|
||||
csinhf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float x, y;
|
||||
|
||||
x = crealf(z);
|
||||
y = cimagf(z);
|
||||
w = sinhf(x) * cosf(y) + (coshf(x) * sinf(y)) * I;
|
||||
return w;
|
||||
}
|
102
newlib/libm/complex/csqrt.c
Normal file
102
newlib/libm/complex/csqrt.c
Normal file
@ -0,0 +1,102 @@
|
||||
/* $NetBSD: csqrt.c,v 1.1 2007/08/20 16:01:37 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double complex
|
||||
csqrt(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double x, y, r, t, scale;
|
||||
|
||||
x = creal (z);
|
||||
y = cimag (z);
|
||||
|
||||
if (y == 0.0) {
|
||||
if (x == 0.0) {
|
||||
w = 0.0 + y * I;
|
||||
} else {
|
||||
r = fabs(x);
|
||||
r = sqrt(r);
|
||||
if (x < 0.0) {
|
||||
w = 0.0 + r * I;
|
||||
} else {
|
||||
w = r + y * I;
|
||||
}
|
||||
}
|
||||
return w;
|
||||
}
|
||||
if (x == 0.0) {
|
||||
r = fabs(y);
|
||||
r = sqrt(0.5 * r);
|
||||
if (y > 0)
|
||||
w = r + r * I;
|
||||
else
|
||||
w = r - r * I;
|
||||
return w;
|
||||
}
|
||||
/* Rescale to avoid internal overflow or underflow. */
|
||||
if ((fabs(x) > 4.0) || (fabs(y) > 4.0)) {
|
||||
x *= 0.25;
|
||||
y *= 0.25;
|
||||
scale = 2.0;
|
||||
} else {
|
||||
#if 1
|
||||
x *= 1.8014398509481984e16; /* 2^54 */
|
||||
y *= 1.8014398509481984e16;
|
||||
scale = 7.450580596923828125e-9; /* 2^-27 */
|
||||
#else
|
||||
x *= 4.0;
|
||||
y *= 4.0;
|
||||
scale = 0.5;
|
||||
#endif
|
||||
}
|
||||
w = x + y * I;
|
||||
r = cabs(w);
|
||||
if (x > 0) {
|
||||
t = sqrt(0.5 * r + 0.5 * x);
|
||||
r = scale * fabs((0.5 * y) / t );
|
||||
t *= scale;
|
||||
} else {
|
||||
r = sqrt(0.5 * r - 0.5 * x);
|
||||
t = scale * fabs((0.5 * y) / r);
|
||||
r *= scale;
|
||||
}
|
||||
if (y < 0)
|
||||
w = t - r * I;
|
||||
else
|
||||
w = t + r * I;
|
||||
return w;
|
||||
}
|
102
newlib/libm/complex/csqrtf.c
Normal file
102
newlib/libm/complex/csqrtf.c
Normal file
@ -0,0 +1,102 @@
|
||||
/* $NetBSD: csqrtf.c,v 1.1 2007/08/20 16:01:37 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float complex
|
||||
csqrtf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float x, y, r, t, scale;
|
||||
|
||||
x = crealf (z);
|
||||
y = cimagf (z);
|
||||
|
||||
if (y == 0.0f) {
|
||||
if (x < 0.0f) {
|
||||
w = 0.0f + sqrtf(-x) * I;
|
||||
return w;
|
||||
} else if (x == 0.0f) {
|
||||
return (0.0f + y * I);
|
||||
} else {
|
||||
w = sqrtf(x) + y * I;
|
||||
return w;
|
||||
}
|
||||
}
|
||||
|
||||
if (x == 0.0f) {
|
||||
r = fabsf(y);
|
||||
r = sqrtf(0.5f * r);
|
||||
if (y > 0)
|
||||
w = r + r * I;
|
||||
else
|
||||
w = r - r * I;
|
||||
return w;
|
||||
}
|
||||
|
||||
/* Rescale to avoid internal overflow or underflow. */
|
||||
if ((fabsf(x) > 4.0f) || (fabsf(y) > 4.0f)) {
|
||||
x *= 0.25f;
|
||||
y *= 0.25f;
|
||||
scale = 2.0f;
|
||||
} else {
|
||||
#if 1
|
||||
x *= 6.7108864e7f; /* 2^26 */
|
||||
y *= 6.7108864e7f;
|
||||
scale = 1.220703125e-4f; /* 2^-13 */
|
||||
#else
|
||||
x *= 4.0f;
|
||||
y *= 4.0f;
|
||||
scale = 0.5f;
|
||||
#endif
|
||||
}
|
||||
w = x + y * I;
|
||||
r = cabsf(w);
|
||||
if( x > 0 ) {
|
||||
t = sqrtf(0.5f * r + 0.5f * x);
|
||||
r = scale * fabsf((0.5f * y) / t);
|
||||
t *= scale;
|
||||
} else {
|
||||
r = sqrtf(0.5f * r - 0.5f * x);
|
||||
t = scale * fabsf((0.5f * y) / r);
|
||||
r *= scale;
|
||||
}
|
||||
|
||||
if (y < 0)
|
||||
w = t - r * I;
|
||||
else
|
||||
w = t + r * I;
|
||||
return w;
|
||||
}
|
60
newlib/libm/complex/ctan.c
Normal file
60
newlib/libm/complex/ctan.c
Normal file
@ -0,0 +1,60 @@
|
||||
/* $NetBSD: ctan.c,v 1.1 2007/08/20 16:01:37 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subr.h"
|
||||
|
||||
#define MAXNUM 1.0e308
|
||||
|
||||
double complex
|
||||
ctan(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double d;
|
||||
|
||||
d = cos(2.0 * creal(z)) + cosh(2.0 * cimag(z));
|
||||
|
||||
if (fabs(d) < 0.25)
|
||||
d = _ctans(z);
|
||||
|
||||
if (d == 0.0) {
|
||||
/* mtherr ("ctan", OVERFLOW); */
|
||||
w = MAXNUM + MAXNUM * I;
|
||||
return w;
|
||||
}
|
||||
|
||||
w = sin(2.0 * creal(z)) / d + (sinh(2.0 * cimag(z)) / d) * I;
|
||||
return w;
|
||||
}
|
60
newlib/libm/complex/ctanf.c
Normal file
60
newlib/libm/complex/ctanf.c
Normal file
@ -0,0 +1,60 @@
|
||||
/* $NetBSD: ctanf.c,v 1.1 2007/08/20 16:01:38 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include "cephes_subrf.h"
|
||||
|
||||
#define MAXNUMF 1.0e38f
|
||||
|
||||
float complex
|
||||
ctanf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float d;
|
||||
|
||||
d = cosf(2.0f * crealf(z)) + coshf(2.0f * cimagf(z));
|
||||
|
||||
if (fabsf(d) < 0.25f)
|
||||
d = _ctansf(z);
|
||||
|
||||
if (d == 0.0f) {
|
||||
/* mtherr ("ctan", OVERFLOW); */
|
||||
w = MAXNUMF + MAXNUMF * I;
|
||||
return w;
|
||||
}
|
||||
|
||||
w = sinf(2.0f * crealf(z)) / d + (sinhf(2.0f * cimagf(z)) / d) * I;
|
||||
return w;
|
||||
}
|
50
newlib/libm/complex/ctanh.c
Normal file
50
newlib/libm/complex/ctanh.c
Normal file
@ -0,0 +1,50 @@
|
||||
/* $NetBSD: ctanh.c,v 1.1 2007/08/20 16:01:38 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
double complex
|
||||
ctanh(double complex z)
|
||||
{
|
||||
double complex w;
|
||||
double x, y, d;
|
||||
|
||||
x = creal(z);
|
||||
y = cimag(z);
|
||||
d = cosh(2.0 * x) + cos(2.0 * y);
|
||||
w = sinh(2.0 * x) / d + (sin(2.0 * y) / d) * I;
|
||||
|
||||
return w;
|
||||
}
|
50
newlib/libm/complex/ctanhf.c
Normal file
50
newlib/libm/complex/ctanhf.c
Normal file
@ -0,0 +1,50 @@
|
||||
/* $NetBSD: ctanhf.c,v 1.1 2007/08/20 16:01:38 drochner Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software written by Stephen L. Moshier.
|
||||
* It is redistributed by the NetBSD Foundation by permission of the author.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* imported and modified include for newlib 2010/10/03
|
||||
* Marco Atzeri <marco_atzeri@yahoo.it>
|
||||
*/
|
||||
|
||||
#include <complex.h>
|
||||
#include <math.h>
|
||||
|
||||
float complex
|
||||
ctanhf(float complex z)
|
||||
{
|
||||
float complex w;
|
||||
float x, y, d;
|
||||
|
||||
x = crealf(z);
|
||||
y = cimagf(z);
|
||||
d = coshf(2.0f * x) + cosf(2.0f * y);
|
||||
w = sinhf(2.0f * x) / d + (sinf(2.0f * y) / d) * I;
|
||||
|
||||
return w;
|
||||
}
|
3
newlib/libm/configure
vendored
3
newlib/libm/configure
vendored
@ -12774,7 +12774,7 @@ fi
|
||||
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files Makefile math/Makefile mathfp/Makefile common/Makefile"
|
||||
ac_config_files="$ac_config_files Makefile math/Makefile mathfp/Makefile common/Makefile complex/Makefile"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
@ -13765,6 +13765,7 @@ do
|
||||
"math/Makefile") CONFIG_FILES="$CONFIG_FILES math/Makefile" ;;
|
||||
"mathfp/Makefile") CONFIG_FILES="$CONFIG_FILES mathfp/Makefile" ;;
|
||||
"common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
|
||||
"complex/Makefile") CONFIG_FILES="$CONFIG_FILES complex/Makefile" ;;
|
||||
|
||||
*) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
|
||||
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
|
||||
|
@ -62,5 +62,5 @@ fi
|
||||
|
||||
AC_SUBST(LIBM_MACHINE_LIB)
|
||||
|
||||
AC_CONFIG_FILES([Makefile math/Makefile mathfp/Makefile common/Makefile])
|
||||
AC_CONFIG_FILES([Makefile math/Makefile mathfp/Makefile common/Makefile complex/Makefile])
|
||||
AC_OUTPUT
|
||||
|
Loading…
x
Reference in New Issue
Block a user