[freefempp] 03/03: Merge tag 'upstream/3.34.2' into experimental
Dimitrios Eftaxiopoulos
eftaxiop-guest at moszumanska.debian.org
Sun Mar 8 01:19:13 UTC 2015
This is an automated email from the git hooks/post-receive script.
eftaxiop-guest pushed a commit to branch experimental
in repository freefempp.
commit 2641d68135f28864e3ae7dcad8d21951c6faee8e
Merge: 359f909 3206529
Author: Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>
Date: Sun Mar 8 03:12:07 2015 +0200
Merge tag 'upstream/3.34.2' into experimental
Upstream version 3.34.2
Conflicts:
DOC/Makefile.in
Makefile.in
configure
download/Makefile
download/arpack/Makefile
download/blas/Makefile.in
download/fftw/Makefile
download/umfpack/Makefile
examples++-3d/Makefile.in
examples++-bug/Makefile.in
examples++-chapt3/Makefile.in
examples++-eigen/Makefile.in
examples++-load/._gsl.awk
examples++-load/Makefile.in
examples++-mpi/Makefile.in
examples++-mpi/removeDOF.cpp
examples++-mpi/schwarz.cpp
examples++-mpi/utility.cpp
examples++-other/Makefile.in
examples++-tutorial/Makefile.in
examples++/Makefile.in
src/Algo/Makefile.in
src/Graphics/._gggg.cpp
src/Graphics/Makefile.in
src/Makefile.in
src/bamg/Makefile.in
src/bamglib/Makefile.in
src/bin-win32/Makefile.in
src/femlib/Makefile.in
src/fflib/._InitFunct.hpp
src/fflib/Makefile.in
src/fflib/strversionnumber.cpp
src/lglib/Makefile.in
src/libMesh/Makefile.in
src/medit/Makefile.in
src/mpi/Makefile.in
src/nw/Makefile.in
DOC/Makefile.in | 673 +
HISTORY | 567 +-
INNOVATION | 34 +-
Makefile.am | 2 +-
Makefile.in | 1198 ++
README_MAC | 4 +-
WindowsPackage.m4 | 2 +-
acmacros.m4 | 6 +-
acmpi.m4 | 145 +-
acoptim.m4 | 15 +-
build/download | 2 +-
config.h.in | 12 +-
configure | 20829 +++++++++++++++++++
configure.ac | 173 +-
download/Makefile | 614 +-
download/Makefile.am | 29 +-
download/{Makefile => Makefile.orig} | 316 +-
download/arpack/Makefile | 590 +-
download/blas/Makefile.in | 4347 ++++
download/fftw/Makefile | 571 +-
download/fftw/{Makefile => Makefile.orig} | 281 +-
download/getall | 4 +-
download/gmm/cxxflags | 10 +-
download/mumps/Makefile | 2 +-
download/mumps/Makefile-mumps-4.10.0.inc | 1 +
download/nlopt/Make.inc | 3 +-
download/nlopt/Makefile | 4 +-
download/parmetis/Makefile-parmetis.in | 2 +-
download/scalapack/SLmake-scalapack.inc | 2 +-
download/scotch/Makefile | 2 +-
download/scotch/Makefile-scotch.inc | 2 +-
download/superludist/make-superlu.inc | 2 +-
download/umfpack/Makefile | 579 +-
download/umfpack/{Makefile => Makefile.orig} | 281 +-
download/yams/makefile-yams.inc | 2 +-
examples++-3d/Makefile.am | 2 +-
examples++-3d/Makefile.in | 1227 ++
examples++-bug/Makefile.in | 579 +
examples++-chapt3/Makefile.in | 1109 +
examples++-eigen/Makefile.in | 1040 +
examples++-load/._ff-AiryBiry.cpp | Bin 0 -> 624 bytes
.../._gsl.awk | Bin
.../._gsl.awk.orig | Bin
examples++-load/BinaryIO.cpp | 7 +-
examples++-load/DxWriter.cpp | 7 +-
examples++-load/Element_Mixte.cpp | 4 +-
examples++-load/FreeFemQA.cpp | 7 +-
examples++-load/Makefile.am | 28 +-
examples++-load/Makefile.in | 1828 ++
examples++-load/MetricKuate.cpp | 7 +-
examples++-load/MetricPk.cpp | 7 +-
examples++-load/NewSolver.cpp | 7 +-
examples++-load/PARDISO.cpp | 24 +-
examples++-load/SuperLu.cpp | 10 +-
examples++-load/VTK_writer.cpp | 7 +-
examples++-load/VTK_writer_3d.cpp | 7 +-
examples++-load/addNewType.cpp | 7 +-
examples++-load/bfstream.cpp | 2 +-
examples++-load/bmo.cpp | 4 +-
examples++-load/dfft.cpp | 9 +-
examples++-load/ff-AiryBiry.cpp | 125 +
examples++-load/ff-Ipopt.cpp | 7 +-
examples++-load/ff-NLopt.cpp | 7 +-
examples++-load/ff-cmaes.cpp | 7 +-
examples++-load/ff-get-dep.in | 52 +-
examples++-load/ff_gsl_awk.hpp | 63 +-
examples++-load/fflapack.cpp | 15 +-
examples++-load/ffnewuoa.cpp | 7 +-
examples++-load/ffrandom.cpp | 4 +-
examples++-load/freeyams.cpp | 7 +-
examples++-load/funcTemplate.cpp | 7 +-
examples++-load/gmsh.cpp | 7 +-
examples++-load/gsl.awk | 2 +-
examples++-load/gsl.cpp | 7 +-
examples++-load/gsl.idp | 15 +
examples++-load/ilut.cpp | 24 +-
examples++-load/include.tar.gz | Bin 1899 -> 2316 bytes
examples++-load/iovtk.cpp | 7 +-
examples++-load/isolineP1.cpp | 7 +-
examples++-load/lapack.cpp | 15 +-
examples++-load/lgbmo.cpp | 7 +-
examples++-load/load.link.in | 8 +-
examples++-load/mat_dervieux.cpp | 7 +-
examples++-load/mat_psi.cpp | 8 +-
examples++-load/medit.cpp | 11 +-
examples++-load/metis.cpp | 16 +-
examples++-load/mmg3d-v4.0.cpp | 7 +-
examples++-load/msh3.cpp | 25 +-
examples++-load/mshmet.cpp | 7 +-
examples++-load/myfunction2.cpp | 7 +-
examples++-load/pcm2rnm.cpp | 7 +-
examples++-load/pipe.cpp | 6 +-
examples++-load/ppm2rnm.cpp | 7 +-
examples++-load/qf11to25.cpp | 9 +-
examples++-load/scotch.cpp | 7 +-
examples++-load/shell.cpp | 10 +-
examples++-load/splitedges.cpp | 11 +-
examples++-load/splitmesh3.cpp | 9 +-
examples++-load/splitmesh6.cpp | 9 +-
examples++-load/symmetrizeCSR.cpp | 6 +-
examples++-load/tetgen.cpp | 7 +-
examples++-load/thresholdings.cpp | 9 +-
.../._complex_SuperLU_DIST_FreeFem.cpp~HEAD | Bin
...omplex_SuperLU_DIST_FreeFem.cpp~upstream_3.34.2 | Bin
...U_DIST_FreeFem.cpp => ._dSuperLU_DIST.cpp~HEAD} | Bin
...IST.cpp => ._dSuperLU_DIST.cpp~upstream_3.34.2} | Bin
...em.cpp => ._real_SuperLU_DIST_FreeFem.cpp~HEAD} | Bin
..._real_SuperLU_DIST_FreeFem.cpp~upstream_3.34.2} | Bin
examples++-mpi/DDM-Schwarz-macro.idp | 5 +-
examples++-mpi/MPICG.cpp | 6 +-
examples++-mpi/MPIplot.idp | 3 +
examples++-mpi/MUMPS.cpp | 2 +-
examples++-mpi/MUMPS_FreeFem.cpp | 11 +-
examples++-mpi/Makefile.am | 7 +-
examples++-mpi/Makefile.in | 1250 ++
examples++-mpi/Stokes-v1-matrix-mumps.edp | 2 +-
examples++-mpi/complex_SuperLU_DIST_FreeFem.cpp | 12 +-
examples++-mpi/complex_pastix_FreeFem.cpp | 10 +-
examples++-mpi/dSuperLU_DIST.cpp | 12 +-
examples++-mpi/hips_FreeFem.cpp | 9 +-
examples++-mpi/hypre_FreeFem.cpp | 14 +-
examples++-mpi/interfacepastix.cpp | 10 +-
examples++-mpi/mpi-cmaes.cpp | 8 +-
examples++-mpi/parms_FreeFem.cpp | 11 +-
examples++-mpi/real_SuperLU_DIST_FreeFem.cpp | 11 +-
examples++-mpi/real_pastix_FreeFem.cpp | 9 +-
examples++-mpi/removeDOF.cpp | 1 +
.../{removeDOF.cpp => removeDOF.cpp.orig} | 4 +
examples++-mpi/schwarz.cpp | 17 +-
examples++-mpi/{schwarz.cpp => schwarz.cpp.orig} | 28 +
examples++-mpi/schwarz.edp | 116 +-
examples++-mpi/utility.cpp | 2 +-
examples++-mpi/{utility.cpp => utility.cpp.orig} | 4 +
examples++-other/Makefile.in | 953 +
examples++-tutorial/Makefile.in | 1404 ++
examples++-tutorial/sparse-cmatrix.edp | 3 +
examples++-tutorial/sparse-matrix.edp | 3 +
examples++/Makefile.in | 1122 +
src/Algo/Makefile.in | 587 +
src/{bamglib/._Mesh2.h => Graphics/._gggg.cpp} | Bin
.../._meshtype.h => Graphics/._gggg.cpp.orig} | Bin
.../._Mesh3dn.cpp => Graphics/._sansrgraph.cpp} | Bin
src/Graphics/Makefile.in | 588 +
src/Graphics/ff-win32.cpp | 2 +-
src/Graphics/ffglut.cpp | 1 +
src/Graphics/getprog-unix.hpp | 15 +-
src/Graphics/gggg.cpp | 65 +
src/Graphics/sansrgraph.cpp | 3 +-
src/Makefile.in | 782 +
src/bamg/Makefile.am | 8 +-
src/bamg/Makefile.in | 767 +
.../._array_tlp.hpp => bamglib/._Mesh2.h~HEAD} | Bin
.../bamglib/._Mesh2.h~upstream_3.34.2 | Bin
.../bamglib/._MeshWrite.cpp~HEAD | Bin
...shWrite.cpp => ._MeshWrite.cpp~upstream_3.34.2} | Bin
.../bamglib/._meshtype.h~HEAD | Bin
.../bamglib/._meshtype.h~upstream_3.34.2 | Bin
src/bamglib/Makefile.am | 2 +-
src/bamglib/Makefile.in | 588 +
src/bamglib/Mesh2.cpp | 4 +-
src/bamglib/Mesh2.h | 21 +-
src/bamglib/MeshWrite.cpp | 1710 +-
src/bamglib/meshtype.h | 2 +-
src/bin-win32/Makefile.am | 21 +-
src/bin-win32/Makefile.in | 653 +
.../._lgfem.cpp => femlib/._Mesh3dn.cpp~HEAD} | Bin
.../._Mesh3dn.cpp~upstream_3.34.2} | Bin
...{._BamgFreeFem.cpp => ._QuadratureFormular.cpp} | Bin
src/femlib/BamgFreeFem.cpp | 4 +-
src/femlib/CheckPtr.cpp | 6 +
src/femlib/GenericMesh.hpp | 32 +-
src/femlib/Makefile.in | 615 +
src/femlib/MatriceCreuse.hpp | 43 +-
src/femlib/MatriceCreuse_tpl.hpp | 58 +-
src/femlib/Mesh3dn.cpp | 30 +-
src/femlib/QuadratureFormular.cpp | 2 +-
src/femlib/RNM.hpp | 8 +-
.../{._AFunction.hpp => ._AFunction.hpp~HEAD} | Bin
.../fflib/._AFunction.hpp~upstream_3.34.2 | Bin
.../._bfstream.cpp => src/fflib/._InitFunct.hpp | Bin
.../fflib/._InitFunct.hpp.orig | Bin
.../fflib/._array_tlp.hpp~HEAD | Bin
.../fflib/._array_tlp.hpp~upstream_3.34.2 | Bin
.../fflib/._ffapi.cpp~upstream_3.34.2 | Bin
.../._Mesh3dn.cpp => fflib/._lgfem.cpp~HEAD} | Bin
.../._lgfem.cpp~upstream_3.34.2} | Bin
src/fflib/AFunction.cpp | 41 +-
src/fflib/AFunction.hpp | 8 +-
src/fflib/AFunction2.cpp | 25 +-
src/fflib/InitFunct.hpp | 6 +-
src/fflib/Makefile.am | 3 +-
src/fflib/Makefile.in | 1398 ++
src/fflib/P1IsoValue.cpp | 22 +-
src/fflib/P1IsoValue.hpp | 8 +-
src/fflib/PlotStream.hpp | 2 +-
src/fflib/array_tlp.hpp | 9 +-
src/fflib/ffapi.cpp | 89 +-
src/fflib/ffapi.hpp | 48 +-
src/fflib/global.cpp | 68 +
src/fflib/lex.cpp | 2 +-
src/fflib/lgfem.cpp | 30 +-
src/fflib/lgmat.cpp | 118 +-
src/fflib/load.cpp | 163 +-
src/fflib/problem.cpp | 22 +-
src/fflib/problem.hpp | 2 +-
src/fflib/strversionnumber.cpp | 4 +-
src/{femlib/._Mesh3dn.cpp => lglib/._mymain.cpp} | Bin
src/lglib/Makefile.in | 739 +
src/lglib/lg.tab.cpp | 439 +-
src/lglib/lg.tab.hpp | 2 +-
src/lglib/lg.ypp | 40 +-
src/lglib/mymain.cpp | 6 +-
src/libMesh/Makefile.in | 719 +
src/medit/Makefile.in | 843 +
src/mpi/Makefile.in | 898 +
src/mpi/parallelempi.cpp | 25 +-
src/nw/Makefile.in | 1010 +
src/solver/hypre_FreeFem.cpp | 2 +-
218 files changed, 53207 insertions(+), 3070 deletions(-)
diff --cc download/Makefile.orig
index 4774182,ab0f426..9dd1ab9
--- a/download/Makefile.orig
+++ b/download/Makefile.orig
@@@ -80,13 -80,15 +80,14 @@@ POST_INSTALL =
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
+build_triplet = x86_64-pc-linux-gnu
+host_triplet = x86_64-pc-linux-gnu
subdir = download
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/mkinstalldirs AUTHORS
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am AUTHORS
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acmacros.m4 \
- $(top_srcdir)/acoptim.m4 $(top_srcdir)/acmpi.m4 \
+ $(top_srcdir)/acoptim.m4 $(top_srcdir)/ax_lib_hdf5.m4 \
+ $(top_srcdir)/ax_lib_gsl.m4 $(top_srcdir)/acmpi.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@@ -175,258 -177,281 +176,536 @@@ am__relativize =
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
++<<<<<<< HEAD:download/Makefile
+ACLOCAL = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing aclocal-1.14
+ADD_PACKAGE_NAME =
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AR = ar
+ARFLAGS = rv
+ARPACKLIB =
+ARPACKLIBS = -larpack -llapack
+AUTOCONF = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoconf
+AUTOHEADER = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoheader
+AUTOMAKE = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing automake-1.14
+AWK = gawk
+BAMGPROG = bamg cvmsh2
+BLASINC =
+BLASLIBS = -lblas
+CC = gcc -Wl,-z,relro
+CCDEPMODE = depmode=none
+CFLAGS = -g -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
+CFLAGSF77 = -DAdd_
+CNOFLAGS = -fPIC
+COMPILE_OPENBLAS =
+CPPFLAGS = -D_FORTIFY_SOURCE=2
+CXX = g++ -Wl,-z,relro
+CXXCPP = g++ -Wl,-z,relro -E
+CXXDEPMODE = depmode=none
+CXXFLAGS = -g -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -DBAMG_LONG_LONG -DNCHECKPTR -fPIC
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DOCPDF = freefem++doc.pdf
+DOCPS = freefem++doc.ps
+DOCPSGZ = freefem++doc.ps.gz
+DOWNLOADCOMPILE =
+DOWNLOADED_BLAS =
+DOWNLOADED_BLAS_BUILT_SOURCES =
+DOWNLOAD_ARPACK =
+DOWNLOAD_FFTW =
+DOWNLOAD_UMFPACK =
+DYLIB_SUFFIX = so
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = /bin/grep -E
+EIGENOBJ = eigenvalue.$(OBJEXT)
+ENABLE_FFCS = no
+EPSTOPDF = epstopdf
+EXEEXT =
+F77 = gfortran
+FC = gfortran
+FCFLAGS = -g -O2 -fstack-protector-strong -fPIC
+FFGLUTNAME =
+FFGLUTPROG = ffglut
+FFLAGS = -g -fstack-protector-strong -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
+FFMETIS_CFLAGS =
+FF_LAPACKdir =
+FF_MALLOC_H = 1
+FF_SECOND = second.o
+FF_UMFPACK_CONFIG =
+FLIBS = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+FNOFLAGS = -fPIC
+G2CLIB = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+GCCNOCYGWIN =
+GREP = /bin/grep
+HISTORY =
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+KERNEL_VERSION = 3.16.0
+LAPACKLIBS = -llapack
+LAPACK_arpack_LIB =
+LDFLAGS = -Wl,-z,relro -rdynamic
+LEX = flex
+LEXLIB =
+LEX_OUTPUT_ROOT = lex.yy
+LIBC_VERSION = libc-2.19
+LIBOBJS =
+LIBS = -ldl -lm /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+LIBSGLUT = -lglut -lGLU -lGL
+LIBSNOCONSOLE =
+LIBSPTHREAD = -lpthread
+LOAD_COMPILE = load_compile
+LOAD_TESTS = ../regtests.sh
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing makeinfo
+MEDITPROG = ffmedit
+MKDIR_P = /bin/mkdir -p
+MPICC = /usr/bin/mpicc
+MPICXX = mpic++ -Wl,-z,relro
+MPIF77 = /usr/bin/mpif90
+MPIFC = /usr/bin/mpif90
+MPIPROG = FreeFem++-mpi
+MPIRUN = /usr/bin/mpirun
+MPISCRIPT = ff-mpirun
+MPI_INCLUDE =
+MPI_INC_DIR =
+MPI_LIB = -Wl,-z,relro
+MPI_LIBC =
+MPI_LIBFC = -pthread -L/usr//lib -L/usr/lib/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lhwloc
+MPI_LIB_DIRS =
+NO_RANGE_CHECK =
+OBJEXT = o
+OPTIM_TYPE =
+PACKAGE = freefem++
+PACKAGE_BUGREPORT = hecht at ann.jussieu.fr
+PACKAGE_NAME = FreeFem++
+PACKAGE_STRING = FreeFem++ 3.32-1
+PACKAGE_TARNAME = freefem++
+PACKAGE_URL =
+PACKAGE_VERSION = 3.32-1
+PASTIX_HOSTARCH =
+PATH_SEPARATOR = :
+RANLIB = ranlib
+RANLIN = ranlib
+SCOTCH_INCLUDE = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/include/scotch
+SET_MAKE =
+SHELL = /bin/bash
+SIZEOF_INT = 4
+SIZEOF_LONG = 8
+SIZEOF_PTR = 8
+SIZEOF_PTRINBIT = 64
+SKIP_TESTS_EIGEN =
+SKIP_TESTS_MPI = no
+STATICTOOL =
+STDPROG =
+STD_GRAPH_OBJ =
+STD_LDFLAGS =
+STD_LIBS =
+STRIP =
+TEST_FFPP = ../src/nw/FreeFem++
+TEST_FFPPMPI = ../src/mpi/ff-mpirun
+TOOL_COMPILE_fflapack = fflapack
+TOOL_COMPILE_gsl = gsl
+TOOL_COMPILE_hips = hips
+TOOL_COMPILE_ipopt = ipopt
+TOOL_COMPILE_lapack = lapack
+TOOL_COMPILE_metis = metis
+TOOL_COMPILE_mmg3d = mmg3d
+TOOL_COMPILE_mshmet = mshmet
+TOOL_COMPILE_mumps = mumps
+TOOL_COMPILE_mumps_seq = mumps-seq
+TOOL_COMPILE_nlopt = nlopt
+TOOL_COMPILE_pardiso =
+TOOL_COMPILE_parmetis = parmetis
+TOOL_COMPILE_parms = parms
+TOOL_COMPILE_pastix = pastix
+TOOL_COMPILE_pipe = pipe
+TOOL_COMPILE_scotch = scotch
+TOOL_COMPILE_superlu = superlu
+TOOL_COMPILE_superludist = superludist
+TOOL_COMPILE_umfpack = umfpack
+TOOL_COMPILE_yams = yams
+TOOL_DYLIB_fflapack = fflapack.so
+TOOL_DYLIB_gsl = gsl.so NewSolver.so
+TOOL_DYLIB_hips = hips_FreeFem.so
+TOOL_DYLIB_ipopt = ff-Ipopt.so
+TOOL_DYLIB_lapack = lapack.so
+TOOL_DYLIB_metis = metis.so
+TOOL_DYLIB_mmg3d = mmg3d-v4.0.so
+TOOL_DYLIB_mshmet = mshmet.so
+TOOL_DYLIB_mumps = MUMPS_FreeFem.so MUMPS.so
+TOOL_DYLIB_mumps_seq = MUMPS_seq.so MUMPS.so
+TOOL_DYLIB_nlopt = ff-NLopt.so
+TOOL_DYLIB_pardiso =
+TOOL_DYLIB_parmetis =
+TOOL_DYLIB_parms = parms_FreeFem.so
+TOOL_DYLIB_pastix = interfacepastix.so complex_pastix_FreeFem.so real_pastix_FreeFem.so
+TOOL_DYLIB_pipe = pipe.so
+TOOL_DYLIB_scotch = scotch.so
+TOOL_DYLIB_superlu = SuperLu.so
+TOOL_DYLIB_superludist = complex_SuperLU_DIST_FreeFem.so real_SuperLU_DIST_FreeFem.so dSuperLU_DIST.so
+TOOL_DYLIB_umfpack = UMFPACK64.so
+TOOL_DYLIB_yams = freeyams.so
+UMFPACKLIBS = -lumfpack -lamd -lcholmod -lcolamd
+VERSION = 3.32-1
+WGET = wget --no-check-certificate
+WIN32DLLTARGET =
+WINDRESOBJ =
+YACC = bison -y
+YFLAGS =
+abs_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download
+abs_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download
+abs_top_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
+abs_top_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
+ac_ct_CC = gcc -Wl,-z,relro
+ac_ct_CXX =
+ac_ct_F77 = gfortran
+ac_ct_FC = gfortran
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-pc-linux-gnu
+build_alias = x86_64-linux-gnu
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+ff_bison = yes
+ff_convert = yes
+ff_curl =
+ff_dvips = yes
+ff_git =
+ff_gzip = yes
+ff_history =
+ff_latex = yes
+ff_libtool = yes
+ff_m4 = yes
+ff_makeindex = yes
+ff_patch = yes
+ff_pdf2ps = yes
+ff_pdflatex = yes
+ff_prefix_dir = /usr/lib/ff++/3.32-1
+ff_unzip =
+ff_wget = yes
+host = x86_64-pc-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = pc
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/install-sh
+libdir = ${prefix}/lib/x86_64-linux-gnu
+libexecdir = ${prefix}/lib/x86_64-linux-gnu
+localedir = ${datarootdir}/locale
+localstatedir = /var
+mandir = ${prefix}/share/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = /etc
+target_alias =
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
++=======
+ ACLOCAL = @ACLOCAL@
+ ADD_PACKAGE_NAME = @ADD_PACKAGE_NAME@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AR = @AR@
+ ARFLAGS = @ARFLAGS@
+ ARPACKLIB = @ARPACKLIB@
+ ARPACKLIBS = @ARPACKLIBS@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+ AWK = @AWK@
+ BAMGPROG = @BAMGPROG@
+ BLASINC = @BLASINC@
+ BLASLIBS = @BLASLIBS@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CFLAGSF77 = @CFLAGSF77@
+ CNOFLAGS = @CNOFLAGS@
+ COMPILE_OPENBLAS = @COMPILE_OPENBLAS@
+ CPPFLAGS = @CPPFLAGS@
+ CXX = @CXX@
+ CXX11FLAGS = @CXX11FLAGS@
+ CXXCPP = @CXXCPP@
+ CXXDEPMODE = @CXXDEPMODE@
+ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+ DOCPDF = @DOCPDF@
+ DOCPS = @DOCPS@
+ DOCPSGZ = @DOCPSGZ@
+ DOWNLOADCOMPILE = @DOWNLOADCOMPILE@
+ DOWNLOADED_BLAS = @DOWNLOADED_BLAS@
+ DOWNLOADED_BLAS_BUILT_SOURCES = @DOWNLOADED_BLAS_BUILT_SOURCES@
+ DOWNLOAD_ARPACK = @DOWNLOAD_ARPACK@
+ DOWNLOAD_FFTW = @DOWNLOAD_FFTW@
+ DOWNLOAD_UMFPACK = @DOWNLOAD_UMFPACK@
+ DYLIB_SUFFIX = @DYLIB_SUFFIX@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EIGENOBJ = @EIGENOBJ@
+ ENABLE_FFCS = @ENABLE_FFCS@
+ EPSTOPDF = @EPSTOPDF@
+ EXEEXT = @EXEEXT@
+ F77 = @F77@
+ FC = @FC@
+ FCFLAGS = @FCFLAGS@
+ FFGLUTNAME = @FFGLUTNAME@
+ FFGLUTPROG = @FFGLUTPROG@
+ FFLAGS = @FFLAGS@
+ FFMETIS_CFLAGS = @FFMETIS_CFLAGS@
+ FF_LAPACKdir = @FF_LAPACKdir@
+ FF_MALLOC_H = @FF_MALLOC_H@
+ FF_SECOND = @FF_SECOND@
+ FF_UMFPACK_CONFIG = @FF_UMFPACK_CONFIG@
+ FLIBS = @FLIBS@
+ FNOFLAGS = @FNOFLAGS@
+ G2CLIB = @G2CLIB@
+ GCCNOCYGWIN = @GCCNOCYGWIN@
+ GREP = @GREP@
+ GSL_CFLAGS = @GSL_CFLAGS@
+ GSL_CONFIG = @GSL_CONFIG@
+ GSL_LIBS = @GSL_LIBS@
+ H5CC = @H5CC@
+ H5FC = @H5FC@
+ HDF5_CC = @HDF5_CC@
+ HDF5_CFLAGS = @HDF5_CFLAGS@
+ HDF5_CPPFLAGS = @HDF5_CPPFLAGS@
+ HDF5_FC = @HDF5_FC@
+ HDF5_FFLAGS = @HDF5_FFLAGS@
+ HDF5_FLIBS = @HDF5_FLIBS@
+ HDF5_LDFLAGS = @HDF5_LDFLAGS@
+ HDF5_LIBS = @HDF5_LIBS@
+ HDF5_VERSION = @HDF5_VERSION@
+ HISTORY = @HISTORY@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ KERNEL_VERSION = @KERNEL_VERSION@
+ LAPACKLIBS = @LAPACKLIBS@
+ LAPACK_arpack_LIB = @LAPACK_arpack_LIB@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBC_VERSION = @LIBC_VERSION@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBSGLUT = @LIBSGLUT@
+ LIBSNOCONSOLE = @LIBSNOCONSOLE@
+ LIBSPTHREAD = @LIBSPTHREAD@
+ LOAD_COMPILE = @LOAD_COMPILE@
+ LOAD_TESTS = @LOAD_TESTS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
+ MEDITPROG = @MEDITPROG@
+ MKDIR_P = @MKDIR_P@
+ MPICC = @MPICC@
+ MPICXX = @MPICXX@
+ MPIF77 = @MPIF77@
+ MPIFC = @MPIFC@
+ MPIPROG = @MPIPROG@
+ MPIRUN = @MPIRUN@
+ MPISCRIPT = @MPISCRIPT@
+ MPI_INCLUDE = @MPI_INCLUDE@
+ MPI_INC_DIR = @MPI_INC_DIR@
+ MPI_LIB = @MPI_LIB@
+ MPI_LIBC = @MPI_LIBC@
+ MPI_LIBFC = @MPI_LIBFC@
+ MPI_LIB_DIRS = @MPI_LIB_DIRS@
+ NO_RANGE_CHECK = @NO_RANGE_CHECK@
+ OBJEXT = @OBJEXT@
+ OPTIM_TYPE = @OPTIM_TYPE@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PASTIX_HOSTARCH = @PASTIX_HOSTARCH@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ RANLIB = @RANLIB@
+ RANLIN = @RANLIN@
+ SCOTCH_INCLUDE = @SCOTCH_INCLUDE@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SIZEOF_INT = @SIZEOF_INT@
+ SIZEOF_LONG = @SIZEOF_LONG@
+ SIZEOF_PTR = @SIZEOF_PTR@
+ SIZEOF_PTRINBIT = @SIZEOF_PTRINBIT@
+ SKIP_TESTS_EIGEN = @SKIP_TESTS_EIGEN@
+ SKIP_TESTS_MPI = @SKIP_TESTS_MPI@
+ STATICTOOL = @STATICTOOL@
+ STDPROG = @STDPROG@
+ STD_GRAPH_OBJ = @STD_GRAPH_OBJ@
+ STD_LDFLAGS = @STD_LDFLAGS@
+ STD_LIBS = @STD_LIBS@
+ STRIP = @STRIP@
+ TEST_FFPP = @TEST_FFPP@
+ TEST_FFPPMPI = @TEST_FFPPMPI@
+ TOOL_COMPILE_NewSolver = @TOOL_COMPILE_NewSolver@
+ TOOL_COMPILE_fflapack = @TOOL_COMPILE_fflapack@
+ TOOL_COMPILE_gsl = @TOOL_COMPILE_gsl@
+ TOOL_COMPILE_hips = @TOOL_COMPILE_hips@
+ TOOL_COMPILE_iohdf5 = @TOOL_COMPILE_iohdf5@
+ TOOL_COMPILE_ipopt = @TOOL_COMPILE_ipopt@
+ TOOL_COMPILE_lapack = @TOOL_COMPILE_lapack@
+ TOOL_COMPILE_metis = @TOOL_COMPILE_metis@
+ TOOL_COMPILE_mmg3d = @TOOL_COMPILE_mmg3d@
+ TOOL_COMPILE_mshmet = @TOOL_COMPILE_mshmet@
+ TOOL_COMPILE_mumps = @TOOL_COMPILE_mumps@
+ TOOL_COMPILE_mumps_seq = @TOOL_COMPILE_mumps_seq@
+ TOOL_COMPILE_nlopt = @TOOL_COMPILE_nlopt@
+ TOOL_COMPILE_pardiso = @TOOL_COMPILE_pardiso@
+ TOOL_COMPILE_parmetis = @TOOL_COMPILE_parmetis@
+ TOOL_COMPILE_parms = @TOOL_COMPILE_parms@
+ TOOL_COMPILE_pastix = @TOOL_COMPILE_pastix@
+ TOOL_COMPILE_pipe = @TOOL_COMPILE_pipe@
+ TOOL_COMPILE_schwarz = @TOOL_COMPILE_schwarz@
+ TOOL_COMPILE_scotch = @TOOL_COMPILE_scotch@
+ TOOL_COMPILE_superlu = @TOOL_COMPILE_superlu@
+ TOOL_COMPILE_superludist = @TOOL_COMPILE_superludist@
+ TOOL_COMPILE_umfpack = @TOOL_COMPILE_umfpack@
+ TOOL_COMPILE_yams = @TOOL_COMPILE_yams@
+ TOOL_DYLIB_NewSolver = @TOOL_DYLIB_NewSolver@
+ TOOL_DYLIB_fflapack = @TOOL_DYLIB_fflapack@
+ TOOL_DYLIB_gsl = @TOOL_DYLIB_gsl@
+ TOOL_DYLIB_hips = @TOOL_DYLIB_hips@
+ TOOL_DYLIB_iohdf5 = @TOOL_DYLIB_iohdf5@
+ TOOL_DYLIB_ipopt = @TOOL_DYLIB_ipopt@
+ TOOL_DYLIB_lapack = @TOOL_DYLIB_lapack@
+ TOOL_DYLIB_metis = @TOOL_DYLIB_metis@
+ TOOL_DYLIB_mmg3d = @TOOL_DYLIB_mmg3d@
+ TOOL_DYLIB_mshmet = @TOOL_DYLIB_mshmet@
+ TOOL_DYLIB_mumps = @TOOL_DYLIB_mumps@
+ TOOL_DYLIB_mumps_seq = @TOOL_DYLIB_mumps_seq@
+ TOOL_DYLIB_nlopt = @TOOL_DYLIB_nlopt@
+ TOOL_DYLIB_pardiso = @TOOL_DYLIB_pardiso@
+ TOOL_DYLIB_parmetis = @TOOL_DYLIB_parmetis@
+ TOOL_DYLIB_parms = @TOOL_DYLIB_parms@
+ TOOL_DYLIB_pastix = @TOOL_DYLIB_pastix@
+ TOOL_DYLIB_pipe = @TOOL_DYLIB_pipe@
+ TOOL_DYLIB_schwarz = @TOOL_DYLIB_schwarz@
+ TOOL_DYLIB_scotch = @TOOL_DYLIB_scotch@
+ TOOL_DYLIB_superlu = @TOOL_DYLIB_superlu@
+ TOOL_DYLIB_superludist = @TOOL_DYLIB_superludist@
+ TOOL_DYLIB_umfpack = @TOOL_DYLIB_umfpack@
+ TOOL_DYLIB_yams = @TOOL_DYLIB_yams@
+ UMFPACKLIBS = @UMFPACKLIBS@
+ VERSION = @VERSION@
+ WGET = @WGET@
+ WIN32DLLTARGET = @WIN32DLLTARGET@
+ WINDRESOBJ = @WINDRESOBJ@
+ WITH_CXX11 = @WITH_CXX11@
+ YACC = @YACC@
+ YFLAGS = @YFLAGS@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_F77 = @ac_ct_F77@
+ ac_ct_FC = @ac_ct_FC@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
+ builddir = @builddir@
+ datadir = @datadir@
+ datarootdir = @datarootdir@
+ docdir = @docdir@
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ ff_bison = @ff_bison@
+ ff_convert = @ff_convert@
+ ff_curl = @ff_curl@
+ ff_dvips = @ff_dvips@
+ ff_git = @ff_git@
+ ff_gzip = @ff_gzip@
+ ff_history = @ff_history@
+ ff_latex = @ff_latex@
+ ff_libtool = @ff_libtool@
+ ff_m4 = @ff_m4@
+ ff_makeindex = @ff_makeindex@
+ ff_patch = @ff_patch@
+ ff_pdf2ps = @ff_pdf2ps@
+ ff_pdflatex = @ff_pdflatex@
+ ff_prefix_dir = @ff_prefix_dir@
+ ff_unzip = @ff_unzip@
+ ff_wget = @ff_wget@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
+ htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
++>>>>>>> upstream/3.34.2:download/Makefile.in
SUBDIRS = blas arpack umfpack
EXTRA_DIST = \
./nlopt/Make.inc ./nlopt/Makefile \
@@@ -513,15 -538,15 +792,23 @@@ getal
# FFCS: See [[file:../../../configure.ac::tools_problems_all_platforms]] for reasons why some tools may be deactivated
# <<no_more_blacs>> blacs is included in scalapack 2.0.2
-MPI_SOFT = @TOOL_COMPILE_parmetis@ scalapack @TOOL_COMPILE_superludist@ \
- @TOOL_COMPILE_mumps@ @TOOL_COMPILE_pastix@ \
- @TOOL_COMPILE_hips@ @TOOL_COMPILE_parms@
+MPI_SOFT = parmetis scalapack superludist \
+ mumps pastix \
+ hips parms
++<<<<<<< HEAD:download/Makefile
+LIST_SOFT = tetgen superlu fftw metis \
+ scotch mshmet \
+ yams mmg3d gmm \
+ nlopt mumps-seq \
+ ipopt
++=======
+ LIST_SOFT = tetgen @TOOL_COMPILE_superlu@ fftw @TOOL_COMPILE_metis@ \
+ @TOOL_COMPILE_scotch@ @TOOL_COMPILE_mshmet@ \
+ @TOOL_COMPILE_yams@ @TOOL_COMPILE_mmg3d@ gmm \
+ @TOOL_COMPILE_nlopt@ @TOOL_COMPILE_mumps_seq@ \
+ @TOOL_COMPILE_ipopt@
++>>>>>>> upstream/3.34.2:download/Makefile.in
all: all-recursive
diff --cc download/fftw/Makefile.orig
index c3eb82f,08f1544..cf1e64b
--- a/download/fftw/Makefile.orig
+++ b/download/fftw/Makefile.orig
@@@ -78,13 -78,15 +78,14 @@@ POST_INSTALL =
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
+build_triplet = x86_64-pc-linux-gnu
+host_triplet = x86_64-pc-linux-gnu
subdir = download/fftw
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/mkinstalldirs
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acmacros.m4 \
- $(top_srcdir)/acoptim.m4 $(top_srcdir)/acmpi.m4 \
+ $(top_srcdir)/acoptim.m4 $(top_srcdir)/ax_lib_hdf5.m4 \
+ $(top_srcdir)/ax_lib_gsl.m4 $(top_srcdir)/acmpi.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@@ -113,258 -115,281 +114,536 @@@ am__can_run_installinfo =
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++<<<<<<< HEAD:download/fftw/Makefile
+ACLOCAL = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing aclocal-1.14
+ADD_PACKAGE_NAME =
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AR = ar
+ARFLAGS = rv
+ARPACKLIB =
+ARPACKLIBS = -larpack -llapack
+AUTOCONF = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoconf
+AUTOHEADER = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoheader
+AUTOMAKE = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing automake-1.14
+AWK = gawk
+BAMGPROG = bamg cvmsh2
+BLASINC =
+BLASLIBS = -lblas
+CC = gcc -Wl,-z,relro
+CCDEPMODE = depmode=none
+CFLAGS = -g -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
+CFLAGSF77 = -DAdd_
+CNOFLAGS = -fPIC
+COMPILE_OPENBLAS =
+CPPFLAGS = -D_FORTIFY_SOURCE=2
+CXX = g++ -Wl,-z,relro
+CXXCPP = g++ -Wl,-z,relro -E
+CXXDEPMODE = depmode=none
+CXXFLAGS = -g -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -DBAMG_LONG_LONG -DNCHECKPTR -fPIC
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DOCPDF = freefem++doc.pdf
+DOCPS = freefem++doc.ps
+DOCPSGZ = freefem++doc.ps.gz
+DOWNLOADCOMPILE =
+DOWNLOADED_BLAS =
+DOWNLOADED_BLAS_BUILT_SOURCES =
+DOWNLOAD_ARPACK =
+DOWNLOAD_FFTW =
+DOWNLOAD_UMFPACK =
+DYLIB_SUFFIX = so
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = /bin/grep -E
+EIGENOBJ = eigenvalue.$(OBJEXT)
+ENABLE_FFCS = no
+EPSTOPDF = epstopdf
+EXEEXT =
+F77 = gfortran
+FC = gfortran
+FCFLAGS = -g -O2 -fstack-protector-strong -fPIC
+FFGLUTNAME =
+FFGLUTPROG = ffglut
+FFLAGS = -g -fstack-protector-strong -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
+FFMETIS_CFLAGS =
+FF_LAPACKdir =
+FF_MALLOC_H = 1
+FF_SECOND = second.o
+FF_UMFPACK_CONFIG =
+FLIBS = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+FNOFLAGS = -fPIC
+G2CLIB = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+GCCNOCYGWIN =
+GREP = /bin/grep
+HISTORY =
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+KERNEL_VERSION = 3.16.0
+LAPACKLIBS = -llapack
+LAPACK_arpack_LIB =
+LDFLAGS = -Wl,-z,relro -rdynamic
+LEX = flex
+LEXLIB =
+LEX_OUTPUT_ROOT = lex.yy
+LIBC_VERSION = libc-2.19
+LIBOBJS =
+LIBS = -ldl -lm /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+LIBSGLUT = -lglut -lGLU -lGL
+LIBSNOCONSOLE =
+LIBSPTHREAD = -lpthread
+LOAD_COMPILE = load_compile
+LOAD_TESTS = ../regtests.sh
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing makeinfo
+MEDITPROG = ffmedit
+MKDIR_P = /bin/mkdir -p
+MPICC = /usr/bin/mpicc
+MPICXX = mpic++ -Wl,-z,relro
+MPIF77 = /usr/bin/mpif90
+MPIFC = /usr/bin/mpif90
+MPIPROG = FreeFem++-mpi
+MPIRUN = /usr/bin/mpirun
+MPISCRIPT = ff-mpirun
+MPI_INCLUDE =
+MPI_INC_DIR =
+MPI_LIB = -Wl,-z,relro
+MPI_LIBC =
+MPI_LIBFC = -pthread -L/usr//lib -L/usr/lib/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lhwloc
+MPI_LIB_DIRS =
+NO_RANGE_CHECK =
+OBJEXT = o
+OPTIM_TYPE =
+PACKAGE = fftw-$(FFTW_VERSION).tar.gz
+PACKAGE_BUGREPORT = hecht at ann.jussieu.fr
+PACKAGE_NAME = FreeFem++
+PACKAGE_STRING = FreeFem++ 3.32-1
+PACKAGE_TARNAME = freefem++
+PACKAGE_URL =
+PACKAGE_VERSION = 3.32-1
+PASTIX_HOSTARCH =
+PATH_SEPARATOR = :
+RANLIB = ranlib
+RANLIN = ranlib
+SCOTCH_INCLUDE = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/include/scotch
+SET_MAKE =
+SHELL = /bin/bash
+SIZEOF_INT = 4
+SIZEOF_LONG = 8
+SIZEOF_PTR = 8
+SIZEOF_PTRINBIT = 64
+SKIP_TESTS_EIGEN =
+SKIP_TESTS_MPI = no
+STATICTOOL =
+STDPROG =
+STD_GRAPH_OBJ =
+STD_LDFLAGS =
+STD_LIBS =
+STRIP =
+TEST_FFPP = ../src/nw/FreeFem++
+TEST_FFPPMPI = ../src/mpi/ff-mpirun
+TOOL_COMPILE_fflapack = fflapack
+TOOL_COMPILE_gsl = gsl
+TOOL_COMPILE_hips = hips
+TOOL_COMPILE_ipopt = ipopt
+TOOL_COMPILE_lapack = lapack
+TOOL_COMPILE_metis = metis
+TOOL_COMPILE_mmg3d = mmg3d
+TOOL_COMPILE_mshmet = mshmet
+TOOL_COMPILE_mumps = mumps
+TOOL_COMPILE_mumps_seq = mumps-seq
+TOOL_COMPILE_nlopt = nlopt
+TOOL_COMPILE_pardiso =
+TOOL_COMPILE_parmetis = parmetis
+TOOL_COMPILE_parms = parms
+TOOL_COMPILE_pastix = pastix
+TOOL_COMPILE_pipe = pipe
+TOOL_COMPILE_scotch = scotch
+TOOL_COMPILE_superlu = superlu
+TOOL_COMPILE_superludist = superludist
+TOOL_COMPILE_umfpack = umfpack
+TOOL_COMPILE_yams = yams
+TOOL_DYLIB_fflapack = fflapack.so
+TOOL_DYLIB_gsl = gsl.so NewSolver.so
+TOOL_DYLIB_hips = hips_FreeFem.so
+TOOL_DYLIB_ipopt = ff-Ipopt.so
+TOOL_DYLIB_lapack = lapack.so
+TOOL_DYLIB_metis = metis.so
+TOOL_DYLIB_mmg3d = mmg3d-v4.0.so
+TOOL_DYLIB_mshmet = mshmet.so
+TOOL_DYLIB_mumps = MUMPS_FreeFem.so MUMPS.so
+TOOL_DYLIB_mumps_seq = MUMPS_seq.so MUMPS.so
+TOOL_DYLIB_nlopt = ff-NLopt.so
+TOOL_DYLIB_pardiso =
+TOOL_DYLIB_parmetis =
+TOOL_DYLIB_parms = parms_FreeFem.so
+TOOL_DYLIB_pastix = interfacepastix.so complex_pastix_FreeFem.so real_pastix_FreeFem.so
+TOOL_DYLIB_pipe = pipe.so
+TOOL_DYLIB_scotch = scotch.so
+TOOL_DYLIB_superlu = SuperLu.so
+TOOL_DYLIB_superludist = complex_SuperLU_DIST_FreeFem.so real_SuperLU_DIST_FreeFem.so dSuperLU_DIST.so
+TOOL_DYLIB_umfpack = UMFPACK64.so
+TOOL_DYLIB_yams = freeyams.so
+UMFPACKLIBS = -lumfpack -lamd -lcholmod -lcolamd
+VERSION = 3.32-1
+WGET = wget --no-check-certificate
+WIN32DLLTARGET =
+WINDRESOBJ =
+YACC = bison -y
+YFLAGS =
+abs_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/fftw
+abs_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/fftw
+abs_top_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
+abs_top_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
+ac_ct_CC = gcc -Wl,-z,relro
+ac_ct_CXX =
+ac_ct_F77 = gfortran
+ac_ct_FC = gfortran
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-pc-linux-gnu
+build_alias = x86_64-linux-gnu
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+ff_bison = yes
+ff_convert = yes
+ff_curl =
+ff_dvips = yes
+ff_git =
+ff_gzip = yes
+ff_history =
+ff_latex = yes
+ff_libtool = yes
+ff_m4 = yes
+ff_makeindex = yes
+ff_patch = yes
+ff_pdf2ps = yes
+ff_pdflatex = yes
+ff_prefix_dir = /usr/lib/ff++/3.32-1
+ff_unzip =
+ff_wget = yes
+host = x86_64-pc-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = pc
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/install-sh
+libdir = ${prefix}/lib/x86_64-linux-gnu
+libexecdir = ${prefix}/lib/x86_64-linux-gnu
+localedir = ${datarootdir}/locale
+localstatedir = /var
+mandir = ${prefix}/share/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = /etc
+target_alias =
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
++=======
+ ACLOCAL = @ACLOCAL@
+ ADD_PACKAGE_NAME = @ADD_PACKAGE_NAME@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AR = @AR@
+ ARFLAGS = @ARFLAGS@
+ ARPACKLIB = @ARPACKLIB@
+ ARPACKLIBS = @ARPACKLIBS@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+ AWK = @AWK@
+ BAMGPROG = @BAMGPROG@
+ BLASINC = @BLASINC@
+ BLASLIBS = @BLASLIBS@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CFLAGSF77 = @CFLAGSF77@
+ CNOFLAGS = @CNOFLAGS@
+ COMPILE_OPENBLAS = @COMPILE_OPENBLAS@
+ CPPFLAGS = @CPPFLAGS@
+ CXX = @CXX@
+ CXX11FLAGS = @CXX11FLAGS@
+ CXXCPP = @CXXCPP@
+ CXXDEPMODE = @CXXDEPMODE@
+ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+ DOCPDF = @DOCPDF@
+ DOCPS = @DOCPS@
+ DOCPSGZ = @DOCPSGZ@
+ DOWNLOADCOMPILE = @DOWNLOADCOMPILE@
+ DOWNLOADED_BLAS = @DOWNLOADED_BLAS@
+ DOWNLOADED_BLAS_BUILT_SOURCES = @DOWNLOADED_BLAS_BUILT_SOURCES@
+ DOWNLOAD_ARPACK = @DOWNLOAD_ARPACK@
+ DOWNLOAD_FFTW = @DOWNLOAD_FFTW@
+ DOWNLOAD_UMFPACK = @DOWNLOAD_UMFPACK@
+ DYLIB_SUFFIX = @DYLIB_SUFFIX@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EIGENOBJ = @EIGENOBJ@
+ ENABLE_FFCS = @ENABLE_FFCS@
+ EPSTOPDF = @EPSTOPDF@
+ EXEEXT = @EXEEXT@
+ F77 = @F77@
+ FC = @FC@
+ FCFLAGS = @FCFLAGS@
+ FFGLUTNAME = @FFGLUTNAME@
+ FFGLUTPROG = @FFGLUTPROG@
+ FFLAGS = @FFLAGS@
+ FFMETIS_CFLAGS = @FFMETIS_CFLAGS@
+ FF_LAPACKdir = @FF_LAPACKdir@
+ FF_MALLOC_H = @FF_MALLOC_H@
+ FF_SECOND = @FF_SECOND@
+ FF_UMFPACK_CONFIG = @FF_UMFPACK_CONFIG@
+ FLIBS = @FLIBS@
+ FNOFLAGS = @FNOFLAGS@
+ G2CLIB = @G2CLIB@
+ GCCNOCYGWIN = @GCCNOCYGWIN@
+ GREP = @GREP@
+ GSL_CFLAGS = @GSL_CFLAGS@
+ GSL_CONFIG = @GSL_CONFIG@
+ GSL_LIBS = @GSL_LIBS@
+ H5CC = @H5CC@
+ H5FC = @H5FC@
+ HDF5_CC = @HDF5_CC@
+ HDF5_CFLAGS = @HDF5_CFLAGS@
+ HDF5_CPPFLAGS = @HDF5_CPPFLAGS@
+ HDF5_FC = @HDF5_FC@
+ HDF5_FFLAGS = @HDF5_FFLAGS@
+ HDF5_FLIBS = @HDF5_FLIBS@
+ HDF5_LDFLAGS = @HDF5_LDFLAGS@
+ HDF5_LIBS = @HDF5_LIBS@
+ HDF5_VERSION = @HDF5_VERSION@
+ HISTORY = @HISTORY@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ KERNEL_VERSION = @KERNEL_VERSION@
+ LAPACKLIBS = @LAPACKLIBS@
+ LAPACK_arpack_LIB = @LAPACK_arpack_LIB@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBC_VERSION = @LIBC_VERSION@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBSGLUT = @LIBSGLUT@
+ LIBSNOCONSOLE = @LIBSNOCONSOLE@
+ LIBSPTHREAD = @LIBSPTHREAD@
+ LOAD_COMPILE = @LOAD_COMPILE@
+ LOAD_TESTS = @LOAD_TESTS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
+ MEDITPROG = @MEDITPROG@
+ MKDIR_P = @MKDIR_P@
+ MPICC = @MPICC@
+ MPICXX = @MPICXX@
+ MPIF77 = @MPIF77@
+ MPIFC = @MPIFC@
+ MPIPROG = @MPIPROG@
+ MPIRUN = @MPIRUN@
+ MPISCRIPT = @MPISCRIPT@
+ MPI_INCLUDE = @MPI_INCLUDE@
+ MPI_INC_DIR = @MPI_INC_DIR@
+ MPI_LIB = @MPI_LIB@
+ MPI_LIBC = @MPI_LIBC@
+ MPI_LIBFC = @MPI_LIBFC@
+ MPI_LIB_DIRS = @MPI_LIB_DIRS@
+ NO_RANGE_CHECK = @NO_RANGE_CHECK@
+ OBJEXT = @OBJEXT@
+ OPTIM_TYPE = @OPTIM_TYPE@
+ PACKAGE = fftw-$(FFTW_VERSION).tar.gz
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PASTIX_HOSTARCH = @PASTIX_HOSTARCH@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ RANLIB = @RANLIB@
+ RANLIN = @RANLIN@
+ SCOTCH_INCLUDE = @SCOTCH_INCLUDE@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SIZEOF_INT = @SIZEOF_INT@
+ SIZEOF_LONG = @SIZEOF_LONG@
+ SIZEOF_PTR = @SIZEOF_PTR@
+ SIZEOF_PTRINBIT = @SIZEOF_PTRINBIT@
+ SKIP_TESTS_EIGEN = @SKIP_TESTS_EIGEN@
+ SKIP_TESTS_MPI = @SKIP_TESTS_MPI@
+ STATICTOOL = @STATICTOOL@
+ STDPROG = @STDPROG@
+ STD_GRAPH_OBJ = @STD_GRAPH_OBJ@
+ STD_LDFLAGS = @STD_LDFLAGS@
+ STD_LIBS = @STD_LIBS@
+ STRIP = @STRIP@
+ TEST_FFPP = @TEST_FFPP@
+ TEST_FFPPMPI = @TEST_FFPPMPI@
+ TOOL_COMPILE_NewSolver = @TOOL_COMPILE_NewSolver@
+ TOOL_COMPILE_fflapack = @TOOL_COMPILE_fflapack@
+ TOOL_COMPILE_gsl = @TOOL_COMPILE_gsl@
+ TOOL_COMPILE_hips = @TOOL_COMPILE_hips@
+ TOOL_COMPILE_iohdf5 = @TOOL_COMPILE_iohdf5@
+ TOOL_COMPILE_ipopt = @TOOL_COMPILE_ipopt@
+ TOOL_COMPILE_lapack = @TOOL_COMPILE_lapack@
+ TOOL_COMPILE_metis = @TOOL_COMPILE_metis@
+ TOOL_COMPILE_mmg3d = @TOOL_COMPILE_mmg3d@
+ TOOL_COMPILE_mshmet = @TOOL_COMPILE_mshmet@
+ TOOL_COMPILE_mumps = @TOOL_COMPILE_mumps@
+ TOOL_COMPILE_mumps_seq = @TOOL_COMPILE_mumps_seq@
+ TOOL_COMPILE_nlopt = @TOOL_COMPILE_nlopt@
+ TOOL_COMPILE_pardiso = @TOOL_COMPILE_pardiso@
+ TOOL_COMPILE_parmetis = @TOOL_COMPILE_parmetis@
+ TOOL_COMPILE_parms = @TOOL_COMPILE_parms@
+ TOOL_COMPILE_pastix = @TOOL_COMPILE_pastix@
+ TOOL_COMPILE_pipe = @TOOL_COMPILE_pipe@
+ TOOL_COMPILE_schwarz = @TOOL_COMPILE_schwarz@
+ TOOL_COMPILE_scotch = @TOOL_COMPILE_scotch@
+ TOOL_COMPILE_superlu = @TOOL_COMPILE_superlu@
+ TOOL_COMPILE_superludist = @TOOL_COMPILE_superludist@
+ TOOL_COMPILE_umfpack = @TOOL_COMPILE_umfpack@
+ TOOL_COMPILE_yams = @TOOL_COMPILE_yams@
+ TOOL_DYLIB_NewSolver = @TOOL_DYLIB_NewSolver@
+ TOOL_DYLIB_fflapack = @TOOL_DYLIB_fflapack@
+ TOOL_DYLIB_gsl = @TOOL_DYLIB_gsl@
+ TOOL_DYLIB_hips = @TOOL_DYLIB_hips@
+ TOOL_DYLIB_iohdf5 = @TOOL_DYLIB_iohdf5@
+ TOOL_DYLIB_ipopt = @TOOL_DYLIB_ipopt@
+ TOOL_DYLIB_lapack = @TOOL_DYLIB_lapack@
+ TOOL_DYLIB_metis = @TOOL_DYLIB_metis@
+ TOOL_DYLIB_mmg3d = @TOOL_DYLIB_mmg3d@
+ TOOL_DYLIB_mshmet = @TOOL_DYLIB_mshmet@
+ TOOL_DYLIB_mumps = @TOOL_DYLIB_mumps@
+ TOOL_DYLIB_mumps_seq = @TOOL_DYLIB_mumps_seq@
+ TOOL_DYLIB_nlopt = @TOOL_DYLIB_nlopt@
+ TOOL_DYLIB_pardiso = @TOOL_DYLIB_pardiso@
+ TOOL_DYLIB_parmetis = @TOOL_DYLIB_parmetis@
+ TOOL_DYLIB_parms = @TOOL_DYLIB_parms@
+ TOOL_DYLIB_pastix = @TOOL_DYLIB_pastix@
+ TOOL_DYLIB_pipe = @TOOL_DYLIB_pipe@
+ TOOL_DYLIB_schwarz = @TOOL_DYLIB_schwarz@
+ TOOL_DYLIB_scotch = @TOOL_DYLIB_scotch@
+ TOOL_DYLIB_superlu = @TOOL_DYLIB_superlu@
+ TOOL_DYLIB_superludist = @TOOL_DYLIB_superludist@
+ TOOL_DYLIB_umfpack = @TOOL_DYLIB_umfpack@
+ TOOL_DYLIB_yams = @TOOL_DYLIB_yams@
+ UMFPACKLIBS = @UMFPACKLIBS@
+ VERSION = @VERSION@
+ WGET = @WGET@
+ WIN32DLLTARGET = @WIN32DLLTARGET@
+ WINDRESOBJ = @WINDRESOBJ@
+ WITH_CXX11 = @WITH_CXX11@
+ YACC = @YACC@
+ YFLAGS = @YFLAGS@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_F77 = @ac_ct_F77@
+ ac_ct_FC = @ac_ct_FC@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
+ builddir = @builddir@
+ datadir = @datadir@
+ datarootdir = @datarootdir@
+ docdir = @docdir@
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ ff_bison = @ff_bison@
+ ff_convert = @ff_convert@
+ ff_curl = @ff_curl@
+ ff_dvips = @ff_dvips@
+ ff_git = @ff_git@
+ ff_gzip = @ff_gzip@
+ ff_history = @ff_history@
+ ff_latex = @ff_latex@
+ ff_libtool = @ff_libtool@
+ ff_m4 = @ff_m4@
+ ff_makeindex = @ff_makeindex@
+ ff_patch = @ff_patch@
+ ff_pdf2ps = @ff_pdf2ps@
+ ff_pdflatex = @ff_pdflatex@
+ ff_prefix_dir = @ff_prefix_dir@
+ ff_unzip = @ff_unzip@
+ ff_wget = @ff_wget@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
+ htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
++>>>>>>> upstream/3.34.2:download/fftw/Makefile.in
# Downloading and compiling FFTW
# ------------------------------
diff --cc download/umfpack/Makefile.orig
index e37aee9,b909870..603b305
--- a/download/umfpack/Makefile.orig
+++ b/download/umfpack/Makefile.orig
@@@ -98,13 -98,15 +98,14 @@@ POST_INSTALL =
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
+build_triplet = x86_64-pc-linux-gnu
+host_triplet = x86_64-pc-linux-gnu
subdir = download/umfpack
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/mkinstalldirs
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acmacros.m4 \
- $(top_srcdir)/acoptim.m4 $(top_srcdir)/acmpi.m4 \
+ $(top_srcdir)/acoptim.m4 $(top_srcdir)/ax_lib_hdf5.m4 \
+ $(top_srcdir)/ax_lib_gsl.m4 $(top_srcdir)/acmpi.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@@ -133,258 -135,281 +134,536 @@@ am__can_run_installinfo =
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++<<<<<<< HEAD:download/umfpack/Makefile
+ACLOCAL = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing aclocal-1.14
+ADD_PACKAGE_NAME =
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AR = ar
+ARFLAGS = rv
+ARPACKLIB =
+ARPACKLIBS = -larpack -llapack
+AUTOCONF = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoconf
+AUTOHEADER = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoheader
+AUTOMAKE = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing automake-1.14
+AWK = gawk
+BAMGPROG = bamg cvmsh2
+BLASINC =
+BLASLIBS = -lblas
+CC = gcc -Wl,-z,relro
+CCDEPMODE = depmode=none
+CFLAGS = -g -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
+CFLAGSF77 = -DAdd_
+CNOFLAGS = -fPIC
+COMPILE_OPENBLAS =
+CPPFLAGS = -D_FORTIFY_SOURCE=2
+CXX = g++ -Wl,-z,relro
+CXXCPP = g++ -Wl,-z,relro -E
+CXXDEPMODE = depmode=none
+CXXFLAGS = -g -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -DBAMG_LONG_LONG -DNCHECKPTR -fPIC
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DOCPDF = freefem++doc.pdf
+DOCPS = freefem++doc.ps
+DOCPSGZ = freefem++doc.ps.gz
+DOWNLOADCOMPILE =
+DOWNLOADED_BLAS =
+DOWNLOADED_BLAS_BUILT_SOURCES =
+DOWNLOAD_ARPACK =
+DOWNLOAD_FFTW =
+DOWNLOAD_UMFPACK =
+DYLIB_SUFFIX = so
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = /bin/grep -E
+EIGENOBJ = eigenvalue.$(OBJEXT)
+ENABLE_FFCS = no
+EPSTOPDF = epstopdf
+EXEEXT =
+F77 = gfortran
+FC = gfortran
+FCFLAGS = -g -O2 -fstack-protector-strong -fPIC
+FFGLUTNAME =
+FFGLUTPROG = ffglut
+FFLAGS = -g -fstack-protector-strong -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
+FFMETIS_CFLAGS =
+FF_LAPACKdir =
+FF_MALLOC_H = 1
+FF_SECOND = second.o
+FF_UMFPACK_CONFIG =
+FLIBS = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+FNOFLAGS = -fPIC
+G2CLIB = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+GCCNOCYGWIN =
+GREP = /bin/grep
+HISTORY =
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+KERNEL_VERSION = 3.16.0
+LAPACKLIBS = -llapack
+LAPACK_arpack_LIB =
+LDFLAGS = -Wl,-z,relro -rdynamic
+LEX = flex
+LEXLIB =
+LEX_OUTPUT_ROOT = lex.yy
+LIBC_VERSION = libc-2.19
+LIBOBJS =
+LIBS = -ldl -lm /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
+LIBSGLUT = -lglut -lGLU -lGL
+LIBSNOCONSOLE =
+LIBSPTHREAD = -lpthread
+LOAD_COMPILE = load_compile
+LOAD_TESTS = ../regtests.sh
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing makeinfo
+MEDITPROG = ffmedit
+MKDIR_P = /bin/mkdir -p
+MPICC = /usr/bin/mpicc
+MPICXX = mpic++ -Wl,-z,relro
+MPIF77 = /usr/bin/mpif90
+MPIFC = /usr/bin/mpif90
+MPIPROG = FreeFem++-mpi
+MPIRUN = /usr/bin/mpirun
+MPISCRIPT = ff-mpirun
+MPI_INCLUDE =
+MPI_INC_DIR =
+MPI_LIB = -Wl,-z,relro
+MPI_LIBC =
+MPI_LIBFC = -pthread -L/usr//lib -L/usr/lib/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lhwloc
+MPI_LIB_DIRS =
+NO_RANGE_CHECK =
+OBJEXT = o
+OPTIM_TYPE =
+PACKAGE = freefem++
+PACKAGE_BUGREPORT = hecht at ann.jussieu.fr
+PACKAGE_NAME = FreeFem++
+PACKAGE_STRING = FreeFem++ 3.32-1
+PACKAGE_TARNAME = freefem++
+PACKAGE_URL =
+PACKAGE_VERSION = 3.32-1
+PASTIX_HOSTARCH =
+PATH_SEPARATOR = :
+RANLIB = ranlib
+RANLIN = ranlib
+SCOTCH_INCLUDE = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/include/scotch
+SET_MAKE =
+SHELL = /bin/bash
+SIZEOF_INT = 4
+SIZEOF_LONG = 8
+SIZEOF_PTR = 8
+SIZEOF_PTRINBIT = 64
+SKIP_TESTS_EIGEN =
+SKIP_TESTS_MPI = no
+STATICTOOL =
+STDPROG =
+STD_GRAPH_OBJ =
+STD_LDFLAGS =
+STD_LIBS =
+STRIP =
+TEST_FFPP = ../src/nw/FreeFem++
+TEST_FFPPMPI = ../src/mpi/ff-mpirun
+TOOL_COMPILE_fflapack = fflapack
+TOOL_COMPILE_gsl = gsl
+TOOL_COMPILE_hips = hips
+TOOL_COMPILE_ipopt = ipopt
+TOOL_COMPILE_lapack = lapack
+TOOL_COMPILE_metis = metis
+TOOL_COMPILE_mmg3d = mmg3d
+TOOL_COMPILE_mshmet = mshmet
+TOOL_COMPILE_mumps = mumps
+TOOL_COMPILE_mumps_seq = mumps-seq
+TOOL_COMPILE_nlopt = nlopt
+TOOL_COMPILE_pardiso =
+TOOL_COMPILE_parmetis = parmetis
+TOOL_COMPILE_parms = parms
+TOOL_COMPILE_pastix = pastix
+TOOL_COMPILE_pipe = pipe
+TOOL_COMPILE_scotch = scotch
+TOOL_COMPILE_superlu = superlu
+TOOL_COMPILE_superludist = superludist
+TOOL_COMPILE_umfpack = umfpack
+TOOL_COMPILE_yams = yams
+TOOL_DYLIB_fflapack = fflapack.so
+TOOL_DYLIB_gsl = gsl.so NewSolver.so
+TOOL_DYLIB_hips = hips_FreeFem.so
+TOOL_DYLIB_ipopt = ff-Ipopt.so
+TOOL_DYLIB_lapack = lapack.so
+TOOL_DYLIB_metis = metis.so
+TOOL_DYLIB_mmg3d = mmg3d-v4.0.so
+TOOL_DYLIB_mshmet = mshmet.so
+TOOL_DYLIB_mumps = MUMPS_FreeFem.so MUMPS.so
+TOOL_DYLIB_mumps_seq = MUMPS_seq.so MUMPS.so
+TOOL_DYLIB_nlopt = ff-NLopt.so
+TOOL_DYLIB_pardiso =
+TOOL_DYLIB_parmetis =
+TOOL_DYLIB_parms = parms_FreeFem.so
+TOOL_DYLIB_pastix = interfacepastix.so complex_pastix_FreeFem.so real_pastix_FreeFem.so
+TOOL_DYLIB_pipe = pipe.so
+TOOL_DYLIB_scotch = scotch.so
+TOOL_DYLIB_superlu = SuperLu.so
+TOOL_DYLIB_superludist = complex_SuperLU_DIST_FreeFem.so real_SuperLU_DIST_FreeFem.so dSuperLU_DIST.so
+TOOL_DYLIB_umfpack = UMFPACK64.so
+TOOL_DYLIB_yams = freeyams.so
+UMFPACKLIBS = -lumfpack -lamd -lcholmod -lcolamd
+VERSION = 3.32-1
+WGET = wget --no-check-certificate
+WIN32DLLTARGET =
+WINDRESOBJ =
+YACC = bison -y
+YFLAGS =
+abs_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/umfpack
+abs_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/umfpack
+abs_top_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
+abs_top_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
+ac_ct_CC = gcc -Wl,-z,relro
+ac_ct_CXX =
+ac_ct_F77 = gfortran
+ac_ct_FC = gfortran
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-pc-linux-gnu
+build_alias = x86_64-linux-gnu
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+ff_bison = yes
+ff_convert = yes
+ff_curl =
+ff_dvips = yes
+ff_git =
+ff_gzip = yes
+ff_history =
+ff_latex = yes
+ff_libtool = yes
+ff_m4 = yes
+ff_makeindex = yes
+ff_patch = yes
+ff_pdf2ps = yes
+ff_pdflatex = yes
+ff_prefix_dir = /usr/lib/ff++/3.32-1
+ff_unzip =
+ff_wget = yes
+host = x86_64-pc-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = pc
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${prefix}/share/info
+install_sh = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/install-sh
+libdir = ${prefix}/lib/x86_64-linux-gnu
+libexecdir = ${prefix}/lib/x86_64-linux-gnu
+localedir = ${datarootdir}/locale
+localstatedir = /var
+mandir = ${prefix}/share/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = /etc
+target_alias =
+top_build_prefix = ../../
+top_builddir = ../..
+top_srcdir = ../..
++=======
+ ACLOCAL = @ACLOCAL@
+ ADD_PACKAGE_NAME = @ADD_PACKAGE_NAME@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AR = @AR@
+ ARFLAGS = @ARFLAGS@
+ ARPACKLIB = @ARPACKLIB@
+ ARPACKLIBS = @ARPACKLIBS@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+ AWK = @AWK@
+ BAMGPROG = @BAMGPROG@
+ BLASINC = @BLASINC@
+ BLASLIBS = @BLASLIBS@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CFLAGSF77 = @CFLAGSF77@
+ CNOFLAGS = @CNOFLAGS@
+ COMPILE_OPENBLAS = @COMPILE_OPENBLAS@
+ CPPFLAGS = @CPPFLAGS@
+ CXX = @CXX@
+ CXX11FLAGS = @CXX11FLAGS@
+ CXXCPP = @CXXCPP@
+ CXXDEPMODE = @CXXDEPMODE@
+ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+ DOCPDF = @DOCPDF@
+ DOCPS = @DOCPS@
+ DOCPSGZ = @DOCPSGZ@
+ DOWNLOADCOMPILE = @DOWNLOADCOMPILE@
+ DOWNLOADED_BLAS = @DOWNLOADED_BLAS@
+ DOWNLOADED_BLAS_BUILT_SOURCES = @DOWNLOADED_BLAS_BUILT_SOURCES@
+ DOWNLOAD_ARPACK = @DOWNLOAD_ARPACK@
+ DOWNLOAD_FFTW = @DOWNLOAD_FFTW@
+ DOWNLOAD_UMFPACK = @DOWNLOAD_UMFPACK@
+ DYLIB_SUFFIX = @DYLIB_SUFFIX@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EIGENOBJ = @EIGENOBJ@
+ ENABLE_FFCS = @ENABLE_FFCS@
+ EPSTOPDF = @EPSTOPDF@
+ EXEEXT = @EXEEXT@
+ F77 = @F77@
+ FC = @FC@
+ FCFLAGS = @FCFLAGS@
+ FFGLUTNAME = @FFGLUTNAME@
+ FFGLUTPROG = @FFGLUTPROG@
+ FFLAGS = @FFLAGS@
+ FFMETIS_CFLAGS = @FFMETIS_CFLAGS@
+ FF_LAPACKdir = @FF_LAPACKdir@
+ FF_MALLOC_H = @FF_MALLOC_H@
+ FF_SECOND = @FF_SECOND@
+ FF_UMFPACK_CONFIG = @FF_UMFPACK_CONFIG@
+ FLIBS = @FLIBS@
+ FNOFLAGS = @FNOFLAGS@
+ G2CLIB = @G2CLIB@
+ GCCNOCYGWIN = @GCCNOCYGWIN@
+ GREP = @GREP@
+ GSL_CFLAGS = @GSL_CFLAGS@
+ GSL_CONFIG = @GSL_CONFIG@
+ GSL_LIBS = @GSL_LIBS@
+ H5CC = @H5CC@
+ H5FC = @H5FC@
+ HDF5_CC = @HDF5_CC@
+ HDF5_CFLAGS = @HDF5_CFLAGS@
+ HDF5_CPPFLAGS = @HDF5_CPPFLAGS@
+ HDF5_FC = @HDF5_FC@
+ HDF5_FFLAGS = @HDF5_FFLAGS@
+ HDF5_FLIBS = @HDF5_FLIBS@
+ HDF5_LDFLAGS = @HDF5_LDFLAGS@
+ HDF5_LIBS = @HDF5_LIBS@
+ HDF5_VERSION = @HDF5_VERSION@
+ HISTORY = @HISTORY@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ KERNEL_VERSION = @KERNEL_VERSION@
+ LAPACKLIBS = @LAPACKLIBS@
+ LAPACK_arpack_LIB = @LAPACK_arpack_LIB@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBC_VERSION = @LIBC_VERSION@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBSGLUT = @LIBSGLUT@
+ LIBSNOCONSOLE = @LIBSNOCONSOLE@
+ LIBSPTHREAD = @LIBSPTHREAD@
+ LOAD_COMPILE = @LOAD_COMPILE@
+ LOAD_TESTS = @LOAD_TESTS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
+ MEDITPROG = @MEDITPROG@
+ MKDIR_P = @MKDIR_P@
+ MPICC = @MPICC@
+ MPICXX = @MPICXX@
+ MPIF77 = @MPIF77@
+ MPIFC = @MPIFC@
+ MPIPROG = @MPIPROG@
+ MPIRUN = @MPIRUN@
+ MPISCRIPT = @MPISCRIPT@
+ MPI_INCLUDE = @MPI_INCLUDE@
+ MPI_INC_DIR = @MPI_INC_DIR@
+ MPI_LIB = @MPI_LIB@
+ MPI_LIBC = @MPI_LIBC@
+ MPI_LIBFC = @MPI_LIBFC@
+ MPI_LIB_DIRS = @MPI_LIB_DIRS@
+ NO_RANGE_CHECK = @NO_RANGE_CHECK@
+ OBJEXT = @OBJEXT@
+ OPTIM_TYPE = @OPTIM_TYPE@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PASTIX_HOSTARCH = @PASTIX_HOSTARCH@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ RANLIB = @RANLIB@
+ RANLIN = @RANLIN@
+ SCOTCH_INCLUDE = @SCOTCH_INCLUDE@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SIZEOF_INT = @SIZEOF_INT@
+ SIZEOF_LONG = @SIZEOF_LONG@
+ SIZEOF_PTR = @SIZEOF_PTR@
+ SIZEOF_PTRINBIT = @SIZEOF_PTRINBIT@
+ SKIP_TESTS_EIGEN = @SKIP_TESTS_EIGEN@
+ SKIP_TESTS_MPI = @SKIP_TESTS_MPI@
+ STATICTOOL = @STATICTOOL@
+ STDPROG = @STDPROG@
+ STD_GRAPH_OBJ = @STD_GRAPH_OBJ@
+ STD_LDFLAGS = @STD_LDFLAGS@
+ STD_LIBS = @STD_LIBS@
+ STRIP = @STRIP@
+ TEST_FFPP = @TEST_FFPP@
+ TEST_FFPPMPI = @TEST_FFPPMPI@
+ TOOL_COMPILE_NewSolver = @TOOL_COMPILE_NewSolver@
+ TOOL_COMPILE_fflapack = @TOOL_COMPILE_fflapack@
+ TOOL_COMPILE_gsl = @TOOL_COMPILE_gsl@
+ TOOL_COMPILE_hips = @TOOL_COMPILE_hips@
+ TOOL_COMPILE_iohdf5 = @TOOL_COMPILE_iohdf5@
+ TOOL_COMPILE_ipopt = @TOOL_COMPILE_ipopt@
+ TOOL_COMPILE_lapack = @TOOL_COMPILE_lapack@
+ TOOL_COMPILE_metis = @TOOL_COMPILE_metis@
+ TOOL_COMPILE_mmg3d = @TOOL_COMPILE_mmg3d@
+ TOOL_COMPILE_mshmet = @TOOL_COMPILE_mshmet@
+ TOOL_COMPILE_mumps = @TOOL_COMPILE_mumps@
+ TOOL_COMPILE_mumps_seq = @TOOL_COMPILE_mumps_seq@
+ TOOL_COMPILE_nlopt = @TOOL_COMPILE_nlopt@
+ TOOL_COMPILE_pardiso = @TOOL_COMPILE_pardiso@
+ TOOL_COMPILE_parmetis = @TOOL_COMPILE_parmetis@
+ TOOL_COMPILE_parms = @TOOL_COMPILE_parms@
+ TOOL_COMPILE_pastix = @TOOL_COMPILE_pastix@
+ TOOL_COMPILE_pipe = @TOOL_COMPILE_pipe@
+ TOOL_COMPILE_schwarz = @TOOL_COMPILE_schwarz@
+ TOOL_COMPILE_scotch = @TOOL_COMPILE_scotch@
+ TOOL_COMPILE_superlu = @TOOL_COMPILE_superlu@
+ TOOL_COMPILE_superludist = @TOOL_COMPILE_superludist@
+ TOOL_COMPILE_umfpack = @TOOL_COMPILE_umfpack@
+ TOOL_COMPILE_yams = @TOOL_COMPILE_yams@
+ TOOL_DYLIB_NewSolver = @TOOL_DYLIB_NewSolver@
+ TOOL_DYLIB_fflapack = @TOOL_DYLIB_fflapack@
+ TOOL_DYLIB_gsl = @TOOL_DYLIB_gsl@
+ TOOL_DYLIB_hips = @TOOL_DYLIB_hips@
+ TOOL_DYLIB_iohdf5 = @TOOL_DYLIB_iohdf5@
+ TOOL_DYLIB_ipopt = @TOOL_DYLIB_ipopt@
+ TOOL_DYLIB_lapack = @TOOL_DYLIB_lapack@
+ TOOL_DYLIB_metis = @TOOL_DYLIB_metis@
+ TOOL_DYLIB_mmg3d = @TOOL_DYLIB_mmg3d@
+ TOOL_DYLIB_mshmet = @TOOL_DYLIB_mshmet@
+ TOOL_DYLIB_mumps = @TOOL_DYLIB_mumps@
+ TOOL_DYLIB_mumps_seq = @TOOL_DYLIB_mumps_seq@
+ TOOL_DYLIB_nlopt = @TOOL_DYLIB_nlopt@
+ TOOL_DYLIB_pardiso = @TOOL_DYLIB_pardiso@
+ TOOL_DYLIB_parmetis = @TOOL_DYLIB_parmetis@
+ TOOL_DYLIB_parms = @TOOL_DYLIB_parms@
+ TOOL_DYLIB_pastix = @TOOL_DYLIB_pastix@
+ TOOL_DYLIB_pipe = @TOOL_DYLIB_pipe@
+ TOOL_DYLIB_schwarz = @TOOL_DYLIB_schwarz@
+ TOOL_DYLIB_scotch = @TOOL_DYLIB_scotch@
+ TOOL_DYLIB_superlu = @TOOL_DYLIB_superlu@
+ TOOL_DYLIB_superludist = @TOOL_DYLIB_superludist@
+ TOOL_DYLIB_umfpack = @TOOL_DYLIB_umfpack@
+ TOOL_DYLIB_yams = @TOOL_DYLIB_yams@
+ UMFPACKLIBS = @UMFPACKLIBS@
+ VERSION = @VERSION@
+ WGET = @WGET@
+ WIN32DLLTARGET = @WIN32DLLTARGET@
+ WINDRESOBJ = @WINDRESOBJ@
+ WITH_CXX11 = @WITH_CXX11@
+ YACC = @YACC@
+ YFLAGS = @YFLAGS@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_F77 = @ac_ct_F77@
+ ac_ct_FC = @ac_ct_FC@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
+ builddir = @builddir@
+ datadir = @datadir@
+ datarootdir = @datarootdir@
+ docdir = @docdir@
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ ff_bison = @ff_bison@
+ ff_convert = @ff_convert@
+ ff_curl = @ff_curl@
+ ff_dvips = @ff_dvips@
+ ff_git = @ff_git@
+ ff_gzip = @ff_gzip@
+ ff_history = @ff_history@
+ ff_latex = @ff_latex@
+ ff_libtool = @ff_libtool@
+ ff_m4 = @ff_m4@
+ ff_makeindex = @ff_makeindex@
+ ff_patch = @ff_patch@
+ ff_pdf2ps = @ff_pdf2ps@
+ ff_pdflatex = @ff_pdflatex@
+ ff_prefix_dir = @ff_prefix_dir@
+ ff_unzip = @ff_unzip@
+ ff_wget = @ff_wget@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
+ htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
++>>>>>>> upstream/3.34.2:download/umfpack/Makefile.in
EXTRA_DIST = SuiteSparse_config.mk.in
# Downloading and compiling UMFPACK
diff --cc examples++-load/._gsl.awk.orig
index f7a8f68,f7a8f68..f7a8f68
Binary files differ
diff --cc examples++-mpi/._complex_SuperLU_DIST_FreeFem.cpp~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/._complex_SuperLU_DIST_FreeFem.cpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/._dSuperLU_DIST.cpp~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/._dSuperLU_DIST.cpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
mode 100644,100755..100644
Binary files differ
diff --cc examples++-mpi/._real_SuperLU_DIST_FreeFem.cpp~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/._real_SuperLU_DIST_FreeFem.cpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/removeDOF.cpp.orig
index 0e6d122,0000000..f680d48
mode 100644,000000..100644
--- a/examples++-mpi/removeDOF.cpp.orig
+++ b/examples++-mpi/removeDOF.cpp.orig
@@@ -1,274 -1,0 +1,278 @@@
++<<<<<<< HEAD
++=======
++//ff-c++-LIBRARY-dep: cxx11
++>>>>>>> upstream/3.34.2
+#ifndef _ALL_IN_ONE_
+#include "ff++.hpp"
+#include <algorithm>
+#include <vector>
+#include <cmath>
+#endif
+#include <utility>
+
+#ifndef EPS
+#define EPS 1e-12
+#endif
+
+template<class T>
+class removeDOF_Op : public E_F0mps {
+ public:
+ Expression A;
+ Expression R;
+ Expression x;
+ Expression out;
+ static const int n_name_param = 3;
+ static basicAC_F0::name_and_type name_param[];
+ Expression nargs[n_name_param];
+ removeDOF_Op(const basicAC_F0& args, Expression param1, Expression param2, Expression param3, Expression param4) : A(param1), R(param2), x(param3), out(param4) {
+ args.SetNameParam(n_name_param, name_param, nargs);
+ }
+
+ AnyType operator()(Stack stack) const;
+};
+
+template<class T>
+basicAC_F0::name_and_type removeDOF_Op<T>::name_param[] = {
+ {"symmetrize", &typeid(bool)},
+ {"condensation", &typeid(KN<long>*)},
+ {"interaction", &typeid(Matrice_Creuse<T>*)}
+};
+
+template<class T>
+class removeDOF : public OneOperator {
+ public:
+ removeDOF() : OneOperator(atype<long>(), atype<Matrice_Creuse<T>*>(), atype<Matrice_Creuse<double>*>(), atype<KN<T>*>(), atype<KN<T>*>()) {}
+
+ E_F0* code(const basicAC_F0& args) const {
+ return new removeDOF_Op<T>(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]), t[2]->CastTo(args[2]), t[3]->CastTo(args[3]));
+ }
+};
+
+template<class T>
+AnyType removeDOF_Op<T>::operator()(Stack stack) const {
+ Matrice_Creuse<T>* pA = GetAny<Matrice_Creuse<T>* >((*A)(stack));
+ Matrice_Creuse<T>* pR = GetAny<Matrice_Creuse<T>* >((*R)(stack));
+ KN<T>* pX = GetAny<KN<T>* >((*x)(stack));
+ KN<T>* pOut = GetAny<KN<T>* >((*out)(stack));
+ ffassert(pA && pR && pX && pOut);
+ pA->Uh = pR->Uh;
+ pA->Vh = pR->Vh;
+ MatriceMorse<T> *mA = static_cast<MatriceMorse<T>*>(&(*pA->A));
+ MatriceMorse<T> *mR = static_cast<MatriceMorse<T>*>(&(*pR->A));
+ bool symmetrize = nargs[0] ? GetAny<bool>((*nargs[0])(stack)) : false;
+ KN<long>* condensation = nargs[1] ? GetAny<KN<long>* >((*nargs[1])(stack)) : (KN<long>*) 0;
+
+ unsigned int n = condensation ? condensation->n : mR->nbcoef;
+ int* lg = new int[n + 1];
+ int* cl;
+ T* val;
+ T* b;
+ if(pOut->n == 0) {
+ b = new T[n];
+ pOut->set(b, n);
+ }
+
+ std::vector<signed int> tmpVec;
+ if(!condensation) {
+ tmpVec.resize(mA->n);
+ for(unsigned int i = 0; i < n; ++i)
+ tmpVec[mR->cl[i]] = i + 1;
+ if(!mA->symetrique) {
+ std::vector<std::pair<int, T> > tmp;
+ tmp.reserve(mA->nbcoef);
+
+ lg[0] = 0;
+ for(unsigned int i = 0; i < n; ++i) {
+ for(unsigned int j = mA->lg[mR->cl[i]]; j < mA->lg[mR->cl[i] + 1]; ++j) {
+ unsigned int col = tmpVec[mA->cl[j]];
+ if(col != 0 && abs(mA->a[j]) > EPS) {
+ if(symmetrize) {
+ if(col - 1 <= i)
+ tmp.emplace_back(col - 1, mA->a[j]);
+ }
+ else
+ tmp.emplace_back(col - 1, mA->a[j]);
+ }
+ }
+ std::sort(tmp.begin() + lg[i], tmp.end(), [](const std::pair<unsigned int, T>& lhs, const std::pair<unsigned int, T>& rhs) { return lhs.first < rhs.first; });
+ *(*pOut + i) = *(*pX + mR->cl[i]);
+ lg[i + 1] = tmp.size();
+ }
+ mA->nbcoef = tmp.size();
+ if(symmetrize)
+ mA->symetrique = true;
+ else
+ mA->symetrique = false;
+
+ cl = new int[tmp.size()];
+ val = new T[tmp.size()];
+
+ for(unsigned int i = 0; i < tmp.size(); ++i) {
+ cl[i] = tmp[i].first;
+ val[i] = tmp[i].second;
+ }
+ }
+ else {
+ std::vector<std::vector<std::pair<unsigned int, T> > > tmp(n);
+ for(unsigned int i = 0; i < n; ++i)
+ tmp[i].reserve(mA->lg[mR->cl[i] + 1] - mA->lg[mR->cl[i]]);
+
+ unsigned int nnz = 0;
+ for(unsigned int i = 0; i < n; ++i) {
+ for(unsigned int j = mA->lg[mR->cl[i]]; j < mA->lg[mR->cl[i] + 1]; ++j) {
+ unsigned int col = tmpVec[mA->cl[j]];
+ if(col != 0 && abs(mA->a[j]) > EPS) {
+ if(i < col - 1)
+ tmp[col - 1].emplace_back(i, mA->a[j]);
+ else
+ tmp[i].emplace_back(col - 1, mA->a[j]);
+ ++nnz;
+ }
+ }
+ *(*pOut + i) = *(*pX + mR->cl[i]);
+ }
+ mA->nbcoef = nnz;
+ cl = new int[nnz];
+ val = new T[nnz];
+ nnz = 0;
+ lg[0] = 0;
+ for(unsigned int i = 0; i < n; ++i) {
+ std::sort(tmp[i].begin(), tmp[i].end(), [](const std::pair<unsigned int, T>& lhs, const std::pair<unsigned int, T>& rhs) { return lhs.first < rhs.first; });
+ for(typename std::vector<std::pair<unsigned int, T> >::const_iterator it = tmp[i].begin(); it != tmp[i].end(); ++it) {
+ cl[nnz] = it->first;
+ val[nnz++] = it->second;
+ }
+ lg[i + 1] = nnz;
+ }
+
+ }
+ delete [] mA->cl;
+ delete [] mA->lg;
+ delete [] mA->a;
+ mA->n = n;
+ mA->m = n;
+ mA->N = n;
+ mA->M = n;
+ mA->lg = lg;
+ mA->cl = cl;
+ mA->a = val;
+ }
+ else {
+ tmpVec.reserve(mA->n);
+ unsigned int i = 0, j = 1;
+ for(unsigned int k = 0; k < mA->n; ++k) {
+ if(k == *(*condensation + i)) {
+ ++i;
+ tmpVec.emplace_back(i);
+ }
+ else {
+ tmpVec.emplace_back(-j);
+ ++j;
+ }
+ }
+
+
+// if(!mA->symetrique) {
+ std::vector<std::pair<int, T> > tmpInterior;
+ std::vector<std::pair<int, T> > tmpBoundary;
+ std::vector<std::pair<int, T> > tmpInteraction;
+ tmpInterior.reserve(mA->nbcoef);
+ tmpBoundary.reserve(mA->nbcoef);
+ tmpInteraction.reserve(mA->nbcoef);
+
+ lg[0] = 0;
+ for(unsigned int i = 0; i < mA->n; ++i) {
+ int row = tmpVec[i];
+ if(row < 0) {
+ for(unsigned int j = mA->lg[i]; j < mA->lg[i + 1]; ++j) {
+ int col = tmpVec[mA->cl[j]];
+ if(col < 0)
+ tmpInterior.emplace_back(-col - 1, mA->a[j]);
+ else
+ tmpInteraction.emplace_back(col - 1, mA->a[j]);
+ }
+
+ }
+ else {
+ for(unsigned int j = mA->lg[i]; j < mA->lg[i + 1]; ++j) {
+ int col = tmpVec[mA->cl[j]];
+ if(col > 0)
+ tmpBoundary.emplace_back(col - 1, mA->a[j]);
+ }
+ // std::sort(tmp.begin() + lg[i], tmp.end());
+ *(*pOut + i) = *(*pX + *(*condensation + i));
+ lg[i + 1] = tmpBoundary.size();
+ }
+ }
+ cl = new int[tmpBoundary.size()];
+ val = new T[tmpBoundary.size()];
+ for(unsigned int i = 0; i < tmpBoundary.size(); ++i) {
+ cl[i] = tmpBoundary[i].first;
+ val[i] = tmpBoundary[i].second;
+ }
+// }
+ MatriceMorse<T>* m = new MatriceMorse<T>(n, n, tmpBoundary.size(), mA->symetrique, val, lg, cl, true);
+ pR->typemat = TypeSolveMat(TypeSolveMat::GMRES);
+ pR->A.master(m);
+ m->dummy = false;
+ }
+ return 0L;
+}
+
+template<class T>
+long symmetrizeCSR(Matrice_Creuse<T>* const& A) {
+ MatriceMorse<T>* mA = static_cast<MatriceMorse<T>*>(&(*A->A));
+ if(!mA->symetrique) {
+ mA->symetrique = true;
+ std::vector<int> cl;
+ std::vector<T> a;
+ a.reserve(mA->nbcoef);
+ cl.reserve(mA->nbcoef);
+ unsigned int save = mA->lg[0];
+ for(unsigned int i = 0; i < mA->n; ++i) {
+ for(unsigned int j = save; j < mA->lg[i + 1]; ++j) {
+ int col = mA->cl[j];
+ if(col <= i) {
+ T val = mA->a[j];
+ if(abs(val) > EPS) {
+ a.emplace_back(val);
+ cl.emplace_back(col);
+ }
+ }
+ else
+ break;
+ }
+ save = mA->lg[i + 1];
+ mA->lg[i + 1] = cl.size();
+ }
+ delete [] mA->cl;
+ delete [] mA->a;
+ int* col = new int[cl.size()];
+ T* val = new T[cl.size()];
+ for(unsigned int i = 0; i < cl.size(); ++i) {
+ col[i] = cl[i];
+ val[i] = a[i];
+ }
+ mA->cl = col;
+ mA->a = val;
+ mA->nbcoef = cl.size();
+ }
+ return 0L;
+}
+
+#ifndef _ALL_IN_ONE_
+/* --FH: class Init {
+ public:
+ Init();
+ };
+Init ...; */
+static void Load_Initrm() {
+ Global.Add("removeDOF", "(", new removeDOF<double>);
+ Global.Add("removeDOF", "(", new removeDOF<std::complex<double>>);
+ Global.Add("symmetrizeCSR", "(", new OneOperator1_<long, Matrice_Creuse<double>* >(symmetrizeCSR<double>));
+}
+ LOADFUNC(Load_Initrm)
+#endif
+
+// std::sort(tmp.begin() + lg[i], tmp.end(), [](const std::pair<int, T>& lhs, const std::pair<int, T>& rhs) { return lhs.first < rhs.first; } );
+
diff --cc examples++-mpi/schwarz.cpp.orig
index 4d8a883,0000000..dc166df
mode 100644,000000..100644
--- a/examples++-mpi/schwarz.cpp.orig
+++ b/examples++-mpi/schwarz.cpp.orig
@@@ -1,445 -1,0 +1,473 @@@
++<<<<<<< HEAD
+//ff-c++-LIBRARY-dep: hpddm umfpack amd mumps scalapack blas [mkl] mpifc fc mpi pthread [petsc]
+//ff-c++-cpp-dep:
+
++=======
++//ff-c++-LIBRARY-dep: cxx11 hpddm umfpack amd scalapack blas [mkl] mpifc fc mpi pthread [petsc]
++//ff-c++-cpp-dep:
++
++// mumps est avec petsc ..
++#ifdef WITH_mumps
++#define MUMPSSUB
++#define DMUMPS
++#endif
++
++>>>>>>> upstream/3.34.2
+#ifdef WITH_mkl
+#include <complex>
+#define MKL_Complex16 std::complex<double>
+#define MKL_Complex8 std::complex<float>
+#define MKL_INT int
+#include <mkl.h>
+#endif
+
+
++<<<<<<< HEAD
+#ifndef WITH_PETSC
+#pragma message("schwarz plugin compile without PETSc")
++=======
++#ifndef WITH_petsc
++#pragma message("schwarz plugin compile without PETSc")
++#else
++#define MUMPSSUB
++#define DMUMPS
++>>>>>>> upstream/3.34.2
+#endif
+
+#define HPDDM_BDD 0
+#define HPDDM_FETI 0
+
+
+#include <math.h>
+#include <mpi.h>
+#include <ff++.hpp>
+#include "AFunction_ext.hpp"
+#include <HPDDM.hpp>
+
+template<class T>
+class STL {
+ T* const _it;
+ const int _size;
+ public:
+ STL(const KN<T>& v) : _it(v), _size(v.size()) { };
+ int size() const {
+ return _size;
+ }
+ T* begin() const {
+ return _it;
+ }
+ T* end() const {
+ return _it + _size;
+ }
+};
+template<class K>
+class Pair {
+ public:
+ Pair() : p() { };
+ std::pair<MPI_Request, const K*>* p;
+ void init() {
+ }
+ void destroy() {
+ }
+};
+
++<<<<<<< HEAD
+#ifdef WITH_PETSC
++=======
++#ifdef WITH_petsc
++>>>>>>> upstream/3.34.2
+#include "PETSc.hpp"
+#endif
+
+namespace Schwarz {
+template<class Type, class K>
+class initDDM_Op : public E_F0mps {
+ public:
+ Expression A;
+ Expression Mat;
+ Expression o;
+ Expression R;
+ static const int n_name_param = 3;
+ static basicAC_F0::name_and_type name_param[];
+ Expression nargs[n_name_param];
+ initDDM_Op(const basicAC_F0& args, Expression param1, Expression param2, Expression param3, Expression param4) : A(param1), Mat(param2), o(param3), R(param4) {
+ args.SetNameParam(n_name_param, name_param, nargs);
+ }
+
+ AnyType operator()(Stack stack) const;
+};
+template<class Type, class K>
+basicAC_F0::name_and_type initDDM_Op<Type, K>::name_param[] = {
+ {"communicator", &typeid(pcommworld)},
+ {"scaling", &typeid(KN<typename HPDDM::Wrapper<K>::ul_type>*)},
+ {"deflation", &typeid(FEbaseArrayKn<K>*)},
+};
+template<class Type, class K>
+class initDDM : public OneOperator {
+ public:
+ initDDM() : OneOperator(atype<Type*>(), atype<Type*>(), atype<Matrice_Creuse<K>*>(), atype<KN<long>*>(), atype<KN<KN<long>>*>()) { }
+
+ E_F0* code(const basicAC_F0& args) const {
+ return new initDDM_Op<Type, K>(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]), t[2]->CastTo(args[2]), t[3]->CastTo(args[3]));
+ }
+};
+template<class Type, class K>
+AnyType initDDM_Op<Type, K>::operator()(Stack stack) const {
+ Type* ptA = GetAny<Type*>((*A)(stack));
+ MatriceMorse<K>* mA = static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*Mat)(stack))->A));
+ KN<long>* ptO = GetAny<KN<long>*>((*o)(stack));
+ KN<KN<long>>* ptR = GetAny<KN<KN<long>>*>((*R)(stack));
+ MPI_Comm* comm = nargs[0] ? (MPI_Comm*)GetAny<pcommworld>((*nargs[0])(stack)) : 0;
+ if(ptO && mA) {
+ HPDDM::MatrixCSR<K>* dA = new HPDDM::MatrixCSR<K>(mA->n, mA->m, mA->nbcoef, mA->a, mA->lg, mA->cl, mA->symetrique);
+ ptA->HPDDM::template Subdomain<K>::initialize(dA, STL<long>(*ptO), *ptR, comm);
+ }
+ FEbaseArrayKn<K>* deflation = nargs[2] ? GetAny<FEbaseArrayKn<K>*>((*nargs[2])(stack)) : 0;
+ K** const& v = ptA->getVectors();
+ if(deflation && deflation->N > 0 && !v) {
+ K** ev = new K*[deflation->N];
+ *ev = new K[deflation->N * deflation->get(0)->n];
+ for(int i = 0; i < deflation->N; ++i) {
+ ev[i] = *ev + i * deflation->get(0)->n;
+ std::copy(&(*deflation->get(i))[0], &(*deflation->get(i))[deflation->get(i)->n], ev[i]);
+ }
+ ptA->setVectors(ev);
+ ptA->Type::super::initialize(deflation->N);
+ }
+ KN<typename HPDDM::Wrapper<K>::ul_type>* ptD = nargs[1] ? GetAny<KN<typename HPDDM::Wrapper<K>::ul_type>*>((*nargs[1])(stack)) : 0;
+ if(ptD)
+ ptA->initialize(*ptD);
+ else
+ std::cerr << "Something is really wrong here !" << std::endl;
+ return ptA;
+}
+
+template<class Type, class K>
+class attachCoarseOperator_Op : public E_F0mps {
+ public:
+ Expression comm;
+ Expression A;
+ static const int n_name_param = 7;
+ static basicAC_F0::name_and_type name_param[];
+ Expression nargs[n_name_param];
+ attachCoarseOperator_Op(const basicAC_F0& args, Expression param1, Expression param2) : comm(param1), A(param2) {
+ args.SetNameParam(n_name_param, name_param, nargs);
+ }
+
+ AnyType operator()(Stack stack) const;
+};
+template<class Type, class K>
+basicAC_F0::name_and_type attachCoarseOperator_Op<Type, K>::name_param[] = {
+ {"A", &typeid(Matrice_Creuse<K>*)},
+ {"B", &typeid(Matrice_Creuse<K>*)},
+ {"pattern", &typeid(Matrice_Creuse<K>*)},
+ {"threshold", &typeid(typename HPDDM::Wrapper<K>::ul_type)},
+ {"parameters", &typeid(KN<long>*)},
+ {"timing", &typeid(KN<double>*)},
+ {"ret", &typeid(Pair<K>*)}
+};
+template<class Type, class K>
+class attachCoarseOperator : public OneOperator {
+ public:
+ attachCoarseOperator() : OneOperator(atype<long>(), atype<pcommworld>(), atype<Type*>()) { }
+
+ E_F0* code(const basicAC_F0& args) const {
+ return new attachCoarseOperator_Op<Type, K>(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]));
+ }
+};
+template<class Type, class K>
+AnyType attachCoarseOperator_Op<Type, K>::operator()(Stack stack) const {
+ pcommworld ptComm = GetAny<pcommworld>((*comm)(stack));
+ MPI_Comm comm = *(MPI_Comm*)ptComm;
+ Type* ptA = GetAny<Type*>((*A)(stack));
+ MatriceMorse<K>* mA = nargs[0] ? static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*nargs[0])(stack))->A)) : 0;
+ KN<long>* ptParm = nargs[4] ? GetAny<KN<long>*>((*nargs[4])(stack)) : 0;
+ if(ptParm && ptParm->n != 5) {
+ if(ptParm->n == 1) {
+ ptParm->resize(5);
+ (*ptParm)[HPDDM::P] = 1;
+ }
+ else if(ptParm->n == 2)
+ ptParm->resize(5);
+ else
+ cout << "Input array must be of size 1, 2, or 5 !" << endl;
+ if(ptParm->n == 5) {
+ (*ptParm)[HPDDM::TOPOLOGY] = 0;
+ (*ptParm)[HPDDM::DISTRIBUTION] = HPDDM::DMatrix::NON_DISTRIBUTED;
+ (*ptParm)[HPDDM::STRATEGY] = 3;
+ }
+ }
+ KN<double>* timing = nargs[5] ? GetAny<KN<double>*>((*nargs[5])(stack)) : 0;
+ Pair<K>* pair = nargs[6] ? GetAny<Pair<K>*>((*nargs[6])(stack)) : 0;
+ typename HPDDM::Wrapper<K>::ul_type threshold = nargs[3] ? GetAny<typename HPDDM::Wrapper<K>::ul_type>((*nargs[3])(stack)) : 0;
+ std::vector<unsigned short> parm(5);
+ if(ptParm) {
+ parm[HPDDM::P] = (*ptParm)[HPDDM::P];
+ parm[HPDDM::TOPOLOGY] = (*ptParm)[HPDDM::TOPOLOGY];
+ parm[HPDDM::DISTRIBUTION] = (*ptParm)[HPDDM::DISTRIBUTION];
+ parm[HPDDM::STRATEGY] = (*ptParm)[HPDDM::STRATEGY];
+ }
+ else {
+ parm[HPDDM::P] = 1;
+ parm[HPDDM::TOPOLOGY] = 0;
+ parm[HPDDM::DISTRIBUTION] = HPDDM::DMatrix::NON_DISTRIBUTED;
+ parm[HPDDM::STRATEGY] = 3;
+ }
+ unsigned short nu = ptParm ? (*ptParm)[HPDDM::NU] : 20;
+ nu = std::max(nu, static_cast<unsigned short>(1));
+ std::pair<MPI_Request, const K*>* ret = nullptr;
+ if(mA) {
+ HPDDM::MatrixCSR<K> dA(mA->n, mA->m, mA->nbcoef, mA->a, mA->lg, mA->cl, mA->symetrique);
+ MatriceMorse<K>* mB = nargs[1] ? static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*nargs[1])(stack))->A)) : nullptr;
+ MatriceMorse<K>* mP = nargs[2] ? static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*nargs[2])(stack))->A)) : nullptr;
+ const HPDDM::MatrixCSR<K>* const dP = mP ? new HPDDM::MatrixCSR<K>(mP->n, mP->m, mP->nbcoef, mP->a, mP->lg, mP->cl, mP->symetrique) : nullptr;
+ double t = MPI_Wtime();
+ if(mB) {
+ HPDDM::MatrixCSR<K> dB(mB->n, mB->m, mB->nbcoef, mB->a, mB->lg, mB->cl, mB->symetrique);
+ ptA->template solveGEVP<EIGENSOLVER>(&dA, nu, threshold, &dB, dP);
+ }
+ else
+ ptA->template solveGEVP<EIGENSOLVER>(&dA, nu, threshold, nullptr, dP);
+ mA->nbcoef = dA._nnz;
+ mA->a = dA._a;
+ mA->lg = dA._ia;
+ mA->cl = dA._ja;
+ if(timing)
+ (*timing)[3] = MPI_Wtime() - t;
+ delete dP;
+ parm[HPDDM::NU] = nu;
+ if(ptA->exclusion(comm)) {
+ if(pair)
+ pair->p = ptA->template buildTwo<1>(comm, parm);
+ else
+ ret = ptA->template buildTwo<1>(comm, parm);
+ }
+ else {
+ if(pair)
+ pair->p = ptA->template buildTwo<0>(comm, parm);
+ else
+ ret = ptA->template buildTwo<0>(comm, parm);
+ }
+ }
+ else {
+ if(!threshold) {
+ parm[HPDDM::NU] = nu;
+ ret = ptA->template buildTwo<2>(comm, parm);
+ }
+ }
+ delete ret;
+ return 0L;
+}
+
+template<class Type, class K>
+class solveDDM_Op : public E_F0mps {
+ public:
+ Expression A;
+ Expression x;
+ Expression rhs;
+ static const int n_name_param = 9;
+ static basicAC_F0::name_and_type name_param[];
+ Expression nargs[n_name_param];
+ solveDDM_Op(const basicAC_F0& args, Expression param1, Expression param2, Expression param3) : A(param1), x(param2), rhs(param3) {
+ args.SetNameParam(n_name_param, name_param, nargs);
+ }
+
+ AnyType operator()(Stack stack) const;
+};
+template<class Type, class K>
+basicAC_F0::name_and_type solveDDM_Op<Type, K>::name_param[] = {
+ {"eps", &typeid(typename HPDDM::Wrapper<K>::ul_type)},
+ {"dim", &typeid(long)},
+ {"iter", &typeid(long)},
+ {"timing", &typeid(KN<double>*)},
+ {"solver", &typeid(long)},
+ {"pipelined", &typeid(long)},
+ {"excluded", &typeid(bool)},
+ {"ret", &typeid(Pair<K>*)},
+ {"O", &typeid(Matrice_Creuse<K>*)}
+};
+template<class Type, class K>
+class solveDDM : public OneOperator {
+ public:
+ solveDDM() : OneOperator(atype<long>(), atype<Type*>(), atype<KN<K>*>(), atype<KN<K>*>()) { }
+
+ E_F0* code(const basicAC_F0& args) const {
+ return new solveDDM_Op<Type, K>(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]), t[2]->CastTo(args[2]));
+ }
+};
+template<class Type, class K>
+AnyType solveDDM_Op<Type, K>::operator()(Stack stack) const {
+ KN<K>* ptX = GetAny<KN<K>*>((*x)(stack));
+ KN<K>* ptRHS = GetAny<KN<K>*>((*rhs)(stack));
+ Type* ptA = GetAny<Type*>((*A)(stack));
+ typename HPDDM::Wrapper<K>::ul_type eps = nargs[0] ? GetAny<typename HPDDM::Wrapper<K>::ul_type>((*nargs[0])(stack)) : 1e-8;
+ unsigned short dim = nargs[1] ? GetAny<long>((*nargs[1])(stack)) : 50;
+ unsigned short iter = nargs[2] ? GetAny<long>((*nargs[2])(stack)) : 50;
+ KN<double>* timing = nargs[3] ? GetAny<KN<double>*>((*nargs[3])(stack)) : 0;
+ Pair<K>* pair = nargs[7] ? GetAny<Pair<K>*>((*nargs[7])(stack)) : 0;
+ if(pair)
+ if(pair->p) {
+ int flag;
+ MPI_Test(&(pair->p->first), &flag, MPI_STATUS_IGNORE);
+ }
+ MatriceMorse<K>* mA = nargs[8] ? static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*nargs[8])(stack))->A)) : 0;
+ long solver = nargs[4] ? GetAny<long>((*nargs[4])(stack)) : 0;
+ double timer = MPI_Wtime();
+ if(mA && (solver == 6 || solver == 7)) {
+ HPDDM::MatrixCSR<K> dA(mA->n, mA->m, mA->nbcoef, mA->a, mA->lg, mA->cl, mA->symetrique);
+ ptA->callNumfact(&dA);
+ }
+ else
+ ptA->callNumfact(nullptr);
+ ptA->setType(solver == 1 || solver == 6 || solver == 11);
+ if(timing) (*timing)[1] = MPI_Wtime() - timer;
+ long pipelined = nargs[5] ? GetAny<long>((*nargs[5])(stack)) : 0;
+ bool excluded = nargs[6] ? GetAny<bool>((*nargs[6])(stack)) : false;
+ if(pair)
+ if(pair->p) {
+ if(timing)
+ timer = MPI_Wtime();
+ MPI_Wait(&(pair->p->first), MPI_STATUS_IGNORE);
+ if(timing)
+ (*timing)[4] = MPI_Wtime() - timer;
+ delete [] pair->p->second;
+ delete pair->p;
+ }
+ timer = MPI_Wtime();
+ int rank;
+ MPI_Comm_rank(ptA->getCommunicator(), &rank);
+ if(!excluded) {
+ if(solver == 1)
+ HPDDM::IterativeMethod::CG(*ptA, (K*)*ptX, (K*)*ptRHS, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0);
+ else
+ switch(pipelined) {
+#if (OMPI_MAJOR_VERSION > 1 || (OMPI_MAJOR_VERSION == 1 && OMPI_MINOR_VERSION >= 7)) || MPICH_NUMVERSION >= 30000000
+ case 1: HPDDM::IterativeMethod::GMRES<HPDDM::PIPELINED>(*ptA, (K*)*ptX, (K*)*ptRHS, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
+#endif
+#if defined(DPASTIX) || defined(DMKL_PARDISO)
+ case 2: HPDDM::IterativeMethod::GMRES<HPDDM::FUSED>(*ptA, (K*)*ptX, (K*)*ptRHS, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
+#endif
+ default: HPDDM::IterativeMethod::GMRES<HPDDM::CLASSICAL>(*ptA, (K*)*ptX, (K*)*ptRHS, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
+ }
+ }
+ else {
+ if(solver == 1)
+ HPDDM::IterativeMethod::CG(*ptA, (K*)nullptr, (K*)nullptr, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0);
+ else
+ switch(pipelined) {
+#if (OMPI_MAJOR_VERSION > 1 || (OMPI_MAJOR_VERSION == 1 && OMPI_MINOR_VERSION >= 7)) || MPICH_NUMVERSION >= 30000000
+ case 1: HPDDM::IterativeMethod::GMRES<HPDDM::PIPELINED, true>(*ptA, (K*)nullptr, (K*)nullptr, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
+#endif
+#if defined(DPASTIX) || defined(DMKL_PARDISO)
+ case 2: HPDDM::IterativeMethod::GMRES<HPDDM::FUSED, true>(*ptA, (K*)nullptr, (K*)nullptr, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
+#endif
+ default: HPDDM::IterativeMethod::GMRES<HPDDM::CLASSICAL, true>(*ptA, (K*)nullptr, (K*)nullptr, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
+ }
+ }
+ timer = MPI_Wtime() - timer;
+ if(!excluded) {
+ if(rank == 0)
+ std::cout << scientific << " --- system solved (in " << timer << ")" << std::endl;
+ typename HPDDM::Wrapper<K>::ul_type storage[2];
+ ptA->computeError(*ptX, *ptRHS, storage);
+ if(rank == 0)
+ std::cout << scientific << " --- error = " << storage[1] << " / " << storage[0] << std::endl;
+ }
+ return 0L;
+}
+
+double distributedDot(KN<double>* const& A, KN<double>* const& in, KN<double>* const& out) {
+ double* tmp = new double[in->n];
+ HPDDM::Wrapper<double>::diagv(in->n, *A, *in, tmp);
+ KN_<double> KN(tmp, in->n);
+ double dot = (KN, *out);
+ MPI_Allreduce(MPI_IN_PLACE, &dot, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
+ delete [] tmp;
+ return dot;
+}
+
+template<class T, class U>
+class GMV {
+ public:
+ const T t;
+ const U u;
+ GMV(T v, U w) : t(v), u(w) {}
+ void prod(U x) const;
+};
+template<class Type, class U>
+class GMV<Type*, U> {
+ public:
+ const Type* t;
+ const U u;
+ GMV(Type* v, U w) : t(v), u(w) {}
+ void prod(U x) const { t->GMV(*(this->u), *x); };
+};
+template<class R, class A, class B> R Build(A a, B b) {
+ return R(a, b);
+}
+template<class Type, class K>
+KN<K>* GlobalMV(KN<K>* Ax, GMV<Type*, KN<K>*> A) {
+ A.prod(Ax);
+ return Ax;
+}
+
+template<template<class, char> class Type, class K, char S>
+void add() {
+ Dcl_Type<Type<K, S>*>(Initialize<Type<K, S>>, Delete<Type<K, S>>);
+
+ TheOperators->Add("<-", new initDDM<Type<K, S>, K>);
+ Global.Add("attachCoarseOperator", "(", new attachCoarseOperator<Type<K, S>, K>);
+ Global.Add("DDM", "(", new solveDDM<Type<K, S>, K>);
+ Dcl_Type<GMV<Type<K, S>*, KN<K>*>>();
+ TheOperators->Add("*", new OneOperator2<GMV<Type<K, S>*, KN<K>*>, Type<K, S>*, KN<K>*>(Build));
+ TheOperators->Add("=", new OneOperator2<KN<K>*, KN<K>*, GMV<Type<K, S>*, KN<K>*>>(GlobalMV));
+ if(std::is_same<K, double>::value)
+ Global.Add("dscalprod", "(", new OneOperator3_<double, KN<double>*, KN<double>*, KN<double>*>(distributedDot));
+}
+}
+
+
+
+static void Load_Init() {
+ const char ds = 'S';
+ const char zs = 'G';
+ Schwarz::add<HpSchwarz, double, ds>();
+ zzzfff->Add("dschwarz", atype<HpSchwarz<double, ds>*>());
+ Schwarz::add<HpSchwarz, std::complex<double>, zs>();
+ zzzfff->Add("zschwarz", atype<HpSchwarz<std::complex<double>, zs>*>());
++<<<<<<< HEAD
+#ifdef WITH_PETSC
++=======
++#ifdef WITH_petsc
++>>>>>>> upstream/3.34.2
+ int argc = pkarg->n;
+ char** argv = new char*[argc];
+ for(int i = 0; i < argc; ++i)
+ argv[i] = const_cast<char*>((*(*pkarg)[i].getap())->c_str());
+ PetscInitialize(&argc, &argv, 0, "");
+ delete [] argv;
+ ff_atend(finalizePETSc);
+ Dcl_Type<DistributedCSR*>(Initialize<DistributedCSR>, Delete<DistributedCSR>);
+ Dcl_Type<GMV<DistributedCSR*, KN<double>*>>();
+ zzzfff->Add("dmatrix", atype<DistributedCSR*>());
+ TheOperators->Add("<-", new OneOperator1_<long, DistributedCSR*>(initEmptyCSR));
+ TheOperators->Add("<-", new initCSR<double>);
+ TheOperators->Add("*", new OneOperator2<GMV<DistributedCSR*, KN<double>*>, DistributedCSR*, KN<double>*>(Build));
+ TheOperators->Add("=", new OneOperator2<KN<double>*, KN<double>*, GMV<DistributedCSR*, KN<double>*>>(GlobalMV));
+ Global.Add("set", "(", new setOptions<double>());
+ Global.Add("distributedNumbering", "(", new OneOperator2_<long, DistributedCSR*, KN<double>*>(distributedNumbering));
+ Global.Add("renumber", "(", new OneOperator2_<long, DistributedCSR*, FEbaseArrayKn<double>*>(renumberCSR));
+ Global.Add("solvePETSc", "(", new OneOperator2_<long, DistributedCSR*, KN<double>*>(solvePETSc));
+ Dcl_Type<DistributedCSR_inv>();
+ TheOperators->Add("^", new OneBinaryOperatorPETSc());
+ Dcl_Type<Inv<DistributedCSR_inv, KN<double>*>>();
+ TheOperators->Add("*", new OneOperator2<Inv<DistributedCSR_inv, KN<double>*>, DistributedCSR_inv, KN<double>*>(Build));
+ TheOperators->Add("=", new OneOperator2<KN<double>*, KN<double>*, Inv<DistributedCSR_inv, KN<double>*>>(InvPETSc));
+#endif
+ Dcl_Type<Pair<double>*>(InitP<Pair<double>>, Destroy<Pair<double>>);
+ zzzfff->Add("dpair", atype<Pair<double>*>());
+ Dcl_Type<Pair<std::complex<double>>*>(InitP<Pair<std::complex<double>>>, Destroy<Pair<std::complex<double>>>);
+ zzzfff->Add("zpair", atype<Pair<std::complex<double>>*>());
+}
+
+LOADFUNC(Load_Init);
diff --cc examples++-mpi/utility.cpp.orig
index 57cd4ac,0000000..3762e48
mode 100644,000000..100644
--- a/examples++-mpi/utility.cpp.orig
+++ b/examples++-mpi/utility.cpp.orig
@@@ -1,426 -1,0 +1,430 @@@
++<<<<<<< HEAD
+//ff-c++-LIBRARY-dep: hpddm scalapack blas mpifc fc mpi pthread
++=======
++//ff-c++-LIBRARY-dep: cxx11 hpddm scalapack blas mpifc fc mpi pthread
++>>>>>>> upstream/3.34.2
+//ff-c++-cpp-dep:
+#ifndef _ALL_IN_ONE_
+#include "ff++.hpp"
+#include "AFunction_ext.hpp"
+#include <vector>
+#include <cmath>
+#include <mpi.h>
+#endif
+
+class Boundingbox2D_Op : public E_F0mps {
+ public:
+ Expression arrayBB;
+ Expression Th;
+ static const int n_name_param = 0;
+ static basicAC_F0::name_and_type name_param[];
+ Expression nargs[n_name_param];
+ Boundingbox2D_Op(const basicAC_F0& args, Expression param1, Expression param2) : arrayBB(param1), Th(param2) {
+ args.SetNameParam(n_name_param, name_param, nargs);
+ }
+ AnyType operator()(Stack stack) const;
+};
+
+class Boundingbox2D : public OneOperator {
+ public:
+ Boundingbox2D() : OneOperator(atype<long>(), atype<KN<double>* >(), atype<pmesh>()) {}
+ E_F0* code(const basicAC_F0& args) const
+ {
+ return new Boundingbox2D_Op(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]));
+ }
+};
+
+AnyType Boundingbox2D_Op::operator()(Stack stack) const {
+ Mesh* pTh = GetAny<Mesh*>((*Th)(stack));
+ KN<double> minmax(4); // x.min, x.max, y.min, y.max
+ R2 p1(pTh->bedges[0][0]);
+ R2 p2(pTh->bedges[0][1]);
+ /* If array has even number of elements then
+ initialize the first two elements as minimum and
+ maximum */
+ if(p1.x > p2.x) {
+ minmax[1] = p1.x;
+ minmax[0] = p2.x;
+ }
+ else {
+ minmax[0] = p1.x;
+ minmax[1] = p2.x;
+ }
+ if(p1.y > p2.y) {
+ minmax[3] = p1.y;
+ minmax[2] = p2.y;
+ }
+ else {
+ minmax[2] = p1.y;
+ minmax[3] = p2.y;
+ }
+ for(int e = 1; e < pTh->neb; ++e) {
+ R2 p1(pTh->bedges[e][0]);
+ R2 p2(pTh->bedges[e][1]);
+
+ if(p1.x > p2.x) {
+ if(p1.x > minmax[1])
+ minmax[1] = p1.x;
+ if(p2.x < minmax[0])
+ minmax[0] = p2.x;
+ }
+ else {
+ if(p2.x > minmax[1])
+ minmax[1] = p2.x;
+ if(p1.x < minmax[0])
+ minmax[0] = p1.x;
+ }
+ if(p1.y > p2.y) {
+ if(p1.y > minmax[3])
+ minmax[3] = p1.y;
+ if(p2.y < minmax[2])
+ minmax[2] = p2.y;
+ }
+ else {
+ if(p2.y > minmax[3])
+ minmax[3] = p2.y;
+ if(p1.y < minmax[2])
+ minmax[2] = p1.y;
+ }
+ }
+ KN<double>* bb = GetAny<KN<double>* >((*arrayBB)(stack));
+ *bb = minmax;
+ return 0L;
+}
+
+class Boundingbox3D_Op : public E_F0mps {
+ public:
+ Expression arrayBB;
+ Expression Th;
+ static const int n_name_param = 0;
+ static basicAC_F0::name_and_type name_param[];
+ Expression nargs[n_name_param];
+ Boundingbox3D_Op(const basicAC_F0& args, Expression param1, Expression param2) : arrayBB(param1), Th(param2) {
+ args.SetNameParam(n_name_param, name_param, nargs);
+ }
+ AnyType operator()(Stack stack) const;
+};
+
+basicAC_F0::name_and_type Boundingbox3D_Op::name_param[] = { };
+basicAC_F0::name_and_type Boundingbox2D_Op::name_param[] = { };
+
+class Boundingbox3D : public OneOperator {
+ public:
+ Boundingbox3D() : OneOperator(atype<long>(), atype<KN<double>* >(), atype<pmesh3>()) {}
+ E_F0* code(const basicAC_F0& args) const
+ {
+ return new Boundingbox3D_Op(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]));
+ }
+};
+
+AnyType Boundingbox3D_Op::operator()(Stack stack) const {
+ Mesh3* pTh = GetAny<Mesh3*>((*Th)(stack));
+ KN<double> minmax(6); // x.min, x.max, y.min, y.max, z.min, z.max
+ const Triangle3& K1(pTh->be(0));
+ const Triangle3& K2(pTh->be(1));
+ if(K1[0].x > K1[1].x) {
+ minmax[1] = K1[0].x;
+ minmax[0] = K1[1].x;
+ }
+ else {
+ minmax[0] = K1[0].x;
+ minmax[1] = K1[1].x;
+ }
+ if(K1[0].y > K1[1].y) {
+ minmax[3] = K1[0].y;
+ minmax[2] = K1[1].y;
+ }
+ else {
+ minmax[2] = K1[0].y;
+ minmax[3] = K1[1].y;
+ }
+ if(K1[0].z > K1[1].z) {
+ minmax[5] = K1[0].z;
+ minmax[4] = K1[1].z;
+ }
+ else {
+ minmax[4] = K1[0].z;
+ minmax[5] = K1[1].z;
+ }
+ //
+ if(K1[2].x > K2[0].x) {
+ if(K1[2].x > minmax[1])
+ minmax[1] = K1[2].x;
+ if(K2[0].x < minmax[0])
+ minmax[0] = K2[0].x;
+ }
+ else {
+ if(K2[0].x > minmax[1])
+ minmax[1] = K2[0].x;
+ if(K1[2].x < minmax[0])
+ minmax[0] = K1[2].x;
+ }
+ if(K1[2].y > K2[0].y) {
+ if(K1[2].y > minmax[3])
+ minmax[3] = K1[2].y;
+ if(K2[0].y < minmax[2])
+ minmax[2] = K2[0].y;
+ }
+ else {
+ if(K2[0].y > minmax[3])
+ minmax[3] = K2[0].y;
+ if(K1[2].y < minmax[2])
+ minmax[2] = K1[2].y;
+ }
+ if(K1[2].z > K2[0].z) {
+ if(K1[2].z > minmax[5])
+ minmax[5] = K1[2].z;
+ if(K2[0].z < minmax[4])
+ minmax[4] = K2[0].z;
+ }
+ else {
+ if(K2[0].z > minmax[5])
+ minmax[5] = K2[0].z;
+ if(K1[2].z < minmax[4])
+ minmax[4] = K1[2].z;
+ }
+ //
+ if(K2[1].x > K2[2].x) {
+ if(K2[1].x > minmax[1])
+ minmax[1] = K2[1].x;
+ if(K2[2].x < minmax[0])
+ minmax[0] = K2[2].x;
+ }
+ else {
+ if(K2[2].x > minmax[1])
+ minmax[1] = K2[2].x;
+ if(K2[1].x < minmax[0])
+ minmax[0] = K2[1].x;
+ }
+ if(K2[1].y > K2[2].y) {
+ if(K2[1].y > minmax[3])
+ minmax[3] = K2[1].y;
+ if(K2[2].y < minmax[2])
+ minmax[2] = K2[2].y;
+ }
+ else {
+ if(K2[2].y > minmax[3])
+ minmax[3] = K2[2].y;
+ if(K2[1].y < minmax[2])
+ minmax[2] = K2[1].y;
+ }
+ if(K2[1].z > K2[2].z) {
+ if(K2[1].z > minmax[5])
+ minmax[5] = K2[1].z;
+ if(K2[2].z < minmax[4])
+ minmax[4] = K2[2].z;
+ }
+ else {
+ if(K2[2].z > minmax[5])
+ minmax[5] = K2[2].z;
+ if(K2[1].z < minmax[4])
+ minmax[4] = K2[1].z;
+ }
+
+ int i = 3;
+ while(i < (pTh->nbe)-1) {
+ const Triangle3& Ka(pTh->be(i));
+ const Triangle3& Kb(pTh->be(i+1));
+ if(Ka[0].x > Ka[1].x) {
+ if(Ka[0].x > minmax[1])
+ minmax[1] = Ka[0].x;
+ if(Ka[1].x < minmax[0])
+ minmax[0] = Ka[1].x;
+ }
+ else {
+ if(Ka[1].x > minmax[1])
+ minmax[1] = Ka[1].x;
+ if(Ka[0].x < minmax[0])
+ minmax[0] = Ka[0].x;
+ }
+ if(Ka[0].y > Ka[1].y) {
+ if(Ka[0].y > minmax[3])
+ minmax[3] = Ka[0].y;
+ if(Ka[1].y < minmax[2])
+ minmax[2] = Ka[1].y;
+ }
+ else {
+ if(Ka[1].y > minmax[3])
+ minmax[3] = Ka[1].y;
+ if(Ka[0].y < minmax[2])
+ minmax[2] = Ka[0].y;
+ }
+ if(Ka[0].z > Ka[1].z) {
+ if(Ka[0].z > minmax[5])
+ minmax[5] = Ka[0].z;
+ if(Ka[1].z < minmax[4])
+ minmax[4] = Ka[1].z;
+ }
+ else {
+ if(Ka[1].z > minmax[5])
+ minmax[5] = Ka[1].z;
+ if(Ka[0].z < minmax[4])
+ minmax[4] = Ka[0].z;
+ }
+ //
+ if(Ka[2].x > Kb[0].x) {
+ if(Ka[2].x > minmax[1])
+ minmax[1] = Ka[2].x;
+ if(Kb[0].x < minmax[0])
+ minmax[0] = Kb[0].x;
+ }
+ else {
+ if(Kb[0].x > minmax[1])
+ minmax[1] = Kb[0].x;
+ if(Ka[2].x < minmax[0])
+ minmax[0] = Ka[2].x;
+ }
+ if(Ka[2].y > Kb[0].y) {
+ if(Ka[2].y > minmax[3])
+ minmax[3] = Ka[2].y;
+ if(Kb[0].y < minmax[2])
+ minmax[2] = Kb[0].y;
+ }
+ else {
+ if(Kb[0].y > minmax[3])
+ minmax[3] = Kb[0].y;
+ if(Ka[2].y < minmax[2])
+ minmax[2] = Ka[2].y;
+ }
+ if(Ka[2].z > Kb[0].z) {
+ if(Ka[2].z > minmax[5])
+ minmax[5] = Ka[2].z;
+ if(Kb[0].z < minmax[4])
+ minmax[4] = Kb[0].z;
+ }
+ else {
+ if(Kb[0].z > minmax[5])
+ minmax[5] = Kb[0].z;
+ if(Ka[2].z < minmax[4])
+ minmax[4] = Ka[2].z;
+ }
+ //
+ if(Kb[1].x > Kb[2].x) {
+ if(Kb[1].x > minmax[1])
+ minmax[1] = Kb[1].x;
+ if(Kb[2].x < minmax[0])
+ minmax[0] = Kb[2].x;
+ }
+ else {
+ if(Kb[2].x > minmax[1])
+ minmax[1] = Kb[2].x;
+ if(Kb[1].x < minmax[0])
+ minmax[0] = Kb[1].x;
+ }
+ if(Kb[1].y > Kb[2].y) {
+ if(Kb[1].y > minmax[3])
+ minmax[3] = Kb[1].y;
+ if(Kb[2].y < minmax[2])
+ minmax[2] = Kb[2].y;
+ }
+ else {
+ if(Kb[2].y > minmax[3])
+ minmax[3] = Kb[2].y;
+ if(Kb[1].y < minmax[2])
+ minmax[2] = Kb[1].y;
+ }
+ if(Kb[1].z > Kb[2].z) {
+ if(Kb[1].z > minmax[5])
+ minmax[5] = Kb[1].z;
+ if(Kb[2].z < minmax[4])
+ minmax[4] = Kb[2].z;
+ }
+ else {
+ if(Kb[2].z > minmax[5])
+ minmax[5] = Kb[2].z;
+ if(Kb[1].z < minmax[4])
+ minmax[4] = Kb[1].z;
+ }
+ i += 2;
+ }
+ if((pTh->nbe)%2 == 1) {
+ const Triangle3& Ka(pTh->be(i));
+ if(Ka[0].x > Ka[1].x) {
+ if(Ka[0].x > minmax[1])
+ minmax[1] = Ka[0].x;
+ if(Ka[1].x < minmax[0])
+ minmax[0] = Ka[1].x;
+ }
+ else {
+ if(Ka[1].x > minmax[1])
+ minmax[1] = Ka[1].x;
+ if(Ka[0].x < minmax[0])
+ minmax[0] = Ka[0].x;
+ }
+ if(Ka[0].y > Ka[1].y) {
+ if(Ka[0].y > minmax[3])
+ minmax[3] = Ka[0].y;
+ if(Ka[1].y < minmax[2])
+ minmax[2] = Ka[1].y;
+ }
+ else {
+ if(Ka[1].y > minmax[3])
+ minmax[3] = Ka[1].y;
+ if(Ka[0].y < minmax[2])
+ minmax[2] = Ka[0].y;
+ }
+ if(Ka[0].z > Ka[1].z) {
+ if(Ka[0].z > minmax[5])
+ minmax[5] = Ka[0].z;
+ if(Ka[1].z < minmax[4])
+ minmax[4] = Ka[1].z;
+ }
+ else {
+ if(Ka[1].z > minmax[5])
+ minmax[5] = Ka[1].z;
+ if(Ka[0].z < minmax[4])
+ minmax[4] = Ka[0].z;
+ }
+
+ if(Ka[2].x < minmax[0])
+ minmax[0] = Ka[2].x;
+ else if(Ka[2].x > minmax[1])
+ minmax[1] = Ka[2].x;
+ if(Ka[2].y < minmax[2])
+ minmax[2] = Ka[2].y;
+ else if(Ka[2].y > minmax[3])
+ minmax[3] = Ka[2].y;
+ if(Ka[2].z < minmax[4])
+ minmax[4] = Ka[2].z;
+ else if(Ka[2].z > minmax[5])
+ minmax[5] = Ka[2].z;
+ }
+ KN<double>* bb = GetAny<KN<double>* >((*arrayBB)(stack));
+ *bb = minmax;
+
+ return 0L;
+}
+
+long long_to_double(KN<double>* const& A, KN<long>* const& B) {
+ for(int i = 0; i < B->n; ++i)
+ A->operator[](i) = B->operator[](i);
+ return 0L;
+}
+
+long findDiff(KN<double>* const& array, KN<long>* const& val) {
+ std::set<double> vals;
+ for(unsigned int i = 0; i < array->n; ++i)
+ vals.insert(array->operator[]((int)i));
+ val->resize(vals.size());
+ unsigned short i = 0;
+ for(std::set<double>::iterator it = vals.begin(); it != vals.end(); ++it, ++i)
+ val->operator[]((int)i) = *it;
+ return 0L;
+}
+
+#ifndef _ALL_IN_ONE_
+/* --FH: class Init {
+ public:
+ Init();
+};
+
+Init ...; */
+static void Load_Init() {
+ Global.Add("bb2d", "(", new Boundingbox2D);
+ Global.Add("bb3d", "(", new Boundingbox3D);
+ Global.Add("fast", "(", new OneOperator2_<long, KN<double>*, KN<long>*>(long_to_double));
+ Global.Add("findDiff", "(", new OneOperator2_<long, KN<double>*, KN<long>*>(findDiff));
+}
+ LOADFUNC(Load_Init)
+#endif
+
diff --cc src/Graphics/._gggg.cpp.orig
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/bamglib/._Mesh2.h~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/bamglib/._Mesh2.h~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/bamglib/._MeshWrite.cpp~HEAD
index 63e1130,63e1130..63e1130
Binary files differ
diff --cc src/bamglib/._MeshWrite.cpp~upstream_3.34.2
index 63e1130,63e1130..63e1130
Binary files differ
diff --cc src/bamglib/._meshtype.h~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/bamglib/._meshtype.h~upstream_3.34.2
index 14f037e,14f037e..14f037e
mode 100644,100755..100644
Binary files differ
diff --cc src/femlib/._Mesh3dn.cpp~HEAD
index e9604e8,e9604e8..e9604e8
Binary files differ
diff --cc src/femlib/._Mesh3dn.cpp~upstream_3.34.2
index e9604e8,e9604e8..e9604e8
Binary files differ
diff --cc src/fflib/._AFunction.hpp~HEAD
index 63e1130,63e1130..63e1130
Binary files differ
diff --cc src/fflib/._AFunction.hpp~upstream_3.34.2
index 63e1130,63e1130..63e1130
Binary files differ
diff --cc src/fflib/._InitFunct.hpp.orig
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/fflib/._array_tlp.hpp~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/fflib/._array_tlp.hpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/fflib/._ffapi.cpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/fflib/._lgfem.cpp~HEAD
index e9604e8,e9604e8..e9604e8
Binary files differ
diff --cc src/fflib/._lgfem.cpp~upstream_3.34.2
index e9604e8,e9604e8..e9604e8
Binary files differ
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/freefempp.git
More information about the debian-science-commits
mailing list