<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e485b0a0c8125cb9d8bcc6241a9c2016514188c8">https://github.com/macports/macports-ports/commit/e485b0a0c8125cb9d8bcc6241a9c2016514188c8</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new e485b0a0c81 SuiteSparse: fix build on 10.6 and earlier
</span>e485b0a0c81 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit e485b0a0c8125cb9d8bcc6241a9c2016514188c8
</span>Author: Szabolcs Horvát <szhorvat@gmail.com>
AuthorDate: Wed Jan 3 12:45:57 2024 +0000
<span style='display:block; white-space:pre;color:#404040;'> SuiteSparse: fix build on 10.6 and earlier
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> - Closes: https://trac.macports.org/ticket/69025
</span>---
math/SuiteSparse/Portfile | 9 +-
.../files/patch-KLU-Include-klu_version.h.diff | 376 ---------------------
2 files changed, 7 insertions(+), 378 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/SuiteSparse/Portfile b/math/SuiteSparse/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b193a09fb3c..fc3837de001 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/SuiteSparse/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/SuiteSparse/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,12 +22,17 @@ checksums rmd160 8539e35f47729cdc1843e7999b02bca3bc244272 \
</span> sha256 9f976f83405baf55ba24e9494ce3f526251b972f4554ffe9046c21706be87559 \
size 85408692
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append patch-KLU-Include-klu_version.h.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> configure.optflags -O3
compiler.c_standard 2011
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Defining __NOEXTENSIONS__ is necessary on OS X 10.6 and earlier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This prevents math.h from using the non-standard symbols Real and Imag
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# which conflict with several SuiteSparse packages (at least KLU and CHOLMOD).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cppflags-append -D__NOEXTENSIONS__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # We keep SUITESPARSE_USE_STRICT at the default value of OFF and
# SUITESPARSE_USE_OPENMP at the default value of ON. This way OpenMP will be
# used only when the compiler supports it. OpenMP is enabled on a case-by-case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/SuiteSparse/files/patch-KLU-Include-klu_version.h.diff b/math/SuiteSparse/files/patch-KLU-Include-klu_version.h.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 7382c5ec0f7..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/SuiteSparse/files/patch-KLU-Include-klu_version.h.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,376 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-klu_version.h defines Real and Imag which conflicts with math.h on PPC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- KLU/Include/klu_version.h.orig 2013-10-24 12:06:25.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ KLU/Include/klu_version.h 2013-10-24 12:08:49.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -327,8 +327,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef Double_Complex Unit ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define Entry Double_Complex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define Real component [0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define Imag component [1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define RealPart component [0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define ImagPart component [1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* for flop counts */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MULTSUB_FLOPS 8. /* c -= a*b */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -342,12 +342,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* real part of c */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define REAL(c) ((c).Real)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define REAL(c) ((c).RealPart)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* imag part of c */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define IMAG(c) ((c).Imag)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define IMAG(c) ((c).ImagPart)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -360,8 +360,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (split) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = (s1)[p] ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = (s2)[p] ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = (s1)[p] ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = (s2)[p] ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -372,15 +372,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define CONJ(a, x) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- a.Real = x.Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- a.Imag = -x.Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a.RealPart = x.RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a.ImagPart = -x.ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* c = 0 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define CLEAR(c) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = 0. ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = 0. ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = 0. ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = 0. ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -388,8 +388,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* *p++ = 0 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define CLEAR_AND_INCREMENT(p) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- p->Real = 0. ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- p->Imag = 0. ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p->RealPart = 0. ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ p->ImagPart = 0. ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- p++ ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -397,34 +397,34 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* True if a == 0 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define IS_ZERO(a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (SCALAR_IS_ZERO ((a).Real) && SCALAR_IS_ZERO ((a).Imag))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (SCALAR_IS_ZERO ((a).RealPart) && SCALAR_IS_ZERO ((a).ImagPart))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* True if a is NaN */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define IS_NAN(a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (SCALAR_IS_NAN ((a).Real) || SCALAR_IS_NAN ((a).Imag))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (SCALAR_IS_NAN ((a).RealPart) || SCALAR_IS_NAN ((a).ImagPart))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* True if a != 0 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define IS_NONZERO(a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (SCALAR_IS_NONZERO ((a).Real) || SCALAR_IS_NONZERO ((a).Imag))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (SCALAR_IS_NONZERO ((a).RealPart) || SCALAR_IS_NONZERO ((a).ImagPart))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* a = c/s */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SCALE_DIV_ASSIGN(a,c,s) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- a.Real = c.Real / s ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- a.Imag = c.Imag / s ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a.RealPart = c.RealPart / s ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a.ImagPart = c.ImagPart / s ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* c /= s */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SCALE_DIV(c,s) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real /= (s) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag /= (s) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart /= (s) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart /= (s) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -432,8 +432,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* c *= s */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define SCALE(c,s) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real *= (s) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag *= (s) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart *= (s) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart *= (s) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -441,8 +441,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* c += a */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ASSEMBLE(c,a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real += (a).Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag += (a).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart += (a).RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart += (a).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -450,8 +450,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* c += *p++ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ASSEMBLE_AND_INCREMENT(c,p) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real += p->Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag += p->Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart += p->RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart += p->ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- p++ ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -460,8 +460,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* c -= a */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DECREMENT(c,a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real -= (a).Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag -= (a).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart -= (a).RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart -= (a).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -470,8 +470,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MULT(c,a,b) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASSERT (&(c) != &(a) && &(c) != &(b)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = (a).Real * (b).Real - (a).Imag * (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = (a).Imag * (b).Real + (a).Real * (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = (a).RealPart * (b).RealPart - (a).ImagPart * (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = (a).ImagPart * (b).RealPart + (a).RealPart * (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -480,8 +480,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MULT_CONJ(c,a,b) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASSERT (&(c) != &(a) && &(c) != &(b)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = (a).Real * (b).Real + (a).Imag * (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = (a).Imag * (b).Real - (a).Real * (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = (a).RealPart * (b).RealPart + (a).ImagPart * (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = (a).ImagPart * (b).RealPart - (a).RealPart * (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -490,8 +490,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MULT_SUB(c,a,b) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASSERT (&(c) != &(a) && &(c) != &(b)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real -= (a).Real * (b).Real - (a).Imag * (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag -= (a).Imag * (b).Real + (a).Real * (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart -= (a).RealPart * (b).RealPart - (a).ImagPart * (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart -= (a).ImagPart * (b).RealPart + (a).RealPart * (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -500,8 +500,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MULT_SUB_CONJ(c,a,b) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ASSERT (&(c) != &(a) && &(c) != &(b)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real -= (a).Real * (b).Real + (a).Imag * (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag -= (a).Imag * (b).Real - (a).Real * (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart -= (a).RealPart * (b).RealPart + (a).ImagPart * (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart -= (a).ImagPart * (b).RealPart - (a).RealPart * (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -510,8 +510,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef MATHWORKS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DIV(c,a,b) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (void) utDivideComplex ((a).Real, (a).Imag, (b).Real, (b).Imag, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- &((c).Real), &((c).Imag)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (void) utDivideComplex ((a).RealPart, (a).ImagPart, (b).RealPart, (b).ImagPart, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &((c).RealPart), &((c).ImagPart)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* This uses ACM Algo 116, by R. L. Smith, 1962. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -520,23 +520,23 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DIV(c,a,b) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- double r, den, ar, ai, br, bi ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- br = (b).Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- bi = (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ar = (a).Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ai = (a).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ br = (b).RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bi = (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ar = (a).RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ai = (a).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (SCALAR_ABS (br) >= SCALAR_ABS (bi)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- r = bi / br ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- den = br + r * bi ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = (ar + ai * r) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = (ai - ar * r) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = (ar + ai * r) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = (ai - ar * r) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- r = br / bi ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- den = r * br + bi ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = (ar * r + ai) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = (ai * r - ar) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = (ar * r + ai) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = (ai * r - ar) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -550,21 +550,21 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define RECIPROCAL(c) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- double r, den, cr, ci ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- cr = (c).Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ci = (c).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ cr = (c).RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ci = (c).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (SCALAR_ABS (cr) >= SCALAR_ABS (ci)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- r = ci / cr ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- den = cr + r * ci ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = 1.0 / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = - r / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = 1.0 / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = - r / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- r = cr / ci ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- den = r * cr + ci ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = r / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = - 1.0 / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = r / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = - 1.0 / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -575,8 +575,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef MATHWORKS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DIV_CONJ(c,a,b) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (void) utDivideComplex ((a).Real, (a).Imag, (b).Real, (-(b).Imag), \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- &((c).Real), &((c).Imag)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (void) utDivideComplex ((a).RealPart, (a).ImagPart, (b).RealPart, (-(b).ImagPart), \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ &((c).RealPart), &((c).ImagPart)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* This uses ACM Algo 116, by R. L. Smith, 1962. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -585,23 +585,23 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define DIV_CONJ(c,a,b) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- double r, den, ar, ai, br, bi ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- br = (b).Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- bi = (b).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ar = (a).Real ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ai = (a).Imag ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ br = (b).RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ bi = (b).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ar = (a).RealPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ai = (a).ImagPart ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (SCALAR_ABS (br) >= SCALAR_ABS (bi)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- r = (-bi) / br ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- den = br - r * bi ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = (ar + ai * r) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = (ai - ar * r) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = (ar + ai * r) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = (ai - ar * r) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- r = br / (-bi) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- den = r * br - bi; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Real = (ar * r + ai) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (c).Imag = (ai * r - ar) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).RealPart = (ar * r + ai) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (c).ImagPart = (ai * r - ar) / den ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -611,7 +611,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* approximate absolute value, s = |r|+|i| */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define APPROX_ABS(s,a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (s) = SCALAR_ABS ((a).Real) + SCALAR_ABS ((a).Imag) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (s) = SCALAR_ABS ((a).RealPart) + SCALAR_ABS ((a).ImagPart) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* -------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -620,15 +620,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef MATHWORKS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ABS(s,a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (s) = utFdlibm_hypot ((a).Real, (a).Imag) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (s) = utFdlibm_hypot ((a).RealPart, (a).ImagPart) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Ignore NaN case for the double relops ar>=ai and ar+ai==ar. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ABS(s,a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- double r, ar, ai ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ar = SCALAR_ABS ((a).Real) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ai = SCALAR_ABS ((a).Imag) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ar = SCALAR_ABS ((a).RealPart) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ai = SCALAR_ABS ((a).ImagPart) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (ar >= ai) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (ar + ai == ar) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -664,25 +664,25 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define PRINT_ENTRY(a) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (SCALAR_IS_NONZERO ((a).Real)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (SCALAR_IS_NONZERO ((a).RealPart)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- PRINTF ((" (%g", (a).Real)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PRINTF ((" (%g", (a).RealPart)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PRINTF ((" (0")) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (SCALAR_IS_LTZERO ((a).Imag)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (SCALAR_IS_LTZERO ((a).ImagPart)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- PRINTF ((" - %gi)", -(a).Imag)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PRINTF ((" - %gi)", -(a).ImagPart)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- else if (SCALAR_IS_ZERO ((a).Imag)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else if (SCALAR_IS_ZERO ((a).ImagPart)) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PRINTF ((" + 0i)")) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- PRINTF ((" + %gi)", (a).Imag)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ PRINTF ((" + %gi)", (a).ImagPart)) ; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span></pre><pre style='margin:0'>
</pre>