Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now t
Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now the standard for passing in contexts - PetscCtxRt ctx is the standard for passing out contexts, including context destroy routines based on PetscCtxDestroyFnBoth of these are typedef to void*Also removed most use of user and userctx for context arguments now consistently named ctxImproved documentation on PetscCtx and PetscCtxRt and on how to use contexts (including getting them) from Fortran
show more ...
Introduce PetscFortranCallbackFn to be used instead of PetscVoidFn for Fortran callback functionsAlso fix incorrect use of SNESFunctionFn and SNESJacobianFn in SNES Fortran manual stub
Convert some SETERRQ() to PetscCheck()
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
checkbadSource: rules for PetscFunctionBegin and derivatives
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
add typedef for functions passed to SNESSetFunction() etc to match approach in TSI never liked Jed's use of typedef for function prototypes for a couple of reasons1) you don't see immediately tha
add typedef for functions passed to SNESSetFunction() etc to match approach in TSI never liked Jed's use of typedef for function prototypes for a couple of reasons1) you don't see immediately that the argument to the function is a function pointer instead of standard variable when looking at source2) you don't see at the exact location in the code the prototype of the function being passed inbut there is something to say for using these typedefs soI've prototyped the change for SNES but slightly differently than what Jed did for TS1) I append the typedef with _Ftn to mark that it is a function (helping to relieve the problem 1 above)2) I made the typedef to be for a function, not a function pointer so it can also be used directly for things likePETSC_EXTERN SNESJacobian_Ftn SNESComputeJacobianDefault;I think the TS usage could be switched to this style without user code breakage, and deprecate the current TS typedefThoughts?Just do SNES the same way as TS and live with less clarity?
LIBBASE is no longer used in make so remove it
Merge remote-tracking branch 'origin/release'
Fix some manual pages focusing on SNES
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
Manual linter fixes: snes
Rename PetscValidPointer -> PetscAssertPointer
Lint apply: snes
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
Fix manual pages based on reports from Jacob's lint toolCommit-type: documentation
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
source code format changes due to .clang-format changes
123