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 ...
Fix the definition of PetscErrorCodeFn; this reverts API change in !8615Co-authored-by: Pierre Jolivet <pierre@joliv.et>Reported-by: Lisandro Dalcin <dalcinl@gmail.com>
Merge remote-tracking branch 'origin/release'
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#'
Fix definitions of some TSAjdoint functions array arguments from Vec * to Vec [] and Vec ** to Vec *[] so that Fortran binding generator produces correct Fortran interface definitionsReported-by:
Fix definitions of some TSAjdoint functions array arguments from Vec * to Vec [] and Vec ** to Vec *[] so that Fortran binding generator produces correct Fortran interface definitionsReported-by: NicolaC
Remove use of preconditioning or preconditioner matrix when it should be phrased as matrix used to construct preconditioner
add missing C function TSGetIJacobianP()
Fix some TS manual pages
Fix typos
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>
Brain dead fixes for useless casts
Unifies all context destructors to have a form of PetscCtxDestroyFn == PetscErrorCode (*)(void **)Changes the previous subset of destructor APIs that used PetscErrorCode (*)(void *) (mostly those t
Unifies all context destructors to have a form of PetscCtxDestroyFn == PetscErrorCode (*)(void **)Changes the previous subset of destructor APIs that used PetscErrorCode (*)(void *) (mostly those thatused PetscContainer- Now allows any context to be a PetscObject- Will provide a cleaner mapping to bindings in other languages- Simplifies the maintenance of PETSc source code; improves clarityNot backward compatible, compiler warnings will tell users what functions need to be updated
CI: update checkclangformat to use clang-format-19.1.0
Add support for PETSC_DETERMINE to revert to defaults TS parameters
The use case of PetscOptionsGetViewer() has evolved to no longer be the get/restore modelHence the code needs to be refactoredIntroduce PetscCallNull() and PetscCallMPINull() to simplify PETSC_VI
The use case of PetscOptionsGetViewer() has evolved to no longer be the get/restore modelHence the code needs to be refactoredIntroduce PetscCallNull() and PetscCallMPINull() to simplify PETSC_VIEWER_XXXX_() routinesReported-by: James WrightThanks-to: Jeremy L Thompson
Docs: fix double backticks in seealso
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
Convert TS typedef functions to new style ending with _FnCommit-type: housekeeping, maintainability
LIBBASE is no longer used in make so remove it
Fix PetscOptionsGetViewer() so it works in a thread-safe wayWhen PetscOptionsGetViewer() returns, for example, PETSC_VIEWER_STDOUT_SELF the same object is sharedby all threads that call PetscOptio
Fix PetscOptionsGetViewer() so it works in a thread-safe wayWhen PetscOptionsGetViewer() returns, for example, PETSC_VIEWER_STDOUT_SELF the same object is sharedby all threads that call PetscOptionsGetViewer(). In the previous code PetscObjectReference() anddereference (via PetscViewerDestroy() where called on the viewer by multiple threads after the viewerwas accessed thus corrupting the object.This branch introduces a PetscOptionsRestoreViewer() that allows not doing the referencing and dereferencingon persistant viewers, thus removing the specific race condition above.Other possible solutions includeUse a lock on each PetscObjectReference/Dereference() just in case they are shared. Could be time consuming so onecould mark each object as either threadshared or independent and only do the locks on threadshared objects. This lowersthe cost but would require more extensive changes to PETSc infrastructure. And I do not know if this shared/not shared modelis what we need in the long run, though it might be.
Fixes for use of Calling Sequence of ... in the manual page
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
123456