diff --git a/superlu-3.0.diff b/superlu-3.0.diff deleted file mode 100644 index cb563e1..0000000 --- a/superlu-3.0.diff +++ /dev/null @@ -1,98 +0,0 @@ -Index: SuperLU_3.0/Makefile -=================================================================== ---- SuperLU_3.0.orig/Makefile -+++ SuperLU_3.0/Makefile -@@ -14,8 +14,12 @@ - # October 15, 2003 Version 3.0 - # - ############################################################################ - -+DESTDIR = -+LIBDIR = $(prefix)/lib -+DESTLIBDIR = $(DESTDIR)/$(LIBDIR) -+ - include make.inc - - all: install lib testing - -@@ -36,8 +40,18 @@ superlulib: - - tmglib: - ( cd TESTING/MATGEN; $(MAKE) ) - -+install_lib: superlulib -+ $(INSTALL) -m 0755 -d $(DESTLIBDIR) -+ $(INSTALL) -m 0644 superlu$(PLAT).a $(DESTLIBDIR)/libsuperlu.a -+ ln -sf libsuperlu.a $(DESTLIBDIR)/superlu$(PLAT).a -+ -+install_blas: blas$(PLAT).a -+ $(INSTALL) -m 0755 -d $(DESTLIBDIR) -+ $(INSTALL) -m 0644 blas$(PLAT).a $(DESTLIBDIR)/libblas2.a -+ ln -sf libblas2.a $(DESTLIBDIR)/blas2$(PLAT).a -+ - matlabmex: - ( cd MATLAB; $(MAKE) ) - - testing: -Index: SuperLU_3.0/make.inc -=================================================================== ---- SuperLU_3.0.orig/make.inc -+++ SuperLU_3.0/make.inc -@@ -15,36 +15,49 @@ - ############################################################################ - # - # The machine (platform) identifier to append to the library names - # --PLAT = _solaris -+MACH := $(shell uname -m | tr A-Z a-z | sed s§i.86§i386§) -+PLAT = _$(MACH) -+prefix = /usr - - # - # The name of the libraries to be created/linked to - # - TMGLIB = tmglib$(PLAT).a - SUPERLULIB = superlu$(PLAT).a - BLASLIB = ../blas$(PLAT).a -+#BLASBLIB = -lblas -+#BLASDEF = -DUSE_VENDOR_BLAS - - # - # The archiver and the flag(s) to use when building archive (library) - # If your system has no ranlib, set RANLIB = echo. - # - ARCH = ar - ARCHFLAGS = cr - RANLIB = ranlib -+INSTALL = install - --CC = cc --CFLAGS = -xO3 -xcg92 --FORTRAN = f77 --FFLAGS = -O --LOADER = cc --LOADOPTS = -xO3 -+CC = gcc -+CFLAGS = $(RPM_OPT_FLAGS) -fPIC -fschedule-insns2 \ -+ -funroll-loops -fstrict-aliasing -frerun-loop-opt \ -+ -ftree-vectorize -funit-at-a-time -+ifeq ($(MACH),i386) -+ CFLAGS += -mtune=pentium-m -momit-leaf-frame-pointer # -ffast-math -msse2 -mfpmath=sse -+else -+ CFLAGS += -O3 -finline-limit=720 --param max-inline-insns-auto=160 -+endif -+NOOPTS = $(RPM_OPT_FLAGS) -Os -fPIC -+FORTRAN = g77 -+FFLAGS = $(CFLAGS) -+LOADER = gcc -+LOADOPTS = - - # - # C preprocessor defs for compilation (-DNoChange, -DAdd_, or -DUpCase) - # - CDEFS = -DAdd_ - # - # The directory in which Matlab is installed - # --MATLAB = /usr/sww/pkg/matlab -+#MATLAB = /usr/sww/pkg/matlab diff --git a/superlu-4.3-dont-opt-away.diff b/superlu-4.3-dont-opt-away.diff new file mode 100644 index 0000000..23b015b --- /dev/null +++ b/superlu-4.3-dont-opt-away.diff @@ -0,0 +1,20 @@ +diff -aruN SuperLU_4.3.orig/INSTALL/timertst.c SuperLU_4.3/INSTALL/timertst.c +--- SuperLU_4.3.orig/INSTALL/timertst.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/INSTALL/timertst.c 2012-12-20 21:55:13.954437737 +0100 +@@ -6,6 +6,8 @@ + return; + } + ++volatile double _dummy; ++ + int main() + { + /* Parameters */ +@@ -32,6 +34,7 @@ + for (j = 0; j < iters; ++j) { + for (i = 0; i < NMAX; ++i) y[i] += alpha * x[i]; + alpha = -alpha; ++ _dummy = y[j%NMAX]; + } + t2 = SuperLU_timer_(); + tnotim = t2 - t1; diff --git a/superlu-4.3-include.patch b/superlu-4.3-include.patch new file mode 100644 index 0000000..8af8b69 --- /dev/null +++ b/superlu-4.3-include.patch @@ -0,0 +1,22 @@ +diff -aruN SuperLU_4.3.orig/TESTING/ddrive.c SuperLU_4.3/TESTING/ddrive.c +--- SuperLU_4.3.orig/TESTING/ddrive.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/TESTING/ddrive.c 2012-12-20 22:14:43.026465899 +0100 +@@ -11,6 +11,7 @@ + * Purpose: MAIN test program + */ + #include ++#include + #include "slu_ddefs.h" + + #define NTESTS 5 /* Number of test types */ +diff -aruN SuperLU_4.3.orig/TESTING/sdrive.c SuperLU_4.3/TESTING/sdrive.c +--- SuperLU_4.3.orig/TESTING/sdrive.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/TESTING/sdrive.c 2012-12-20 22:14:43.030465752 +0100 +@@ -11,6 +11,7 @@ + * Purpose: MAIN test program + */ + #include ++#include + #include "slu_sdefs.h" + + #define NTESTS 5 /* Number of test types */ diff --git a/superlu-4.3.diff b/superlu-4.3.diff new file mode 100644 index 0000000..5d11225 --- /dev/null +++ b/superlu-4.3.diff @@ -0,0 +1,54 @@ +diff -aruN SuperLU_4.3.orig/make.inc SuperLU_4.3/make.inc +--- SuperLU_4.3.orig/make.inc 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/make.inc 2012-12-20 22:21:26.422475039 +0100 +@@ -21,14 +21,14 @@ + # + # The name of the libraries to be created/linked to + # +-SuperLUroot = $(HOME)/Codes/SuperLU/SuperLU_4.2 +-SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_4.2.a ++SuperLUroot = ../ ++SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_4.3.a + TMGLIB = libtmglib.a + + ## BLASLIB = $(SuperLUroot)/lib/libblas.a + + BLASDEF = -DUSE_VENDOR_BLAS +-BLASLIB = -L$(HOME)/lib/GotoBLAS -lgoto ++BLASLIB = -lblas + + ## ATLAS BLAS causes single-precision to fail + #BLASLIB = -L/usr/lib/atlas -lblas +@@ -46,12 +46,19 @@ + RANLIB = ranlib + + CC = gcc +-CFLAGS = -DPRNTlevel=0 -O3 +-NOOPTS = +-FORTRAN = g77 +-FFLAGS = -O2 +-LOADER = $(CC) +-LOADOPTS = ++CFLAGS = $(RPM_OPT_FLAGS) -fPIC -fschedule-insns2 \ ++ -funroll-loops -fstrict-aliasing -frerun-loop-opt \ ++ -ftree-vectorize -funit-at-a-time ++ifeq ($(MACH),i386) ++ CFLAGS += -mtune=pentium-m -momit-leaf-frame-pointer # -ffast-math -msse2 -mfpmath=sse ++else ++ CFLAGS += -O3 -finline-limit=720 --param max-inline-insns-auto=160 ++endif ++NOOPTS = $(RPM_OPT_FLAGS) -Os -fPIC ++FORTRAN = gfortran ++FFLAGS = $(CFLAGS) ++LOADER = gcc ++LOADOPTS = + + # + # C preprocessor defs for compilation for the Fortran interface +@@ -61,5 +68,5 @@ + # + # The directory in which Matlab is installed + # +-MATLAB = /usr/sww/matlab ++#MATLAB = /usr/sww/matlab + diff --git a/superlu-dont-opt-away.diff b/superlu-dont-opt-away.diff deleted file mode 100644 index a36bc98..0000000 --- a/superlu-dont-opt-away.diff +++ /dev/null @@ -1,25 +0,0 @@ -Index: SuperLU_3.0/INSTALL/timertst.c -=================================================================== ---- SuperLU_3.0.orig/INSTALL/timertst.c -+++ SuperLU_3.0/INSTALL/timertst.c -@@ -5,8 +5,10 @@ void mysub(int n, double *x, double *y) - { - return; - } - -+volatile double _dummy; -+ - main() - { - /* Parameters */ - #define NMAX 100 -@@ -32,8 +34,9 @@ main() - for (j = 0; j < iters; ++j) { - for (i = 0; i < NMAX; ++i) - y[i] += alpha * x[i]; - alpha = -alpha; -+ _dummy = y[j%NMAX]; - } - t2 = SuperLU_timer_(); - tnotim = t2 - t1; - if ( tnotim > 0. ){ diff --git a/superlu-include.patch b/superlu-include.patch deleted file mode 100644 index f0c328b..0000000 --- a/superlu-include.patch +++ /dev/null @@ -1,182 +0,0 @@ -Index: SuperLU_3.0/SRC/xerbla.c -=================================================================== ---- SuperLU_3.0.orig/SRC/xerbla.c -+++ SuperLU_3.0/SRC/xerbla.c -@@ -1,5 +1,5 @@ --#include "stdio.h" -+#include - - /* Subroutine */ int xerbla_(char *srname, int *info) - { - /* -- LAPACK auxiliary routine (version 2.0) -- -Index: SuperLU_3.0/TESTING/MATGEN/lsamen.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/MATGEN/lsamen.c -+++ SuperLU_3.0/TESTING/MATGEN/lsamen.c -@@ -1,5 +1,6 @@ - #include "f2c.h" -+#include - - logical lsamen_(integer *n, char *ca, char *cb) - { - /* -- LAPACK auxiliary routine (version 2.0) -- -Index: SuperLU_3.0/INSTALL/timertst.c -=================================================================== ---- SuperLU_3.0.orig/INSTALL/timertst.c -+++ SuperLU_3.0/INSTALL/timertst.c -@@ -1,5 +1,6 @@ - #include -+#include - - void mysub(int n, double *x, double *y) - { - return; -Index: SuperLU_3.0/TESTING/sdrive.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/sdrive.c -+++ SuperLU_3.0/TESTING/sdrive.c -@@ -10,8 +10,9 @@ - * File name: sdrive.c - * Purpose: MAIN test program - */ - #include -+#include - #include "slu_sdefs.h" - - #define NTESTS 5 /* Number of test types */ - #define NTYPES 11 /* Number of matrix types */ -@@ -21,8 +22,13 @@ - #define FMT2 "%10s:fact=%4d, trans=%4d, equed=%c, n=%d, imat=%d, test(%d)=%12.5g\n" - #define FMT3 "%10s:info=%d, izero=%d, n=%d, nrhs=%d, imat=%d, nfail=%d\n" - - -+static void -+parse_command_line(int argc, char *argv[], char *matrix_type, -+ int *n, int *w, int *relax, int *nrhs, int *maxsuper, -+ int *rowblk, int *colblk, int *lwork, double *u); -+ - main(int argc, char *argv[]) - { - /* - * Purpose -@@ -82,9 +88,8 @@ main(int argc, char *argv[]) - SamePattern_SameRowPerm}; - static trans_t transs[] = {NOTRANS, TRANS, CONJ}; - - /* Some function prototypes */ -- static void parse_command_line(); - extern int sp_sget01(int, int, SuperMatrix *, SuperMatrix *, - SuperMatrix *, int *, float *); - extern int sp_sget02(trans_t, int, int, int, SuperMatrix *, float *, - int, float *, int, float *resid); -Index: SuperLU_3.0/TESTING/ddrive.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/ddrive.c -+++ SuperLU_3.0/TESTING/ddrive.c -@@ -10,8 +10,9 @@ - * File name: ddrive.c - * Purpose: MAIN test program - */ - #include -+#include - #include "slu_ddefs.h" - - #define NTESTS 5 /* Number of test types */ - #define NTYPES 11 /* Number of matrix types */ -@@ -20,8 +21,12 @@ - #define FMT1 "%10s:n=%d, test(%d)=%12.5g\n" - #define FMT2 "%10s:fact=%4d, trans=%4d, equed=%c, n=%d, imat=%d, test(%d)=%12.5g\n" - #define FMT3 "%10s:info=%d, izero=%d, n=%d, nrhs=%d, imat=%d, nfail=%d\n" - -+static void -+parse_command_line(int argc, char *argv[], char *matrix_type, -+ int *n, int *w, int *relax, int *nrhs, int *maxsuper, -+ int *rowblk, int *colblk, int *lwork, double *u); - - main(int argc, char *argv[]) - { - /* -@@ -82,9 +87,8 @@ main(int argc, char *argv[]) - SamePattern_SameRowPerm}; - static trans_t transs[] = {NOTRANS, TRANS, CONJ}; - - /* Some function prototypes */ -- static void parse_command_line(); - extern int sp_dget01(int, int, SuperMatrix *, SuperMatrix *, - SuperMatrix *, int *, double *); - extern int sp_dget02(trans_t, int, int, int, SuperMatrix *, double *, - int, double *, int, double *resid); -Index: SuperLU_3.0/TESTING/cdrive.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/cdrive.c -+++ SuperLU_3.0/TESTING/cdrive.c -@@ -10,8 +10,9 @@ - * File name: cdrive.c - * Purpose: MAIN test program - */ - #include -+#include - #include "slu_cdefs.h" - - #define NTESTS 5 /* Number of test types */ - #define NTYPES 11 /* Number of matrix types */ -@@ -20,8 +21,12 @@ - #define FMT1 "%10s:n=%d, test(%d)=%12.5g\n" - #define FMT2 "%10s:fact=%4d, trans=%4d, equed=%c, n=%d, imat=%d, test(%d)=%12.5g\n" - #define FMT3 "%10s:info=%d, izero=%d, n=%d, nrhs=%d, imat=%d, nfail=%d\n" - -+static void -+parse_command_line(int argc, char *argv[], char *matrix_type, -+ int *n, int *w, int *relax, int *nrhs, int *maxsuper, -+ int *rowblk, int *colblk, int *lwork, double *u); - - main(int argc, char *argv[]) - { - /* -@@ -82,9 +87,8 @@ main(int argc, char *argv[]) - SamePattern_SameRowPerm}; - static trans_t transs[] = {NOTRANS, TRANS, CONJ}; - - /* Some function prototypes */ -- static void parse_command_line(); - extern int sp_cget01(int, int, SuperMatrix *, SuperMatrix *, - SuperMatrix *, int *, float *); - extern int sp_cget02(trans_t, int, int, int, SuperMatrix *, complex *, - int, complex *, int, float *resid); -Index: SuperLU_3.0/TESTING/zdrive.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/zdrive.c -+++ SuperLU_3.0/TESTING/zdrive.c -@@ -10,8 +10,9 @@ - * File name: zdrive.c - * Purpose: MAIN test program - */ - #include -+#include - #include "slu_zdefs.h" - - #define NTESTS 5 /* Number of test types */ - #define NTYPES 11 /* Number of matrix types */ -@@ -20,8 +21,12 @@ - #define FMT1 "%10s:n=%d, test(%d)=%12.5g\n" - #define FMT2 "%10s:fact=%4d, trans=%4d, equed=%c, n=%d, imat=%d, test(%d)=%12.5g\n" - #define FMT3 "%10s:info=%d, izero=%d, n=%d, nrhs=%d, imat=%d, nfail=%d\n" - -+static void -+parse_command_line(int argc, char *argv[], char *matrix_type, -+ int *n, int *w, int *relax, int *nrhs, int *maxsuper, -+ int *rowblk, int *colblk, int *lwork, double *u); - - main(int argc, char *argv[]) - { - /* -@@ -82,9 +87,8 @@ main(int argc, char *argv[]) - SamePattern_SameRowPerm}; - static trans_t transs[] = {NOTRANS, TRANS, CONJ}; - - /* Some function prototypes */ -- static void parse_command_line(); - extern int sp_zget01(int, int, SuperMatrix *, SuperMatrix *, - SuperMatrix *, int *, double *); - extern int sp_zget02(trans_t, int, int, int, SuperMatrix *, doublecomplex *, - int, doublecomplex *, int, double *resid); diff --git a/superlu-initialize.diff b/superlu-initialize.diff deleted file mode 100644 index 2c3a1bf..0000000 --- a/superlu-initialize.diff +++ /dev/null @@ -1,2668 +0,0 @@ -Index: SuperLU_3.0/CBLAS/cgemv.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/cgemv.c -+++ SuperLU_3.0/CBLAS/cgemv.c -@@ -12,9 +12,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - complex q__1, q__2, q__3; - - /* Builtin functions */ - void r_cnjg(complex *, complex *); -@@ -194,19 +193,14 @@ - - if (beta->r != 1.f || beta->i != 0.f) { - if (*incy == 1) { - if (beta->r == 0.f && beta->i == 0.f) { -- i__1 = leny; - for (i = 1; i <= leny; ++i) { -- i__2 = i; - Y(i).r = 0.f, Y(i).i = 0.f; - /* L10: */ - } - } else { -- i__1 = leny; - for (i = 1; i <= leny; ++i) { -- i__2 = i; -- i__3 = i; - q__1.r = beta->r * Y(i).r - beta->i * Y(i).i, - q__1.i = beta->r * Y(i).i + beta->i * Y(i) - .r; - Y(i).r = q__1.r, Y(i).i = q__1.i; -@@ -215,20 +209,15 @@ - } - } else { - iy = ky; - if (beta->r == 0.f && beta->i == 0.f) { -- i__1 = leny; - for (i = 1; i <= leny; ++i) { -- i__2 = iy; - Y(iy).r = 0.f, Y(iy).i = 0.f; - iy += *incy; - /* L30: */ - } - } else { -- i__1 = leny; - for (i = 1; i <= leny; ++i) { -- i__2 = iy; -- i__3 = iy; - q__1.r = beta->r * Y(iy).r - beta->i * Y(iy).i, - q__1.i = beta->r * Y(iy).i + beta->i * Y(iy) - .r; - Y(iy).r = q__1.r, Y(iy).i = q__1.i; -@@ -246,22 +235,15 @@ - /* Form y := alpha*A*x + y. */ - - jx = kx; - if (*incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - if (X(jx).r != 0.f || X(jx).i != 0.f) { -- i__2 = jx; - q__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, - q__1.i = alpha->r * X(jx).i + alpha->i * X(jx) - .r; - temp.r = q__1.r, temp.i = q__1.i; -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - q__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - q__2.i = temp.r * A(i,j).i + temp.i * A(i,j) - .r; - q__1.r = Y(i).r + q__2.r, q__1.i = Y(i).i + -@@ -273,23 +255,16 @@ - jx += *incx; - /* L60: */ - } - } else { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - if (X(jx).r != 0.f || X(jx).i != 0.f) { -- i__2 = jx; - q__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, - q__1.i = alpha->r * X(jx).i + alpha->i * X(jx) - .r; - temp.r = q__1.r, temp.i = q__1.i; - iy = ky; -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - q__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - q__2.i = temp.r * A(i,j).i + temp.i * A(i,j) - .r; - q__1.r = Y(iy).r + q__2.r, q__1.i = Y(iy).i + -@@ -309,55 +284,43 @@ - */ - - jy = ky; - if (*incx == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { - temp.r = 0.f, temp.i = 0.f; - if (noconj) { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i; - q__2.r = A(i,j).r * X(i).r - A(i,j).i * X(i) - .i, q__2.i = A(i,j).r * X(i).i + A(i,j) - .i * X(i).r; - q__1.r = temp.r + q__2.r, q__1.i = temp.i + q__2.i; - temp.r = q__1.r, temp.i = q__1.i; - /* L90: */ - } - } else { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { - r_cnjg(&q__3, &A(i,j)); -- i__3 = i; - q__2.r = q__3.r * X(i).r - q__3.i * X(i).i, - q__2.i = q__3.r * X(i).i + q__3.i * X(i) - .r; - q__1.r = temp.r + q__2.r, q__1.i = temp.i + q__2.i; - temp.r = q__1.r, temp.i = q__1.i; - /* L100: */ - } - } -- i__2 = jy; -- i__3 = jy; - q__2.r = alpha->r * temp.r - alpha->i * temp.i, q__2.i = - alpha->r * temp.i + alpha->i * temp.r; - q__1.r = Y(jy).r + q__2.r, q__1.i = Y(jy).i + q__2.i; - Y(jy).r = q__1.r, Y(jy).i = q__1.i; - jy += *incy; - /* L110: */ - } - } else { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { - temp.r = 0.f, temp.i = 0.f; - ix = kx; - if (noconj) { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = ix; - q__2.r = A(i,j).r * X(ix).r - A(i,j).i * X(ix) - .i, q__2.i = A(i,j).r * X(ix).i + A(i,j) - .i * X(ix).r; - q__1.r = temp.r + q__2.r, q__1.i = temp.i + q__2.i; -@@ -365,12 +328,10 @@ - ix += *incx; - /* L120: */ - } - } else { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { - r_cnjg(&q__3, &A(i,j)); -- i__3 = ix; - q__2.r = q__3.r * X(ix).r - q__3.i * X(ix).i, - q__2.i = q__3.r * X(ix).i + q__3.i * X(ix) - .r; - q__1.r = temp.r + q__2.r, q__1.i = temp.i + q__2.i; -@@ -378,10 +339,8 @@ - ix += *incx; - /* L130: */ - } - } -- i__2 = jy; -- i__3 = jy; - q__2.r = alpha->r * temp.r - alpha->i * temp.i, q__2.i = - alpha->r * temp.i + alpha->i * temp.r; - q__1.r = Y(jy).r + q__2.r, q__1.i = Y(jy).i + q__2.i; - Y(jy).r = q__1.r, Y(jy).i = q__1.i; -Index: SuperLU_3.0/CBLAS/cgerc.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/cgerc.c -+++ SuperLU_3.0/CBLAS/cgerc.c -@@ -11,9 +11,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - complex q__1, q__2; - - /* Builtin functions */ - void r_cnjg(complex *, complex *); -@@ -140,21 +139,15 @@ - } else { - jy = 1 - (*n - 1) * *incy; - } - if (*incx == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jy; - if (Y(jy).r != 0.f || Y(jy).i != 0.f) { - r_cnjg(&q__2, &Y(jy)); - q__1.r = alpha->r * q__2.r - alpha->i * q__2.i, q__1.i = - alpha->r * q__2.i + alpha->i * q__2.r; - temp.r = q__1.r, temp.i = q__1.i; -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = i; - q__2.r = X(i).r * temp.r - X(i).i * temp.i, q__2.i = - X(i).r * temp.i + X(i).i * temp.r; - q__1.r = A(i,j).r + q__2.r, q__1.i = A(i,j).i + q__2.i; - A(i,j).r = q__1.r, A(i,j).i = q__1.i; -@@ -169,22 +162,16 @@ - kx = 1; - } else { - kx = 1 - (*m - 1) * *incx; - } -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jy; - if (Y(jy).r != 0.f || Y(jy).i != 0.f) { - r_cnjg(&q__2, &Y(jy)); - q__1.r = alpha->r * q__2.r - alpha->i * q__2.i, q__1.i = - alpha->r * q__2.i + alpha->i * q__2.r; - temp.r = q__1.r, temp.i = q__1.i; - ix = kx; -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = ix; - q__2.r = X(ix).r * temp.r - X(ix).i * temp.i, q__2.i = - X(ix).r * temp.i + X(ix).i * temp.r; - q__1.r = A(i,j).r + q__2.r, q__1.i = A(i,j).i + q__2.i; - A(i,j).r = q__1.r, A(i,j).i = q__1.i; -Index: SuperLU_3.0/CBLAS/chemv.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/chemv.c -+++ SuperLU_3.0/CBLAS/chemv.c -@@ -12,9 +12,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - doublereal d__1; - complex q__1, q__2, q__3, q__4; - - /* Builtin functions */ -@@ -180,19 +179,14 @@ - - if (beta->r != 1.f || beta->i != 0.f) { - if (*incy == 1) { - if (beta->r == 0.f && beta->i == 0.f) { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = i; - Y(i).r = 0.f, Y(i).i = 0.f; - /* L10: */ - } - } else { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = i; -- i__3 = i; - q__1.r = beta->r * Y(i).r - beta->i * Y(i).i, - q__1.i = beta->r * Y(i).i + beta->i * Y(i) - .r; - Y(i).r = q__1.r, Y(i).i = q__1.i; -@@ -201,20 +195,15 @@ - } - } else { - iy = ky; - if (beta->r == 0.f && beta->i == 0.f) { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = iy; - Y(iy).r = 0.f, Y(iy).i = 0.f; - iy += *incy; - /* L30: */ - } - } else { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = iy; -- i__3 = iy; - q__1.r = beta->r * Y(iy).r - beta->i * Y(iy).i, - q__1.i = beta->r * Y(iy).i + beta->i * Y(iy) - .r; - Y(iy).r = q__1.r, Y(iy).i = q__1.i; -@@ -231,36 +220,26 @@ - - /* Form y when A is stored in upper triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - q__1.r = alpha->r * X(j).r - alpha->i * X(j).i, q__1.i = - alpha->r * X(j).i + alpha->i * X(j).r; - temp1.r = q__1.r, temp1.i = q__1.i; - temp2.r = 0.f, temp2.i = 0.f; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - q__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - q__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - q__1.r = Y(i).r + q__2.r, q__1.i = Y(i).i + q__2.i; - Y(i).r = q__1.r, Y(i).i = q__1.i; - r_cnjg(&q__3, &A(i,j)); -- i__3 = i; - q__2.r = q__3.r * X(i).r - q__3.i * X(i).i, q__2.i = - q__3.r * X(i).i + q__3.i * X(i).r; - q__1.r = temp2.r + q__2.r, q__1.i = temp2.i + q__2.i; - temp2.r = q__1.r, temp2.i = q__1.i; - /* L50: */ - } -- i__2 = j; -- i__3 = j; -- i__4 = j + j * a_dim1; - d__1 = A(j,j).r; - q__3.r = d__1 * temp1.r, q__3.i = d__1 * temp1.i; - q__2.r = Y(j).r + q__3.r, q__2.i = Y(j).i + q__3.i; - q__4.r = alpha->r * temp2.r - alpha->i * temp2.i, q__4.i = -@@ -271,40 +250,30 @@ - } - } else { - jx = kx; - jy = ky; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - q__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, q__1.i = - alpha->r * X(jx).i + alpha->i * X(jx).r; - temp1.r = q__1.r, temp1.i = q__1.i; - temp2.r = 0.f, temp2.i = 0.f; - ix = kx; - iy = ky; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - q__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - q__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - q__1.r = Y(iy).r + q__2.r, q__1.i = Y(iy).i + q__2.i; - Y(iy).r = q__1.r, Y(iy).i = q__1.i; - r_cnjg(&q__3, &A(i,j)); -- i__3 = ix; - q__2.r = q__3.r * X(ix).r - q__3.i * X(ix).i, q__2.i = - q__3.r * X(ix).i + q__3.i * X(ix).r; - q__1.r = temp2.r + q__2.r, q__1.i = temp2.i + q__2.i; - temp2.r = q__1.r, temp2.i = q__1.i; - ix += *incx; - iy += *incy; - /* L70: */ - } -- i__2 = jy; -- i__3 = jy; -- i__4 = j + j * a_dim1; - d__1 = A(j,j).r; - q__3.r = d__1 * temp1.r, q__3.i = d__1 * temp1.i; - q__2.r = Y(jy).r + q__3.r, q__2.i = Y(jy).i + q__3.i; - q__4.r = alpha->r * temp2.r - alpha->i * temp2.i, q__4.i = -@@ -320,42 +289,30 @@ - - /* Form y when A is stored in lower triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - q__1.r = alpha->r * X(j).r - alpha->i * X(j).i, q__1.i = - alpha->r * X(j).i + alpha->i * X(j).r; - temp1.r = q__1.r, temp1.i = q__1.i; - temp2.r = 0.f, temp2.i = 0.f; -- i__2 = j; -- i__3 = j; -- i__4 = j + j * a_dim1; - d__1 = A(j,j).r; - q__2.r = d__1 * temp1.r, q__2.i = d__1 * temp1.i; - q__1.r = Y(j).r + q__2.r, q__1.i = Y(j).i + q__2.i; - Y(j).r = q__1.r, Y(j).i = q__1.i; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - q__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - q__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - q__1.r = Y(i).r + q__2.r, q__1.i = Y(i).i + q__2.i; - Y(i).r = q__1.r, Y(i).i = q__1.i; - r_cnjg(&q__3, &A(i,j)); -- i__3 = i; - q__2.r = q__3.r * X(i).r - q__3.i * X(i).i, q__2.i = - q__3.r * X(i).i + q__3.i * X(i).r; - q__1.r = temp2.r + q__2.r, q__1.i = temp2.i + q__2.i; - temp2.r = q__1.r, temp2.i = q__1.i; - /* L90: */ - } -- i__2 = j; -- i__3 = j; - q__2.r = alpha->r * temp2.r - alpha->i * temp2.i, q__2.i = - alpha->r * temp2.i + alpha->i * temp2.r; - q__1.r = Y(j).r + q__2.r, q__1.i = Y(j).i + q__2.i; - Y(j).r = q__1.r, Y(j).i = q__1.i; -@@ -363,46 +320,34 @@ - } - } else { - jx = kx; - jy = ky; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - q__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, q__1.i = - alpha->r * X(jx).i + alpha->i * X(jx).r; - temp1.r = q__1.r, temp1.i = q__1.i; - temp2.r = 0.f, temp2.i = 0.f; -- i__2 = jy; -- i__3 = jy; -- i__4 = j + j * a_dim1; - d__1 = A(j,j).r; - q__2.r = d__1 * temp1.r, q__2.i = d__1 * temp1.i; - q__1.r = Y(jy).r + q__2.r, q__1.i = Y(jy).i + q__2.i; - Y(jy).r = q__1.r, Y(jy).i = q__1.i; - ix = jx; - iy = jy; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { - ix += *incx; - iy += *incy; -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - q__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - q__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - q__1.r = Y(iy).r + q__2.r, q__1.i = Y(iy).i + q__2.i; - Y(iy).r = q__1.r, Y(iy).i = q__1.i; - r_cnjg(&q__3, &A(i,j)); -- i__3 = ix; - q__2.r = q__3.r * X(ix).r - q__3.i * X(ix).i, q__2.i = - q__3.r * X(ix).i + q__3.i * X(ix).r; - q__1.r = temp2.r + q__2.r, q__1.i = temp2.i + q__2.i; - temp2.r = q__1.r, temp2.i = q__1.i; - /* L110: */ - } -- i__2 = jy; -- i__3 = jy; - q__2.r = alpha->r * temp2.r - alpha->i * temp2.i, q__2.i = - alpha->r * temp2.i + alpha->i * temp2.r; - q__1.r = Y(jy).r + q__2.r, q__1.i = Y(jy).i + q__2.i; - Y(jy).r = q__1.r, Y(jy).i = q__1.i; -Index: SuperLU_3.0/CBLAS/cher2.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/cher2.c -+++ SuperLU_3.0/CBLAS/cher2.c -@@ -11,9 +11,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6; - doublereal d__1; - complex q__1, q__2, q__3, q__4; - - /* Builtin functions */ -@@ -184,93 +183,69 @@ - - /* Form A when A is stored in the upper triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; -- i__3 = j; - if (X(j).r != 0.f || X(j).i != 0.f || (Y(j).r != 0.f - || Y(j).i != 0.f)) { - r_cnjg(&q__2, &Y(j)); - q__1.r = alpha->r * q__2.r - alpha->i * q__2.i, q__1.i = - alpha->r * q__2.i + alpha->i * q__2.r; - temp1.r = q__1.r, temp1.i = q__1.i; -- i__2 = j; - q__2.r = alpha->r * X(j).r - alpha->i * X(j).i, - q__2.i = alpha->r * X(j).i + alpha->i * X(j) - .r; - r_cnjg(&q__1, &q__2); - temp2.r = q__1.r, temp2.i = q__1.i; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = i; - q__3.r = X(i).r * temp1.r - X(i).i * temp1.i, - q__3.i = X(i).r * temp1.i + X(i).i * - temp1.r; - q__2.r = A(i,j).r + q__3.r, q__2.i = A(i,j).i + - q__3.i; -- i__6 = i; - q__4.r = Y(i).r * temp2.r - Y(i).i * temp2.i, - q__4.i = Y(i).r * temp2.i + Y(i).i * - temp2.r; - q__1.r = q__2.r + q__4.r, q__1.i = q__2.i + q__4.i; - A(i,j).r = q__1.r, A(i,j).i = q__1.i; - /* L10: */ - } -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; -- i__4 = j; - q__2.r = X(j).r * temp1.r - X(j).i * temp1.i, - q__2.i = X(j).r * temp1.i + X(j).i * - temp1.r; -- i__5 = j; - q__3.r = Y(j).r * temp2.r - Y(j).i * temp2.i, - q__3.i = Y(j).r * temp2.i + Y(j).i * - temp2.r; - q__1.r = q__2.r + q__3.r, q__1.i = q__2.i + q__3.i; - d__1 = A(j,j).r + q__1.r; - A(j,j).r = d__1, A(j,j).i = 0.f; - } else { -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; - d__1 = A(j,j).r; - A(j,j).r = d__1, A(j,j).i = 0.f; - } - /* L20: */ - } - } else { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; -- i__3 = jy; - if (X(jx).r != 0.f || X(jx).i != 0.f || (Y(jy).r != 0.f - || Y(jy).i != 0.f)) { - r_cnjg(&q__2, &Y(jy)); - q__1.r = alpha->r * q__2.r - alpha->i * q__2.i, q__1.i = - alpha->r * q__2.i + alpha->i * q__2.r; - temp1.r = q__1.r, temp1.i = q__1.i; -- i__2 = jx; - q__2.r = alpha->r * X(jx).r - alpha->i * X(jx).i, - q__2.i = alpha->r * X(jx).i + alpha->i * X(jx) - .r; - r_cnjg(&q__1, &q__2); - temp2.r = q__1.r, temp2.i = q__1.i; - ix = kx; - iy = ky; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = ix; - q__3.r = X(ix).r * temp1.r - X(ix).i * temp1.i, - q__3.i = X(ix).r * temp1.i + X(ix).i * - temp1.r; - q__2.r = A(i,j).r + q__3.r, q__2.i = A(i,j).i + - q__3.i; -- i__6 = iy; - q__4.r = Y(iy).r * temp2.r - Y(iy).i * temp2.i, - q__4.i = Y(iy).r * temp2.i + Y(iy).i * - temp2.r; - q__1.r = q__2.r + q__4.r, q__1.i = q__2.i + q__4.i; -@@ -278,24 +253,18 @@ - ix += *incx; - iy += *incy; - /* L30: */ - } -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; -- i__4 = jx; - q__2.r = X(jx).r * temp1.r - X(jx).i * temp1.i, - q__2.i = X(jx).r * temp1.i + X(jx).i * - temp1.r; -- i__5 = jy; - q__3.r = Y(jy).r * temp2.r - Y(jy).i * temp2.i, - q__3.i = Y(jy).r * temp2.i + Y(jy).i * - temp2.r; - q__1.r = q__2.r + q__3.r, q__1.i = q__2.i + q__3.i; - d__1 = A(j,j).r + q__1.r; - A(j,j).r = d__1, A(j,j).i = 0.f; - } else { -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; - d__1 = A(j,j).r; - A(j,j).r = d__1, A(j,j).i = 0.f; - } - jx += *incx; -@@ -307,118 +276,88 @@ - - /* Form A when A is stored in the lower triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; -- i__3 = j; - if (X(j).r != 0.f || X(j).i != 0.f || (Y(j).r != 0.f - || Y(j).i != 0.f)) { - r_cnjg(&q__2, &Y(j)); - q__1.r = alpha->r * q__2.r - alpha->i * q__2.i, q__1.i = - alpha->r * q__2.i + alpha->i * q__2.r; - temp1.r = q__1.r, temp1.i = q__1.i; -- i__2 = j; - q__2.r = alpha->r * X(j).r - alpha->i * X(j).i, - q__2.i = alpha->r * X(j).i + alpha->i * X(j) - .r; - r_cnjg(&q__1, &q__2); - temp2.r = q__1.r, temp2.i = q__1.i; -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; -- i__4 = j; - q__2.r = X(j).r * temp1.r - X(j).i * temp1.i, - q__2.i = X(j).r * temp1.i + X(j).i * - temp1.r; -- i__5 = j; - q__3.r = Y(j).r * temp2.r - Y(j).i * temp2.i, - q__3.i = Y(j).r * temp2.i + Y(j).i * - temp2.r; - q__1.r = q__2.r + q__3.r, q__1.i = q__2.i + q__3.i; - d__1 = A(j,j).r + q__1.r; - A(j,j).r = d__1, A(j,j).i = 0.f; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = i; - q__3.r = X(i).r * temp1.r - X(i).i * temp1.i, - q__3.i = X(i).r * temp1.i + X(i).i * - temp1.r; - q__2.r = A(i,j).r + q__3.r, q__2.i = A(i,j).i + - q__3.i; -- i__6 = i; - q__4.r = Y(i).r * temp2.r - Y(i).i * temp2.i, - q__4.i = Y(i).r * temp2.i + Y(i).i * - temp2.r; - q__1.r = q__2.r + q__4.r, q__1.i = q__2.i + q__4.i; - A(i,j).r = q__1.r, A(i,j).i = q__1.i; - /* L50: */ - } - } else { -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; - d__1 = A(j,j).r; - A(j,j).r = d__1, A(j,j).i = 0.f; - } - /* L60: */ - } - } else { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; -- i__3 = jy; - if (X(jx).r != 0.f || X(jx).i != 0.f || (Y(jy).r != 0.f - || Y(jy).i != 0.f)) { - r_cnjg(&q__2, &Y(jy)); - q__1.r = alpha->r * q__2.r - alpha->i * q__2.i, q__1.i = - alpha->r * q__2.i + alpha->i * q__2.r; - temp1.r = q__1.r, temp1.i = q__1.i; -- i__2 = jx; - q__2.r = alpha->r * X(jx).r - alpha->i * X(jx).i, - q__2.i = alpha->r * X(jx).i + alpha->i * X(jx) - .r; - r_cnjg(&q__1, &q__2); - temp2.r = q__1.r, temp2.i = q__1.i; -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; -- i__4 = jx; - q__2.r = X(jx).r * temp1.r - X(jx).i * temp1.i, - q__2.i = X(jx).r * temp1.i + X(jx).i * - temp1.r; -- i__5 = jy; - q__3.r = Y(jy).r * temp2.r - Y(jy).i * temp2.i, - q__3.i = Y(jy).r * temp2.i + Y(jy).i * - temp2.r; - q__1.r = q__2.r + q__3.r, q__1.i = q__2.i + q__3.i; - d__1 = A(j,j).r + q__1.r; - A(j,j).r = d__1, A(j,j).i = 0.f; - ix = jx; - iy = jy; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { - ix += *incx; - iy += *incy; -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = ix; - q__3.r = X(ix).r * temp1.r - X(ix).i * temp1.i, - q__3.i = X(ix).r * temp1.i + X(ix).i * - temp1.r; - q__2.r = A(i,j).r + q__3.r, q__2.i = A(i,j).i + - q__3.i; -- i__6 = iy; - q__4.r = Y(iy).r * temp2.r - Y(iy).i * temp2.i, - q__4.i = Y(iy).r * temp2.i + Y(iy).i * - temp2.r; - q__1.r = q__2.r + q__4.r, q__1.i = q__2.i + q__4.i; - A(i,j).r = q__1.r, A(i,j).i = q__1.i; - /* L70: */ - } - } else { -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; - d__1 = A(j,j).r; - A(j,j).r = d__1, A(j,j).i = 0.f; - } - jx += *incx; -Index: SuperLU_3.0/CBLAS/ctrsv.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/ctrsv.c -+++ SuperLU_3.0/CBLAS/ctrsv.c -@@ -11,9 +11,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - complex q__1, q__2, q__3; - - /* Builtin functions */ - void c_div(complex *, complex *, complex *), r_cnjg(complex *, complex *); -@@ -186,21 +185,15 @@ - - if (lsame_(uplo, "U")) { - if (*incx == 1) { - for (j = *n; j >= 1; --j) { -- i__1 = j; - if (X(j).r != 0.f || X(j).i != 0.f) { - if (nounit) { -- i__1 = j; - c_div(&q__1, &X(j), &A(j,j)); - X(j).r = q__1.r, X(j).i = q__1.i; - } -- i__1 = j; - temp.r = X(j).r, temp.i = X(j).i; - for (i = j - 1; i >= 1; --i) { -- i__1 = i; -- i__2 = i; -- i__3 = i + j * a_dim1; - q__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - q__2.i = temp.r * A(i,j).i + temp.i * A(i,j).r; - q__1.r = X(i).r - q__2.r, q__1.i = X(i).i - - q__2.i; -@@ -212,23 +205,17 @@ - } - } else { - jx = kx + (*n - 1) * *incx; - for (j = *n; j >= 1; --j) { -- i__1 = jx; - if (X(jx).r != 0.f || X(jx).i != 0.f) { - if (nounit) { -- i__1 = jx; - c_div(&q__1, &X(jx), &A(j,j)); - X(jx).r = q__1.r, X(jx).i = q__1.i; - } -- i__1 = jx; - temp.r = X(jx).r, temp.i = X(jx).i; - ix = jx; - for (i = j - 1; i >= 1; --i) { - ix -= *incx; -- i__1 = ix; -- i__2 = ix; -- i__3 = i + j * a_dim1; - q__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - q__2.i = temp.r * A(i,j).i + temp.i * A(i,j).r; - q__1.r = X(ix).r - q__2.r, q__1.i = X(ix).i - - q__2.i; -@@ -241,24 +228,16 @@ - } - } - } else { - if (*incx == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - if (X(j).r != 0.f || X(j).i != 0.f) { - if (nounit) { -- i__2 = j; - c_div(&q__1, &X(j), &A(j,j)); - X(j).r = q__1.r, X(j).i = q__1.i; - } -- i__2 = j; - temp.r = X(j).r, temp.i = X(j).i; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - q__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - q__2.i = temp.r * A(i,j).i + temp.i * A(i,j).r; - q__1.r = X(i).r - q__2.r, q__1.i = X(i).i - - q__2.i; -@@ -269,26 +248,18 @@ - /* L60: */ - } - } else { - jx = kx; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - if (X(jx).r != 0.f || X(jx).i != 0.f) { - if (nounit) { -- i__2 = jx; - c_div(&q__1, &X(jx), &A(j,j)); - X(jx).r = q__1.r, X(jx).i = q__1.i; - } -- i__2 = jx; - temp.r = X(jx).r, temp.i = X(jx).i; - ix = jx; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { - ix += *incx; -- i__3 = ix; -- i__4 = ix; -- i__5 = i + j * a_dim1; - q__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - q__2.i = temp.r * A(i,j).i + temp.i * A(i,j).r; - q__1.r = X(ix).r - q__2.r, q__1.i = X(ix).i - - q__2.i; -@@ -306,17 +277,12 @@ - /* Form x := inv( A' )*x or x := inv( conjg( A' ) )*x. */ - - if (lsame_(uplo, "U")) { - if (*incx == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - temp.r = X(j).r, temp.i = X(j).i; - if (noconj) { -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i; - q__2.r = A(i,j).r * X(i).r - A(i,j).i * X( - i).i, q__2.i = A(i,j).r * X(i).i + - A(i,j).i * X(i).r; - q__1.r = temp.r - q__2.r, q__1.i = temp.i - -@@ -328,12 +294,10 @@ - c_div(&q__1, &temp, &A(j,j)); - temp.r = q__1.r, temp.i = q__1.i; - } - } else { -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { - r_cnjg(&q__3, &A(i,j)); -- i__3 = i; - q__2.r = q__3.r * X(i).r - q__3.i * X(i).i, - q__2.i = q__3.r * X(i).i + q__3.i * X( - i).r; - q__1.r = temp.r - q__2.r, q__1.i = temp.i - -@@ -346,24 +310,18 @@ - c_div(&q__1, &temp, &q__2); - temp.r = q__1.r, temp.i = q__1.i; - } - } -- i__2 = j; - X(j).r = temp.r, X(j).i = temp.i; - /* L110: */ - } - } else { - jx = kx; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { - ix = kx; -- i__2 = jx; - temp.r = X(jx).r, temp.i = X(jx).i; - if (noconj) { -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = ix; - q__2.r = A(i,j).r * X(ix).r - A(i,j).i * X( - ix).i, q__2.i = A(i,j).r * X(ix).i + - A(i,j).i * X(ix).r; - q__1.r = temp.r - q__2.r, q__1.i = temp.i - -@@ -376,12 +334,10 @@ - c_div(&q__1, &temp, &A(j,j)); - temp.r = q__1.r, temp.i = q__1.i; - } - } else { -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { - r_cnjg(&q__3, &A(i,j)); -- i__3 = ix; - q__2.r = q__3.r * X(ix).r - q__3.i * X(ix).i, - q__2.i = q__3.r * X(ix).i + q__3.i * X( - ix).r; - q__1.r = temp.r - q__2.r, q__1.i = temp.i - -@@ -395,24 +351,19 @@ - c_div(&q__1, &temp, &q__2); - temp.r = q__1.r, temp.i = q__1.i; - } - } -- i__2 = jx; - X(jx).r = temp.r, X(jx).i = temp.i; - jx += *incx; - /* L140: */ - } - } - } else { - if (*incx == 1) { - for (j = *n; j >= 1; --j) { -- i__1 = j; - temp.r = X(j).r, temp.i = X(j).i; - if (noconj) { -- i__1 = j + 1; - for (i = *n; i >= j+1; --i) { -- i__2 = i + j * a_dim1; -- i__3 = i; - q__2.r = A(i,j).r * X(i).r - A(i,j).i * X( - i).i, q__2.i = A(i,j).r * X(i).i + - A(i,j).i * X(i).r; - q__1.r = temp.r - q__2.r, q__1.i = temp.i - -@@ -424,12 +375,10 @@ - c_div(&q__1, &temp, &A(j,j)); - temp.r = q__1.r, temp.i = q__1.i; - } - } else { -- i__1 = j + 1; - for (i = *n; i >= j+1; --i) { - r_cnjg(&q__3, &A(i,j)); -- i__2 = i; - q__2.r = q__3.r * X(i).r - q__3.i * X(i).i, - q__2.i = q__3.r * X(i).i + q__3.i * X( - i).r; - q__1.r = temp.r - q__2.r, q__1.i = temp.i - -@@ -442,24 +391,19 @@ - c_div(&q__1, &temp, &q__2); - temp.r = q__1.r, temp.i = q__1.i; - } - } -- i__1 = j; - X(j).r = temp.r, X(j).i = temp.i; - /* L170: */ - } - } else { - kx += (*n - 1) * *incx; - jx = kx; - for (j = *n; j >= 1; --j) { - ix = kx; -- i__1 = jx; - temp.r = X(jx).r, temp.i = X(jx).i; - if (noconj) { -- i__1 = j + 1; - for (i = *n; i >= j+1; --i) { -- i__2 = i + j * a_dim1; -- i__3 = ix; - q__2.r = A(i,j).r * X(ix).r - A(i,j).i * X( - ix).i, q__2.i = A(i,j).r * X(ix).i + - A(i,j).i * X(ix).r; - q__1.r = temp.r - q__2.r, q__1.i = temp.i - -@@ -472,12 +416,10 @@ - c_div(&q__1, &temp, &A(j,j)); - temp.r = q__1.r, temp.i = q__1.i; - } - } else { -- i__1 = j + 1; - for (i = *n; i >= j+1; --i) { - r_cnjg(&q__3, &A(i,j)); -- i__2 = ix; - q__2.r = q__3.r * X(ix).r - q__3.i * X(ix).i, - q__2.i = q__3.r * X(ix).i + q__3.i * X( - ix).r; - q__1.r = temp.r - q__2.r, q__1.i = temp.i - -@@ -491,9 +433,8 @@ - c_div(&q__1, &temp, &q__2); - temp.r = q__1.r, temp.i = q__1.i; - } - } -- i__1 = jx; - X(jx).r = temp.r, X(jx).i = temp.i; - jx -= *incx; - /* L200: */ - } -Index: SuperLU_3.0/CBLAS/zgemv.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/zgemv.c -+++ SuperLU_3.0/CBLAS/zgemv.c -@@ -13,9 +13,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - doublecomplex z__1, z__2, z__3; - - /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); -@@ -195,19 +194,14 @@ - - if (beta->r != 1. || beta->i != 0.) { - if (*incy == 1) { - if (beta->r == 0. && beta->i == 0.) { -- i__1 = leny; - for (i = 1; i <= leny; ++i) { -- i__2 = i; - Y(i).r = 0., Y(i).i = 0.; - /* L10: */ - } - } else { -- i__1 = leny; - for (i = 1; i <= leny; ++i) { -- i__2 = i; -- i__3 = i; - z__1.r = beta->r * Y(i).r - beta->i * Y(i).i, - z__1.i = beta->r * Y(i).i + beta->i * Y(i) - .r; - Y(i).r = z__1.r, Y(i).i = z__1.i; -@@ -216,20 +210,15 @@ - } - } else { - iy = ky; - if (beta->r == 0. && beta->i == 0.) { -- i__1 = leny; - for (i = 1; i <= leny; ++i) { -- i__2 = iy; - Y(iy).r = 0., Y(iy).i = 0.; - iy += *incy; - /* L30: */ - } - } else { -- i__1 = leny; - for (i = 1; i <= leny; ++i) { -- i__2 = iy; -- i__3 = iy; - z__1.r = beta->r * Y(iy).r - beta->i * Y(iy).i, - z__1.i = beta->r * Y(iy).i + beta->i * Y(iy) - .r; - Y(iy).r = z__1.r, Y(iy).i = z__1.i; -@@ -247,22 +236,15 @@ - /* Form y := alpha*A*x + y. */ - - jx = kx; - if (*incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - if (X(jx).r != 0. || X(jx).i != 0.) { -- i__2 = jx; - z__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, - z__1.i = alpha->r * X(jx).i + alpha->i * X(jx) - .r; - temp.r = z__1.r, temp.i = z__1.i; -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - z__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - z__2.i = temp.r * A(i,j).i + temp.i * A(i,j) - .r; - z__1.r = Y(i).r + z__2.r, z__1.i = Y(i).i + -@@ -274,23 +256,16 @@ - jx += *incx; - /* L60: */ - } - } else { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - if (X(jx).r != 0. || X(jx).i != 0.) { -- i__2 = jx; - z__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, - z__1.i = alpha->r * X(jx).i + alpha->i * X(jx) - .r; - temp.r = z__1.r, temp.i = z__1.i; - iy = ky; -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - z__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - z__2.i = temp.r * A(i,j).i + temp.i * A(i,j) - .r; - z__1.r = Y(iy).r + z__2.r, z__1.i = Y(iy).i + -@@ -310,55 +285,43 @@ - */ - - jy = ky; - if (*incx == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { - temp.r = 0., temp.i = 0.; - if (noconj) { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i; - z__2.r = A(i,j).r * X(i).r - A(i,j).i * X(i) - .i, z__2.i = A(i,j).r * X(i).i + A(i,j) - .i * X(i).r; - z__1.r = temp.r + z__2.r, z__1.i = temp.i + z__2.i; - temp.r = z__1.r, temp.i = z__1.i; - /* L90: */ - } - } else { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { - d_cnjg(&z__3, &A(i,j)); -- i__3 = i; - z__2.r = z__3.r * X(i).r - z__3.i * X(i).i, - z__2.i = z__3.r * X(i).i + z__3.i * X(i) - .r; - z__1.r = temp.r + z__2.r, z__1.i = temp.i + z__2.i; - temp.r = z__1.r, temp.i = z__1.i; - /* L100: */ - } - } -- i__2 = jy; -- i__3 = jy; - z__2.r = alpha->r * temp.r - alpha->i * temp.i, z__2.i = - alpha->r * temp.i + alpha->i * temp.r; - z__1.r = Y(jy).r + z__2.r, z__1.i = Y(jy).i + z__2.i; - Y(jy).r = z__1.r, Y(jy).i = z__1.i; - jy += *incy; - /* L110: */ - } - } else { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { - temp.r = 0., temp.i = 0.; - ix = kx; - if (noconj) { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = ix; - z__2.r = A(i,j).r * X(ix).r - A(i,j).i * X(ix) - .i, z__2.i = A(i,j).r * X(ix).i + A(i,j) - .i * X(ix).r; - z__1.r = temp.r + z__2.r, z__1.i = temp.i + z__2.i; -@@ -366,12 +329,10 @@ - ix += *incx; - /* L120: */ - } - } else { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { - d_cnjg(&z__3, &A(i,j)); -- i__3 = ix; - z__2.r = z__3.r * X(ix).r - z__3.i * X(ix).i, - z__2.i = z__3.r * X(ix).i + z__3.i * X(ix) - .r; - z__1.r = temp.r + z__2.r, z__1.i = temp.i + z__2.i; -@@ -379,10 +340,8 @@ - ix += *incx; - /* L130: */ - } - } -- i__2 = jy; -- i__3 = jy; - z__2.r = alpha->r * temp.r - alpha->i * temp.i, z__2.i = - alpha->r * temp.i + alpha->i * temp.r; - z__1.r = Y(jy).r + z__2.r, z__1.i = Y(jy).i + z__2.i; - Y(jy).r = z__1.r, Y(jy).i = z__1.i; -Index: SuperLU_3.0/CBLAS/zgerc.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/zgerc.c -+++ SuperLU_3.0/CBLAS/zgerc.c -@@ -12,9 +12,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - doublecomplex z__1, z__2; - - /* Builtin functions */ - void d_cnjg(doublecomplex *, doublecomplex *); -@@ -141,21 +140,15 @@ - } else { - jy = 1 - (*n - 1) * *incy; - } - if (*incx == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jy; - if (Y(jy).r != 0. || Y(jy).i != 0.) { - d_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; -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = i; - z__2.r = X(i).r * temp.r - X(i).i * temp.i, z__2.i = - X(i).r * temp.i + X(i).i * temp.r; - z__1.r = A(i,j).r + z__2.r, z__1.i = A(i,j).i + z__2.i; - A(i,j).r = z__1.r, A(i,j).i = z__1.i; -@@ -170,22 +163,16 @@ - kx = 1; - } else { - kx = 1 - (*m - 1) * *incx; - } -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jy; - if (Y(jy).r != 0. || Y(jy).i != 0.) { - d_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; - ix = kx; -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = ix; - z__2.r = X(ix).r * temp.r - X(ix).i * temp.i, z__2.i = - X(ix).r * temp.i + X(ix).i * temp.r; - z__1.r = A(i,j).r + z__2.r, z__1.i = A(i,j).i + z__2.i; - A(i,j).r = z__1.r, A(i,j).i = z__1.i; -Index: SuperLU_3.0/CBLAS/zhemv.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/zhemv.c -+++ SuperLU_3.0/CBLAS/zhemv.c -@@ -12,9 +12,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - doublereal d__1; - doublecomplex z__1, z__2, z__3, z__4; - - /* Builtin functions */ -@@ -180,19 +179,14 @@ - - if (beta->r != 1. || beta->i != 0.) { - if (*incy == 1) { - if (beta->r == 0. && beta->i == 0.) { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = i; - Y(i).r = 0., Y(i).i = 0.; - /* L10: */ - } - } else { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = i; -- i__3 = i; - z__1.r = beta->r * Y(i).r - beta->i * Y(i).i, - z__1.i = beta->r * Y(i).i + beta->i * Y(i) - .r; - Y(i).r = z__1.r, Y(i).i = z__1.i; -@@ -201,20 +195,15 @@ - } - } else { - iy = ky; - if (beta->r == 0. && beta->i == 0.) { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = iy; - Y(iy).r = 0., Y(iy).i = 0.; - iy += *incy; - /* L30: */ - } - } else { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = iy; -- i__3 = iy; - z__1.r = beta->r * Y(iy).r - beta->i * Y(iy).i, - z__1.i = beta->r * Y(iy).i + beta->i * Y(iy) - .r; - Y(iy).r = z__1.r, Y(iy).i = z__1.i; -@@ -231,36 +220,26 @@ - - /* Form y when A is stored in upper triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - z__1.r = alpha->r * X(j).r - alpha->i * X(j).i, z__1.i = - alpha->r * X(j).i + alpha->i * X(j).r; - temp1.r = z__1.r, temp1.i = z__1.i; - temp2.r = 0., temp2.i = 0.; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - z__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - z__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - z__1.r = Y(i).r + z__2.r, z__1.i = Y(i).i + z__2.i; - Y(i).r = z__1.r, Y(i).i = z__1.i; - d_cnjg(&z__3, &A(i,j)); -- i__3 = i; - z__2.r = z__3.r * X(i).r - z__3.i * X(i).i, z__2.i = - z__3.r * X(i).i + z__3.i * X(i).r; - z__1.r = temp2.r + z__2.r, z__1.i = temp2.i + z__2.i; - temp2.r = z__1.r, temp2.i = z__1.i; - /* L50: */ - } -- i__2 = j; -- i__3 = j; -- i__4 = j + j * a_dim1; - d__1 = A(j,j).r; - z__3.r = d__1 * temp1.r, z__3.i = d__1 * temp1.i; - z__2.r = Y(j).r + z__3.r, z__2.i = Y(j).i + z__3.i; - z__4.r = alpha->r * temp2.r - alpha->i * temp2.i, z__4.i = -@@ -271,40 +250,30 @@ - } - } else { - jx = kx; - jy = ky; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - z__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, z__1.i = - alpha->r * X(jx).i + alpha->i * X(jx).r; - temp1.r = z__1.r, temp1.i = z__1.i; - temp2.r = 0., temp2.i = 0.; - ix = kx; - iy = ky; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - z__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - z__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - z__1.r = Y(iy).r + z__2.r, z__1.i = Y(iy).i + z__2.i; - Y(iy).r = z__1.r, Y(iy).i = z__1.i; - d_cnjg(&z__3, &A(i,j)); -- i__3 = ix; - z__2.r = z__3.r * X(ix).r - z__3.i * X(ix).i, z__2.i = - z__3.r * X(ix).i + z__3.i * X(ix).r; - z__1.r = temp2.r + z__2.r, z__1.i = temp2.i + z__2.i; - temp2.r = z__1.r, temp2.i = z__1.i; - ix += *incx; - iy += *incy; - /* L70: */ - } -- i__2 = jy; -- i__3 = jy; -- i__4 = j + j * a_dim1; - d__1 = A(j,j).r; - z__3.r = d__1 * temp1.r, z__3.i = d__1 * temp1.i; - z__2.r = Y(jy).r + z__3.r, z__2.i = Y(jy).i + z__3.i; - z__4.r = alpha->r * temp2.r - alpha->i * temp2.i, z__4.i = -@@ -320,42 +289,30 @@ - - /* Form y when A is stored in lower triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - z__1.r = alpha->r * X(j).r - alpha->i * X(j).i, z__1.i = - alpha->r * X(j).i + alpha->i * X(j).r; - temp1.r = z__1.r, temp1.i = z__1.i; - temp2.r = 0., temp2.i = 0.; -- i__2 = j; -- i__3 = j; -- i__4 = j + j * a_dim1; - d__1 = A(j,j).r; - z__2.r = d__1 * temp1.r, z__2.i = d__1 * temp1.i; - z__1.r = Y(j).r + z__2.r, z__1.i = Y(j).i + z__2.i; - Y(j).r = z__1.r, Y(j).i = z__1.i; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - z__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - z__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - z__1.r = Y(i).r + z__2.r, z__1.i = Y(i).i + z__2.i; - Y(i).r = z__1.r, Y(i).i = z__1.i; - d_cnjg(&z__3, &A(i,j)); -- i__3 = i; - z__2.r = z__3.r * X(i).r - z__3.i * X(i).i, z__2.i = - z__3.r * X(i).i + z__3.i * X(i).r; - z__1.r = temp2.r + z__2.r, z__1.i = temp2.i + z__2.i; - temp2.r = z__1.r, temp2.i = z__1.i; - /* L90: */ - } -- i__2 = j; -- i__3 = j; - z__2.r = alpha->r * temp2.r - alpha->i * temp2.i, z__2.i = - alpha->r * temp2.i + alpha->i * temp2.r; - z__1.r = Y(j).r + z__2.r, z__1.i = Y(j).i + z__2.i; - Y(j).r = z__1.r, Y(j).i = z__1.i; -@@ -363,46 +320,34 @@ - } - } else { - jx = kx; - jy = ky; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - z__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, z__1.i = - alpha->r * X(jx).i + alpha->i * X(jx).r; - temp1.r = z__1.r, temp1.i = z__1.i; - temp2.r = 0., temp2.i = 0.; -- i__2 = jy; -- i__3 = jy; -- i__4 = j + j * a_dim1; - d__1 = A(j,j).r; - z__2.r = d__1 * temp1.r, z__2.i = d__1 * temp1.i; - z__1.r = Y(jy).r + z__2.r, z__1.i = Y(jy).i + z__2.i; - Y(jy).r = z__1.r, Y(jy).i = z__1.i; - ix = jx; - iy = jy; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { - ix += *incx; - iy += *incy; -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - z__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - z__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - z__1.r = Y(iy).r + z__2.r, z__1.i = Y(iy).i + z__2.i; - Y(iy).r = z__1.r, Y(iy).i = z__1.i; - d_cnjg(&z__3, &A(i,j)); -- i__3 = ix; - z__2.r = z__3.r * X(ix).r - z__3.i * X(ix).i, z__2.i = - z__3.r * X(ix).i + z__3.i * X(ix).r; - z__1.r = temp2.r + z__2.r, z__1.i = temp2.i + z__2.i; - temp2.r = z__1.r, temp2.i = z__1.i; - /* L110: */ - } -- i__2 = jy; -- i__3 = jy; - z__2.r = alpha->r * temp2.r - alpha->i * temp2.i, z__2.i = - alpha->r * temp2.i + alpha->i * temp2.r; - z__1.r = Y(jy).r + z__2.r, z__1.i = Y(jy).i + z__2.i; - Y(jy).r = z__1.r, Y(jy).i = z__1.i; -Index: SuperLU_3.0/CBLAS/zher2.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/zher2.c -+++ SuperLU_3.0/CBLAS/zher2.c -@@ -12,9 +12,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6; - doublereal d__1; - doublecomplex z__1, z__2, z__3, z__4; - - /* Builtin functions */ -@@ -185,93 +184,69 @@ - - /* Form A when A is stored in the upper triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; -- i__3 = j; - if (X(j).r != 0. || X(j).i != 0. || (Y(j).r != 0. || - Y(j).i != 0.)) { - d_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; -- i__2 = j; - z__2.r = alpha->r * X(j).r - alpha->i * X(j).i, - z__2.i = alpha->r * X(j).i + alpha->i * X(j) - .r; - d_cnjg(&z__1, &z__2); - temp2.r = z__1.r, temp2.i = z__1.i; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = i; - z__3.r = X(i).r * temp1.r - X(i).i * temp1.i, - z__3.i = X(i).r * temp1.i + X(i).i * - temp1.r; - z__2.r = A(i,j).r + z__3.r, z__2.i = A(i,j).i + - z__3.i; -- i__6 = i; - z__4.r = Y(i).r * temp2.r - Y(i).i * temp2.i, - z__4.i = Y(i).r * temp2.i + Y(i).i * - temp2.r; - z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i; - A(i,j).r = z__1.r, A(i,j).i = z__1.i; - /* L10: */ - } -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; -- i__4 = j; - z__2.r = X(j).r * temp1.r - X(j).i * temp1.i, - z__2.i = X(j).r * temp1.i + X(j).i * - temp1.r; -- i__5 = j; - z__3.r = Y(j).r * temp2.r - Y(j).i * temp2.i, - z__3.i = Y(j).r * temp2.i + Y(j).i * - temp2.r; - z__1.r = z__2.r + z__3.r, z__1.i = z__2.i + z__3.i; - d__1 = A(j,j).r + z__1.r; - A(j,j).r = d__1, A(j,j).i = 0.; - } else { -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; - d__1 = A(j,j).r; - A(j,j).r = d__1, A(j,j).i = 0.; - } - /* L20: */ - } - } else { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; -- i__3 = jy; - if (X(jx).r != 0. || X(jx).i != 0. || (Y(jy).r != 0. || - Y(jy).i != 0.)) { - d_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; -- i__2 = jx; - z__2.r = alpha->r * X(jx).r - alpha->i * X(jx).i, - z__2.i = alpha->r * X(jx).i + alpha->i * X(jx) - .r; - d_cnjg(&z__1, &z__2); - temp2.r = z__1.r, temp2.i = z__1.i; - ix = kx; - iy = ky; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = ix; - z__3.r = X(ix).r * temp1.r - X(ix).i * temp1.i, - z__3.i = X(ix).r * temp1.i + X(ix).i * - temp1.r; - z__2.r = A(i,j).r + z__3.r, z__2.i = A(i,j).i + - z__3.i; -- i__6 = iy; - z__4.r = Y(iy).r * temp2.r - Y(iy).i * temp2.i, - z__4.i = Y(iy).r * temp2.i + Y(iy).i * - temp2.r; - z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i; -@@ -279,24 +254,18 @@ - ix += *incx; - iy += *incy; - /* L30: */ - } -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; -- i__4 = jx; - z__2.r = X(jx).r * temp1.r - X(jx).i * temp1.i, - z__2.i = X(jx).r * temp1.i + X(jx).i * - temp1.r; -- i__5 = jy; - z__3.r = Y(jy).r * temp2.r - Y(jy).i * temp2.i, - z__3.i = Y(jy).r * temp2.i + Y(jy).i * - temp2.r; - z__1.r = z__2.r + z__3.r, z__1.i = z__2.i + z__3.i; - d__1 = A(j,j).r + z__1.r; - A(j,j).r = d__1, A(j,j).i = 0.; - } else { -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; - d__1 = A(j,j).r; - A(j,j).r = d__1, A(j,j).i = 0.; - } - jx += *incx; -@@ -308,118 +277,88 @@ - - /* Form A when A is stored in the lower triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; -- i__3 = j; - if (X(j).r != 0. || X(j).i != 0. || (Y(j).r != 0. || - Y(j).i != 0.)) { - d_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; -- i__2 = j; - z__2.r = alpha->r * X(j).r - alpha->i * X(j).i, - z__2.i = alpha->r * X(j).i + alpha->i * X(j) - .r; - d_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; -- i__4 = j; - z__2.r = X(j).r * temp1.r - X(j).i * temp1.i, - z__2.i = X(j).r * temp1.i + X(j).i * - temp1.r; -- i__5 = j; - z__3.r = Y(j).r * temp2.r - Y(j).i * temp2.i, - z__3.i = Y(j).r * temp2.i + Y(j).i * - temp2.r; - z__1.r = z__2.r + z__3.r, z__1.i = z__2.i + z__3.i; - d__1 = A(j,j).r + z__1.r; - A(j,j).r = d__1, A(j,j).i = 0.; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = i; - z__3.r = X(i).r * temp1.r - X(i).i * temp1.i, - z__3.i = X(i).r * temp1.i + X(i).i * - temp1.r; - z__2.r = A(i,j).r + z__3.r, z__2.i = A(i,j).i + - z__3.i; -- i__6 = i; - z__4.r = Y(i).r * temp2.r - Y(i).i * temp2.i, - z__4.i = Y(i).r * temp2.i + Y(i).i * - temp2.r; - z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i; - A(i,j).r = z__1.r, A(i,j).i = z__1.i; - /* L50: */ - } - } else { -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; - d__1 = A(j,j).r; - A(j,j).r = d__1, A(j,j).i = 0.; - } - /* L60: */ - } - } else { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; -- i__3 = jy; - if (X(jx).r != 0. || X(jx).i != 0. || (Y(jy).r != 0. || - Y(jy).i != 0.)) { - d_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; -- i__2 = jx; - z__2.r = alpha->r * X(jx).r - alpha->i * X(jx).i, - z__2.i = alpha->r * X(jx).i + alpha->i * X(jx) - .r; - d_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; -- i__4 = jx; - z__2.r = X(jx).r * temp1.r - X(jx).i * temp1.i, - z__2.i = X(jx).r * temp1.i + X(jx).i * - temp1.r; -- i__5 = jy; - z__3.r = Y(jy).r * temp2.r - Y(jy).i * temp2.i, - z__3.i = Y(jy).r * temp2.i + Y(jy).i * - temp2.r; - z__1.r = z__2.r + z__3.r, z__1.i = z__2.i + z__3.i; - d__1 = A(j,j).r + z__1.r; - A(j,j).r = d__1, A(j,j).i = 0.; - ix = jx; - iy = jy; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { - ix += *incx; - iy += *incy; -- i__3 = i + j * a_dim1; -- i__4 = i + j * a_dim1; -- i__5 = ix; - z__3.r = X(ix).r * temp1.r - X(ix).i * temp1.i, - z__3.i = X(ix).r * temp1.i + X(ix).i * - temp1.r; - z__2.r = A(i,j).r + z__3.r, z__2.i = A(i,j).i + - z__3.i; -- i__6 = iy; - z__4.r = Y(iy).r * temp2.r - Y(iy).i * temp2.i, - z__4.i = Y(iy).r * temp2.i + Y(iy).i * - temp2.r; - z__1.r = z__2.r + z__4.r, z__1.i = z__2.i + z__4.i; - A(i,j).r = z__1.r, A(i,j).i = z__1.i; - /* L70: */ - } - } else { -- i__2 = j + j * a_dim1; -- i__3 = j + j * a_dim1; - d__1 = A(j,j).r; - A(j,j).r = d__1, A(j,j).i = 0.; - } - jx += *incx; -Index: SuperLU_3.0/CBLAS/ztrsv.c -=================================================================== ---- SuperLU_3.0.orig/CBLAS/ztrsv.c -+++ SuperLU_3.0/CBLAS/ztrsv.c -@@ -11,9 +11,8 @@ - { - - - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - doublecomplex z__1, z__2, z__3; - - /* Builtin functions */ - void z_div(doublecomplex *, doublecomplex *, doublecomplex *), d_cnjg( -@@ -187,21 +186,15 @@ - - if (lsame_(uplo, "U")) { - if (*incx == 1) { - for (j = *n; j >= 1; --j) { -- i__1 = j; - if (X(j).r != 0. || X(j).i != 0.) { - if (nounit) { -- i__1 = j; - z_div(&z__1, &X(j), &A(j,j)); - X(j).r = z__1.r, X(j).i = z__1.i; - } -- i__1 = j; - temp.r = X(j).r, temp.i = X(j).i; - for (i = j - 1; i >= 1; --i) { -- i__1 = i; -- i__2 = i; -- i__3 = i + j * a_dim1; - z__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - z__2.i = temp.r * A(i,j).i + temp.i * A(i,j).r; - z__1.r = X(i).r - z__2.r, z__1.i = X(i).i - - z__2.i; -@@ -213,23 +206,17 @@ - } - } else { - jx = kx + (*n - 1) * *incx; - for (j = *n; j >= 1; --j) { -- i__1 = jx; - if (X(jx).r != 0. || X(jx).i != 0.) { - if (nounit) { -- i__1 = jx; - z_div(&z__1, &X(jx), &A(j,j)); - X(jx).r = z__1.r, X(jx).i = z__1.i; - } -- i__1 = jx; - temp.r = X(jx).r, temp.i = X(jx).i; - ix = jx; - for (i = j - 1; i >= 1; --i) { - ix -= *incx; -- i__1 = ix; -- i__2 = ix; -- i__3 = i + j * a_dim1; - z__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - z__2.i = temp.r * A(i,j).i + temp.i * A(i,j).r; - z__1.r = X(ix).r - z__2.r, z__1.i = X(ix).i - - z__2.i; -@@ -242,24 +229,16 @@ - } - } - } else { - if (*incx == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - if (X(j).r != 0. || X(j).i != 0.) { - if (nounit) { -- i__2 = j; - z_div(&z__1, &X(j), &A(j,j)); - X(j).r = z__1.r, X(j).i = z__1.i; - } -- i__2 = j; - temp.r = X(j).r, temp.i = X(j).i; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - z__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - z__2.i = temp.r * A(i,j).i + temp.i * A(i,j).r; - z__1.r = X(i).r - z__2.r, z__1.i = X(i).i - - z__2.i; -@@ -270,26 +249,18 @@ - /* L60: */ - } - } else { - jx = kx; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - if (X(jx).r != 0. || X(jx).i != 0.) { - if (nounit) { -- i__2 = jx; - z_div(&z__1, &X(jx), &A(j,j)); - X(jx).r = z__1.r, X(jx).i = z__1.i; - } -- i__2 = jx; - temp.r = X(jx).r, temp.i = X(jx).i; - ix = jx; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { - ix += *incx; -- i__3 = ix; -- i__4 = ix; -- i__5 = i + j * a_dim1; - z__2.r = temp.r * A(i,j).r - temp.i * A(i,j).i, - z__2.i = temp.r * A(i,j).i + temp.i * A(i,j).r; - z__1.r = X(ix).r - z__2.r, z__1.i = X(ix).i - - z__2.i; -@@ -307,17 +278,12 @@ - /* Form x := inv( A' )*x or x := inv( conjg( A' ) )*x. */ - - if (lsame_(uplo, "U")) { - if (*incx == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - temp.r = X(j).r, temp.i = X(j).i; - if (noconj) { -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = i; - z__2.r = A(i,j).r * X(i).r - A(i,j).i * X( - i).i, z__2.i = A(i,j).r * X(i).i + - A(i,j).i * X(i).r; - z__1.r = temp.r - z__2.r, z__1.i = temp.i - -@@ -329,12 +295,10 @@ - z_div(&z__1, &temp, &A(j,j)); - temp.r = z__1.r, temp.i = z__1.i; - } - } else { -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { - d_cnjg(&z__3, &A(i,j)); -- i__3 = i; - z__2.r = z__3.r * X(i).r - z__3.i * X(i).i, - z__2.i = z__3.r * X(i).i + z__3.i * X( - i).r; - z__1.r = temp.r - z__2.r, z__1.i = temp.i - -@@ -347,24 +311,18 @@ - z_div(&z__1, &temp, &z__2); - temp.r = z__1.r, temp.i = z__1.i; - } - } -- i__2 = j; - X(j).r = temp.r, X(j).i = temp.i; - /* L110: */ - } - } else { - jx = kx; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { - ix = kx; -- i__2 = jx; - temp.r = X(jx).r, temp.i = X(jx).i; - if (noconj) { -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i + j * a_dim1; -- i__4 = ix; - z__2.r = A(i,j).r * X(ix).r - A(i,j).i * X( - ix).i, z__2.i = A(i,j).r * X(ix).i + - A(i,j).i * X(ix).r; - z__1.r = temp.r - z__2.r, z__1.i = temp.i - -@@ -377,12 +335,10 @@ - z_div(&z__1, &temp, &A(j,j)); - temp.r = z__1.r, temp.i = z__1.i; - } - } else { -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { - d_cnjg(&z__3, &A(i,j)); -- i__3 = ix; - z__2.r = z__3.r * X(ix).r - z__3.i * X(ix).i, - z__2.i = z__3.r * X(ix).i + z__3.i * X( - ix).r; - z__1.r = temp.r - z__2.r, z__1.i = temp.i - -@@ -396,24 +352,19 @@ - z_div(&z__1, &temp, &z__2); - temp.r = z__1.r, temp.i = z__1.i; - } - } -- i__2 = jx; - X(jx).r = temp.r, X(jx).i = temp.i; - jx += *incx; - /* L140: */ - } - } - } else { - if (*incx == 1) { - for (j = *n; j >= 1; --j) { -- i__1 = j; - temp.r = X(j).r, temp.i = X(j).i; - if (noconj) { -- i__1 = j + 1; - for (i = *n; i >= j+1; --i) { -- i__2 = i + j * a_dim1; -- i__3 = i; - z__2.r = A(i,j).r * X(i).r - A(i,j).i * X( - i).i, z__2.i = A(i,j).r * X(i).i + - A(i,j).i * X(i).r; - z__1.r = temp.r - z__2.r, z__1.i = temp.i - -@@ -425,12 +376,10 @@ - z_div(&z__1, &temp, &A(j,j)); - temp.r = z__1.r, temp.i = z__1.i; - } - } else { -- i__1 = j + 1; - for (i = *n; i >= j+1; --i) { - d_cnjg(&z__3, &A(i,j)); -- i__2 = i; - z__2.r = z__3.r * X(i).r - z__3.i * X(i).i, - z__2.i = z__3.r * X(i).i + z__3.i * X( - i).r; - z__1.r = temp.r - z__2.r, z__1.i = temp.i - -@@ -443,24 +392,19 @@ - z_div(&z__1, &temp, &z__2); - temp.r = z__1.r, temp.i = z__1.i; - } - } -- i__1 = j; - X(j).r = temp.r, X(j).i = temp.i; - /* L170: */ - } - } else { - kx += (*n - 1) * *incx; - jx = kx; - for (j = *n; j >= 1; --j) { - ix = kx; -- i__1 = jx; - temp.r = X(jx).r, temp.i = X(jx).i; - if (noconj) { -- i__1 = j + 1; - for (i = *n; i >= j+1; --i) { -- i__2 = i + j * a_dim1; -- i__3 = ix; - z__2.r = A(i,j).r * X(ix).r - A(i,j).i * X( - ix).i, z__2.i = A(i,j).r * X(ix).i + - A(i,j).i * X(ix).r; - z__1.r = temp.r - z__2.r, z__1.i = temp.i - -@@ -473,12 +417,10 @@ - z_div(&z__1, &temp, &A(j,j)); - temp.r = z__1.r, temp.i = z__1.i; - } - } else { -- i__1 = j + 1; - for (i = *n; i >= j+1; --i) { - d_cnjg(&z__3, &A(i,j)); -- i__2 = ix; - z__2.r = z__3.r * X(ix).r - z__3.i * X(ix).i, - z__2.i = z__3.r * X(ix).i + z__3.i * X( - ix).r; - z__1.r = temp.r - z__2.r, z__1.i = temp.i - -@@ -492,9 +434,8 @@ - z_div(&z__1, &temp, &z__2); - temp.r = z__1.r, temp.i = z__1.i; - } - } -- i__1 = jx; - X(jx).r = temp.r, X(jx).i = temp.i; - jx -= *incx; - /* L200: */ - } -Index: SuperLU_3.0/SRC/sutil.c -=================================================================== ---- SuperLU_3.0.orig/SRC/sutil.c -+++ SuperLU_3.0/SRC/sutil.c -@@ -266,14 +266,15 @@ sPrint_SuperNode_Matrix(char *what, Supe - void - sPrint_Dense_Matrix(char *what, SuperMatrix *A) - { - DNformat *Astore; -- register int i, j, lda = Astore->lda; -+ register int i, j, lda; - float *dp; - - printf("\nDense matrix %s:\n", what); - printf("Stype %d, Dtype %d, Mtype %d\n", A->Stype,A->Dtype,A->Mtype); - Astore = (DNformat *) A->Store; -+ lda = Astore->lda; - dp = (float *) Astore->nzval; - printf("nrow %d, ncol %d, lda %d\n", A->nrow,A->ncol,lda); - printf("\nnzval: "); - for (j = 0; j < A->ncol; ++j) { -Index: SuperLU_3.0/SRC/cutil.c -=================================================================== ---- SuperLU_3.0.orig/SRC/cutil.c -+++ SuperLU_3.0/SRC/cutil.c -@@ -266,14 +266,15 @@ cPrint_SuperNode_Matrix(char *what, Supe - void - cPrint_Dense_Matrix(char *what, SuperMatrix *A) - { - DNformat *Astore; -- register int i, j, lda = Astore->lda; -+ register int i, j, lda; - float *dp; - - printf("\nDense matrix %s:\n", what); - printf("Stype %d, Dtype %d, Mtype %d\n", A->Stype,A->Dtype,A->Mtype); - Astore = (DNformat *) A->Store; -+ lda = Astore->lda; - dp = (float *) Astore->nzval; - printf("nrow %d, ncol %d, lda %d\n", A->nrow,A->ncol,lda); - printf("\nnzval: "); - for (j = 0; j < A->ncol; ++j) { -Index: SuperLU_3.0/SRC/dutil.c -=================================================================== ---- SuperLU_3.0.orig/SRC/dutil.c -+++ SuperLU_3.0/SRC/dutil.c -@@ -266,14 +266,15 @@ dPrint_SuperNode_Matrix(char *what, Supe - void - dPrint_Dense_Matrix(char *what, SuperMatrix *A) - { - DNformat *Astore; -- register int i, j, lda = Astore->lda; -+ register int i, j, lda; - double *dp; - - printf("\nDense matrix %s:\n", what); - printf("Stype %d, Dtype %d, Mtype %d\n", A->Stype,A->Dtype,A->Mtype); - Astore = (DNformat *) A->Store; -+ lda = Astore->lda; - dp = (double *) Astore->nzval; - printf("nrow %d, ncol %d, lda %d\n", A->nrow,A->ncol,lda); - printf("\nnzval: "); - for (j = 0; j < A->ncol; ++j) { -Index: SuperLU_3.0/SRC/zutil.c -=================================================================== ---- SuperLU_3.0.orig/SRC/zutil.c -+++ SuperLU_3.0/SRC/zutil.c -@@ -266,14 +266,15 @@ zPrint_SuperNode_Matrix(char *what, Supe - void - zPrint_Dense_Matrix(char *what, SuperMatrix *A) - { - DNformat *Astore; -- register int i, j, lda = Astore->lda; -+ register int i, j, lda; - double *dp; - - printf("\nDense matrix %s:\n", what); - printf("Stype %d, Dtype %d, Mtype %d\n", A->Stype,A->Dtype,A->Mtype); - Astore = (DNformat *) A->Store; -+ lda = Astore->lda; - dp = (double *) Astore->nzval; - printf("nrow %d, ncol %d, lda %d\n", A->nrow,A->ncol,lda); - printf("\nnzval: "); - for (j = 0; j < A->ncol; ++j) { -Index: SuperLU_3.0/TESTING/MATGEN/claset.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/MATGEN/claset.c -+++ SuperLU_3.0/TESTING/MATGEN/claset.c -@@ -55,9 +55,8 @@ - - Parameter adjustments - Function Body */ - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3; - /* Local variables */ - static integer i, j; - extern logical lsame_(char *, char *); - -@@ -70,23 +69,17 @@ - /* Set the diagonal to BETA and the strictly upper triangular - - part of the array to ALPHA. */ - -- i__1 = *n; - for (j = 2; j <= *n; ++j) { - /* Computing MIN */ -- i__3 = j - 1; -- i__2 = min(i__3,*m); - for (i = 1; i <= min(j-1,*m); ++i) { -- i__3 = i + j * a_dim1; - A(i,j).r = alpha->r, A(i,j).i = alpha->i; - /* L10: */ - } - /* L20: */ - } -- i__1 = min(*n,*m); - for (i = 1; i <= min(*n,*m); ++i) { -- i__2 = i + i * a_dim1; - A(i,i).r = beta->r, A(i,i).i = beta->i; - /* L30: */ - } - -@@ -95,21 +88,16 @@ - /* Set the diagonal to BETA and the strictly lower triangular - - part of the array to ALPHA. */ - -- i__1 = min(*m,*n); - for (j = 1; j <= min(*m,*n); ++j) { -- i__2 = *m; - for (i = j + 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; - A(i,j).r = alpha->r, A(i,j).i = alpha->i; - /* L40: */ - } - /* L50: */ - } -- i__1 = min(*n,*m); - for (i = 1; i <= min(*n,*m); ++i) { -- i__2 = i + i * a_dim1; - A(i,i).r = beta->r, A(i,i).i = beta->i; - /* L60: */ - } - -@@ -117,21 +105,16 @@ - - /* Set the array to BETA on the diagonal and ALPHA on the - offdiagonal. */ - -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; - A(i,j).r = alpha->r, A(i,j).i = alpha->i; - /* L70: */ - } - /* L80: */ - } -- i__1 = min(*m,*n); - for (i = 1; i <= min(*m,*n); ++i) { -- i__2 = i + i * a_dim1; - A(i,i).r = beta->r, A(i,i).i = beta->i; - /* L90: */ - } - } -Index: SuperLU_3.0/TESTING/MATGEN/csymv.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/MATGEN/csymv.c -+++ SuperLU_3.0/TESTING/MATGEN/csymv.c -@@ -101,9 +101,8 @@ - - Parameter adjustments - Function Body */ - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - complex q__1, q__2, q__3, q__4; - /* Local variables */ - static integer info; - static complex temp1, temp2; -@@ -163,19 +162,14 @@ - - if (beta->r != 1.f || beta->i != 0.f) { - if (*incy == 1) { - if (beta->r == 0.f && beta->i == 0.f) { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = i; - Y(i).r = 0.f, Y(i).i = 0.f; - /* L10: */ - } - } else { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = i; -- i__3 = i; - q__1.r = beta->r * Y(i).r - beta->i * Y(i).i, - q__1.i = beta->r * Y(i).i + beta->i * Y(i) - .r; - Y(i).r = q__1.r, Y(i).i = q__1.i; -@@ -184,20 +178,15 @@ - } - } else { - iy = ky; - if (beta->r == 0.f && beta->i == 0.f) { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = iy; - Y(iy).r = 0.f, Y(iy).i = 0.f; - iy += *incy; - /* L30: */ - } - } else { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = iy; -- i__3 = iy; - q__1.r = beta->r * Y(iy).r - beta->i * Y(iy).i, - q__1.i = beta->r * Y(iy).i + beta->i * Y(iy) - .r; - Y(iy).r = q__1.r, Y(iy).i = q__1.i; -@@ -214,37 +203,26 @@ - - /* Form y when A is stored in upper triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - q__1.r = alpha->r * X(j).r - alpha->i * X(j).i, q__1.i = - alpha->r * X(j).i + alpha->i * X(j).r; - temp1.r = q__1.r, temp1.i = q__1.i; - temp2.r = 0.f, temp2.i = 0.f; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - q__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - q__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - q__1.r = Y(i).r + q__2.r, q__1.i = Y(i).i + q__2.i; - Y(i).r = q__1.r, Y(i).i = q__1.i; -- i__3 = i + j * a_dim1; -- i__4 = i; - q__2.r = A(i,j).r * X(i).r - A(i,j).i * X(i).i, - q__2.i = A(i,j).r * X(i).i + A(i,j).i * X( - i).r; - q__1.r = temp2.r + q__2.r, q__1.i = temp2.i + q__2.i; - temp2.r = q__1.r, temp2.i = q__1.i; - /* L50: */ - } -- i__2 = j; -- i__3 = j; -- i__4 = j + j * a_dim1; - q__3.r = temp1.r * A(j,j).r - temp1.i * A(j,j).i, q__3.i = - temp1.r * A(j,j).i + temp1.i * A(j,j).r; - q__2.r = Y(j).r + q__3.r, q__2.i = Y(j).i + q__3.i; - q__4.r = alpha->r * temp2.r - alpha->i * temp2.i, q__4.i = -@@ -255,29 +233,21 @@ - } - } else { - jx = kx; - jy = ky; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - q__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, q__1.i = - alpha->r * X(jx).i + alpha->i * X(jx).r; - temp1.r = q__1.r, temp1.i = q__1.i; - temp2.r = 0.f, temp2.i = 0.f; - ix = kx; - iy = ky; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - q__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - q__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - q__1.r = Y(iy).r + q__2.r, q__1.i = Y(iy).i + q__2.i; - Y(iy).r = q__1.r, Y(iy).i = q__1.i; -- i__3 = i + j * a_dim1; -- i__4 = ix; - q__2.r = A(i,j).r * X(ix).r - A(i,j).i * X(ix).i, - q__2.i = A(i,j).r * X(ix).i + A(i,j).i * X( - ix).r; - q__1.r = temp2.r + q__2.r, q__1.i = temp2.i + q__2.i; -@@ -285,11 +255,8 @@ - ix += *incx; - iy += *incy; - /* L70: */ - } -- i__2 = jy; -- i__3 = jy; -- i__4 = j + j * a_dim1; - q__3.r = temp1.r * A(j,j).r - temp1.i * A(j,j).i, q__3.i = - temp1.r * A(j,j).i + temp1.i * A(j,j).r; - q__2.r = Y(jy).r + q__3.r, q__2.i = Y(jy).i + q__3.i; - q__4.r = alpha->r * temp2.r - alpha->i * temp2.i, q__4.i = -@@ -305,43 +272,30 @@ - - /* Form y when A is stored in lower triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - q__1.r = alpha->r * X(j).r - alpha->i * X(j).i, q__1.i = - alpha->r * X(j).i + alpha->i * X(j).r; - temp1.r = q__1.r, temp1.i = q__1.i; - temp2.r = 0.f, temp2.i = 0.f; -- i__2 = j; -- i__3 = j; -- i__4 = j + j * a_dim1; - q__2.r = temp1.r * A(j,j).r - temp1.i * A(j,j).i, q__2.i = - temp1.r * A(j,j).i + temp1.i * A(j,j).r; - q__1.r = Y(j).r + q__2.r, q__1.i = Y(j).i + q__2.i; - Y(j).r = q__1.r, Y(j).i = q__1.i; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - q__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - q__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - q__1.r = Y(i).r + q__2.r, q__1.i = Y(i).i + q__2.i; - Y(i).r = q__1.r, Y(i).i = q__1.i; -- i__3 = i + j * a_dim1; -- i__4 = i; - q__2.r = A(i,j).r * X(i).r - A(i,j).i * X(i).i, - q__2.i = A(i,j).r * X(i).i + A(i,j).i * X( - i).r; - q__1.r = temp2.r + q__2.r, q__1.i = temp2.i + q__2.i; - temp2.r = q__1.r, temp2.i = q__1.i; - /* L90: */ - } -- i__2 = j; -- i__3 = j; - q__2.r = alpha->r * temp2.r - alpha->i * temp2.i, q__2.i = - alpha->r * temp2.i + alpha->i * temp2.r; - q__1.r = Y(j).r + q__2.r, q__1.i = Y(j).i + q__2.i; - Y(j).r = q__1.r, Y(j).i = q__1.i; -@@ -349,47 +303,34 @@ - } - } else { - jx = kx; - jy = ky; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - q__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, q__1.i = - alpha->r * X(jx).i + alpha->i * X(jx).r; - temp1.r = q__1.r, temp1.i = q__1.i; - temp2.r = 0.f, temp2.i = 0.f; -- i__2 = jy; -- i__3 = jy; -- i__4 = j + j * a_dim1; - q__2.r = temp1.r * A(j,j).r - temp1.i * A(j,j).i, q__2.i = - temp1.r * A(j,j).i + temp1.i * A(j,j).r; - q__1.r = Y(jy).r + q__2.r, q__1.i = Y(jy).i + q__2.i; - Y(jy).r = q__1.r, Y(jy).i = q__1.i; - ix = jx; - iy = jy; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { - ix += *incx; - iy += *incy; -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - q__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - q__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - q__1.r = Y(iy).r + q__2.r, q__1.i = Y(iy).i + q__2.i; - Y(iy).r = q__1.r, Y(iy).i = q__1.i; -- i__3 = i + j * a_dim1; -- i__4 = ix; - q__2.r = A(i,j).r * X(ix).r - A(i,j).i * X(ix).i, - q__2.i = A(i,j).r * X(ix).i + A(i,j).i * X( - ix).r; - q__1.r = temp2.r + q__2.r, q__1.i = temp2.i + q__2.i; - temp2.r = q__1.r, temp2.i = q__1.i; - /* L110: */ - } -- i__2 = jy; -- i__3 = jy; - q__2.r = alpha->r * temp2.r - alpha->i * temp2.i, q__2.i = - alpha->r * temp2.i + alpha->i * temp2.r; - q__1.r = Y(jy).r + q__2.r, q__1.i = Y(jy).i + q__2.i; - Y(jy).r = q__1.r, Y(jy).i = q__1.i; -Index: SuperLU_3.0/TESTING/MATGEN/zlaset.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/MATGEN/zlaset.c -+++ SuperLU_3.0/TESTING/MATGEN/zlaset.c -@@ -56,9 +56,8 @@ - - Parameter adjustments - Function Body */ - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3; - /* Local variables */ - static integer i, j; - extern logical lsame_(char *, char *); - -@@ -71,23 +70,17 @@ - /* Set the diagonal to BETA and the strictly upper triangular - - part of the array to ALPHA. */ - -- i__1 = *n; - for (j = 2; j <= *n; ++j) { - /* Computing MIN */ -- i__3 = j - 1; -- i__2 = min(i__3,*m); - for (i = 1; i <= min(j-1,*m); ++i) { -- i__3 = i + j * a_dim1; - A(i,j).r = alpha->r, A(i,j).i = alpha->i; - /* L10: */ - } - /* L20: */ - } -- i__1 = min(*n,*m); - for (i = 1; i <= min(*n,*m); ++i) { -- i__2 = i + i * a_dim1; - A(i,i).r = beta->r, A(i,i).i = beta->i; - /* L30: */ - } - -@@ -96,21 +89,16 @@ - /* Set the diagonal to BETA and the strictly lower triangular - - part of the array to ALPHA. */ - -- i__1 = min(*m,*n); - for (j = 1; j <= min(*m,*n); ++j) { -- i__2 = *m; - for (i = j + 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; - A(i,j).r = alpha->r, A(i,j).i = alpha->i; - /* L40: */ - } - /* L50: */ - } -- i__1 = min(*n,*m); - for (i = 1; i <= min(*n,*m); ++i) { -- i__2 = i + i * a_dim1; - A(i,i).r = beta->r, A(i,i).i = beta->i; - /* L60: */ - } - -@@ -118,21 +106,16 @@ - - /* Set the array to BETA on the diagonal and ALPHA on the - offdiagonal. */ - -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = *m; - for (i = 1; i <= *m; ++i) { -- i__3 = i + j * a_dim1; - A(i,j).r = alpha->r, A(i,j).i = alpha->i; - /* L70: */ - } - /* L80: */ - } -- i__1 = min(*m,*n); - for (i = 1; i <= min(*m,*n); ++i) { -- i__2 = i + i * a_dim1; - A(i,i).r = beta->r, A(i,i).i = beta->i; - /* L90: */ - } - } -Index: SuperLU_3.0/TESTING/MATGEN/zsymv.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/MATGEN/zsymv.c -+++ SuperLU_3.0/TESTING/MATGEN/zsymv.c -@@ -101,9 +101,8 @@ - - Parameter adjustments - Function Body */ - /* System generated locals */ -- integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5; - doublecomplex z__1, z__2, z__3, z__4; - /* Local variables */ - static integer info; - static doublecomplex temp1, temp2; -@@ -163,19 +162,14 @@ - - if (beta->r != 1. || beta->i != 0.) { - if (*incy == 1) { - if (beta->r == 0. && beta->i == 0.) { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = i; - Y(i).r = 0., Y(i).i = 0.; - /* L10: */ - } - } else { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = i; -- i__3 = i; - z__1.r = beta->r * Y(i).r - beta->i * Y(i).i, - z__1.i = beta->r * Y(i).i + beta->i * Y(i) - .r; - Y(i).r = z__1.r, Y(i).i = z__1.i; -@@ -184,20 +178,15 @@ - } - } else { - iy = ky; - if (beta->r == 0. && beta->i == 0.) { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = iy; - Y(iy).r = 0., Y(iy).i = 0.; - iy += *incy; - /* L30: */ - } - } else { -- i__1 = *n; - for (i = 1; i <= *n; ++i) { -- i__2 = iy; -- i__3 = iy; - z__1.r = beta->r * Y(iy).r - beta->i * Y(iy).i, - z__1.i = beta->r * Y(iy).i + beta->i * Y(iy) - .r; - Y(iy).r = z__1.r, Y(iy).i = z__1.i; -@@ -214,37 +203,26 @@ - - /* Form y when A is stored in upper triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - z__1.r = alpha->r * X(j).r - alpha->i * X(j).i, z__1.i = - alpha->r * X(j).i + alpha->i * X(j).r; - temp1.r = z__1.r, temp1.i = z__1.i; - temp2.r = 0., temp2.i = 0.; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - z__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - z__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - z__1.r = Y(i).r + z__2.r, z__1.i = Y(i).i + z__2.i; - Y(i).r = z__1.r, Y(i).i = z__1.i; -- i__3 = i + j * a_dim1; -- i__4 = i; - z__2.r = A(i,j).r * X(i).r - A(i,j).i * X(i).i, - z__2.i = A(i,j).r * X(i).i + A(i,j).i * X( - i).r; - z__1.r = temp2.r + z__2.r, z__1.i = temp2.i + z__2.i; - temp2.r = z__1.r, temp2.i = z__1.i; - /* L50: */ - } -- i__2 = j; -- i__3 = j; -- i__4 = j + j * a_dim1; - z__3.r = temp1.r * A(j,j).r - temp1.i * A(j,j).i, z__3.i = - temp1.r * A(j,j).i + temp1.i * A(j,j).r; - z__2.r = Y(j).r + z__3.r, z__2.i = Y(j).i + z__3.i; - z__4.r = alpha->r * temp2.r - alpha->i * temp2.i, z__4.i = -@@ -255,29 +233,21 @@ - } - } else { - jx = kx; - jy = ky; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - z__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, z__1.i = - alpha->r * X(jx).i + alpha->i * X(jx).r; - temp1.r = z__1.r, temp1.i = z__1.i; - temp2.r = 0., temp2.i = 0.; - ix = kx; - iy = ky; -- i__2 = j - 1; - for (i = 1; i <= j-1; ++i) { -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - z__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - z__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - z__1.r = Y(iy).r + z__2.r, z__1.i = Y(iy).i + z__2.i; - Y(iy).r = z__1.r, Y(iy).i = z__1.i; -- i__3 = i + j * a_dim1; -- i__4 = ix; - z__2.r = A(i,j).r * X(ix).r - A(i,j).i * X(ix).i, - z__2.i = A(i,j).r * X(ix).i + A(i,j).i * X( - ix).r; - z__1.r = temp2.r + z__2.r, z__1.i = temp2.i + z__2.i; -@@ -285,11 +255,8 @@ - ix += *incx; - iy += *incy; - /* L70: */ - } -- i__2 = jy; -- i__3 = jy; -- i__4 = j + j * a_dim1; - z__3.r = temp1.r * A(j,j).r - temp1.i * A(j,j).i, z__3.i = - temp1.r * A(j,j).i + temp1.i * A(j,j).r; - z__2.r = Y(jy).r + z__3.r, z__2.i = Y(jy).i + z__3.i; - z__4.r = alpha->r * temp2.r - alpha->i * temp2.i, z__4.i = -@@ -305,43 +272,30 @@ - - /* Form y when A is stored in lower triangle. */ - - if (*incx == 1 && *incy == 1) { -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = j; - z__1.r = alpha->r * X(j).r - alpha->i * X(j).i, z__1.i = - alpha->r * X(j).i + alpha->i * X(j).r; - temp1.r = z__1.r, temp1.i = z__1.i; - temp2.r = 0., temp2.i = 0.; -- i__2 = j; -- i__3 = j; -- i__4 = j + j * a_dim1; - z__2.r = temp1.r * A(j,j).r - temp1.i * A(j,j).i, z__2.i = - temp1.r * A(j,j).i + temp1.i * A(j,j).r; - z__1.r = Y(j).r + z__2.r, z__1.i = Y(j).i + z__2.i; - Y(j).r = z__1.r, Y(j).i = z__1.i; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { -- i__3 = i; -- i__4 = i; -- i__5 = i + j * a_dim1; - z__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - z__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - z__1.r = Y(i).r + z__2.r, z__1.i = Y(i).i + z__2.i; - Y(i).r = z__1.r, Y(i).i = z__1.i; -- i__3 = i + j * a_dim1; -- i__4 = i; - z__2.r = A(i,j).r * X(i).r - A(i,j).i * X(i).i, - z__2.i = A(i,j).r * X(i).i + A(i,j).i * X( - i).r; - z__1.r = temp2.r + z__2.r, z__1.i = temp2.i + z__2.i; - temp2.r = z__1.r, temp2.i = z__1.i; - /* L90: */ - } -- i__2 = j; -- i__3 = j; - z__2.r = alpha->r * temp2.r - alpha->i * temp2.i, z__2.i = - alpha->r * temp2.i + alpha->i * temp2.r; - z__1.r = Y(j).r + z__2.r, z__1.i = Y(j).i + z__2.i; - Y(j).r = z__1.r, Y(j).i = z__1.i; -@@ -349,47 +303,34 @@ - } - } else { - jx = kx; - jy = ky; -- i__1 = *n; - for (j = 1; j <= *n; ++j) { -- i__2 = jx; - z__1.r = alpha->r * X(jx).r - alpha->i * X(jx).i, z__1.i = - alpha->r * X(jx).i + alpha->i * X(jx).r; - temp1.r = z__1.r, temp1.i = z__1.i; - temp2.r = 0., temp2.i = 0.; -- i__2 = jy; -- i__3 = jy; -- i__4 = j + j * a_dim1; - z__2.r = temp1.r * A(j,j).r - temp1.i * A(j,j).i, z__2.i = - temp1.r * A(j,j).i + temp1.i * A(j,j).r; - z__1.r = Y(jy).r + z__2.r, z__1.i = Y(jy).i + z__2.i; - Y(jy).r = z__1.r, Y(jy).i = z__1.i; - ix = jx; - iy = jy; -- i__2 = *n; - for (i = j + 1; i <= *n; ++i) { - ix += *incx; - iy += *incy; -- i__3 = iy; -- i__4 = iy; -- i__5 = i + j * a_dim1; - z__2.r = temp1.r * A(i,j).r - temp1.i * A(i,j).i, - z__2.i = temp1.r * A(i,j).i + temp1.i * A(i,j) - .r; - z__1.r = Y(iy).r + z__2.r, z__1.i = Y(iy).i + z__2.i; - Y(iy).r = z__1.r, Y(iy).i = z__1.i; -- i__3 = i + j * a_dim1; -- i__4 = ix; - z__2.r = A(i,j).r * X(ix).r - A(i,j).i * X(ix).i, - z__2.i = A(i,j).r * X(ix).i + A(i,j).i * X( - ix).r; - z__1.r = temp2.r + z__2.r, z__1.i = temp2.i + z__2.i; - temp2.r = z__1.r, temp2.i = z__1.i; - /* L110: */ - } -- i__2 = jy; -- i__3 = jy; - z__2.r = alpha->r * temp2.r - alpha->i * temp2.i, z__2.i = - alpha->r * temp2.i + alpha->i * temp2.r; - z__1.r = Y(jy).r + z__2.r, z__1.i = Y(jy).i + z__2.i; - Y(jy).r = z__1.r, Y(jy).i = z__1.i; diff --git a/superlu-overflow.patch b/superlu-overflow.patch deleted file mode 100644 index 3bb28b4..0000000 --- a/superlu-overflow.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: SuperLU_3.0/TESTING/ddrive.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/ddrive.c -+++ SuperLU_3.0/TESTING/ddrive.c -@@ -72,9 +72,9 @@ main(int argc, char *argv[]) - fact_t fact; - trans_t trans; - SuperLUStat_t stat; - static char matrix_type[8]; -- static char equed[1], path[3], sym[1], dist[1]; -+ static char equed[1], path[4], sym[1], dist[1]; - - /* Fixed set of parameters */ - int iseed[] = {1988, 1989, 1990, 1991}; - static char equeds[] = {'N', 'R', 'C', 'B'}; -Index: SuperLU_3.0/TESTING/sdrive.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/sdrive.c -+++ SuperLU_3.0/TESTING/sdrive.c -@@ -72,9 +72,9 @@ main(int argc, char *argv[]) - fact_t fact; - trans_t trans; - SuperLUStat_t stat; - static char matrix_type[8]; -- static char equed[1], path[3], sym[1], dist[1]; -+ static char equed[1], path[4], sym[1], dist[1]; - - /* Fixed set of parameters */ - int iseed[] = {1988, 1989, 1990, 1991}; - static char equeds[] = {'N', 'R', 'C', 'B'}; -Index: SuperLU_3.0/TESTING/zdrive.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/zdrive.c -+++ SuperLU_3.0/TESTING/zdrive.c -@@ -72,9 +72,9 @@ main(int argc, char *argv[]) - fact_t fact; - trans_t trans; - SuperLUStat_t stat; - static char matrix_type[8]; -- static char equed[1], path[3], sym[1], dist[1]; -+ static char equed[1], path[4], sym[1], dist[1]; - - /* Fixed set of parameters */ - int iseed[] = {1988, 1989, 1990, 1991}; - static char equeds[] = {'N', 'R', 'C', 'B'}; -Index: SuperLU_3.0/TESTING/cdrive.c -=================================================================== ---- SuperLU_3.0.orig/TESTING/cdrive.c -+++ SuperLU_3.0/TESTING/cdrive.c -@@ -72,9 +72,9 @@ main(int argc, char *argv[]) - fact_t fact; - trans_t trans; - SuperLUStat_t stat; - static char matrix_type[8]; -- static char equed[1], path[3], sym[1], dist[1]; -+ static char equed[1], path[4], sym[1], dist[1]; - - /* Fixed set of parameters */ - int iseed[] = {1988, 1989, 1990, 1991}; - static char equeds[] = {'N', 'R', 'C', 'B'}; diff --git a/superlu-undef-code.diff b/superlu-undef-code.diff deleted file mode 100644 index 2341529..0000000 --- a/superlu-undef-code.diff +++ /dev/null @@ -1,32 +0,0 @@ -Index: SuperLU_3.0/SRC/cutil.c -=================================================================== ---- SuperLU_3.0.orig/SRC/cutil.c -+++ SuperLU_3.0/SRC/cutil.c -@@ -239,9 +239,10 @@ cPrint_SuperNode_Matrix(char *what, Supe - nsup = sup_to_col[k+1] - c; - for (j = c; j < c + nsup; ++j) { - d = Astore->nzval_colptr[j]; - for (i = rowind_colptr[c]; i < rowind_colptr[c+1]; ++i) { -- printf("%d\t%d\t%e\t%e\n", rowind[i], j, dp[d++], dp[d++]); -+ printf("%d\t%d\t%e\t%e\n", rowind[i], j, dp[d], dp[d+1]); -+ d += 2; - } - } - } - #if 0 -Index: SuperLU_3.0/SRC/zutil.c -=================================================================== ---- SuperLU_3.0.orig/SRC/zutil.c -+++ SuperLU_3.0/SRC/zutil.c -@@ -239,9 +239,10 @@ zPrint_SuperNode_Matrix(char *what, Supe - nsup = sup_to_col[k+1] - c; - for (j = c; j < c + nsup; ++j) { - d = Astore->nzval_colptr[j]; - for (i = rowind_colptr[c]; i < rowind_colptr[c+1]; ++i) { -- printf("%d\t%d\t%e\t%e\n", rowind[i], j, dp[d++], dp[d++]); -+ printf("%d\t%d\t%e\t%e\n", rowind[i], j, dp[d], dp[d+1]); -+ d += 2; - } - } - } - #if 0 diff --git a/superlu.changes b/superlu.changes index 8ceebbf..de941e0 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,3 +1,51 @@ +------------------------------------------------------------------- +Tue Dec 18 22:21:27 UTC 2012 - scorot@free.fr + +- Update to SuperLU 4.3: + * Remove recursive DFS for postordering elimination tree in + sp_coletree.c (The nonrecursive routine nr_etdfs() was + contributed by Cedric Doucet, CEDRAT Group, Meylan, France.) + * Make supermatrix.h the same for all three libraries + * Include an on-line HTML documentation for the source code + * Corrected backward error BERR formula when a component of the + RHS and the residual are exactly zero + * Change parameter "delta" to genmmd() from 1 to 0 in get_perm_c + remove "static" declaration in EXAMPLE/xlinsolx*.c + * Include threshold-based incomplete factorization (ILU) + * Removed the static global variables so that it is thread-safe. + * Make superlu_options_t{} structure and enum constants the same + for both superlu & superlu_dist. + * Replace qsort by "quick select" (qselect) in ILU's secondary + dropping. + * Replace mc64ad.f by mc64ad.c using f2c. + * Bug fixes in ilu_sdrop_row.c. + * Bug fixes in xgsisx.c, so that when mc64 permutation is used + in ILU, the right-hand side is permuted properly. + * Add parameter #7 in sp_ienv(), setting as the maxsuper for ILU + code (smaller than parameter #3). + * Update Users Guide. + * Update doxygen code documentation. + * Fix a bug in ILU driver routine dgsisx.c, so that on return, + the initial row permutation is combined with perm_r[] from + partial pivoting. + * Modify 2 ILU examples: EXAMPLE/ditersol.c, EXAMPLE/ditersol1.c + * Update superlu_timer.c +- Remove unneeded patches + + superlu-overflow.patch : Applied upstream + + superlu-initialize.diff : Applied upstream + + superlu-undef-code.diff : Applied upstream +- Updated patches + + superlu-4.3.diff + + superlu-4.3-include.patch + + superlu-4.3-dont-opt-away.diff +- Build shared libraries +- Put shared libs and devel files in separate packages +- Use rpm macros instead of plain directory names +- Add %%ckeck +- Update documentation file %%source1 and put html and examples + files in %%doc +- Spec file reformating + ------------------------------------------------------------------- Sun Jan 29 01:48:27 UTC 2012 - jengelh@medozas.de diff --git a/superlu.spec b/superlu.spec index 7202855..e02c781 100644 --- a/superlu.spec +++ b/superlu.spec @@ -16,24 +16,25 @@ # - Name: superlu -BuildRequires: gcc-fortran tcsh +Summary: A general purpose library for the direct solution of linear equations License: BSD-3-Clause Group: Development/Libraries/C and C++ -Provides: blas2 -Summary: SuperLU matrix solver -Version: 3.0 -Release: 141 +Version: 4.3 +Release: 0 Source: ftp://ftp.netlib.org/scalapack/prototype/superlu_%{version}.tar.bz2 -Source1: superlu_ug.ps.gz -Patch: superlu-3.0.diff -Patch1: superlu-overflow.patch -Patch2: superlu-include.patch -Patch3: superlu-dont-opt-away.diff -Patch4: superlu-initialize.diff -Patch5: superlu-undef-code.diff +Source1: superlu_ug.pdf +# PATCH-FEATURE-OPENSUSE superlu-4.3.diff : add compiler and build flags in make.inc +Patch: superlu-4.3.diff +# PATCH-FIX-UPSTREAM superlu-4.3-include.patch : avoid implicit declaration warnings +Patch1: superlu-4.3-include.patch +# PATCH-FIX-UPSTREAM superlu-4.3-dont-opt-away.diff +Patch2: superlu-4.3-dont-opt-away.diff Url: http://crd.lbl.gov/~xiaoye/SuperLU/ +BuildRequires: blas +BuildRequires: fdupes +BuildRequires: gcc-fortran +BuildRequires: tcsh BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -43,45 +44,82 @@ linear systems that the author is aware of. Docu can be found on http://www.netlib.org. +%package -n libsuperlu4 +Summary: SuperLU matrix solver +Group: System/Libraries +%description -n libsuperlu4 +SuperLU is an algorithm that uses group theory to optimize LU +decomposition of sparse matrices. It's the fastest direct solver for +linear systems that the author is aware of. -Authors: --------- - xiaoye@nersc.gov +Docu can be found on http://www.netlib.org. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries/C and C++ +Provides: superlu = %{version} +Obsoletes: superlu < %{version} +Requires: libsuperlu4 = %{version} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. %prep -%setup -n SuperLU_%{version} +%setup -q -n SuperLU_%{version} %patch -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 +# superlu_ug.pdf in %%doc +cp %SOURCE1 ./ %build -#cd ../SuperLU -make -C CBLAS #%{?_smp_mflags} -make #%{?_smp_mflags} +make + +mkdir tmp +(cd tmp; ar -x ../lib/libsuperlu_%{version}.a) +gfortran -shared -Wl,-soname,libsuperlu.so.4 -o libsuperlu.so.%{version} tmp/*.o %install -install -d $RPM_BUILD_ROOT/%{_docdir}/superlu -make install_lib LIBDIR=%{_libdir} DESTDIR=$RPM_BUILD_ROOT -make install_blas LIBDIR=%{_libdir} DESTDIR=$RPM_BUILD_ROOT -install -d -m 0755 $RPM_BUILD_ROOT/usr/include/superlu -install -m 0644 SRC/*.h $RPM_BUILD_ROOT/usr/include/superlu/ -cp -pf README $RPM_BUILD_ROOT/%{_docdir}/superlu/README.SuperLU -cp -pf %SOURCE1 $RPM_BUILD_ROOT/%{_docdir}/superlu/ -cp -ax EXAMPLE $RPM_BUILD_ROOT/%{_docdir}/superlu/ +mkdir -p %{buildroot}%{_libdir} +mkdir -p %{buildroot}%{_includedir} +install -m644 SRC/*.h %{buildroot}%{_includedir} +install -m755 *.so.* %{buildroot}%{_libdir} +ln -s %{_libdir}/libsuperlu.so.%{version} %{buildroot}%{_libdir}/libsuperlu.so.4 +ln -s %{_libdir}/libsuperlu.so.4 %{buildroot}%{_libdir}/libsuperlu.so -%files -%defattr(-,root,root) -%docdir %{_docdir}/superlu -%doc %{_docdir}/superlu -%{_libdir}/libsuperlu.a -%{_libdir}/superlu_*.a -%{_libdir}/libblas2.a/ -%{_libdir}/blas2_*.a -%dir /usr/include/superlu -/usr/include/superlu/* +#fix permissions +chmod 644 MATLAB/* + +# remove all build examples +cd EXAMPLE +make clean +rm -rf *itersol* +cd .. +mv EXAMPLE examples +cp FORTRAN/README README.fortran +%fdupes -s examples + +%check +cd TESTING +./stest +./ztest +cd .. + +%post -n libsuperlu4 -p /sbin/ldconfig + +%postun -n libsuperlu4 -p /sbin/ldconfig + +%files -n libsuperlu4 +%defattr(-,root,root,-) +%doc README MATLAB +%{_libdir}/*.so.* + +%files devel +%defattr(-,root,root,-) +%doc DOC/html examples README.fortran superlu_ug.pdf +%{_includedir}/*.h +%{_libdir}/*.so %changelog diff --git a/superlu_3.0.tar.bz2 b/superlu_3.0.tar.bz2 deleted file mode 100644 index 6dab398..0000000 --- a/superlu_3.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:da1781b3376809be733884cda341c14bfeaffbc82a41b2a82565028d57907b16 -size 867019 diff --git a/superlu_4.3.tar.bz2 b/superlu_4.3.tar.bz2 new file mode 100644 index 0000000..34069ea --- /dev/null +++ b/superlu_4.3.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f6df0c9dd5025c6ff695cc274c76eedceb90b0feddabafc6ce6379145e00681 +size 2227499 diff --git a/superlu_ug.pdf b/superlu_ug.pdf new file mode 100644 index 0000000..959c765 --- /dev/null +++ b/superlu_ug.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb9b6dca641582b8346fdb58f22bc0b1284b5cbf99a322f8094f824059be8e6a +size 382387 diff --git a/superlu_ug.ps.gz b/superlu_ug.ps.gz deleted file mode 100644 index 27d6b68..0000000 --- a/superlu_ug.ps.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e22d349f1f5288cfce768909b2e91ad3b95ee656d546cbbbacc3bf1a6ff1f76 -size 204281