Introduce PetscFortranCallbackFn to be used instead of PetscVoidFn for Fortran callback functionsAlso fix incorrect use of SNESFunctionFn and SNESJacobianFn in SNES Fortran manual stub
Remove unnecessary braces around one-linersgit grep -lE "[ ]*(if|for|while) \(.*\) {[^;]*;[^;]*}$" -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | xargs sed -i '' -E 's#([ ]*)(if|for|while) \((.*)\
Remove unnecessary braces around one-linersgit grep -lE "[ ]*(if|for|while) \(.*\) {[^;]*;[^;]*}$" -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | xargs sed -i '' -E 's#([ ]*)(if|for|while) \((.*)\) {([^;]*);([^;]*)}$#\1\2 \(\3\)\4;\5#'
show more ...
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90impl.h files. Also move uses of f90 to ftn when simple
Update source code removing all unneeded /*@C and associated manual stubs and interfaces
Change the use of the _Fn suffix to indicate a typedef of a function to just FnAs determined on a vote on GitLab
Change PETSc sys typedef function names to use the new _Fn formatCommit-type: housekeeping, maintainance
LIBBASE is no longer used in make so remove it
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
HAVE_FORTRAN should be USE_FORTRAN_BINDINGS since it is about generating the Fortran bindings, not about if the Fortran compiler exists
Format the ftn-custom files with clang-format. Apparently no particular reason we did not format them initially
non-test and tutorial makefiles only need rules.doc not the full rulesCommit-type: documentation
Only makefiles in the test and tutorial directories need lib/petsc/conf/testCommit-type: housekeeping
Remove now unneeded SOURCE* variables from makefilesCommit-type: configure, housekeeping
Remove empty preprocessor variables
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Make PetscErrorCode a non-discardable enum
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
Fortran: add PETSC_NULL_MPI_COMM for PCMGSetLevelsclose #868
Fix pcmgsetlevels() for Fortran to properly convert the C MPI communictors to FortranFix PCMGSetLevels_MG() to support the use of MPI_COMM_NULL for communicators that that liveon a subset of the o
Fix pcmgsetlevels() for Fortran to properly convert the C MPI communictors to FortranFix PCMGSetLevels_MG() to support the use of MPI_COMM_NULL for communicators that that liveon a subset of the orginal communicator.Add additional documentation material to PCMGSetLevels() explaining how one must handle the restriction and interpolationoperations that move between different levels which have a different number of MPI ranks.Commit-type: bug-fix, docs/spend 2hReported-by: Shatrov Oleg <shatrov.oleg.a@gmail.com>
Single petscdir.mk
build: add more support for not needing to set PETSC_DIR yet build with PETSc, also support for GNU make to directly use "make test" instead of "make -f gmakefile.test"Still needs -include ../petsc
build: add more support for not needing to set PETSC_DIR yet build with PETSc, also support for GNU make to directly use "make test" instead of "make -f gmakefile.test"Still needs -include ../petscdir.mk in many of the makefilesStill needs the link for ../petscdir.mk in many directoriesGNUMakefile: call legacy makefile recursively instead of including itGNUMakefile: promote default "all" target; "libs" builds libpetsc*GNUMakefile: If gnumake < 4.2 prefer makefile wrapper interface over direct gmakefile interface to avoid the following warningsgmakefile.test:92: arch-ci-linux-cxx-cmplx-pkgs-64idx/tests/testfiles: No such file or directorygmakefile:67: arch-ci-linux-cxx-cmplx-pkgs-64idx/lib/petsc/conf/files: No such file or directoryCommit-type: testing-fix, feature, usabilityThanks-to: Jed Brown jed@jedbrown.org
Remove usage of PETSC_HAVE_FORTRAN_STDCALL, PETSC_BLASLAPACK_STDCALL, HAVE_FORTRAN_MIXED_STR_ARG flags - as Compaq f90 compiler is no longer supported
updated PETSc directory layout to match standard packaging strategiesinclude/petsc finclude,private,mpiunilib/petsc confbin/petsc*
Move MG and GAMG implementation headers to petsc-privateI want to be able to register GAMG plugins. I considered a few options:a) Move the implementation headers to petsc-private so they can be
Move MG and GAMG implementation headers to petsc-privateI want to be able to register GAMG plugins. I considered a few options:a) Move the implementation headers to petsc-private so they can beinstalledb) Make Get/Set methods for all of the GAMGOps: graph, coarsen,optprol, etc.c) Add a PCGAMGGet/SetOperation like MatShellGet/SetOperation for eachof these operations.The easiest was (a), and the GAMG methods are so context-specific I'mnot sure who would benefit from their being part of the public petscinterface. If GAMG get's refactored to where the operations are easierto understand on their own, then maybe (b) or (c) would be a betteroption.
manual merge of conflict
12