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
Merge remote-tracking branch 'origin/release'
Fix major bug in the Fortran stub for MatSeqAIJGetArray().Reported-by: Steven Dargaville
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#'
Update MatNullSpaceGetVecs() for correct modern usage from Fortran
Fix matrestorerow_() need to explicitly call MatRestoreRow() even in trivial caseReported-by: Steven Dargaville
Add Fortran support for MatGet/RestoreRowReported-by: Steven Dargaville
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
Fortran 90: fully embrace After 34 years!- deprecate use of 'F90' in Fortran function names- use Fortran pointers when appropriate- the new Fortran API is not backward compatible with previous ve
Fortran 90: fully embrace After 34 years!- deprecate use of 'F90' in Fortran function names- use Fortran pointers when appropriate- the new Fortran API is not backward compatible with previous versions!- also clean up inconsistent PETSc code detected by new Fortran generation tools- drop use of bfort- automatically generate all the Fortran PETSc objects, enums etc from the include files- generate most of the Fortran interface definitions and functions from the source code- simplify the number and organization of Fortran modulesCo-authored-by: Jose E. Roman <jroman@dsic.upv.es>
This requires some changes to user FORTRAN codePass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an arrayPass PETSC_NULL_ENUM when argument returns an enum instead of
This requires some changes to user FORTRAN codePass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an arrayPass PETSC_NULL_ENUM when argument returns an enum instead of PETSC_NULL_INTEGERPass arrays (and not scalar values) when the argument is expecting an array; this means replace, for example, the argument v with [v]Use PetscObjectIsNull(obj) to check if the object is NULL, instead of obj == PETSC_NULL_XXXThe compiler will now automatically prevent you from using the wrong argument type for the first three bullets aboveThis will also require an update sowing with the new sowing branch this MR is using.
Update sowing bfort for automatic generation of XXXDestroy() codeFix some Fortran stub code to work with generation of XXXDestroy()Add some runtime tests for XXXCreate() callsAlso update sowing
Update sowing bfort for automatic generation of XXXDestroy() codeFix some Fortran stub code to work with generation of XXXDestroy()Add some runtime tests for XXXCreate() callsAlso update sowing and fortranimpl.h to use PETSC_NULLPTR instead of NULL
Update to sowing version that supports PetscViewer and PetscObjectRemove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowingAlso handles the passing of null
Update to sowing version that supports PetscViewer and PetscObjectRemove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowingAlso handles the passing of null objects correctly
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
Fortran: allow PETSC_NULL_IS arguments in functions such as MatLUFactor()
Add missing interface function MatProductGetAlgorithm()
Add missing Fortran stubs for MatProduct*
LIBBASE is no longer used in make so remove it
Fix -Wzero-as-null-pointer-constant errors
1234567