From: Aditya Upadhyay <aadit0402@gmail.com>
To: newlib@sourceware.org
Subject: Long double complex methods
Date: Wed, 28 Jun 2017 13:53:00 -0000 [thread overview]
Message-ID: <CAMZxAxeb3gjOdkM9eThKT7n25LwZNa4wff9rvZsb7k8aev-D5g@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 176 bytes --]
Hello Developers,
This is the patch for conjl.c and ctanl.c ported from NetBSD. Please
review the same and suggest me needed modification.
Thanks & Regards,
Aditya Upadhyay
[-- Attachment #2: 0011-Importing-conjl.c-from-NetBSD.patch --]
[-- Type: text/x-patch, Size: 3099 bytes --]
From 35fea5cb4912073b8027b0622dd9143b8bd61803 Mon Sep 17 00:00:00 2001
From: Aditya Upadhyay <aadit0402@gmail.com>
Date: Wed, 28 Jun 2017 18:50:52 +0530
Subject: [PATCH 11/12] Importing conjl.c from NetBSD.
---
newlib/libm/complex/Makefile.am | 2 +-
newlib/libm/complex/conjl.c | 46 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 1 deletion(-)
create mode 100644 newlib/libm/complex/conjl.c
diff --git a/newlib/libm/complex/Makefile.am b/newlib/libm/complex/Makefile.am
index e121ac5..979a9a9 100644
--- a/newlib/libm/complex/Makefile.am
+++ b/newlib/libm/complex/Makefile.am
@@ -12,7 +12,7 @@ src = cabs.c cacos.c cacosh.c carg.c casin.c casinh.c \
lsrc = cabsl.c creall.c cimagl.c ccoshl.c cacoshl.c \
clogl.c csqrtl.c cargl.c cprojl.c cexpl.c cephes_subrl.c\
- cacosl.c ccosl.c cpowl.c
+ cacosl.c ccosl.c cpowl.c conjl.c
fsrc = cabsf.c casinf.c ccosf.c cimagf.c cprojf.c \
csqrtf.c cacosf.c casinhf.c ccoshf.c clogf.c clog10f.c \
diff --git a/newlib/libm/complex/conjl.c b/newlib/libm/complex/conjl.c
new file mode 100644
index 0000000..35094ce
--- /dev/null
+++ b/newlib/libm/complex/conjl.c
@@ -0,0 +1,46 @@
+/* $NetBSD: conjl.c,v 1.4 2010/09/20 16:55:20 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.
+ */
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: conjl.c,v 1.4 2010/09/20 16:55:20 christos Exp $");
+
+#include <complex.h>
+#include "../common/fdlibm.h"
+
+/*
+ * conjl(long double complex z)
+ * This function returns the complex conjugate value of its argument, z.
+ */
+long double complex
+conjl(long double complex z)
+{
+ long_double_complex w = { .z = z };
+
+ IMAG_PART(w) = -IMAG_PART(w);
+
+ return (w.z);
+}
--
2.7.4
[-- Attachment #3: 0012-Porting-ctanl.c-from-NetBSD.patch --]
[-- Type: text/x-patch, Size: 3329 bytes --]
From b0f90b446b21c0ee16aef03614580ade8d0ac43b Mon Sep 17 00:00:00 2001
From: Aditya Upadhyay <aadit0402@gmail.com>
Date: Wed, 28 Jun 2017 19:06:03 +0530
Subject: [PATCH 12/12] Porting ctanl.c from NetBSD.
---
newlib/libm/complex/Makefile.am | 3 ++-
newlib/libm/complex/ctanl.c | 56 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 58 insertions(+), 1 deletion(-)
create mode 100644 newlib/libm/complex/ctanl.c
diff --git a/newlib/libm/complex/Makefile.am b/newlib/libm/complex/Makefile.am
index 979a9a9..02cab35 100644
--- a/newlib/libm/complex/Makefile.am
+++ b/newlib/libm/complex/Makefile.am
@@ -12,7 +12,8 @@ src = cabs.c cacos.c cacosh.c carg.c casin.c casinh.c \
lsrc = cabsl.c creall.c cimagl.c ccoshl.c cacoshl.c \
clogl.c csqrtl.c cargl.c cprojl.c cexpl.c cephes_subrl.c\
- cacosl.c ccosl.c cpowl.c conjl.c
+ cacosl.c ccosl.c cpowl.c conjl.c \
+ ctanl.c
fsrc = cabsf.c casinf.c ccosf.c cimagf.c cprojf.c \
csqrtf.c cacosf.c casinhf.c ccoshf.c clogf.c clog10f.c \
diff --git a/newlib/libm/complex/ctanl.c b/newlib/libm/complex/ctanl.c
new file mode 100644
index 0000000..9255bdb
--- /dev/null
+++ b/newlib/libm/complex/ctanl.c
@@ -0,0 +1,56 @@
+/* $NetBSD: ctanl.c,v 1.1 2014/10/10 00:48:18 christos 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.
+ */
+
+
+#include <complex.h>
+#include <math.h>
+#include "cephes_subrl.h"
+
+long double complex
+ctanl(long double complex z)
+{
+ long double complex w;
+ long double d;
+
+ d = cosl(2.0L * creall(z)) + coshl(2.0L * cimagl(z));
+
+ if (fabsl(d) < 0.25L)
+ d = _ctansl(z);
+
+ if (d == 0.0L) {
+ /* mtherr ("ctan", OVERFLOW); */
+ w = HUGE_VALF + HUGE_VALF * I;
+ return w;
+ }
+
+ w = sinl(2.0L * creall(z)) / d + (sinhl(2.0L * cimagl(z)) / d) * I;
+ return w;
+}
--
2.7.4
next reply other threads:[~2017-06-28 13:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-28 13:53 Aditya Upadhyay [this message]
2017-06-28 20:35 Aditya Upadhyay
2017-06-28 21:36 ` Dionna Amalie Glaze via newlib
2017-06-28 21:57 ` Joel Sherrill
2017-06-29 16:18 ` Joseph Myers
2017-06-29 16:31 ` Joel Sherrill
2017-06-29 6:39 ` Corinna Vinschen
2017-06-29 7:11 ` Aditya Upadhyay
2017-06-29 11:53 ` Corinna Vinschen
2017-06-29 12:04 ` Corinna Vinschen
2017-06-29 19:38 ` Yaakov Selkowitz
2017-06-29 21:17 ` Joel Sherrill
2017-06-30 9:11 ` Aditya Upadhyay
2017-07-04 21:31 ` Aditya Upadhyay
2017-07-04 21:56 ` Aditya Upadhyay
2017-07-05 8:27 ` Corinna Vinschen
2017-07-05 9:02 ` Aditya Upadhyay
2017-07-05 12:40 ` Corinna Vinschen
2017-06-29 13:47 ` Joel Sherrill
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMZxAxeb3gjOdkM9eThKT7n25LwZNa4wff9rvZsb7k8aev-D5g@mail.gmail.com \
--to=aadit0402@gmail.com \
--cc=newlib@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).