<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>