diff --git a/lib/linalg/convert.sh b/lib/linalg/convert.sh index c73e0d3393..0b2cdec0f2 100755 --- a/lib/linalg/convert.sh +++ b/lib/linalg/convert.sh @@ -10,20 +10,28 @@ fi # cleanup rm -f *.c *.cpp *.P *~ *.orig *.bak *.rej -# translate files directly, skip those for which we have replacements. +# translate original files directly for f in fortran/*.f do \ b=$(basename $f .f) + # skip files for which we have replacements if test $b == dgetrf2 || test $b == disnan || test $b == dlaisnan || \ test $b == dlamch || test $b == dlarft || test $b == dpotrf2 || \ test $b == lsame || test $b == xerbla || test $b == zlarft then echo Skipping $b else + # convert to C++ with f2c. Make local variables dynamic. f2c -C++ -a -f $f && mv $b.c $b.cpp || exit 2 # silence c++ compiler warnings about string constants sed -i -e 's/\("[^"]\+"\)/(char *)\1/g' -e 's/^extern.*"C"/extern "C"/' \ -e 's/^#include.*"f2c.h"/#include "lmp_f2c.h"/' $b.cpp + # replace libf2c functions with local versions under a different name + sed -i -e 's/s_\(cat\|cmp\|copy\)(/s_lmp_\1(/g' \ + -e 's/d_\(sign\|cnjg\|imag\|lg10\)(/d_lmp_\1(/g' \ + -e 's/z_\(abs\|div\)(/z_lmp_\1(/g' \ + -e 's/i_\(len\|nint\|dnnt\)(/i_lmp_\1(/g' \ + -e 's/pow_\(dd\|di\|ii\)(/pow_lmp_\1(/g' $b.cpp fi done @@ -31,10 +39,17 @@ done for f in static/*.f do \ b=$(basename $f .f) + # convert to C++ with f2c. Make local variables dynamic. f2c -C++ -a -f $f && mv $b.c $b.cpp || exit 2 # silence c++ compiler warnings about string constants sed -i -e 's/\("[^"]\+"\)/(char *)\1/g' -e 's/^extern.*"C"/extern "C"/' \ -e 's/^#include.*"f2c.h"/#include "lmp_f2c.h"/' $b.cpp + # replace libf2c functions with local versions under a different name + sed -i -e 's/s_\(cat\|cmp\|copy\)(/s_lmp_\1(/g' \ + -e 's/d_\(sign\|cnjg\|imag\|lg10\)(/d_lmp_\1(/g' \ + -e 's/z_\(abs\|div\)(/z_lmp_\1(/g' \ + -e 's/i_\(len\|nint\|dnnt\)(/i_lmp_\1(/g' \ + -e 's/pow_\(dd\|di\|ii\)(/pow_lmp_\1(/g' $b.cpp done # copy direct C++ alternatives @@ -42,3 +57,6 @@ for c in static/*.cpp do \ cp -v $c . done + +# fix whitespace +python ../../tools/coding_standard/whitespace.py -c whitespace.conf -f . diff --git a/lib/linalg/d_lmp_cnjg.cpp b/lib/linalg/d_lmp_cnjg.cpp new file mode 100644 index 0000000000..03ca8f98fd --- /dev/null +++ b/lib/linalg/d_lmp_cnjg.cpp @@ -0,0 +1,13 @@ + +#include "lmp_f2c.h" + +extern "C" { + +void d_lmp_cnjg(doublecomplex *r, doublecomplex *z) +{ + doublereal zi = z->i; + + r->r = z->r; + r->i = -zi; +} +} diff --git a/lib/linalg/d_lmp_imag.cpp b/lib/linalg/d_lmp_imag.cpp new file mode 100644 index 0000000000..f0443f7828 --- /dev/null +++ b/lib/linalg/d_lmp_imag.cpp @@ -0,0 +1,10 @@ + +#include "lmp_f2c.h" + +extern "C" { + +double d_lmp_imag(doublecomplex *z) +{ + return (z->i); +} +} diff --git a/lib/linalg/d_lmp_lg10.cpp b/lib/linalg/d_lmp_lg10.cpp new file mode 100644 index 0000000000..ec48c99839 --- /dev/null +++ b/lib/linalg/d_lmp_lg10.cpp @@ -0,0 +1,14 @@ + +#include "lmp_f2c.h" +#undef abs + +static constexpr double log10e = 0.43429448190325182765; + +#include + +extern "C" { +double d_lmp_lg10(doublereal *x) +{ + return (log10e * log(*x)); +} +} diff --git a/lib/linalg/d_lmp_sign.cpp b/lib/linalg/d_lmp_sign.cpp new file mode 100644 index 0000000000..fb0a1e79ff --- /dev/null +++ b/lib/linalg/d_lmp_sign.cpp @@ -0,0 +1,12 @@ + +#include "lmp_f2c.h" + +extern "C" { + +double d_lmp_sign(doublereal *a, doublereal *b) +{ + double x; + x = (*a >= 0 ? *a : -*a); + return (*b >= 0 ? x : -x); +} +} diff --git a/lib/linalg/dbdsqr.cpp b/lib/linalg/dbdsqr.cpp index 5f5c1b1d6f..e8fef63745 100644 --- a/lib/linalg/dbdsqr.cpp +++ b/lib/linalg/dbdsqr.cpp @@ -274,7 +274,7 @@ f"> */ doublereal d__1, d__2, d__3, d__4; /* Builtin functions */ - double pow_dd(doublereal *, doublereal *), sqrt(doublereal), d_sign( + double pow_lmp_dd(doublereal *, doublereal *), sqrt(doublereal), d_lmp_sign( doublereal *, doublereal *); /* Local variables */ @@ -454,7 +454,7 @@ f"> */ /* Computing MAX */ /* Computing MIN */ - d__3 = 100., d__4 = pow_dd(&eps, &c_b15); + d__3 = 100., d__4 = pow_lmp_dd(&eps, &c_b15); d__1 = 10., d__2 = min(d__3,d__4); tolmul = max(d__1,d__2); tol = tolmul * eps; @@ -852,7 +852,7 @@ L90: /* Chase bulge from top to bottom */ /* Save cosines and sines for later singular vector updates */ - f = ((d__1 = d__[ll], abs(d__1)) - shift) * (d_sign(&c_b49, &d__[ + f = ((d__1 = d__[ll], abs(d__1)) - shift) * (d_lmp_sign(&c_b49, &d__[ ll]) + shift / d__[ll]); g = e[ll]; i__1 = m - 1; @@ -912,7 +912,7 @@ L90: /* Chase bulge from bottom to top */ /* Save cosines and sines for later singular vector updates */ - f = ((d__1 = d__[m], abs(d__1)) - shift) * (d_sign(&c_b49, &d__[m] + f = ((d__1 = d__[m], abs(d__1)) - shift) * (d_lmp_sign(&c_b49, &d__[m] ) + shift / d__[m]); g = e[m - 1]; i__1 = ll + 1; diff --git a/lib/linalg/dcabs1.cpp b/lib/linalg/dcabs1.cpp index bdaf645a57..54b2b57eab 100644 --- a/lib/linalg/dcabs1.cpp +++ b/lib/linalg/dcabs1.cpp @@ -66,7 +66,7 @@ doublereal dcabs1_(doublecomplex *z__) doublereal ret_val, d__1, d__2; /* Builtin functions */ - double d_imag(doublecomplex *); + double d_lmp_imag(doublecomplex *); /* -- Reference BLAS level1 routine -- */ @@ -80,7 +80,7 @@ doublereal dcabs1_(doublecomplex *z__) /* .. Intrinsic Functions .. */ - ret_val = (d__1 = z__->r, abs(d__1)) + (d__2 = d_imag(z__), abs(d__2)); + ret_val = (d__1 = z__->r, abs(d__1)) + (d__2 = d_lmp_imag(z__), abs(d__2)); return ret_val; /* End of DCABS1 */ diff --git a/lib/linalg/dgesvd.cpp b/lib/linalg/dgesvd.cpp index 6a2e70640f..b5f4f1e8de 100644 --- a/lib/linalg/dgesvd.cpp +++ b/lib/linalg/dgesvd.cpp @@ -248,7 +248,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); double sqrt(doublereal); /* Local variables */ @@ -391,7 +391,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = jobu; i__1[1] = 1, a__1[1] = jobvt; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); mnthr = ilaenv_(&c__6, (char *)"DGESVD", ch__1, m, n, &c__0, &c__0, ( ftnlen)6, (ftnlen)2); bdspac = *n * 5; @@ -650,7 +650,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = jobu; i__1[1] = 1, a__1[1] = jobvt; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); mnthr = ilaenv_(&c__6, (char *)"DGESVD", ch__1, m, n, &c__0, &c__0, ( ftnlen)6, (ftnlen)2); bdspac = *m * 5; diff --git a/lib/linalg/dlabad.cpp b/lib/linalg/dlabad.cpp index a753834632..45de813f49 100644 --- a/lib/linalg/dlabad.cpp +++ b/lib/linalg/dlabad.cpp @@ -93,7 +93,7 @@ f"> */ /* Subroutine */ int dlabad_(doublereal *small, doublereal *large) { /* Builtin functions */ - double d_lg10(doublereal *), sqrt(doublereal); + double d_lmp_lg10(doublereal *), sqrt(doublereal); /* -- LAPACK auxiliary routine -- */ @@ -112,7 +112,7 @@ f"> */ /* If it looks like we're on a Cray, take the square root of */ /* SMALL and LARGE to avoid overflow and underflow problems. */ - if (d_lg10(large) > 2e3) { + if (d_lmp_lg10(large) > 2e3) { *small = sqrt(*small); *large = sqrt(*large); } diff --git a/lib/linalg/dlacn2.cpp b/lib/linalg/dlacn2.cpp index 7293447d88..bee9fb7e25 100644 --- a/lib/linalg/dlacn2.cpp +++ b/lib/linalg/dlacn2.cpp @@ -165,7 +165,7 @@ f"> */ doublereal d__1; /* Builtin functions */ - integer i_dnnt(doublereal *); + integer i_lmp_dnnt(doublereal *); /* Local variables */ integer i__; @@ -246,7 +246,7 @@ L20: } else { x[i__] = -1.; } - isgn[i__] = i_dnnt(&x[i__]); + isgn[i__] = i_lmp_dnnt(&x[i__]); /* L30: */ } *kase = 2; @@ -287,7 +287,7 @@ L70: } else { xs = -1.; } - if (i_dnnt(&xs) != isgn[i__]) { + if (i_lmp_dnnt(&xs) != isgn[i__]) { goto L90; } /* L80: */ @@ -308,7 +308,7 @@ L90: } else { x[i__] = -1.; } - isgn[i__] = i_dnnt(&x[i__]); + isgn[i__] = i_lmp_dnnt(&x[i__]); /* L100: */ } *kase = 2; diff --git a/lib/linalg/dlaed0.cpp b/lib/linalg/dlaed0.cpp index 68fee93814..5c40115e77 100644 --- a/lib/linalg/dlaed0.cpp +++ b/lib/linalg/dlaed0.cpp @@ -208,7 +208,7 @@ f"> */ /* Builtin functions */ double log(doublereal); - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); /* Local variables */ integer i__, j, k, iq, lgn, msd2, smm1, spm1, spm2; @@ -354,10 +354,10 @@ L10: temp = log((doublereal) (*n)) / log(2.); lgn = (integer) temp; - if (pow_ii(&c__2, &lgn) < *n) { + if (pow_lmp_ii(&c__2, &lgn) < *n) { ++lgn; } - if (pow_ii(&c__2, &lgn) < *n) { + if (pow_lmp_ii(&c__2, &lgn) < *n) { ++lgn; } iprmpt = indxq + *n + 1; diff --git a/lib/linalg/dlaed3.cpp b/lib/linalg/dlaed3.cpp index c1f5e908dc..5c7d2a8596 100644 --- a/lib/linalg/dlaed3.cpp +++ b/lib/linalg/dlaed3.cpp @@ -217,7 +217,7 @@ f"> */ doublereal d__1; /* Builtin functions */ - double sqrt(doublereal), d_sign(doublereal *, doublereal *); + double sqrt(doublereal), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ integer i__, j, n2, n12, ii, n23, iq2; @@ -374,7 +374,7 @@ f"> */ i__1 = *k; for (i__ = 1; i__ <= i__1; ++i__) { d__1 = sqrt(-w[i__]); - w[i__] = d_sign(&d__1, &s[i__]); + w[i__] = d_lmp_sign(&d__1, &s[i__]); /* L70: */ } diff --git a/lib/linalg/dlaed6.cpp b/lib/linalg/dlaed6.cpp index aae975971f..d884bbd67e 100644 --- a/lib/linalg/dlaed6.cpp +++ b/lib/linalg/dlaed6.cpp @@ -165,7 +165,7 @@ f"> */ doublereal d__1, d__2, d__3, d__4; /* Builtin functions */ - double sqrt(doublereal), log(doublereal), pow_di(doublereal *, integer *); + double sqrt(doublereal), log(doublereal), pow_lmp_di(doublereal *, integer *); /* Local variables */ doublereal a, b, c__, f; @@ -281,7 +281,7 @@ f"> */ eps = dlamch_((char *)"Epsilon", (ftnlen)7); base = dlamch_((char *)"Base", (ftnlen)4); i__1 = (integer) (log(dlamch_((char *)"SafMin", (ftnlen)6)) / log(base) / 3.); - small1 = pow_di(&base, &i__1); + small1 = pow_lmp_di(&base, &i__1); sminv1 = 1. / small1; small2 = small1 * small1; sminv2 = sminv1 * sminv1; diff --git a/lib/linalg/dlaed7.cpp b/lib/linalg/dlaed7.cpp index 1751f93559..bc763aa9df 100644 --- a/lib/linalg/dlaed7.cpp +++ b/lib/linalg/dlaed7.cpp @@ -293,7 +293,7 @@ f"> */ integer q_dim1, q_offset, i__1, i__2; /* Builtin functions */ - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); /* Local variables */ integer i__, k, n1, n2, is, iw, iz, iq2, ptr, ldq2, indx, curr; @@ -408,11 +408,11 @@ f"> */ /* Form the z-vector which consists of the last row of Q_1 and the */ /* first row of Q_2. */ - ptr = pow_ii(&c__2, tlvls) + 1; + ptr = pow_lmp_ii(&c__2, tlvls) + 1; i__1 = *curlvl - 1; for (i__ = 1; i__ <= i__1; ++i__) { i__2 = *tlvls - i__; - ptr += pow_ii(&c__2, &i__2); + ptr += pow_lmp_ii(&c__2, &i__2); /* L10: */ } curr = ptr + *curpbm; diff --git a/lib/linalg/dlaed9.cpp b/lib/linalg/dlaed9.cpp index d6a4f8bca3..f6f01b7098 100644 --- a/lib/linalg/dlaed9.cpp +++ b/lib/linalg/dlaed9.cpp @@ -186,7 +186,7 @@ f"> */ doublereal d__1; /* Builtin functions */ - double sqrt(doublereal), d_sign(doublereal *, doublereal *); + double sqrt(doublereal), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ integer i__, j; @@ -336,7 +336,7 @@ f"> */ i__1 = *k; for (i__ = 1; i__ <= i__1; ++i__) { d__1 = sqrt(-w[i__]); - w[i__] = d_sign(&d__1, &s[i__ + s_dim1]); + w[i__] = d_lmp_sign(&d__1, &s[i__ + s_dim1]); /* L80: */ } diff --git a/lib/linalg/dlaeda.cpp b/lib/linalg/dlaeda.cpp index 39b4c8810f..81389d8db0 100644 --- a/lib/linalg/dlaeda.cpp +++ b/lib/linalg/dlaeda.cpp @@ -198,7 +198,7 @@ f"> */ integer i__1, i__2, i__3; /* Builtin functions */ - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); double sqrt(doublereal); /* Local variables */ @@ -277,7 +277,7 @@ f"> */ /* scheme */ i__1 = *curlvl - 1; - curr = ptr + *curpbm * pow_ii(&c__2, curlvl) + pow_ii(&c__2, &i__1) - 1; + curr = ptr + *curpbm * pow_lmp_ii(&c__2, curlvl) + pow_lmp_ii(&c__2, &i__1) - 1; /* Determine size of these matrices. We add HALF to the value of */ /* the SQRT in case the machine underestimates one of these square */ @@ -304,12 +304,12 @@ f"> */ /* rotations and permutation and then multiplying the center matrices */ /* against the current Z. */ - ptr = pow_ii(&c__2, tlvls) + 1; + ptr = pow_lmp_ii(&c__2, tlvls) + 1; i__1 = *curlvl - 1; for (k = 1; k <= i__1; ++k) { i__2 = *curlvl - k; i__3 = *curlvl - k - 1; - curr = ptr + *curpbm * pow_ii(&c__2, &i__2) + pow_ii(&c__2, &i__3) - + curr = ptr + *curpbm * pow_lmp_ii(&c__2, &i__2) + pow_lmp_ii(&c__2, &i__3) - 1; psiz1 = prmptr[curr + 1] - prmptr[curr]; psiz2 = prmptr[curr + 2] - prmptr[curr + 1]; @@ -371,7 +371,7 @@ f"> */ c__1); i__2 = *tlvls - k; - ptr += pow_ii(&c__2, &i__2); + ptr += pow_lmp_ii(&c__2, &i__2); /* L70: */ } diff --git a/lib/linalg/dlalsa.cpp b/lib/linalg/dlalsa.cpp index e68dabd8dd..a428ee8c3d 100644 --- a/lib/linalg/dlalsa.cpp +++ b/lib/linalg/dlalsa.cpp @@ -302,7 +302,7 @@ f"> */ i__2; /* Builtin functions */ - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); /* Local variables */ integer i__, j, i1, ic, lf, nd, ll, nl, nr, im1, nlf, nrf, lvl, ndb1, @@ -469,7 +469,7 @@ f"> */ /* Finally go through the left singular vector matrices of all */ /* the other subproblems bottom-up on the tree. */ - j = pow_ii(&c__2, &nlvl); + j = pow_lmp_ii(&c__2, &nlvl); sqre = 0; for (lvl = nlvl; lvl >= 1; --lvl) { @@ -483,7 +483,7 @@ f"> */ ll = 1; } else { i__1 = lvl - 1; - lf = pow_ii(&c__2, &i__1); + lf = pow_lmp_ii(&c__2, &i__1); ll = (lf << 1) - 1; } i__1 = ll; @@ -528,7 +528,7 @@ L50: ll = 1; } else { i__2 = lvl - 1; - lf = pow_ii(&c__2, &i__2); + lf = pow_lmp_ii(&c__2, &i__2); ll = (lf << 1) - 1; } i__2 = lf; diff --git a/lib/linalg/dlalsd.cpp b/lib/linalg/dlalsd.cpp index a141fa6992..f3678a1bfd 100644 --- a/lib/linalg/dlalsd.cpp +++ b/lib/linalg/dlalsd.cpp @@ -211,7 +211,7 @@ f"> */ doublereal d__1; /* Builtin functions */ - double log(doublereal), d_sign(doublereal *, doublereal *); + double log(doublereal), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ integer c__, i__, j, k; @@ -470,7 +470,7 @@ f"> */ i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { if ((d__1 = d__[i__], abs(d__1)) < eps) { - d__[i__] = d_sign(&eps, &d__[i__]); + d__[i__] = d_lmp_sign(&eps, &d__[i__]); } /* L50: */ } diff --git a/lib/linalg/dlamc3.cpp b/lib/linalg/dlamc3.cpp new file mode 100644 index 0000000000..a7dbd89bc0 --- /dev/null +++ b/lib/linalg/dlamc3.cpp @@ -0,0 +1,68 @@ +/* static/dlamc3.f -- translated by f2c (version 20200916). + You must link the resulting object file with libf2c: + on Microsoft Windows system, link with libf2c.lib; + on Linux or Unix systems, link with .../path/to/libf2c.a -lm + or, if you install libf2c.a in a standard place, with -lf2c -lm + -- in that order, at the end of the command line, as in + cc *.o -lf2c -lm + Source for libf2c is in /netlib/f2c/libf2c.zip, e.g., + + http://www.netlib.org/f2c/libf2c.zip +*/ + +#ifdef __cplusplus +extern "C" { +#endif +#include "lmp_f2c.h" + +/* > \brief \b DLAMC3 */ +/* > \details */ +/* > \b Purpose: */ +/* > \verbatim */ +/* > DLAMC3 is intended to force A and B to be stored prior to doing */ +/* > the addition of A and B , for use in situations where optimizers */ +/* > might hold one of these in a register. */ +/* > \endverbatim */ +/* > \author LAPACK is a software package provided by Univ. of Tennessee, Univ. of California Berkeley, Univ. +of Colorado Denver and NAG Ltd.. */ +/* > \date December 2016 */ +/* > \ingroup auxOTHERauxiliary */ +/* > */ +/* > \param[in] A */ +/* > \verbatim */ +/* > A is a DOUBLE PRECISION */ +/* > \endverbatim */ +/* > */ +/* > \param[in] B */ +/* > \verbatim */ +/* > B is a DOUBLE PRECISION */ +/* > The values A and B. */ +/* > \endverbatim */ +/* > */ +doublereal dlamc3_(doublereal *a, doublereal *b) +{ + /* System generated locals */ + doublereal ret_val; + + +/* -- LAPACK auxiliary routine (version 3.7.0) -- */ +/* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */ +/* November 2010 */ + +/* .. Scalar Arguments .. */ +/* .. */ +/* ===================================================================== */ + +/* .. Executable Statements .. */ + + ret_val = *a + *b; + + return ret_val; + +/* End of DLAMC3 */ + +} /* dlamc3_ */ + +#ifdef __cplusplus + } +#endif diff --git a/lib/linalg/dlarfg.cpp b/lib/linalg/dlarfg.cpp index 6693e1edb6..546db1171e 100644 --- a/lib/linalg/dlarfg.cpp +++ b/lib/linalg/dlarfg.cpp @@ -130,7 +130,7 @@ f"> */ doublereal d__1; /* Builtin functions */ - double d_sign(doublereal *, doublereal *); + double d_lmp_sign(doublereal *, doublereal *); /* Local variables */ integer j, knt; @@ -189,7 +189,7 @@ f"> */ /* general case */ d__1 = dlapy2_(alpha, &xnorm); - beta = -d_sign(&d__1, alpha); + beta = -d_lmp_sign(&d__1, alpha); safmin = dlamch_((char *)"S", (ftnlen)1) / dlamch_((char *)"E", (ftnlen)1); knt = 0; if (abs(beta) < safmin) { @@ -212,7 +212,7 @@ L10: i__1 = *n - 1; xnorm = dnrm2_(&i__1, &x[1], incx); d__1 = dlapy2_(alpha, &xnorm); - beta = -d_sign(&d__1, alpha); + beta = -d_lmp_sign(&d__1, alpha); } *tau = (beta - *alpha) / beta; i__1 = *n - 1; diff --git a/lib/linalg/dlartg.cpp b/lib/linalg/dlartg.cpp index 3f5832318e..c18a8c6d43 100644 --- a/lib/linalg/dlartg.cpp +++ b/lib/linalg/dlartg.cpp @@ -123,7 +123,7 @@ f"> */ doublereal d__1, d__2; /* Builtin functions */ - double log(doublereal), pow_di(doublereal *, integer *), sqrt(doublereal); + double log(doublereal), pow_lmp_di(doublereal *, integer *), sqrt(doublereal); /* Local variables */ integer i__; @@ -166,7 +166,7 @@ f"> */ eps = dlamch_((char *)"E", (ftnlen)1); d__1 = dlamch_((char *)"B", (ftnlen)1); i__1 = (integer) (log(safmin / eps) / log(dlamch_((char *)"B", (ftnlen)1)) / 2.); - safmn2 = pow_di(&d__1, &i__1); + safmn2 = pow_lmp_di(&d__1, &i__1); safmx2 = 1. / safmn2; /* FIRST = .FALSE. */ /* END IF */ diff --git a/lib/linalg/dlasd8.cpp b/lib/linalg/dlasd8.cpp index 3ec481bb55..5d0890e27b 100644 --- a/lib/linalg/dlasd8.cpp +++ b/lib/linalg/dlasd8.cpp @@ -198,7 +198,7 @@ f"> */ doublereal d__1, d__2; /* Builtin functions */ - double sqrt(doublereal), d_sign(doublereal *, doublereal *); + double sqrt(doublereal), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ integer i__, j; @@ -368,7 +368,7 @@ f"> */ i__1 = *k; for (i__ = 1; i__ <= i__1; ++i__) { d__2 = sqrt((d__1 = work[iwk3i + i__], abs(d__1))); - z__[i__] = d_sign(&d__2, &z__[i__]); + z__[i__] = d_lmp_sign(&d__2, &z__[i__]); /* L50: */ } diff --git a/lib/linalg/dlasda.cpp b/lib/linalg/dlasda.cpp index d064a9af51..b50a48f625 100644 --- a/lib/linalg/dlasda.cpp +++ b/lib/linalg/dlasda.cpp @@ -310,7 +310,7 @@ f"> */ z_dim1, z_offset, i__1, i__2; /* Builtin functions */ - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); /* Local variables */ integer i__, j, m, i1, ic, lf, nd, ll, nl, vf, nr, vl, im1, ncc, nlf, nrf, @@ -553,7 +553,7 @@ f"> */ /* Now conquer each subproblem bottom-up. */ - j = pow_ii(&c__2, &nlvl); + j = pow_lmp_ii(&c__2, &nlvl); for (lvl = nlvl; lvl >= 1; --lvl) { lvl2 = (lvl << 1) - 1; @@ -565,7 +565,7 @@ f"> */ ll = 1; } else { i__1 = lvl - 1; - lf = pow_ii(&c__2, &i__1); + lf = pow_lmp_ii(&c__2, &i__1); ll = (lf << 1) - 1; } i__1 = ll; diff --git a/lib/linalg/dlasv2.cpp b/lib/linalg/dlasv2.cpp index 7bab630b39..7dde3369fc 100644 --- a/lib/linalg/dlasv2.cpp +++ b/lib/linalg/dlasv2.cpp @@ -167,7 +167,7 @@ f"> */ doublereal d__1; /* Builtin functions */ - double sqrt(doublereal), d_sign(doublereal *, doublereal *); + double sqrt(doublereal), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ doublereal a, d__, l, m, r__, s, t, fa, ga, ha, ft, gt, ht, mm, tt, clt, @@ -305,9 +305,9 @@ f"> */ /* Note that M is very tiny */ if (l == 0.) { - t = d_sign(&c_b3, &ft) * d_sign(&c_b4, >); + t = d_lmp_sign(&c_b3, &ft) * d_lmp_sign(&c_b4, >); } else { - t = gt / d_sign(&d__, &ft) + m / t; + t = gt / d_lmp_sign(&d__, &ft) + m / t; } } else { t = (m / (s + t) + m / (r__ + l)) * (a + 1.); @@ -334,17 +334,17 @@ f"> */ /* Correct signs of SSMAX and SSMIN */ if (pmax == 1) { - tsign = d_sign(&c_b4, csr) * d_sign(&c_b4, csl) * d_sign(&c_b4, f); + tsign = d_lmp_sign(&c_b4, csr) * d_lmp_sign(&c_b4, csl) * d_lmp_sign(&c_b4, f); } if (pmax == 2) { - tsign = d_sign(&c_b4, snr) * d_sign(&c_b4, csl) * d_sign(&c_b4, g); + tsign = d_lmp_sign(&c_b4, snr) * d_lmp_sign(&c_b4, csl) * d_lmp_sign(&c_b4, g); } if (pmax == 3) { - tsign = d_sign(&c_b4, snr) * d_sign(&c_b4, snl) * d_sign(&c_b4, h__); + tsign = d_lmp_sign(&c_b4, snr) * d_lmp_sign(&c_b4, snl) * d_lmp_sign(&c_b4, h__); } - *ssmax = d_sign(ssmax, &tsign); - d__1 = tsign * d_sign(&c_b4, f) * d_sign(&c_b4, h__); - *ssmin = d_sign(ssmin, &d__1); + *ssmax = d_lmp_sign(ssmax, &tsign); + d__1 = tsign * d_lmp_sign(&c_b4, f) * d_lmp_sign(&c_b4, h__); + *ssmin = d_lmp_sign(ssmin, &d__1); return 0; /* End of DLASV2 */ diff --git a/lib/linalg/dormbr.cpp b/lib/linalg/dormbr.cpp index 69283d95ef..8d6bdd60b0 100644 --- a/lib/linalg/dormbr.cpp +++ b/lib/linalg/dormbr.cpp @@ -227,7 +227,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer i1, i2, nb, mi, ni, nq, nw; @@ -329,7 +329,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = *m - 1; i__2 = *m - 1; nb = ilaenv_(&c__1, (char *)"DORMQR", ch__1, &i__1, n, &i__2, &c_n1, ( @@ -338,7 +338,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = *n - 1; i__2 = *n - 1; nb = ilaenv_(&c__1, (char *)"DORMQR", ch__1, m, &i__1, &i__2, &c_n1, ( @@ -349,7 +349,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = *m - 1; i__2 = *m - 1; nb = ilaenv_(&c__1, (char *)"DORMLQ", ch__1, &i__1, n, &i__2, &c_n1, ( @@ -358,7 +358,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = *n - 1; i__2 = *n - 1; nb = ilaenv_(&c__1, (char *)"DORMLQ", ch__1, m, &i__1, &i__2, &c_n1, ( diff --git a/lib/linalg/dormlq.cpp b/lib/linalg/dormlq.cpp index bb14bbfc98..79106afb5c 100644 --- a/lib/linalg/dormlq.cpp +++ b/lib/linalg/dormlq.cpp @@ -201,7 +201,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer i__, i1, i2, i3, ib, ic, jc, nb, mi, ni, nq, nw, iwt; @@ -302,7 +302,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 64, i__2 = ilaenv_(&c__1, (char *)"DORMLQ", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nb = min(i__1,i__2); @@ -334,7 +334,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 2, i__2 = ilaenv_(&c__2, (char *)"DORMLQ", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nbmin = max(i__1,i__2); diff --git a/lib/linalg/dormql.cpp b/lib/linalg/dormql.cpp index 70694ed5f9..eea324bc69 100644 --- a/lib/linalg/dormql.cpp +++ b/lib/linalg/dormql.cpp @@ -201,7 +201,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer i__, i1, i2, i3, ib, nb, mi, ni, nq, nw, iwt; @@ -303,7 +303,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 64, i__2 = ilaenv_(&c__1, (char *)"DORMQL", ch__1, m, n, k, &c_n1, (ftnlen)6, (ftnlen)2); nb = min(i__1,i__2); @@ -335,7 +335,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 2, i__2 = ilaenv_(&c__2, (char *)"DORMQL", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nbmin = max(i__1,i__2); diff --git a/lib/linalg/dormqr.cpp b/lib/linalg/dormqr.cpp index 17aaab62ba..eb43ba8045 100644 --- a/lib/linalg/dormqr.cpp +++ b/lib/linalg/dormqr.cpp @@ -201,7 +201,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer i__, i1, i2, i3, ib, ic, jc, nb, mi, ni, nq, nw, iwt; @@ -300,7 +300,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 64, i__2 = ilaenv_(&c__1, (char *)"DORMQR", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nb = min(i__1,i__2); @@ -332,7 +332,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 2, i__2 = ilaenv_(&c__2, (char *)"DORMQR", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nbmin = max(i__1,i__2); diff --git a/lib/linalg/dormtr.cpp b/lib/linalg/dormtr.cpp index a55ee5efbe..0f0cdac3db 100644 --- a/lib/linalg/dormtr.cpp +++ b/lib/linalg/dormtr.cpp @@ -203,7 +203,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer i1, i2, nb, mi, ni, nq, nw; @@ -297,7 +297,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = side; i__1[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); i__2 = *m - 1; i__3 = *m - 1; nb = ilaenv_(&c__1, (char *)"DORMQL", ch__1, &i__2, n, &i__3, &c_n1, ( @@ -306,7 +306,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = side; i__1[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); i__2 = *n - 1; i__3 = *n - 1; nb = ilaenv_(&c__1, (char *)"DORMQL", ch__1, m, &i__2, &i__3, &c_n1, ( @@ -317,7 +317,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = side; i__1[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); i__2 = *m - 1; i__3 = *m - 1; nb = ilaenv_(&c__1, (char *)"DORMQR", ch__1, &i__2, n, &i__3, &c_n1, ( @@ -326,7 +326,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = side; i__1[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); i__2 = *n - 1; i__3 = *n - 1; nb = ilaenv_(&c__1, (char *)"DORMQR", ch__1, m, &i__2, &i__3, &c_n1, ( diff --git a/lib/linalg/dstedc.cpp b/lib/linalg/dstedc.cpp index f1b09e0f25..1a55346056 100644 --- a/lib/linalg/dstedc.cpp +++ b/lib/linalg/dstedc.cpp @@ -223,7 +223,7 @@ f"> */ /* Builtin functions */ double log(doublereal); - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); double sqrt(doublereal); /* Local variables */ @@ -336,10 +336,10 @@ f"> */ lwmin = *n - 1 << 1; } else { lgn = (integer) (log((doublereal) (*n)) / log(2.)); - if (pow_ii(&c__2, &lgn) < *n) { + if (pow_lmp_ii(&c__2, &lgn) < *n) { ++lgn; } - if (pow_ii(&c__2, &lgn) < *n) { + if (pow_lmp_ii(&c__2, &lgn) < *n) { ++lgn; } if (icompz == 1) { diff --git a/lib/linalg/dsteqr.cpp b/lib/linalg/dsteqr.cpp index 62a13f9d0b..2f590595e7 100644 --- a/lib/linalg/dsteqr.cpp +++ b/lib/linalg/dsteqr.cpp @@ -164,7 +164,7 @@ f"> */ doublereal d__1, d__2; /* Builtin functions */ - double sqrt(doublereal), d_sign(doublereal *, doublereal *); + double sqrt(doublereal), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ doublereal b, c__, f, g; @@ -441,7 +441,7 @@ L60: g = (d__[l + 1] - p) / (e[l] * 2.); r__ = dlapy2_(&g, &c_b10); - g = d__[m] - p + e[l] / (g + d_sign(&r__, &g)); + g = d__[m] - p + e[l] / (g + d_lmp_sign(&r__, &g)); s = 1.; c__ = 1.; @@ -564,7 +564,7 @@ L110: g = (d__[l - 1] - p) / (e[l - 1] * 2.); r__ = dlapy2_(&g, &c_b10); - g = d__[m] - p + e[l - 1] / (g + d_sign(&r__, &g)); + g = d__[m] - p + e[l - 1] / (g + d_lmp_sign(&r__, &g)); s = 1.; c__ = 1.; diff --git a/lib/linalg/dsterf.cpp b/lib/linalg/dsterf.cpp index 981374d32a..687cbf943b 100644 --- a/lib/linalg/dsterf.cpp +++ b/lib/linalg/dsterf.cpp @@ -116,7 +116,7 @@ f"> */ doublereal d__1, d__2, d__3; /* Builtin functions */ - double sqrt(doublereal), d_sign(doublereal *, doublereal *); + double sqrt(doublereal), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ doublereal c__; @@ -342,7 +342,7 @@ L70: rte = sqrt(e[l]); sigma = (d__[l + 1] - p) / (rte * 2.); r__ = dlapy2_(&sigma, &c_b33); - sigma = p - rte / (sigma + d_sign(&r__, &sigma)); + sigma = p - rte / (sigma + d_lmp_sign(&r__, &sigma)); c__ = 1.; s = 0.; @@ -440,7 +440,7 @@ L120: rte = sqrt(e[l - 1]); sigma = (d__[l - 1] - p) / (rte * 2.); r__ = dlapy2_(&sigma, &c_b33); - sigma = p - rte / (sigma + d_sign(&r__, &sigma)); + sigma = p - rte / (sigma + d_lmp_sign(&r__, &sigma)); c__ = 1.; s = 0.; diff --git a/lib/linalg/dtrtri.cpp b/lib/linalg/dtrtri.cpp index a80ece791c..91742619b0 100644 --- a/lib/linalg/dtrtri.cpp +++ b/lib/linalg/dtrtri.cpp @@ -142,7 +142,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer j, jb, nb, nn; @@ -235,7 +235,7 @@ f"> */ /* Writing concatenation */ i__2[0] = 1, a__1[0] = uplo; i__2[1] = 1, a__1[1] = diag; - s_cat(ch__1, a__1, i__2, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__2, &c__2, (ftnlen)2); nb = ilaenv_(&c__1, (char *)"DTRTRI", ch__1, n, &c_n1, &c_n1, &c_n1, (ftnlen)6, ( ftnlen)2); if (nb <= 1 || nb >= *n) { diff --git a/lib/linalg/dznrm2.cpp b/lib/linalg/dznrm2.cpp index 7a92e63831..5041b7280e 100644 --- a/lib/linalg/dznrm2.cpp +++ b/lib/linalg/dznrm2.cpp @@ -97,7 +97,7 @@ doublereal dznrm2_(integer *n, doublecomplex *x, integer *incx) doublereal ret_val, d__1; /* Builtin functions */ - double d_imag(doublecomplex *), sqrt(doublereal); + double d_lmp_imag(doublecomplex *), sqrt(doublereal); /* Local variables */ integer ix; @@ -153,8 +153,8 @@ doublereal dznrm2_(integer *n, doublecomplex *x, integer *incx) ssq += d__1 * d__1; } } - if (d_imag(&x[ix]) != 0.) { - temp = (d__1 = d_imag(&x[ix]), abs(d__1)); + if (d_lmp_imag(&x[ix]) != 0.) { + temp = (d__1 = d_lmp_imag(&x[ix]), abs(d__1)); if (scale < temp) { /* Computing 2nd power */ d__1 = scale / temp; diff --git a/lib/linalg/i_lmp_dnnt.cpp b/lib/linalg/i_lmp_dnnt.cpp new file mode 100644 index 0000000000..8050697bb9 --- /dev/null +++ b/lib/linalg/i_lmp_dnnt.cpp @@ -0,0 +1,12 @@ + +#include "lmp_f2c.h" + +#undef abs +#include + +extern "C" { +integer i_lmp_dnnt(doublereal *x) +{ + return (integer)(*x >= 0. ? floor(*x + .5) : -floor(.5 - *x)); +} +} diff --git a/lib/linalg/i_lmp_len.cpp b/lib/linalg/i_lmp_len.cpp new file mode 100644 index 0000000000..b6101b29ad --- /dev/null +++ b/lib/linalg/i_lmp_len.cpp @@ -0,0 +1,10 @@ + +#include "lmp_f2c.h" + +extern "C" { + +integer i_lmp_len(char *s, ftnlen n) +{ + return (n); +} +} diff --git a/lib/linalg/i_lmp_nint.cpp b/lib/linalg/i_lmp_nint.cpp new file mode 100644 index 0000000000..f41ca6b3eb --- /dev/null +++ b/lib/linalg/i_lmp_nint.cpp @@ -0,0 +1,13 @@ + +#include "lmp_f2c.h" +#undef abs + +#include + +extern "C" { + +integer i_lmp_nint(real *x) +{ + return (integer)(*x >= 0 ? floor(*x + .5) : -floor(.5 - *x)); +} +} diff --git a/lib/linalg/ilaenv.cpp b/lib/linalg/ilaenv.cpp index 6c94f00e6f..355b2a9429 100644 --- a/lib/linalg/ilaenv.cpp +++ b/lib/linalg/ilaenv.cpp @@ -193,8 +193,8 @@ integer ilaenv_(integer *ispec, char *name__, char *opts, integer *n1, integer ret_val, i__1, i__2, i__3; /* Builtin functions */ - /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen); - integer i_len(char *, ftnlen), s_cmp(char *, char *, ftnlen, ftnlen); + /* Subroutine */ int s_lmp_copy(char *, char *, ftnlen, ftnlen); + integer i_lmp_len(char *, ftnlen), s_lmp_cmp(char *, char *, ftnlen, ftnlen); /* Local variables */ logical twostage; @@ -257,7 +257,7 @@ L10: /* Convert NAME to upper case if the first character is lower case. */ ret_val = 1; - s_copy(subnam, name__, (ftnlen)16, name_len); + s_lmp_copy(subnam, name__, (ftnlen)16, name_len); ic = *(unsigned char *)subnam; iz = 'Z'; if (iz == 90 || iz == 122) { @@ -314,10 +314,10 @@ L10: if (! (cname || sname)) { return ret_val; } - s_copy(c2, subnam + 1, (ftnlen)2, (ftnlen)2); - s_copy(c3, subnam + 3, (ftnlen)3, (ftnlen)3); - s_copy(c4, c3 + 1, (ftnlen)2, (ftnlen)2); - twostage = i_len(subnam, (ftnlen)16) >= 11 && *(unsigned char *)&subnam[ + s_lmp_copy(c2, subnam + 1, (ftnlen)2, (ftnlen)2); + s_lmp_copy(c3, subnam + 3, (ftnlen)3, (ftnlen)3); + s_lmp_copy(c4, c3 + 1, (ftnlen)2, (ftnlen)2); + twostage = i_lmp_len(subnam, (ftnlen)16) >= 11 && *(unsigned char *)&subnam[ 10] == '2'; switch (*ispec) { @@ -336,7 +336,7 @@ L50: nb = 1; - if (s_cmp(subnam + 1, (char *)"LAORH", (ftnlen)5, (ftnlen)5) == 0) { + if (s_lmp_cmp(subnam + 1, (char *)"LAORH", (ftnlen)5, (ftnlen)5) == 0) { /* This is for *LAORHR_GETRFNP routine */ @@ -345,23 +345,23 @@ L50: } else { nb = 32; } - } else if (s_cmp(c2, (char *)"GE", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"GE", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } - } else if (s_cmp(c3, (char *)"QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, - (char *)"RQF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, (char *)"LQF", (ftnlen) - 3, (ftnlen)3) == 0 || s_cmp(c3, (char *)"QLF", (ftnlen)3, (ftnlen)3) + } else if (s_lmp_cmp(c3, (char *)"QRF", (ftnlen)3, (ftnlen)3) == 0 || s_lmp_cmp(c3, + (char *)"RQF", (ftnlen)3, (ftnlen)3) == 0 || s_lmp_cmp(c3, (char *)"LQF", (ftnlen) + 3, (ftnlen)3) == 0 || s_lmp_cmp(c3, (char *)"QLF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 32; } else { nb = 32; } - } else if (s_cmp(c3, (char *)"QR ", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"QR ", (ftnlen)3, (ftnlen)3) == 0) { if (*n3 == 1) { if (sname) { /* M*N */ @@ -384,7 +384,7 @@ L50: nb = 1; } } - } else if (s_cmp(c3, (char *)"LQ ", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"LQ ", (ftnlen)3, (ftnlen)3) == 0) { if (*n3 == 2) { if (sname) { /* M*N */ @@ -407,35 +407,35 @@ L50: nb = 1; } } - } else if (s_cmp(c3, (char *)"HRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"HRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 32; } else { nb = 32; } - } else if (s_cmp(c3, (char *)"BRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"BRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 32; } else { nb = 32; } - } else if (s_cmp(c3, (char *)"TRI", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"TRI", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } } - } else if (s_cmp(c2, (char *)"PO", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"PO", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } } - } else if (s_cmp(c2, (char *)"SY", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"SY", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { if (twostage) { nb = 192; @@ -449,65 +449,65 @@ L50: nb = 64; } } - } else if (sname && s_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (sname && s_lmp_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { nb = 32; - } else if (sname && s_cmp(c3, (char *)"GST", (ftnlen)3, (ftnlen)3) == 0) { + } else if (sname && s_lmp_cmp(c3, (char *)"GST", (ftnlen)3, (ftnlen)3) == 0) { nb = 64; } - } else if (cname && s_cmp(c2, (char *)"HE", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { + } else if (cname && s_lmp_cmp(c2, (char *)"HE", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { if (twostage) { nb = 192; } else { nb = 64; } - } else if (s_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { nb = 32; - } else if (s_cmp(c3, (char *)"GST", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"GST", (ftnlen)3, (ftnlen)3) == 0) { nb = 64; } - } else if (sname && s_cmp(c2, (char *)"OR", (ftnlen)2, (ftnlen)2) == 0) { + } else if (sname && s_lmp_cmp(c2, (char *)"OR", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nb = 32; } } else if (*(unsigned char *)c3 == 'M') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nb = 32; } } - } else if (cname && s_cmp(c2, (char *)"UN", (ftnlen)2, (ftnlen)2) == 0) { + } else if (cname && s_lmp_cmp(c2, (char *)"UN", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nb = 32; } } else if (*(unsigned char *)c3 == 'M') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nb = 32; } } - } else if (s_cmp(c2, (char *)"GB", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"GB", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { if (*n4 <= 64) { nb = 1; @@ -522,8 +522,8 @@ L50: } } } - } else if (s_cmp(c2, (char *)"PB", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"PB", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { if (*n2 <= 64) { nb = 1; @@ -538,20 +538,20 @@ L50: } } } - } else if (s_cmp(c2, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRI", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRI", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } - } else if (s_cmp(c3, (char *)"EVC", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"EVC", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } - } else if (s_cmp(c3, (char *)"SYL", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"SYL", (ftnlen)3, (ftnlen)3) == 0) { /* The upper bound is to prevent overly aggressive scaling. */ if (sname) { /* Computing MIN */ @@ -567,27 +567,27 @@ L50: nb = min(i__1,80); } } - } else if (s_cmp(c2, (char *)"LA", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"UUM", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"LA", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"UUM", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 64; } else { nb = 64; } - } else if (s_cmp(c3, (char *)"TRS", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"TRS", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 32; } else { nb = 32; } } - } else if (sname && s_cmp(c2, (char *)"ST", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"EBZ", (ftnlen)3, (ftnlen)3) == 0) { + } else if (sname && s_lmp_cmp(c2, (char *)"ST", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"EBZ", (ftnlen)3, (ftnlen)3) == 0) { nb = 1; } - } else if (s_cmp(c2, (char *)"GG", (ftnlen)2, (ftnlen)2) == 0) { + } else if (s_lmp_cmp(c2, (char *)"GG", (ftnlen)2, (ftnlen)2) == 0) { nb = 32; - if (s_cmp(c3, (char *)"HD3", (ftnlen)3, (ftnlen)3) == 0) { + if (s_lmp_cmp(c3, (char *)"HD3", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nb = 32; } else { @@ -603,92 +603,92 @@ L60: /* ISPEC = 2: minimum block size */ nbmin = 2; - if (s_cmp(c2, (char *)"GE", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, (char *)"RQF", ( - ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, (char *)"LQF", (ftnlen)3, ( - ftnlen)3) == 0 || s_cmp(c3, (char *)"QLF", (ftnlen)3, (ftnlen)3) == 0) + if (s_lmp_cmp(c2, (char *)"GE", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"QRF", (ftnlen)3, (ftnlen)3) == 0 || s_lmp_cmp(c3, (char *)"RQF", ( + ftnlen)3, (ftnlen)3) == 0 || s_lmp_cmp(c3, (char *)"LQF", (ftnlen)3, ( + ftnlen)3) == 0 || s_lmp_cmp(c3, (char *)"QLF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 2; } else { nbmin = 2; } - } else if (s_cmp(c3, (char *)"HRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"HRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 2; } else { nbmin = 2; } - } else if (s_cmp(c3, (char *)"BRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"BRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 2; } else { nbmin = 2; } - } else if (s_cmp(c3, (char *)"TRI", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"TRI", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 2; } else { nbmin = 2; } } - } else if (s_cmp(c2, (char *)"SY", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"SY", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nbmin = 8; } else { nbmin = 8; } - } else if (sname && s_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (sname && s_lmp_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { nbmin = 2; } - } else if (cname && s_cmp(c2, (char *)"HE", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (cname && s_lmp_cmp(c2, (char *)"HE", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { nbmin = 2; } - } else if (sname && s_cmp(c2, (char *)"OR", (ftnlen)2, (ftnlen)2) == 0) { + } else if (sname && s_lmp_cmp(c2, (char *)"OR", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; } } else if (*(unsigned char *)c3 == 'M') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; } } - } else if (cname && s_cmp(c2, (char *)"UN", (ftnlen)2, (ftnlen)2) == 0) { + } else if (cname && s_lmp_cmp(c2, (char *)"UN", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; } } else if (*(unsigned char *)c3 == 'M') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; } } - } else if (s_cmp(c2, (char *)"GG", (ftnlen)2, (ftnlen)2) == 0) { + } else if (s_lmp_cmp(c2, (char *)"GG", (ftnlen)2, (ftnlen)2) == 0) { nbmin = 2; - if (s_cmp(c3, (char *)"HD3", (ftnlen)3, (ftnlen)3) == 0) { + if (s_lmp_cmp(c3, (char *)"HD3", (ftnlen)3, (ftnlen)3) == 0) { nbmin = 2; } } @@ -700,62 +700,62 @@ L70: /* ISPEC = 3: crossover point */ nx = 0; - if (s_cmp(c2, (char *)"GE", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"QRF", (ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, (char *)"RQF", ( - ftnlen)3, (ftnlen)3) == 0 || s_cmp(c3, (char *)"LQF", (ftnlen)3, ( - ftnlen)3) == 0 || s_cmp(c3, (char *)"QLF", (ftnlen)3, (ftnlen)3) == 0) + if (s_lmp_cmp(c2, (char *)"GE", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"QRF", (ftnlen)3, (ftnlen)3) == 0 || s_lmp_cmp(c3, (char *)"RQF", ( + ftnlen)3, (ftnlen)3) == 0 || s_lmp_cmp(c3, (char *)"LQF", (ftnlen)3, ( + ftnlen)3) == 0 || s_lmp_cmp(c3, (char *)"QLF", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nx = 128; } else { nx = 128; } - } else if (s_cmp(c3, (char *)"HRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"HRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nx = 128; } else { nx = 128; } - } else if (s_cmp(c3, (char *)"BRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c3, (char *)"BRD", (ftnlen)3, (ftnlen)3) == 0) { if (sname) { nx = 128; } else { nx = 128; } } - } else if (s_cmp(c2, (char *)"SY", (ftnlen)2, (ftnlen)2) == 0) { - if (sname && s_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(c2, (char *)"SY", (ftnlen)2, (ftnlen)2) == 0) { + if (sname && s_lmp_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { nx = 32; } - } else if (cname && s_cmp(c2, (char *)"HE", (ftnlen)2, (ftnlen)2) == 0) { - if (s_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { + } else if (cname && s_lmp_cmp(c2, (char *)"HE", (ftnlen)2, (ftnlen)2) == 0) { + if (s_lmp_cmp(c3, (char *)"TRD", (ftnlen)3, (ftnlen)3) == 0) { nx = 32; } - } else if (sname && s_cmp(c2, (char *)"OR", (ftnlen)2, (ftnlen)2) == 0) { + } else if (sname && s_lmp_cmp(c2, (char *)"OR", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nx = 128; } } - } else if (cname && s_cmp(c2, (char *)"UN", (ftnlen)2, (ftnlen)2) == 0) { + } else if (cname && s_lmp_cmp(c2, (char *)"UN", (ftnlen)2, (ftnlen)2) == 0) { if (*(unsigned char *)c3 == 'G') { - if (s_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"RQ", - (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"LQ", (ftnlen)2, ( - ftnlen)2) == 0 || s_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == - 0 || s_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp( - c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_cmp(c4, (char *)"BR", ( + if (s_lmp_cmp(c4, (char *)"QR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"RQ", + (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"LQ", (ftnlen)2, ( + ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"QL", (ftnlen)2, (ftnlen)2) == + 0 || s_lmp_cmp(c4, (char *)"HR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp( + c4, (char *)"TR", (ftnlen)2, (ftnlen)2) == 0 || s_lmp_cmp(c4, (char *)"BR", ( ftnlen)2, (ftnlen)2) == 0) { nx = 128; } } - } else if (s_cmp(c2, (char *)"GG", (ftnlen)2, (ftnlen)2) == 0) { + } else if (s_lmp_cmp(c2, (char *)"GG", (ftnlen)2, (ftnlen)2) == 0) { nx = 128; - if (s_cmp(c3, (char *)"HD3", (ftnlen)3, (ftnlen)3) == 0) { + if (s_lmp_cmp(c3, (char *)"HD3", (ftnlen)3, (ftnlen)3) == 0) { nx = 128; } } diff --git a/lib/linalg/iparmq.cpp b/lib/linalg/iparmq.cpp index ad22d9f869..0b8e981525 100644 --- a/lib/linalg/iparmq.cpp +++ b/lib/linalg/iparmq.cpp @@ -255,9 +255,9 @@ integer iparmq_(integer *ispec, char *name__, char *opts, integer *n, integer /* Builtin functions */ double log(doublereal); - integer i_nint(real *); - /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen); - integer s_cmp(char *, char *, ftnlen, ftnlen); + integer i_lmp_nint(real *); + /* Subroutine */ int s_lmp_copy(char *, char *, ftnlen, ftnlen); + integer s_lmp_cmp(char *, char *, ftnlen, ftnlen); /* Local variables */ integer i__, ic, nh, ns, iz; @@ -293,7 +293,7 @@ integer iparmq_(integer *ispec, char *name__, char *opts, integer *n, integer if (nh >= 150) { /* Computing MAX */ r__1 = log((real) nh) / log((float)2.); - i__1 = 10, i__2 = nh / i_nint(&r__1); + i__1 = 10, i__2 = nh / i_lmp_nint(&r__1); ns = max(i__1,i__2); } if (nh >= 590) { @@ -356,7 +356,7 @@ integer iparmq_(integer *ispec, char *name__, char *opts, integer *n, integer /* Convert NAME to upper case if the first character is lower case. */ ret_val = 0; - s_copy(subnam, name__, (ftnlen)6, name_len); + s_lmp_copy(subnam, name__, (ftnlen)6, name_len); ic = *(unsigned char *)subnam; iz = 'Z'; if (iz == 90 || iz == 122) { @@ -404,21 +404,21 @@ integer iparmq_(integer *ispec, char *name__, char *opts, integer *n, integer } } - if (s_cmp(subnam + 1, (char *)"GGHRD", (ftnlen)5, (ftnlen)5) == 0 || s_cmp( + if (s_lmp_cmp(subnam + 1, (char *)"GGHRD", (ftnlen)5, (ftnlen)5) == 0 || s_lmp_cmp( subnam + 1, (char *)"GGHD3", (ftnlen)5, (ftnlen)5) == 0) { ret_val = 1; if (nh >= 14) { ret_val = 2; } - } else if (s_cmp(subnam + 3, (char *)"EXC", (ftnlen)3, (ftnlen)3) == 0) { + } else if (s_lmp_cmp(subnam + 3, (char *)"EXC", (ftnlen)3, (ftnlen)3) == 0) { if (nh >= 14) { ret_val = 1; } if (nh >= 14) { ret_val = 2; } - } else if (s_cmp(subnam + 1, (char *)"HSEQR", (ftnlen)5, (ftnlen)5) == 0 || - s_cmp(subnam + 1, (char *)"LAQR", (ftnlen)4, (ftnlen)4) == 0) { + } else if (s_lmp_cmp(subnam + 1, (char *)"HSEQR", (ftnlen)5, (ftnlen)5) == 0 || + s_lmp_cmp(subnam + 1, (char *)"LAQR", (ftnlen)4, (ftnlen)4) == 0) { if (ns >= 14) { ret_val = 1; } diff --git a/lib/linalg/pow_lmp_dd.cpp b/lib/linalg/pow_lmp_dd.cpp new file mode 100644 index 0000000000..4963b04bbc --- /dev/null +++ b/lib/linalg/pow_lmp_dd.cpp @@ -0,0 +1,12 @@ + +#include "lmp_f2c.h" +#undef abs + +#include + +extern "C" { +double pow_lmp_dd(doublereal *ap, doublereal *bp) +{ + return (pow(*ap, *bp)); +} +} diff --git a/lib/linalg/pow_lmp_di.cpp b/lib/linalg/pow_lmp_di.cpp new file mode 100644 index 0000000000..9c3d89d536 --- /dev/null +++ b/lib/linalg/pow_lmp_di.cpp @@ -0,0 +1,31 @@ + +#include "lmp_f2c.h" + +extern "C" { + +double pow_lmp_di(doublereal *ap, integer *bp) +{ + double pow, x; + integer n; + unsigned long u; + + pow = 1; + x = *ap; + n = *bp; + + if (n != 0) { + if (n < 0) { + n = -n; + x = 1 / x; + } + for (u = n;;) { + if (u & 01) pow *= x; + if (u >>= 1) + x *= x; + else + break; + } + } + return (pow); +} +} diff --git a/lib/linalg/pow_lmp_ii.cpp b/lib/linalg/pow_lmp_ii.cpp new file mode 100644 index 0000000000..ff28c8fd5a --- /dev/null +++ b/lib/linalg/pow_lmp_ii.cpp @@ -0,0 +1,29 @@ + +#include "lmp_f2c.h" + +extern "C" { + +integer pow_lmp_ii(integer *ap, integer *bp) +{ + integer pow, x, n; + unsigned long u; + + x = *ap; + n = *bp; + + if (n <= 0) { + if (n == 0 || x == 1) return 1; + if (x != -1) return x == 0 ? 1 / x : 0; + n = -n; + } + u = n; + for (pow = 1;;) { + if (u & 01) pow *= x; + if (u >>= 1) + x *= x; + else + break; + } + return (pow); +} +} diff --git a/lib/linalg/s_lmp_cat.cpp b/lib/linalg/s_lmp_cat.cpp new file mode 100644 index 0000000000..323b0b671d --- /dev/null +++ b/lib/linalg/s_lmp_cat.cpp @@ -0,0 +1,23 @@ + +#include "lmp_f2c.h" + +// concatenate two strings + +extern "C" { +void s_lmp_cat(char *lp, char *rpp[], ftnint rnp[], ftnint *np, ftnlen ll) +{ + ftnlen i, nc; + char *rp; + ftnlen n = *np; + for (i = 0; i < n; ++i) { + nc = ll; + if (rnp[i] < nc) nc = rnp[i]; + ll -= nc; + rp = rpp[i]; + while (--nc >= 0) + *lp++ = *rp++; + } + while (--ll >= 0) + *lp++ = ' '; +} +} diff --git a/lib/linalg/s_lmp_cmp.cpp b/lib/linalg/s_lmp_cmp.cpp new file mode 100644 index 0000000000..b51817defa --- /dev/null +++ b/lib/linalg/s_lmp_cmp.cpp @@ -0,0 +1,45 @@ + +#include "lmp_f2c.h" + +extern "C" { + +// compare two strings + +integer s_lmp_cmp(char *a0, char *b0, ftnlen la, ftnlen lb) +{ + register unsigned char *a, *aend, *b, *bend; + a = (unsigned char *)a0; + b = (unsigned char *)b0; + aend = a + la; + bend = b + lb; + + if (la <= lb) { + while (a < aend) + if (*a != *b) + return (*a - *b); + else { + ++a; + ++b; + } + + while (b < bend) + if (*b != ' ') + return (' ' - *b); + else + ++b; + } else { + while (b < bend) + if (*a == *b) { + ++a; + ++b; + } else + return (*a - *b); + while (a < aend) + if (*a != ' ') + return (*a - ' '); + else + ++a; + } + return (0); +} +} diff --git a/lib/linalg/s_lmp_copy.cpp b/lib/linalg/s_lmp_copy.cpp new file mode 100644 index 0000000000..9b432e08ca --- /dev/null +++ b/lib/linalg/s_lmp_copy.cpp @@ -0,0 +1,26 @@ + +#include "lmp_f2c.h" + +extern "C" { + +/* assign strings: a = b */ + +void s_lmp_copy(register char *a, register char *b, ftnlen la, ftnlen lb) +{ + register char *aend, *bend; + + aend = a + la; + + if (la <= lb) + while (a < aend) + *a++ = *b++; + + else { + bend = b + lb; + while (b < bend) + *a++ = *b++; + while (a < aend) + *a++ = ' '; + } +} +} diff --git a/lib/linalg/static/.clang-format b/lib/linalg/static/.clang-format new file mode 100644 index 0000000000..cb352b37f5 --- /dev/null +++ b/lib/linalg/static/.clang-format @@ -0,0 +1,23 @@ +--- +Language: Cpp +BasedOnStyle: LLVM +AccessModifierOffset: -4 +AlignConsecutiveAssignments: true +AlignEscapedNewlines: Left +AllowShortFunctionsOnASingleLine: Inline +AllowShortLambdasOnASingleLine: None +AllowShortIfStatementsOnASingleLine: WithoutElse +BraceWrapping: + AfterFunction: true +BreakBeforeBraces: Custom +BreakInheritanceList: AfterColon +BreakConstructorInitializers: AfterColon +ColumnLimit: 100 +IndentCaseLabels: true +IndentWidth: 4 +ObjCBlockIndentWidth: 4 +PenaltyBreakAssignment: 4 +Standard: Cpp11 +TabWidth: 4 +UseTab: Never +... diff --git a/lib/linalg/static/README b/lib/linalg/static/README index c06337c2dd..2d0271db7c 100644 --- a/lib/linalg/static/README +++ b/lib/linalg/static/README @@ -1,5 +1,8 @@ -The C++ files in this folder are direct C++ implementations of their -Fortran equivalents using the C++ runtime. -. +The C++ files in this folder are either direct C++ implementations of +their Fortran equivalents using the C++ runtime, or they are adapted +copies of functions from the libf2c runtime. The runtime functions +needed to be renamed to avoid conflics with libgfortran which uses +some of the same function names. + The Fortran files in this folder are modified from their original versions, so that f2c can correctly translate them. diff --git a/lib/linalg/static/d_lmp_cnjg.cpp b/lib/linalg/static/d_lmp_cnjg.cpp new file mode 100644 index 0000000000..03ca8f98fd --- /dev/null +++ b/lib/linalg/static/d_lmp_cnjg.cpp @@ -0,0 +1,13 @@ + +#include "lmp_f2c.h" + +extern "C" { + +void d_lmp_cnjg(doublecomplex *r, doublecomplex *z) +{ + doublereal zi = z->i; + + r->r = z->r; + r->i = -zi; +} +} diff --git a/lib/linalg/static/d_lmp_imag.cpp b/lib/linalg/static/d_lmp_imag.cpp new file mode 100644 index 0000000000..f0443f7828 --- /dev/null +++ b/lib/linalg/static/d_lmp_imag.cpp @@ -0,0 +1,10 @@ + +#include "lmp_f2c.h" + +extern "C" { + +double d_lmp_imag(doublecomplex *z) +{ + return (z->i); +} +} diff --git a/lib/linalg/static/d_lmp_lg10.cpp b/lib/linalg/static/d_lmp_lg10.cpp new file mode 100644 index 0000000000..ec48c99839 --- /dev/null +++ b/lib/linalg/static/d_lmp_lg10.cpp @@ -0,0 +1,14 @@ + +#include "lmp_f2c.h" +#undef abs + +static constexpr double log10e = 0.43429448190325182765; + +#include + +extern "C" { +double d_lmp_lg10(doublereal *x) +{ + return (log10e * log(*x)); +} +} diff --git a/lib/linalg/static/d_lmp_sign.cpp b/lib/linalg/static/d_lmp_sign.cpp new file mode 100644 index 0000000000..fb0a1e79ff --- /dev/null +++ b/lib/linalg/static/d_lmp_sign.cpp @@ -0,0 +1,12 @@ + +#include "lmp_f2c.h" + +extern "C" { + +double d_lmp_sign(doublereal *a, doublereal *b) +{ + double x; + x = (*a >= 0 ? *a : -*a); + return (*b >= 0 ? x : -x); +} +} diff --git a/lib/linalg/static/dlamc3.f b/lib/linalg/static/dlamc3.f new file mode 100644 index 0000000000..1108297707 --- /dev/null +++ b/lib/linalg/static/dlamc3.f @@ -0,0 +1,45 @@ +*> \brief \b DLAMC3 +*> \details +*> \b Purpose: +*> \verbatim +*> DLAMC3 is intended to force A and B to be stored prior to doing +*> the addition of A and B , for use in situations where optimizers +*> might hold one of these in a register. +*> \endverbatim +*> \author LAPACK is a software package provided by Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd.. +*> \date December 2016 +*> \ingroup auxOTHERauxiliary +*> +*> \param[in] A +*> \verbatim +*> A is a DOUBLE PRECISION +*> \endverbatim +*> +*> \param[in] B +*> \verbatim +*> B is a DOUBLE PRECISION +*> The values A and B. +*> \endverbatim +*> + DOUBLE PRECISION FUNCTION DLAMC3( A, B ) +* +* -- LAPACK auxiliary routine (version 3.7.0) -- +* Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. +* November 2010 +* +* .. Scalar Arguments .. + DOUBLE PRECISION A, B +* .. +* ===================================================================== +* +* .. Executable Statements .. +* + DLAMC3 = A + B +* + RETURN +* +* End of DLAMC3 +* + END +* +************************************************************************ diff --git a/lib/linalg/static/i_lmp_dnnt.cpp b/lib/linalg/static/i_lmp_dnnt.cpp new file mode 100644 index 0000000000..8050697bb9 --- /dev/null +++ b/lib/linalg/static/i_lmp_dnnt.cpp @@ -0,0 +1,12 @@ + +#include "lmp_f2c.h" + +#undef abs +#include + +extern "C" { +integer i_lmp_dnnt(doublereal *x) +{ + return (integer)(*x >= 0. ? floor(*x + .5) : -floor(.5 - *x)); +} +} diff --git a/lib/linalg/static/i_lmp_len.cpp b/lib/linalg/static/i_lmp_len.cpp new file mode 100644 index 0000000000..b6101b29ad --- /dev/null +++ b/lib/linalg/static/i_lmp_len.cpp @@ -0,0 +1,10 @@ + +#include "lmp_f2c.h" + +extern "C" { + +integer i_lmp_len(char *s, ftnlen n) +{ + return (n); +} +} diff --git a/lib/linalg/static/i_lmp_nint.cpp b/lib/linalg/static/i_lmp_nint.cpp new file mode 100644 index 0000000000..f41ca6b3eb --- /dev/null +++ b/lib/linalg/static/i_lmp_nint.cpp @@ -0,0 +1,13 @@ + +#include "lmp_f2c.h" +#undef abs + +#include + +extern "C" { + +integer i_lmp_nint(real *x) +{ + return (integer)(*x >= 0 ? floor(*x + .5) : -floor(.5 - *x)); +} +} diff --git a/lib/linalg/static/pow_lmp_dd.cpp b/lib/linalg/static/pow_lmp_dd.cpp new file mode 100644 index 0000000000..4963b04bbc --- /dev/null +++ b/lib/linalg/static/pow_lmp_dd.cpp @@ -0,0 +1,12 @@ + +#include "lmp_f2c.h" +#undef abs + +#include + +extern "C" { +double pow_lmp_dd(doublereal *ap, doublereal *bp) +{ + return (pow(*ap, *bp)); +} +} diff --git a/lib/linalg/static/pow_lmp_di.cpp b/lib/linalg/static/pow_lmp_di.cpp new file mode 100644 index 0000000000..9c3d89d536 --- /dev/null +++ b/lib/linalg/static/pow_lmp_di.cpp @@ -0,0 +1,31 @@ + +#include "lmp_f2c.h" + +extern "C" { + +double pow_lmp_di(doublereal *ap, integer *bp) +{ + double pow, x; + integer n; + unsigned long u; + + pow = 1; + x = *ap; + n = *bp; + + if (n != 0) { + if (n < 0) { + n = -n; + x = 1 / x; + } + for (u = n;;) { + if (u & 01) pow *= x; + if (u >>= 1) + x *= x; + else + break; + } + } + return (pow); +} +} diff --git a/lib/linalg/static/pow_lmp_ii.cpp b/lib/linalg/static/pow_lmp_ii.cpp new file mode 100644 index 0000000000..ff28c8fd5a --- /dev/null +++ b/lib/linalg/static/pow_lmp_ii.cpp @@ -0,0 +1,29 @@ + +#include "lmp_f2c.h" + +extern "C" { + +integer pow_lmp_ii(integer *ap, integer *bp) +{ + integer pow, x, n; + unsigned long u; + + x = *ap; + n = *bp; + + if (n <= 0) { + if (n == 0 || x == 1) return 1; + if (x != -1) return x == 0 ? 1 / x : 0; + n = -n; + } + u = n; + for (pow = 1;;) { + if (u & 01) pow *= x; + if (u >>= 1) + x *= x; + else + break; + } + return (pow); +} +} diff --git a/lib/linalg/static/s_lmp_cat.cpp b/lib/linalg/static/s_lmp_cat.cpp new file mode 100644 index 0000000000..323b0b671d --- /dev/null +++ b/lib/linalg/static/s_lmp_cat.cpp @@ -0,0 +1,23 @@ + +#include "lmp_f2c.h" + +// concatenate two strings + +extern "C" { +void s_lmp_cat(char *lp, char *rpp[], ftnint rnp[], ftnint *np, ftnlen ll) +{ + ftnlen i, nc; + char *rp; + ftnlen n = *np; + for (i = 0; i < n; ++i) { + nc = ll; + if (rnp[i] < nc) nc = rnp[i]; + ll -= nc; + rp = rpp[i]; + while (--nc >= 0) + *lp++ = *rp++; + } + while (--ll >= 0) + *lp++ = ' '; +} +} diff --git a/lib/linalg/static/s_lmp_cmp.cpp b/lib/linalg/static/s_lmp_cmp.cpp new file mode 100644 index 0000000000..b51817defa --- /dev/null +++ b/lib/linalg/static/s_lmp_cmp.cpp @@ -0,0 +1,45 @@ + +#include "lmp_f2c.h" + +extern "C" { + +// compare two strings + +integer s_lmp_cmp(char *a0, char *b0, ftnlen la, ftnlen lb) +{ + register unsigned char *a, *aend, *b, *bend; + a = (unsigned char *)a0; + b = (unsigned char *)b0; + aend = a + la; + bend = b + lb; + + if (la <= lb) { + while (a < aend) + if (*a != *b) + return (*a - *b); + else { + ++a; + ++b; + } + + while (b < bend) + if (*b != ' ') + return (' ' - *b); + else + ++b; + } else { + while (b < bend) + if (*a == *b) { + ++a; + ++b; + } else + return (*a - *b); + while (a < aend) + if (*a != ' ') + return (*a - ' '); + else + ++a; + } + return (0); +} +} diff --git a/lib/linalg/static/s_lmp_copy.cpp b/lib/linalg/static/s_lmp_copy.cpp new file mode 100644 index 0000000000..9b432e08ca --- /dev/null +++ b/lib/linalg/static/s_lmp_copy.cpp @@ -0,0 +1,26 @@ + +#include "lmp_f2c.h" + +extern "C" { + +/* assign strings: a = b */ + +void s_lmp_copy(register char *a, register char *b, ftnlen la, ftnlen lb) +{ + register char *aend, *bend; + + aend = a + la; + + if (la <= lb) + while (a < aend) + *a++ = *b++; + + else { + bend = b + lb; + while (b < bend) + *a++ = *b++; + while (a < aend) + *a++ = ' '; + } +} +} diff --git a/lib/linalg/static/xerbla.cpp b/lib/linalg/static/xerbla.cpp index cf2f7b1c69..325bd7030d 100644 --- a/lib/linalg/static/xerbla.cpp +++ b/lib/linalg/static/xerbla.cpp @@ -1,30 +1,31 @@ -#include -#include - -class LinalgException : public std::exception { - std::string message; - - public: - LinalgException() = delete; - - explicit LinalgException(const std::string &msg) { message = msg; } - const char *what() const noexcept override { return message.c_str(); } -}; - -extern "C" { - #include "lmp_f2c.h" +#undef abs +#include +#include +#include + +extern "C" { + +static constexpr int BUFSZ = 1024; + integer xerbla_(const char *srname, integer *info) { - std::string mesg = " ** On entry to "; - for (int i = 0; i < 1024; ++i) { - if ((srname[i] == '\0') || (srname[i] == ' ')) break; - mesg.push_back(srname[i]); - } - mesg += " parameter number " + std::to_string(*info) + " had an illegal value\n"; - throw LinalgException(mesg); - return 0; + char buf[BUFSZ]; + buf[0] = '\0'; + + strcat(buf, " ** On entry to "); + for (int i = 0; i < BUFSZ - 16; ++i) { + if ((srname[i] == '\0') || (srname[i] == ' ')) { + buf[i + 16] = '\0'; + break; + } + buf[i + 16] = srname[i]; + } + int len = strlen(buf); + snprintf(buf+len, BUFSZ-len, " parameter number %d had an illegal value\n", *info); + exit(1); + return 0; } } diff --git a/lib/linalg/static/z_lmp_abs.cpp b/lib/linalg/static/z_lmp_abs.cpp new file mode 100644 index 0000000000..2b79d56457 --- /dev/null +++ b/lib/linalg/static/z_lmp_abs.cpp @@ -0,0 +1,31 @@ + +#include "lmp_f2c.h" +#undef abs + +#include + +extern "C" { + +static double f__cabs(double real, double imag) +{ + double temp; + + if (real < 0) real = -real; + if (imag < 0) imag = -imag; + if (imag > real) { + temp = real; + real = imag; + imag = temp; + } + if ((real + imag) == real) return (real); + + temp = imag / real; + temp = real * sqrt(1.0 + temp * temp); /*overflow!!*/ + return (temp); +} + +double z_lmp_abs(doublecomplex *z) +{ + return (f__cabs(z->r, z->i)); +} +} diff --git a/lib/linalg/static/z_lmp_div.cpp b/lib/linalg/static/z_lmp_div.cpp new file mode 100644 index 0000000000..5f742506da --- /dev/null +++ b/lib/linalg/static/z_lmp_div.cpp @@ -0,0 +1,31 @@ + +#include "lmp_f2c.h" + +extern "C" { + +void z_lmp_div(doublecomplex *c, doublecomplex *a, doublecomplex *b) +{ + double ratio, den; + double abr, abi, cr; + + if ((abr = b->r) < 0.) abr = -abr; + if ((abi = b->i) < 0.) abi = -abi; + if (abr <= abi) { + if (abi == 0) { + if (a->i != 0 || a->r != 0) abi = 1.; + c->i = c->r = abi / abr; + return; + } + ratio = b->r / b->i; + den = b->i * (1 + ratio * ratio); + cr = (a->r * ratio + a->i) / den; + c->i = (a->i * ratio - a->r) / den; + } else { + ratio = b->i / b->r; + den = b->r * (1 + ratio * ratio); + cr = (a->r + a->i * ratio) / den; + c->i = (a->i - a->r * ratio) / den; + } + c->r = cr; +} +} diff --git a/lib/linalg/whitespace.conf b/lib/linalg/whitespace.conf new file mode 100644 index 0000000000..7988edc506 --- /dev/null +++ b/lib/linalg/whitespace.conf @@ -0,0 +1,13 @@ +--- +recursive: false +include: + - "." + - "static/**" +exclude: + - "Makefile.*" + - "*.py" +patterns: + - "*.cpp" + - "*.h" + - "README" +... diff --git a/lib/linalg/xerbla.cpp b/lib/linalg/xerbla.cpp index cf2f7b1c69..325bd7030d 100644 --- a/lib/linalg/xerbla.cpp +++ b/lib/linalg/xerbla.cpp @@ -1,30 +1,31 @@ -#include -#include - -class LinalgException : public std::exception { - std::string message; - - public: - LinalgException() = delete; - - explicit LinalgException(const std::string &msg) { message = msg; } - const char *what() const noexcept override { return message.c_str(); } -}; - -extern "C" { - #include "lmp_f2c.h" +#undef abs +#include +#include +#include + +extern "C" { + +static constexpr int BUFSZ = 1024; + integer xerbla_(const char *srname, integer *info) { - std::string mesg = " ** On entry to "; - for (int i = 0; i < 1024; ++i) { - if ((srname[i] == '\0') || (srname[i] == ' ')) break; - mesg.push_back(srname[i]); - } - mesg += " parameter number " + std::to_string(*info) + " had an illegal value\n"; - throw LinalgException(mesg); - return 0; + char buf[BUFSZ]; + buf[0] = '\0'; + + strcat(buf, " ** On entry to "); + for (int i = 0; i < BUFSZ - 16; ++i) { + if ((srname[i] == '\0') || (srname[i] == ' ')) { + buf[i + 16] = '\0'; + break; + } + buf[i + 16] = srname[i]; + } + int len = strlen(buf); + snprintf(buf+len, BUFSZ-len, " parameter number %d had an illegal value\n", *info); + exit(1); + return 0; } } diff --git a/lib/linalg/z_lmp_abs.cpp b/lib/linalg/z_lmp_abs.cpp new file mode 100644 index 0000000000..2b79d56457 --- /dev/null +++ b/lib/linalg/z_lmp_abs.cpp @@ -0,0 +1,31 @@ + +#include "lmp_f2c.h" +#undef abs + +#include + +extern "C" { + +static double f__cabs(double real, double imag) +{ + double temp; + + if (real < 0) real = -real; + if (imag < 0) imag = -imag; + if (imag > real) { + temp = real; + real = imag; + imag = temp; + } + if ((real + imag) == real) return (real); + + temp = imag / real; + temp = real * sqrt(1.0 + temp * temp); /*overflow!!*/ + return (temp); +} + +double z_lmp_abs(doublecomplex *z) +{ + return (f__cabs(z->r, z->i)); +} +} diff --git a/lib/linalg/z_lmp_div.cpp b/lib/linalg/z_lmp_div.cpp new file mode 100644 index 0000000000..5f742506da --- /dev/null +++ b/lib/linalg/z_lmp_div.cpp @@ -0,0 +1,31 @@ + +#include "lmp_f2c.h" + +extern "C" { + +void z_lmp_div(doublecomplex *c, doublecomplex *a, doublecomplex *b) +{ + double ratio, den; + double abr, abi, cr; + + if ((abr = b->r) < 0.) abr = -abr; + if ((abi = b->i) < 0.) abi = -abi; + if (abr <= abi) { + if (abi == 0) { + if (a->i != 0 || a->r != 0) abi = 1.; + c->i = c->r = abi / abr; + return; + } + ratio = b->r / b->i; + den = b->i * (1 + ratio * ratio); + cr = (a->r * ratio + a->i) / den; + c->i = (a->i * ratio - a->r) / den; + } else { + ratio = b->i / b->r; + den = b->r * (1 + ratio * ratio); + cr = (a->r + a->i * ratio) / den; + c->i = (a->i - a->r * ratio) / den; + } + c->r = cr; +} +} diff --git a/lib/linalg/zdotc.cpp b/lib/linalg/zdotc.cpp index e0c614e843..2697cc1c2c 100644 --- a/lib/linalg/zdotc.cpp +++ b/lib/linalg/zdotc.cpp @@ -104,7 +104,7 @@ extern "C" { doublecomplex z__1, z__2, z__3; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, ix, iy; @@ -142,7 +142,7 @@ extern "C" { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { - d_cnjg(&z__3, &zx[i__]); + d_lmp_cnjg(&z__3, &zx[i__]); i__2 = i__; z__2.r = z__3.r * zy[i__2].r - z__3.i * zy[i__2].i, z__2.i = z__3.r * zy[i__2].i + z__3.i * zy[i__2].r; @@ -164,7 +164,7 @@ extern "C" { } i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { - d_cnjg(&z__3, &zx[ix]); + d_lmp_cnjg(&z__3, &zx[ix]); i__2 = iy; z__2.r = z__3.r * zy[i__2].r - z__3.i * zy[i__2].i, z__2.i = z__3.r * zy[i__2].i + z__3.i * zy[i__2].r; diff --git a/lib/linalg/zdscal.cpp b/lib/linalg/zdscal.cpp index fd444bdf71..ebe50c247d 100644 --- a/lib/linalg/zdscal.cpp +++ b/lib/linalg/zdscal.cpp @@ -100,7 +100,7 @@ extern "C" { doublecomplex z__1; /* Builtin functions */ - double d_imag(doublecomplex *); + double d_lmp_imag(doublecomplex *); /* Local variables */ integer i__, nincx; @@ -138,7 +138,7 @@ extern "C" { i__2 = i__; i__3 = i__; d__1 = *da * zx[i__3].r; - d__2 = *da * d_imag(&zx[i__]); + d__2 = *da * d_lmp_imag(&zx[i__]); z__1.r = d__1, z__1.i = d__2; zx[i__2].r = z__1.r, zx[i__2].i = z__1.i; } @@ -153,7 +153,7 @@ extern "C" { i__3 = i__; i__4 = i__; d__1 = *da * zx[i__4].r; - d__2 = *da * d_imag(&zx[i__]); + d__2 = *da * d_lmp_imag(&zx[i__]); z__1.r = d__1, z__1.i = d__2; zx[i__3].r = z__1.r, zx[i__3].i = z__1.i; } diff --git a/lib/linalg/zgemm.cpp b/lib/linalg/zgemm.cpp index 53020bef2d..c49b0a4e57 100644 --- a/lib/linalg/zgemm.cpp +++ b/lib/linalg/zgemm.cpp @@ -211,7 +211,7 @@ extern "C" { doublecomplex z__1, z__2, z__3, z__4; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, l, info; @@ -406,7 +406,7 @@ extern "C" { temp.r = 0., temp.i = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { - d_cnjg(&z__3, &a[l + i__ * a_dim1]); + d_lmp_cnjg(&z__3, &a[l + i__ * a_dim1]); i__4 = l + j * b_dim1; z__2.r = z__3.r * b[i__4].r - z__3.i * b[i__4].i, z__2.i = z__3.r * b[i__4].i + z__3.i * b[i__4] @@ -508,7 +508,7 @@ extern "C" { } i__2 = *k; for (l = 1; l <= i__2; ++l) { - d_cnjg(&z__2, &b[j + l * b_dim1]); + d_lmp_cnjg(&z__2, &b[j + l * b_dim1]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; temp.r = z__1.r, temp.i = z__1.i; @@ -591,8 +591,8 @@ extern "C" { temp.r = 0., temp.i = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { - d_cnjg(&z__3, &a[l + i__ * a_dim1]); - d_cnjg(&z__4, &b[j + l * b_dim1]); + d_lmp_cnjg(&z__3, &a[l + i__ * a_dim1]); + d_lmp_cnjg(&z__4, &b[j + l * b_dim1]); z__2.r = z__3.r * z__4.r - z__3.i * z__4.i, z__2.i = z__3.r * z__4.i + z__3.i * z__4.r; z__1.r = temp.r + z__2.r, z__1.i = temp.i + z__2.i; @@ -632,7 +632,7 @@ extern "C" { temp.r = 0., temp.i = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { - d_cnjg(&z__3, &a[l + i__ * a_dim1]); + d_lmp_cnjg(&z__3, &a[l + i__ * a_dim1]); i__4 = j + l * b_dim1; z__2.r = z__3.r * b[i__4].r - z__3.i * b[i__4].i, z__2.i = z__3.r * b[i__4].i + z__3.i * b[i__4] @@ -677,7 +677,7 @@ extern "C" { i__3 = *k; for (l = 1; l <= i__3; ++l) { i__4 = l + i__ * a_dim1; - d_cnjg(&z__3, &b[j + l * b_dim1]); + d_lmp_cnjg(&z__3, &b[j + l * b_dim1]); z__2.r = a[i__4].r * z__3.r - a[i__4].i * z__3.i, z__2.i = a[i__4].r * z__3.i + a[i__4].i * z__3.r; diff --git a/lib/linalg/zgemv.cpp b/lib/linalg/zgemv.cpp index 99b8cf9d0a..68736014b7 100644 --- a/lib/linalg/zgemv.cpp +++ b/lib/linalg/zgemv.cpp @@ -181,7 +181,7 @@ extern "C" { doublecomplex z__1, z__2, z__3; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, ix, iy, jx, jy, kx, ky, info; @@ -403,7 +403,7 @@ extern "C" { } else { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__3 = i__; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[i__3] @@ -443,7 +443,7 @@ extern "C" { } else { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__3 = ix; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[i__3] diff --git a/lib/linalg/zgerc.cpp b/lib/linalg/zgerc.cpp index 668c4c4f64..04dde8606a 100644 --- a/lib/linalg/zgerc.cpp +++ b/lib/linalg/zgerc.cpp @@ -152,7 +152,7 @@ extern "C" { doublecomplex z__1, z__2; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, ix, jy, kx, info; @@ -226,7 +226,7 @@ extern "C" { for (j = 1; j <= i__1; ++j) { i__2 = jy; if (y[i__2].r != 0. || y[i__2].i != 0.) { - d_cnjg(&z__2, &y[jy]); + d_lmp_cnjg(&z__2, &y[jy]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; temp.r = z__1.r, temp.i = z__1.i; @@ -255,7 +255,7 @@ extern "C" { for (j = 1; j <= i__1; ++j) { i__2 = jy; if (y[i__2].r != 0. || y[i__2].i != 0.) { - d_cnjg(&z__2, &y[jy]); + d_lmp_cnjg(&z__2, &y[jy]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; temp.r = z__1.r, temp.i = z__1.i; diff --git a/lib/linalg/zhemv.cpp b/lib/linalg/zhemv.cpp index 132915183b..f26dbadf2b 100644 --- a/lib/linalg/zhemv.cpp +++ b/lib/linalg/zhemv.cpp @@ -177,7 +177,7 @@ extern "C" { doublecomplex z__1, z__2, z__3, z__4; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, ix, iy, jx, jy, kx, ky, info; @@ -333,7 +333,7 @@ extern "C" { .r; z__1.r = y[i__4].r + z__2.r, z__1.i = y[i__4].i + z__2.i; y[i__3].r = z__1.r, y[i__3].i = z__1.i; - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__3 = i__; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[i__3].r; @@ -375,7 +375,7 @@ extern "C" { .r; z__1.r = y[i__4].r + z__2.r, z__1.i = y[i__4].i + z__2.i; y[i__3].r = z__1.r, y[i__3].i = z__1.i; - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__3 = ix; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[i__3].r; @@ -429,7 +429,7 @@ extern "C" { .r; z__1.r = y[i__4].r + z__2.r, z__1.i = y[i__4].i + z__2.i; y[i__3].r = z__1.r, y[i__3].i = z__1.i; - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__3 = i__; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[i__3].r; @@ -476,7 +476,7 @@ extern "C" { .r; z__1.r = y[i__4].r + z__2.r, z__1.i = y[i__4].i + z__2.i; y[i__3].r = z__1.r, y[i__3].i = z__1.i; - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__3 = ix; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[i__3].r; diff --git a/lib/linalg/zher2.cpp b/lib/linalg/zher2.cpp index 07d95f7917..6f66534dd4 100644 --- a/lib/linalg/zher2.cpp +++ b/lib/linalg/zher2.cpp @@ -173,7 +173,7 @@ extern "C" { doublecomplex z__1, z__2, z__3, z__4; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, ix, iy, jx, jy, kx, ky, info; @@ -271,7 +271,7 @@ extern "C" { i__3 = j; if (x[i__2].r != 0. || x[i__2].i != 0. || (y[i__3].r != 0. || y[i__3].i != 0.)) { - d_cnjg(&z__2, &y[j]); + d_lmp_cnjg(&z__2, &y[j]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; temp1.r = z__1.r, temp1.i = z__1.i; @@ -279,7 +279,7 @@ extern "C" { z__2.r = alpha->r * x[i__2].r - alpha->i * x[i__2].i, z__2.i = alpha->r * x[i__2].i + alpha->i * x[i__2] .r; - d_cnjg(&z__1, &z__2); + d_lmp_cnjg(&z__1, &z__2); temp2.r = z__1.r, temp2.i = z__1.i; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { @@ -327,7 +327,7 @@ extern "C" { i__3 = jy; if (x[i__2].r != 0. || x[i__2].i != 0. || (y[i__3].r != 0. || y[i__3].i != 0.)) { - d_cnjg(&z__2, &y[jy]); + d_lmp_cnjg(&z__2, &y[jy]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; temp1.r = z__1.r, temp1.i = z__1.i; @@ -335,7 +335,7 @@ extern "C" { z__2.r = alpha->r * x[i__2].r - alpha->i * x[i__2].i, z__2.i = alpha->r * x[i__2].i + alpha->i * x[i__2] .r; - d_cnjg(&z__1, &z__2); + d_lmp_cnjg(&z__1, &z__2); temp2.r = z__1.r, temp2.i = z__1.i; ix = kx; iy = ky; @@ -394,7 +394,7 @@ extern "C" { i__3 = j; if (x[i__2].r != 0. || x[i__2].i != 0. || (y[i__3].r != 0. || y[i__3].i != 0.)) { - d_cnjg(&z__2, &y[j]); + d_lmp_cnjg(&z__2, &y[j]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; temp1.r = z__1.r, temp1.i = z__1.i; @@ -402,7 +402,7 @@ extern "C" { z__2.r = alpha->r * x[i__2].r - alpha->i * x[i__2].i, z__2.i = alpha->r * x[i__2].i + alpha->i * x[i__2] .r; - d_cnjg(&z__1, &z__2); + d_lmp_cnjg(&z__1, &z__2); temp2.r = z__1.r, temp2.i = z__1.i; i__2 = j + j * a_dim1; i__3 = j + j * a_dim1; @@ -450,7 +450,7 @@ extern "C" { i__3 = jy; if (x[i__2].r != 0. || x[i__2].i != 0. || (y[i__3].r != 0. || y[i__3].i != 0.)) { - d_cnjg(&z__2, &y[jy]); + d_lmp_cnjg(&z__2, &y[jy]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; temp1.r = z__1.r, temp1.i = z__1.i; @@ -458,7 +458,7 @@ extern "C" { z__2.r = alpha->r * x[i__2].r - alpha->i * x[i__2].i, z__2.i = alpha->r * x[i__2].i + alpha->i * x[i__2] .r; - d_cnjg(&z__1, &z__2); + d_lmp_cnjg(&z__1, &z__2); temp2.r = z__1.r, temp2.i = z__1.i; i__2 = j + j * a_dim1; i__3 = j + j * a_dim1; diff --git a/lib/linalg/zher2k.cpp b/lib/linalg/zher2k.cpp index 7b5553add1..01ce32deb9 100644 --- a/lib/linalg/zher2k.cpp +++ b/lib/linalg/zher2k.cpp @@ -223,7 +223,7 @@ extern "C" { doublecomplex z__1, z__2, z__3, z__4, z__5, z__6; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, l, info; @@ -418,7 +418,7 @@ extern "C" { i__4 = j + l * b_dim1; if (a[i__3].r != 0. || a[i__3].i != 0. || (b[i__4].r != 0. || b[i__4].i != 0.)) { - d_cnjg(&z__2, &b[j + l * b_dim1]); + d_lmp_cnjg(&z__2, &b[j + l * b_dim1]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; @@ -427,7 +427,7 @@ extern "C" { z__2.r = alpha->r * a[i__3].r - alpha->i * a[i__3].i, z__2.i = alpha->r * a[i__3].i + alpha->i * a[ i__3].r; - d_cnjg(&z__1, &z__2); + d_lmp_cnjg(&z__1, &z__2); temp2.r = z__1.r, temp2.i = z__1.i; i__3 = j - 1; for (i__ = 1; i__ <= i__3; ++i__) { @@ -502,7 +502,7 @@ extern "C" { i__4 = j + l * b_dim1; if (a[i__3].r != 0. || a[i__3].i != 0. || (b[i__4].r != 0. || b[i__4].i != 0.)) { - d_cnjg(&z__2, &b[j + l * b_dim1]); + d_lmp_cnjg(&z__2, &b[j + l * b_dim1]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; @@ -511,7 +511,7 @@ extern "C" { z__2.r = alpha->r * a[i__3].r - alpha->i * a[i__3].i, z__2.i = alpha->r * a[i__3].i + alpha->i * a[ i__3].r; - d_cnjg(&z__1, &z__2); + d_lmp_cnjg(&z__1, &z__2); temp2.r = z__1.r, temp2.i = z__1.i; i__3 = *n; for (i__ = j + 1; i__ <= i__3; ++i__) { @@ -565,14 +565,14 @@ extern "C" { temp2.r = 0., temp2.i = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { - d_cnjg(&z__3, &a[l + i__ * a_dim1]); + d_lmp_cnjg(&z__3, &a[l + i__ * a_dim1]); i__4 = l + j * b_dim1; z__2.r = z__3.r * b[i__4].r - z__3.i * b[i__4].i, z__2.i = z__3.r * b[i__4].i + z__3.i * b[i__4] .r; z__1.r = temp1.r + z__2.r, z__1.i = temp1.i + z__2.i; temp1.r = z__1.r, temp1.i = z__1.i; - d_cnjg(&z__3, &b[l + i__ * b_dim1]); + d_lmp_cnjg(&z__3, &b[l + i__ * b_dim1]); i__4 = l + j * a_dim1; z__2.r = z__3.r * a[i__4].r - z__3.i * a[i__4].i, z__2.i = z__3.r * a[i__4].i + z__3.i * a[i__4] @@ -587,7 +587,7 @@ extern "C" { z__2.r = alpha->r * temp1.r - alpha->i * temp1.i, z__2.i = alpha->r * temp1.i + alpha->i * temp1.r; - d_cnjg(&z__4, alpha); + d_lmp_cnjg(&z__4, alpha); z__3.r = z__4.r * temp2.r - z__4.i * temp2.i, z__3.i = z__4.r * temp2.i + z__4.i * temp2.r; @@ -601,7 +601,7 @@ extern "C" { z__2.r = alpha->r * temp1.r - alpha->i * temp1.i, z__2.i = alpha->r * temp1.i + alpha->i * temp1.r; - d_cnjg(&z__4, alpha); + d_lmp_cnjg(&z__4, alpha); z__3.r = z__4.r * temp2.r - z__4.i * temp2.i, z__3.i = z__4.r * temp2.i + z__4.i * temp2.r; @@ -616,7 +616,7 @@ extern "C" { z__2.r = alpha->r * temp1.r - alpha->i * temp1.i, z__2.i = alpha->r * temp1.i + alpha->i * temp1.r; - d_cnjg(&z__4, alpha); + d_lmp_cnjg(&z__4, alpha); z__3.r = z__4.r * temp2.r - z__4.i * temp2.i, z__3.i = z__4.r * temp2.i + z__4.i * temp2.r; @@ -633,7 +633,7 @@ extern "C" { temp1.r; z__2.r = z__3.r + z__4.r, z__2.i = z__3.i + z__4.i; - d_cnjg(&z__6, alpha); + d_lmp_cnjg(&z__6, alpha); z__5.r = z__6.r * temp2.r - z__6.i * temp2.i, z__5.i = z__6.r * temp2.i + z__6.i * temp2.r; @@ -655,14 +655,14 @@ extern "C" { temp2.r = 0., temp2.i = 0.; i__3 = *k; for (l = 1; l <= i__3; ++l) { - d_cnjg(&z__3, &a[l + i__ * a_dim1]); + d_lmp_cnjg(&z__3, &a[l + i__ * a_dim1]); i__4 = l + j * b_dim1; z__2.r = z__3.r * b[i__4].r - z__3.i * b[i__4].i, z__2.i = z__3.r * b[i__4].i + z__3.i * b[i__4] .r; z__1.r = temp1.r + z__2.r, z__1.i = temp1.i + z__2.i; temp1.r = z__1.r, temp1.i = z__1.i; - d_cnjg(&z__3, &b[l + i__ * b_dim1]); + d_lmp_cnjg(&z__3, &b[l + i__ * b_dim1]); i__4 = l + j * a_dim1; z__2.r = z__3.r * a[i__4].r - z__3.i * a[i__4].i, z__2.i = z__3.r * a[i__4].i + z__3.i * a[i__4] @@ -677,7 +677,7 @@ extern "C" { z__2.r = alpha->r * temp1.r - alpha->i * temp1.i, z__2.i = alpha->r * temp1.i + alpha->i * temp1.r; - d_cnjg(&z__4, alpha); + d_lmp_cnjg(&z__4, alpha); z__3.r = z__4.r * temp2.r - z__4.i * temp2.i, z__3.i = z__4.r * temp2.i + z__4.i * temp2.r; @@ -691,7 +691,7 @@ extern "C" { z__2.r = alpha->r * temp1.r - alpha->i * temp1.i, z__2.i = alpha->r * temp1.i + alpha->i * temp1.r; - d_cnjg(&z__4, alpha); + d_lmp_cnjg(&z__4, alpha); z__3.r = z__4.r * temp2.r - z__4.i * temp2.i, z__3.i = z__4.r * temp2.i + z__4.i * temp2.r; @@ -706,7 +706,7 @@ extern "C" { z__2.r = alpha->r * temp1.r - alpha->i * temp1.i, z__2.i = alpha->r * temp1.i + alpha->i * temp1.r; - d_cnjg(&z__4, alpha); + d_lmp_cnjg(&z__4, alpha); z__3.r = z__4.r * temp2.r - z__4.i * temp2.i, z__3.i = z__4.r * temp2.i + z__4.i * temp2.r; @@ -723,7 +723,7 @@ extern "C" { temp1.r; z__2.r = z__3.r + z__4.r, z__2.i = z__3.i + z__4.i; - d_cnjg(&z__6, alpha); + d_lmp_cnjg(&z__6, alpha); z__5.r = z__6.r * temp2.r - z__6.i * temp2.i, z__5.i = z__6.r * temp2.i + z__6.i * temp2.r; diff --git a/lib/linalg/zhpr.cpp b/lib/linalg/zhpr.cpp index b977b2ce1e..29ed826c46 100644 --- a/lib/linalg/zhpr.cpp +++ b/lib/linalg/zhpr.cpp @@ -152,7 +152,7 @@ extern "C" { doublecomplex z__1, z__2; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, k, kk, ix, jx, kx, info; @@ -231,7 +231,7 @@ extern "C" { for (j = 1; j <= i__1; ++j) { i__2 = j; if (x[i__2].r != 0. || x[i__2].i != 0.) { - d_cnjg(&z__2, &x[j]); + d_lmp_cnjg(&z__2, &x[j]); z__1.r = *alpha * z__2.r, z__1.i = *alpha * z__2.i; temp.r = z__1.r, temp.i = z__1.i; k = kk; @@ -271,7 +271,7 @@ extern "C" { for (j = 1; j <= i__1; ++j) { i__2 = jx; if (x[i__2].r != 0. || x[i__2].i != 0.) { - d_cnjg(&z__2, &x[jx]); + d_lmp_cnjg(&z__2, &x[jx]); z__1.r = *alpha * z__2.r, z__1.i = *alpha * z__2.i; temp.r = z__1.r, temp.i = z__1.i; ix = kx; @@ -316,7 +316,7 @@ extern "C" { for (j = 1; j <= i__1; ++j) { i__2 = j; if (x[i__2].r != 0. || x[i__2].i != 0.) { - d_cnjg(&z__2, &x[j]); + d_lmp_cnjg(&z__2, &x[j]); z__1.r = *alpha * z__2.r, z__1.i = *alpha * z__2.i; temp.r = z__1.r, temp.i = z__1.i; i__2 = kk; @@ -356,7 +356,7 @@ extern "C" { for (j = 1; j <= i__1; ++j) { i__2 = jx; if (x[i__2].r != 0. || x[i__2].i != 0.) { - d_cnjg(&z__2, &x[jx]); + d_lmp_cnjg(&z__2, &x[jx]); z__1.r = *alpha * z__2.r, z__1.i = *alpha * z__2.i; temp.r = z__1.r, temp.i = z__1.i; i__2 = kk; diff --git a/lib/linalg/zlacgv.cpp b/lib/linalg/zlacgv.cpp index 9e9a4050b2..d73cd7b759 100644 --- a/lib/linalg/zlacgv.cpp +++ b/lib/linalg/zlacgv.cpp @@ -97,7 +97,7 @@ f"> */ doublecomplex z__1; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, ioff; @@ -128,7 +128,7 @@ f"> */ i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { i__2 = i__; - d_cnjg(&z__1, &x[i__]); + d_lmp_cnjg(&z__1, &x[i__]); x[i__2].r = z__1.r, x[i__2].i = z__1.i; /* L10: */ } @@ -140,7 +140,7 @@ f"> */ i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { i__2 = ioff; - d_cnjg(&z__1, &x[ioff]); + d_lmp_cnjg(&z__1, &x[ioff]); x[i__2].r = z__1.r, x[i__2].i = z__1.i; ioff += *incx; /* L20: */ diff --git a/lib/linalg/zlacrm.cpp b/lib/linalg/zlacrm.cpp index 46508ae4a9..c3415cb29b 100644 --- a/lib/linalg/zlacrm.cpp +++ b/lib/linalg/zlacrm.cpp @@ -146,7 +146,7 @@ f"> */ doublecomplex z__1; /* Builtin functions */ - double d_imag(doublecomplex *); + double d_lmp_imag(doublecomplex *); /* Local variables */ integer i__, j, l; @@ -225,7 +225,7 @@ f"> */ for (j = 1; j <= i__1; ++j) { i__2 = *m; for (i__ = 1; i__ <= i__2; ++i__) { - rwork[(j - 1) * *m + i__] = d_imag(&a[i__ + j * a_dim1]); + rwork[(j - 1) * *m + i__] = d_lmp_imag(&a[i__ + j * a_dim1]); /* L50: */ } /* L60: */ diff --git a/lib/linalg/zladiv.cpp b/lib/linalg/zladiv.cpp index 6b065d5ce0..105560e1a5 100644 --- a/lib/linalg/zladiv.cpp +++ b/lib/linalg/zladiv.cpp @@ -88,7 +88,7 @@ f"> */ doublecomplex z__1; /* Builtin functions */ - double d_imag(doublecomplex *); + double d_lmp_imag(doublecomplex *); /* Local variables */ doublereal zi, zr; @@ -114,9 +114,9 @@ f"> */ /* .. Executable Statements .. */ d__1 = x->r; - d__2 = d_imag(x); + d__2 = d_lmp_imag(x); d__3 = y->r; - d__4 = d_imag(y); + d__4 = d_lmp_imag(y); dladiv_(&d__1, &d__2, &d__3, &d__4, &zr, &zi); z__1.r = zr, z__1.i = zi; ret_val->r = z__1.r, ret_val->i = z__1.i; diff --git a/lib/linalg/zlaed0.cpp b/lib/linalg/zlaed0.cpp index 98bc39611d..5895127d75 100644 --- a/lib/linalg/zlaed0.cpp +++ b/lib/linalg/zlaed0.cpp @@ -178,7 +178,7 @@ f"> */ /* Builtin functions */ double log(doublereal); - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); /* Local variables */ integer i__, j, k, ll, iq, lgn, msd2, smm1, spm1, spm2; @@ -321,10 +321,10 @@ L10: temp = log((doublereal) (*n)) / log(2.); lgn = (integer) temp; - if (pow_ii(&c__2, &lgn) < *n) { + if (pow_lmp_ii(&c__2, &lgn) < *n) { ++lgn; } - if (pow_ii(&c__2, &lgn) < *n) { + if (pow_lmp_ii(&c__2, &lgn) < *n) { ++lgn; } iprmpt = indxq + *n + 1; diff --git a/lib/linalg/zlaed7.cpp b/lib/linalg/zlaed7.cpp index b20d805e62..11b29341bb 100644 --- a/lib/linalg/zlaed7.cpp +++ b/lib/linalg/zlaed7.cpp @@ -280,7 +280,7 @@ f"> */ integer q_dim1, q_offset, i__1, i__2; /* Builtin functions */ - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); /* Local variables */ integer i__, k, n1, n2, iq, iw, iz, ptr, indx, curr, indxc, indxp; @@ -386,11 +386,11 @@ f"> */ /* Form the z-vector which consists of the last row of Q_1 and the */ /* first row of Q_2. */ - ptr = pow_ii(&c__2, tlvls) + 1; + ptr = pow_lmp_ii(&c__2, tlvls) + 1; i__1 = *curlvl - 1; for (i__ = 1; i__ <= i__1; ++i__) { i__2 = *tlvls - i__; - ptr += pow_ii(&c__2, &i__2); + ptr += pow_lmp_ii(&c__2, &i__2); /* L10: */ } curr = ptr + *curpbm; diff --git a/lib/linalg/zlanhe.cpp b/lib/linalg/zlanhe.cpp index c54482158a..6db6cc5cef 100644 --- a/lib/linalg/zlanhe.cpp +++ b/lib/linalg/zlanhe.cpp @@ -153,7 +153,7 @@ doublereal zlanhe_(char *norm, char *uplo, integer *n, doublecomplex *a, doublereal ret_val, d__1; /* Builtin functions */ - double z_abs(doublecomplex *), sqrt(doublereal); + double z_lmp_abs(doublecomplex *), sqrt(doublereal); /* Local variables */ integer i__, j; @@ -207,7 +207,7 @@ doublereal zlanhe_(char *norm, char *uplo, integer *n, doublecomplex *a, for (j = 1; j <= i__1; ++j) { i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { - sum = z_abs(&a[i__ + j * a_dim1]); + sum = z_lmp_abs(&a[i__ + j * a_dim1]); if (value < sum || disnan_(&sum)) { value = sum; } @@ -230,7 +230,7 @@ doublereal zlanhe_(char *norm, char *uplo, integer *n, doublecomplex *a, } i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { - sum = z_abs(&a[i__ + j * a_dim1]); + sum = z_lmp_abs(&a[i__ + j * a_dim1]); if (value < sum || disnan_(&sum)) { value = sum; } @@ -251,7 +251,7 @@ doublereal zlanhe_(char *norm, char *uplo, integer *n, doublecomplex *a, sum = 0.; i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { - absa = z_abs(&a[i__ + j * a_dim1]); + absa = z_lmp_abs(&a[i__ + j * a_dim1]); sum += absa; work[i__] += absa; /* L50: */ @@ -280,7 +280,7 @@ doublereal zlanhe_(char *norm, char *uplo, integer *n, doublecomplex *a, sum = work[j] + (d__1 = a[i__2].r, abs(d__1)); i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { - absa = z_abs(&a[i__ + j * a_dim1]); + absa = z_lmp_abs(&a[i__ + j * a_dim1]); sum += absa; work[i__] += absa; /* L90: */ diff --git a/lib/linalg/zlarfb.cpp b/lib/linalg/zlarfb.cpp index b09fdf4917..e9015669ca 100644 --- a/lib/linalg/zlarfb.cpp +++ b/lib/linalg/zlarfb.cpp @@ -229,7 +229,7 @@ f"> */ doublecomplex z__1, z__2; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j; @@ -371,7 +371,7 @@ f"> */ for (i__ = 1; i__ <= i__2; ++i__) { i__3 = j + i__ * c_dim1; i__4 = j + i__ * c_dim1; - d_cnjg(&z__2, &work[i__ + j * work_dim1]); + d_lmp_cnjg(&z__2, &work[i__ + j * work_dim1]); z__1.r = c__[i__4].r - z__2.r, z__1.i = c__[i__4].i - z__2.i; c__[i__3].r = z__1.r, c__[i__3].i = z__1.i; @@ -529,7 +529,7 @@ f"> */ for (i__ = 1; i__ <= i__2; ++i__) { i__3 = *m - *k + j + i__ * c_dim1; i__4 = *m - *k + j + i__ * c_dim1; - d_cnjg(&z__2, &work[i__ + j * work_dim1]); + d_lmp_cnjg(&z__2, &work[i__ + j * work_dim1]); z__1.r = c__[i__4].r - z__2.r, z__1.i = c__[i__4].i - z__2.i; c__[i__3].r = z__1.r, c__[i__3].i = z__1.i; @@ -689,7 +689,7 @@ f"> */ for (i__ = 1; i__ <= i__2; ++i__) { i__3 = j + i__ * c_dim1; i__4 = j + i__ * c_dim1; - d_cnjg(&z__2, &work[i__ + j * work_dim1]); + d_lmp_cnjg(&z__2, &work[i__ + j * work_dim1]); z__1.r = c__[i__4].r - z__2.r, z__1.i = c__[i__4].i - z__2.i; c__[i__3].r = z__1.r, c__[i__3].i = z__1.i; @@ -848,7 +848,7 @@ f"> */ for (i__ = 1; i__ <= i__2; ++i__) { i__3 = *m - *k + j + i__ * c_dim1; i__4 = *m - *k + j + i__ * c_dim1; - d_cnjg(&z__2, &work[i__ + j * work_dim1]); + d_lmp_cnjg(&z__2, &work[i__ + j * work_dim1]); z__1.r = c__[i__4].r - z__2.r, z__1.i = c__[i__4].i - z__2.i; c__[i__3].r = z__1.r, c__[i__3].i = z__1.i; diff --git a/lib/linalg/zlarfg.cpp b/lib/linalg/zlarfg.cpp index 71e2add68c..518ba9bcbb 100644 --- a/lib/linalg/zlarfg.cpp +++ b/lib/linalg/zlarfg.cpp @@ -135,7 +135,7 @@ f"> */ doublecomplex z__1, z__2; /* Builtin functions */ - double d_imag(doublecomplex *), d_sign(doublereal *, doublereal *); + double d_lmp_imag(doublecomplex *), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ integer j, knt; @@ -189,7 +189,7 @@ f"> */ i__1 = *n - 1; xnorm = dznrm2_(&i__1, &x[1], incx); alphr = alpha->r; - alphi = d_imag(alpha); + alphi = d_lmp_imag(alpha); if (xnorm == 0. && alphi == 0.) { @@ -201,7 +201,7 @@ f"> */ /* general case */ d__1 = dlapy3_(&alphr, &alphi, &xnorm); - beta = -d_sign(&d__1, &alphr); + beta = -d_lmp_sign(&d__1, &alphr); safmin = dlamch_((char *)"S", (ftnlen)1) / dlamch_((char *)"E", (ftnlen)1); rsafmn = 1. / safmin; @@ -228,7 +228,7 @@ L10: z__1.r = alphr, z__1.i = alphi; alpha->r = z__1.r, alpha->i = z__1.i; d__1 = dlapy3_(&alphr, &alphi, &xnorm); - beta = -d_sign(&d__1, &alphr); + beta = -d_lmp_sign(&d__1, &alphr); } d__1 = (beta - alphr) / beta; d__2 = -alphi / beta; diff --git a/lib/linalg/zlarft.cpp b/lib/linalg/zlarft.cpp index ad5e46b910..391de106cf 100644 --- a/lib/linalg/zlarft.cpp +++ b/lib/linalg/zlarft.cpp @@ -193,7 +193,7 @@ f"> */ doublecomplex z__1, z__2, z__3; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, prevlastv; @@ -281,7 +281,7 @@ L220: i__3 = j + i__ * t_dim1; i__4 = i__; z__2.r = -tau[i__4].r, z__2.i = -tau[i__4].i; - d_cnjg(&z__3, &v[i__ + j * v_dim1]); + d_lmp_cnjg(&z__3, &v[i__ + j * v_dim1]); z__1.r = z__2.r * z__3.r - z__2.i * z__3.i, z__1.i = z__2.r * z__3.i + z__2.i * z__3.r; t[i__3].r = z__1.r, t[i__3].i = z__1.i; @@ -382,7 +382,7 @@ L281: i__2 = j + i__ * t_dim1; i__3 = i__; z__2.r = -tau[i__3].r, z__2.i = -tau[i__3].i; - d_cnjg(&z__3, &v[*n - *k + i__ + j * v_dim1]); + d_lmp_cnjg(&z__3, &v[*n - *k + i__ + j * v_dim1]); z__1.r = z__2.r * z__3.r - z__2.i * z__3.i, z__1.i = z__2.r * z__3.i + z__2.i * z__3.r; diff --git a/lib/linalg/zlassq.cpp b/lib/linalg/zlassq.cpp index 2e2a5ba539..31c0f15f4c 100644 --- a/lib/linalg/zlassq.cpp +++ b/lib/linalg/zlassq.cpp @@ -132,7 +132,7 @@ f"> */ doublereal d__1; /* Builtin functions */ - double d_imag(doublecomplex *); + double d_lmp_imag(doublecomplex *); /* Local variables */ integer ix; @@ -184,7 +184,7 @@ f"> */ *sumsq += d__1 * d__1; } } - temp1 = (d__1 = d_imag(&x[ix]), abs(d__1)); + temp1 = (d__1 = d_lmp_imag(&x[ix]), abs(d__1)); if (temp1 > 0. || disnan_(&temp1)) { if (*scale < temp1) { /* Computing 2nd power */ diff --git a/lib/linalg/zstedc.cpp b/lib/linalg/zstedc.cpp index 1a4d71cf50..fc6d9a782b 100644 --- a/lib/linalg/zstedc.cpp +++ b/lib/linalg/zstedc.cpp @@ -247,7 +247,7 @@ f"> */ /* Builtin functions */ double log(doublereal); - integer pow_ii(integer *, integer *); + integer pow_lmp_ii(integer *, integer *); double sqrt(doublereal); /* Local variables */ @@ -365,10 +365,10 @@ f"> */ lrwmin = *n - 1 << 1; } else if (icompz == 1) { lgn = (integer) (log((doublereal) (*n)) / log(2.)); - if (pow_ii(&c__2, &lgn) < *n) { + if (pow_lmp_ii(&c__2, &lgn) < *n) { ++lgn; } - if (pow_ii(&c__2, &lgn) < *n) { + if (pow_lmp_ii(&c__2, &lgn) < *n) { ++lgn; } lwmin = *n * *n; diff --git a/lib/linalg/zsteqr.cpp b/lib/linalg/zsteqr.cpp index ce75593d28..2085ccbaae 100644 --- a/lib/linalg/zsteqr.cpp +++ b/lib/linalg/zsteqr.cpp @@ -166,7 +166,7 @@ f"> */ doublereal d__1, d__2; /* Builtin functions */ - double sqrt(doublereal), d_sign(doublereal *, doublereal *); + double sqrt(doublereal), d_lmp_sign(doublereal *, doublereal *); /* Local variables */ doublereal b, c__, f, g; @@ -445,7 +445,7 @@ L60: g = (d__[l + 1] - p) / (e[l] * 2.); r__ = dlapy2_(&g, &c_b41); - g = d__[m] - p + e[l] / (g + d_sign(&r__, &g)); + g = d__[m] - p + e[l] / (g + d_lmp_sign(&r__, &g)); s = 1.; c__ = 1.; @@ -568,7 +568,7 @@ L110: g = (d__[l - 1] - p) / (e[l - 1] * 2.); r__ = dlapy2_(&g, &c_b41); - g = d__[m] - p + e[l - 1] / (g + d_sign(&r__, &g)); + g = d__[m] - p + e[l - 1] / (g + d_lmp_sign(&r__, &g)); s = 1.; c__ = 1.; diff --git a/lib/linalg/ztpmv.cpp b/lib/linalg/ztpmv.cpp index adb1db10f4..9e4a16df42 100644 --- a/lib/linalg/ztpmv.cpp +++ b/lib/linalg/ztpmv.cpp @@ -164,7 +164,7 @@ extern "C" { doublecomplex z__1, z__2, z__3; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, k, kk, ix, jx, kx, info; @@ -432,14 +432,14 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &ap[kk]); + d_lmp_cnjg(&z__2, &ap[kk]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; temp.r = z__1.r, temp.i = z__1.i; } for (i__ = j - 1; i__ >= 1; --i__) { - d_cnjg(&z__3, &ap[k]); + d_lmp_cnjg(&z__3, &ap[k]); i__1 = i__; z__2.r = z__3.r * x[i__1].r - z__3.i * x[i__1].i, z__2.i = z__3.r * x[i__1].i + z__3.i * x[ @@ -485,7 +485,7 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &ap[kk]); + d_lmp_cnjg(&z__2, &ap[kk]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -494,7 +494,7 @@ extern "C" { i__1 = kk - j + 1; for (k = kk - 1; k >= i__1; --k) { ix -= *incx; - d_cnjg(&z__3, &ap[k]); + d_lmp_cnjg(&z__3, &ap[k]); i__2 = ix; z__2.r = z__3.r * x[i__2].r - z__3.i * x[i__2].i, z__2.i = z__3.r * x[i__2].i + z__3.i * x[ @@ -543,7 +543,7 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &ap[kk]); + d_lmp_cnjg(&z__2, &ap[kk]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -551,7 +551,7 @@ extern "C" { } i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { - d_cnjg(&z__3, &ap[k]); + d_lmp_cnjg(&z__3, &ap[k]); i__3 = i__; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[ @@ -598,7 +598,7 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &ap[kk]); + d_lmp_cnjg(&z__2, &ap[kk]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -607,7 +607,7 @@ extern "C" { i__2 = kk + *n - j; for (k = kk + 1; k <= i__2; ++k) { ix += *incx; - d_cnjg(&z__3, &ap[k]); + d_lmp_cnjg(&z__3, &ap[k]); i__3 = ix; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[ diff --git a/lib/linalg/ztpsv.cpp b/lib/linalg/ztpsv.cpp index c3c564acd2..a1bddbbeb9 100644 --- a/lib/linalg/ztpsv.cpp +++ b/lib/linalg/ztpsv.cpp @@ -166,7 +166,7 @@ extern "C" { doublecomplex z__1, z__2, z__3; /* Builtin functions */ - void z_div(doublecomplex *, doublecomplex *, doublecomplex *), d_cnjg( + void z_lmp_div(doublecomplex *, doublecomplex *, doublecomplex *), d_lmp_cnjg( doublecomplex *, doublecomplex *); /* Local variables */ @@ -260,7 +260,7 @@ extern "C" { if (x[i__1].r != 0. || x[i__1].i != 0.) { if (nounit) { i__1 = j; - z_div(&z__1, &x[j], &ap[kk]); + z_lmp_div(&z__1, &x[j], &ap[kk]); x[i__1].r = z__1.r, x[i__1].i = z__1.i; } i__1 = j; @@ -290,7 +290,7 @@ extern "C" { if (x[i__1].r != 0. || x[i__1].i != 0.) { if (nounit) { i__1 = jx; - z_div(&z__1, &x[jx], &ap[kk]); + z_lmp_div(&z__1, &x[jx], &ap[kk]); x[i__1].r = z__1.r, x[i__1].i = z__1.i; } i__1 = jx; @@ -325,7 +325,7 @@ extern "C" { if (x[i__2].r != 0. || x[i__2].i != 0.) { if (nounit) { i__2 = j; - z_div(&z__1, &x[j], &ap[kk]); + z_lmp_div(&z__1, &x[j], &ap[kk]); x[i__2].r = z__1.r, x[i__2].i = z__1.i; } i__2 = j; @@ -357,7 +357,7 @@ extern "C" { if (x[i__2].r != 0. || x[i__2].i != 0.) { if (nounit) { i__2 = jx; - z_div(&z__1, &x[jx], &ap[kk]); + z_lmp_div(&z__1, &x[jx], &ap[kk]); x[i__2].r = z__1.r, x[i__2].i = z__1.i; } i__2 = jx; @@ -411,13 +411,13 @@ extern "C" { /* L90: */ } if (nounit) { - z_div(&z__1, &temp, &ap[kk + j - 1]); + z_lmp_div(&z__1, &temp, &ap[kk + j - 1]); temp.r = z__1.r, temp.i = z__1.i; } } else { i__2 = j - 1; for (i__ = 1; i__ <= i__2; ++i__) { - d_cnjg(&z__3, &ap[k]); + d_lmp_cnjg(&z__3, &ap[k]); i__3 = i__; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[ @@ -429,8 +429,8 @@ extern "C" { /* L100: */ } if (nounit) { - d_cnjg(&z__2, &ap[kk + j - 1]); - z_div(&z__1, &temp, &z__2); + d_lmp_cnjg(&z__2, &ap[kk + j - 1]); + z_lmp_div(&z__1, &temp, &z__2); temp.r = z__1.r, temp.i = z__1.i; } } @@ -461,13 +461,13 @@ extern "C" { /* L120: */ } if (nounit) { - z_div(&z__1, &temp, &ap[kk + j - 1]); + z_lmp_div(&z__1, &temp, &ap[kk + j - 1]); temp.r = z__1.r, temp.i = z__1.i; } } else { i__2 = kk + j - 2; for (k = kk; k <= i__2; ++k) { - d_cnjg(&z__3, &ap[k]); + d_lmp_cnjg(&z__3, &ap[k]); i__3 = ix; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[ @@ -479,8 +479,8 @@ extern "C" { /* L130: */ } if (nounit) { - d_cnjg(&z__2, &ap[kk + j - 1]); - z_div(&z__1, &temp, &z__2); + d_lmp_cnjg(&z__2, &ap[kk + j - 1]); + z_lmp_div(&z__1, &temp, &z__2); temp.r = z__1.r, temp.i = z__1.i; } } @@ -513,13 +513,13 @@ extern "C" { /* L150: */ } if (nounit) { - z_div(&z__1, &temp, &ap[kk - *n + j]); + z_lmp_div(&z__1, &temp, &ap[kk - *n + j]); temp.r = z__1.r, temp.i = z__1.i; } } else { i__1 = j + 1; for (i__ = *n; i__ >= i__1; --i__) { - d_cnjg(&z__3, &ap[k]); + d_lmp_cnjg(&z__3, &ap[k]); i__2 = i__; z__2.r = z__3.r * x[i__2].r - z__3.i * x[i__2].i, z__2.i = z__3.r * x[i__2].i + z__3.i * x[ @@ -531,8 +531,8 @@ extern "C" { /* L160: */ } if (nounit) { - d_cnjg(&z__2, &ap[kk - *n + j]); - z_div(&z__1, &temp, &z__2); + d_lmp_cnjg(&z__2, &ap[kk - *n + j]); + z_lmp_div(&z__1, &temp, &z__2); temp.r = z__1.r, temp.i = z__1.i; } } @@ -563,13 +563,13 @@ extern "C" { /* L180: */ } if (nounit) { - z_div(&z__1, &temp, &ap[kk - *n + j]); + z_lmp_div(&z__1, &temp, &ap[kk - *n + j]); temp.r = z__1.r, temp.i = z__1.i; } } else { i__1 = kk - (*n - (j + 1)); for (k = kk; k >= i__1; --k) { - d_cnjg(&z__3, &ap[k]); + d_lmp_cnjg(&z__3, &ap[k]); i__2 = ix; z__2.r = z__3.r * x[i__2].r - z__3.i * x[i__2].i, z__2.i = z__3.r * x[i__2].i + z__3.i * x[ @@ -581,8 +581,8 @@ extern "C" { /* L190: */ } if (nounit) { - d_cnjg(&z__2, &ap[kk - *n + j]); - z_div(&z__1, &temp, &z__2); + d_lmp_cnjg(&z__2, &ap[kk - *n + j]); + z_lmp_div(&z__1, &temp, &z__2); temp.r = z__1.r, temp.i = z__1.i; } } diff --git a/lib/linalg/ztptri.cpp b/lib/linalg/ztptri.cpp index eb5c2988e3..29377adc03 100644 --- a/lib/linalg/ztptri.cpp +++ b/lib/linalg/ztptri.cpp @@ -146,7 +146,7 @@ f"> */ doublecomplex z__1; /* Builtin functions */ - void z_div(doublecomplex *, doublecomplex *, doublecomplex *); + void z_lmp_div(doublecomplex *, doublecomplex *, doublecomplex *); /* Local variables */ integer j, jc, jj; @@ -243,7 +243,7 @@ f"> */ for (j = 1; j <= i__1; ++j) { if (nounit) { i__2 = jc + j - 1; - z_div(&z__1, &c_b1, &ap[jc + j - 1]); + z_lmp_div(&z__1, &c_b1, &ap[jc + j - 1]); ap[i__2].r = z__1.r, ap[i__2].i = z__1.i; i__2 = jc + j - 1; z__1.r = -ap[i__2].r, z__1.i = -ap[i__2].i; @@ -272,7 +272,7 @@ f"> */ for (j = *n; j >= 1; --j) { if (nounit) { i__1 = jc; - z_div(&z__1, &c_b1, &ap[jc]); + z_lmp_div(&z__1, &c_b1, &ap[jc]); ap[i__1].r = z__1.r, ap[i__1].i = z__1.i; i__1 = jc; z__1.r = -ap[i__1].r, z__1.i = -ap[i__1].i; diff --git a/lib/linalg/ztrmm.cpp b/lib/linalg/ztrmm.cpp index 3fec24189e..a44eec9bb1 100644 --- a/lib/linalg/ztrmm.cpp +++ b/lib/linalg/ztrmm.cpp @@ -201,7 +201,7 @@ extern "C" { doublecomplex z__1, z__2, z__3; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, k, info; @@ -424,7 +424,7 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &a[i__ + i__ * a_dim1]); + d_lmp_cnjg(&z__2, &a[i__ + i__ * a_dim1]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -432,7 +432,7 @@ extern "C" { } i__2 = i__ - 1; for (k = 1; k <= i__2; ++k) { - d_cnjg(&z__3, &a[k + i__ * a_dim1]); + d_lmp_cnjg(&z__3, &a[k + i__ * a_dim1]); i__3 = k + j * b_dim1; z__2.r = z__3.r * b[i__3].r - z__3.i * b[i__3] .i, z__2.i = z__3.r * b[i__3].i + @@ -481,7 +481,7 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &a[i__ + i__ * a_dim1]); + d_lmp_cnjg(&z__2, &a[i__ + i__ * a_dim1]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -489,7 +489,7 @@ extern "C" { } i__3 = *m; for (k = i__ + 1; k <= i__3; ++k) { - d_cnjg(&z__3, &a[k + i__ * a_dim1]); + d_lmp_cnjg(&z__3, &a[k + i__ * a_dim1]); i__4 = k + j * b_dim1; z__2.r = z__3.r * b[i__4].r - z__3.i * b[i__4] .i, z__2.i = z__3.r * b[i__4].i + @@ -630,7 +630,7 @@ extern "C" { .i + alpha->i * a[i__3].r; temp.r = z__1.r, temp.i = z__1.i; } else { - d_cnjg(&z__2, &a[j + k * a_dim1]); + d_lmp_cnjg(&z__2, &a[j + k * a_dim1]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; @@ -661,7 +661,7 @@ extern "C" { i__2].r; temp.r = z__1.r, temp.i = z__1.i; } else { - d_cnjg(&z__2, &a[k + k * a_dim1]); + d_lmp_cnjg(&z__2, &a[k + k * a_dim1]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -695,7 +695,7 @@ extern "C" { .i + alpha->i * a[i__2].r; temp.r = z__1.r, temp.i = z__1.i; } else { - d_cnjg(&z__2, &a[j + k * a_dim1]); + d_lmp_cnjg(&z__2, &a[j + k * a_dim1]); z__1.r = alpha->r * z__2.r - alpha->i * z__2.i, z__1.i = alpha->r * z__2.i + alpha->i * z__2.r; @@ -726,7 +726,7 @@ extern "C" { i__1].r; temp.r = z__1.r, temp.i = z__1.i; } else { - d_cnjg(&z__2, &a[k + k * a_dim1]); + d_lmp_cnjg(&z__2, &a[k + k * a_dim1]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; diff --git a/lib/linalg/ztrmv.cpp b/lib/linalg/ztrmv.cpp index 77f93e41a6..9d9877638f 100644 --- a/lib/linalg/ztrmv.cpp +++ b/lib/linalg/ztrmv.cpp @@ -169,7 +169,7 @@ extern "C" { doublecomplex z__1, z__2, z__3; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, ix, jx, kx, info; @@ -428,14 +428,14 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &a[j + j * a_dim1]); + d_lmp_cnjg(&z__2, &a[j + j * a_dim1]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; temp.r = z__1.r, temp.i = z__1.i; } for (i__ = j - 1; i__ >= 1; --i__) { - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__1 = i__; z__2.r = z__3.r * x[i__1].r - z__3.i * x[i__1].i, z__2.i = z__3.r * x[i__1].i + z__3.i * x[ @@ -478,7 +478,7 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &a[j + j * a_dim1]); + d_lmp_cnjg(&z__2, &a[j + j * a_dim1]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -486,7 +486,7 @@ extern "C" { } for (i__ = j - 1; i__ >= 1; --i__) { ix -= *incx; - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__1 = ix; z__2.r = z__3.r * x[i__1].r - z__3.i * x[i__1].i, z__2.i = z__3.r * x[i__1].i + z__3.i * x[ @@ -531,7 +531,7 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &a[j + j * a_dim1]); + d_lmp_cnjg(&z__2, &a[j + j * a_dim1]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -539,7 +539,7 @@ extern "C" { } i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__3 = i__; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[ @@ -584,7 +584,7 @@ extern "C" { } } else { if (nounit) { - d_cnjg(&z__2, &a[j + j * a_dim1]); + d_lmp_cnjg(&z__2, &a[j + j * a_dim1]); z__1.r = temp.r * z__2.r - temp.i * z__2.i, z__1.i = temp.r * z__2.i + temp.i * z__2.r; @@ -593,7 +593,7 @@ extern "C" { i__2 = *n; for (i__ = j + 1; i__ <= i__2; ++i__) { ix += *incx; - d_cnjg(&z__3, &a[i__ + j * a_dim1]); + d_lmp_cnjg(&z__3, &a[i__ + j * a_dim1]); i__3 = ix; z__2.r = z__3.r * x[i__3].r - z__3.i * x[i__3].i, z__2.i = z__3.r * x[i__3].i + z__3.i * x[ diff --git a/lib/linalg/zungl2.cpp b/lib/linalg/zungl2.cpp index d4b85486c6..44213e5927 100644 --- a/lib/linalg/zungl2.cpp +++ b/lib/linalg/zungl2.cpp @@ -139,7 +139,7 @@ f"> */ doublecomplex z__1, z__2; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, j, l; @@ -235,7 +235,7 @@ f"> */ a[i__1].r = 1., a[i__1].i = 0.; i__1 = *m - i__; i__2 = *n - i__ + 1; - d_cnjg(&z__1, &tau[i__]); + d_lmp_cnjg(&z__1, &tau[i__]); zlarf_((char *)"Right", &i__1, &i__2, &a[i__ + i__ * a_dim1], lda, & z__1, &a[i__ + 1 + i__ * a_dim1], lda, &work[1], ( ftnlen)5); @@ -248,7 +248,7 @@ f"> */ zlacgv_(&i__1, &a[i__ + (i__ + 1) * a_dim1], lda); } i__1 = i__ + i__ * a_dim1; - d_cnjg(&z__2, &tau[i__]); + d_lmp_cnjg(&z__2, &tau[i__]); z__1.r = 1. - z__2.r, z__1.i = 0. - z__2.i; a[i__1].r = z__1.r, a[i__1].i = z__1.i; diff --git a/lib/linalg/zunm2l.cpp b/lib/linalg/zunm2l.cpp index d9bc80e8c7..3e5b63f574 100644 --- a/lib/linalg/zunm2l.cpp +++ b/lib/linalg/zunm2l.cpp @@ -189,7 +189,7 @@ f"> */ doublecomplex z__1; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, i1, i2, i3, mi, ni, nq; @@ -315,7 +315,7 @@ f"> */ i__3 = i__; taui.r = tau[i__3].r, taui.i = tau[i__3].i; } else { - d_cnjg(&z__1, &tau[i__]); + d_lmp_cnjg(&z__1, &tau[i__]); taui.r = z__1.r, taui.i = z__1.i; } i__3 = nq - *k + i__ + i__ * a_dim1; diff --git a/lib/linalg/zunm2r.cpp b/lib/linalg/zunm2r.cpp index a84cf72ba6..cbfdfb2f42 100644 --- a/lib/linalg/zunm2r.cpp +++ b/lib/linalg/zunm2r.cpp @@ -189,7 +189,7 @@ f"> */ doublecomplex z__1; /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); + void d_lmp_cnjg(doublecomplex *, doublecomplex *); /* Local variables */ integer i__, i1, i2, i3, ic, jc, mi, ni, nq; @@ -319,7 +319,7 @@ f"> */ i__3 = i__; taui.r = tau[i__3].r, taui.i = tau[i__3].i; } else { - d_cnjg(&z__1, &tau[i__]); + d_lmp_cnjg(&z__1, &tau[i__]); taui.r = z__1.r, taui.i = z__1.i; } i__3 = i__ + i__ * a_dim1; diff --git a/lib/linalg/zunmql.cpp b/lib/linalg/zunmql.cpp index facff63c71..694c8f776c 100644 --- a/lib/linalg/zunmql.cpp +++ b/lib/linalg/zunmql.cpp @@ -201,7 +201,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer i__, i1, i2, i3, ib, nb, mi, ni, nq, nw, iwt; @@ -306,7 +306,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 64, i__2 = ilaenv_(&c__1, (char *)"ZUNMQL", ch__1, m, n, k, &c_n1, (ftnlen)6, (ftnlen)2); nb = min(i__1,i__2); @@ -338,7 +338,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 2, i__2 = ilaenv_(&c__2, (char *)"ZUNMQL", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nbmin = max(i__1,i__2); diff --git a/lib/linalg/zunmqr.cpp b/lib/linalg/zunmqr.cpp index 8659499dab..6718cdc001 100644 --- a/lib/linalg/zunmqr.cpp +++ b/lib/linalg/zunmqr.cpp @@ -201,7 +201,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer i__, i1, i2, i3, ib, ic, jc, nb, mi, ni, nq, nw, iwt; @@ -303,7 +303,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 64, i__2 = ilaenv_(&c__1, (char *)"ZUNMQR", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nb = min(i__1,i__2); @@ -335,7 +335,7 @@ f"> */ /* Writing concatenation */ i__3[0] = 1, a__1[0] = side; i__3[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__3, &c__2, (ftnlen)2); i__1 = 2, i__2 = ilaenv_(&c__2, (char *)"ZUNMQR", ch__1, m, n, k, &c_n1, ( ftnlen)6, (ftnlen)2); nbmin = max(i__1,i__2); diff --git a/lib/linalg/zunmtr.cpp b/lib/linalg/zunmtr.cpp index be224d7e93..f4f4f55761 100644 --- a/lib/linalg/zunmtr.cpp +++ b/lib/linalg/zunmtr.cpp @@ -203,7 +203,7 @@ f"> */ char ch__1[2]; /* Builtin functions */ - /* Subroutine */ int s_cat(char *, char **, integer *, integer *, ftnlen); + /* Subroutine */ int s_lmp_cat(char *, char **, integer *, integer *, ftnlen); /* Local variables */ integer i1, i2, nb, mi, ni, nq, nw; @@ -298,7 +298,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = side; i__1[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); i__2 = *m - 1; i__3 = *m - 1; nb = ilaenv_(&c__1, (char *)"ZUNMQL", ch__1, &i__2, n, &i__3, &c_n1, ( @@ -307,7 +307,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = side; i__1[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); i__2 = *n - 1; i__3 = *n - 1; nb = ilaenv_(&c__1, (char *)"ZUNMQL", ch__1, m, &i__2, &i__3, &c_n1, ( @@ -318,7 +318,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = side; i__1[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); i__2 = *m - 1; i__3 = *m - 1; nb = ilaenv_(&c__1, (char *)"ZUNMQR", ch__1, &i__2, n, &i__3, &c_n1, ( @@ -327,7 +327,7 @@ f"> */ /* Writing concatenation */ i__1[0] = 1, a__1[0] = side; i__1[1] = 1, a__1[1] = trans; - s_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); + s_lmp_cat(ch__1, a__1, i__1, &c__2, (ftnlen)2); i__2 = *n - 1; i__3 = *n - 1; nb = ilaenv_(&c__1, (char *)"ZUNMQR", ch__1, m, &i__2, &i__3, &c_n1, (