Remove the last of the use of horizontal lines --- as seperators. With modern code development systems they are not needed and just an eye-sore
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 ...
DMComposite: Fix G2L, L2G, and L2L by ensuring read locks are respected on the first input vector
DMComposite: document the signature of the user function passed to DMCompositeSetCoupling
DMComposite: Ensure temporary submatrices are AIJ
DMComposite: Support skipping preallocation of AIJ matrix
The goal of all the commits in this MR is to unify the destruction of "application" contexts.This will help with supporting language bindings. For example, for Fortran the application contextwould
The goal of all the commits in this MR is to unify the destruction of "application" contexts.This will help with supporting language bindings. For example, for Fortran the application contextwould be a user derived typeFix prototype of DMShellSetDestroyCtx function argument to use PETSc standard way of doing it with PetscCtxDestroyF.Also fix PetscViewerGLVisSetFields prototype of destroy functionThese two locations were missed when PetscCtxDestroyFn was introduced as the universal function prototype for context destruction in 3.23Reported-by: Victor Eijkhout
Change use of void (*)(void) and void (**)(void) in the PETSc API to PetscVoidFn * and PetscVoidFn ** or PetscErrorCodeFn * or PetscErrorCodeFn **
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#'
Convert some SETERRQ() to PetscCheck()
missing "s" for isascii and issundials
Remove explicitly listed empty files and switch to output/empty.out
Do not expose unneeded symbols
Fix manual pages related to FortranRemove a couple of dead Fortran bindings
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>
Brain dead fixes for useless casts
Add to CI compilers flags '-Wconversion', '-Wno-sign-conversion', '-Wno-float-conversion', '-Wno-implicit-float-conversion']Also fix the code to repository to compile cleanly with these flags in th
Add to CI compilers flags '-Wconversion', '-Wno-sign-conversion', '-Wno-float-conversion', '-Wno-implicit-float-conversion']Also fix the code to repository to compile cleanly with these flags in the CI
Merge branch 'jczhang/2024-09-10/fix-DMCompositeAddDM' into 'main'DM: avoid the side effect of stashing vectors on component DMs with DMGetGlobal/LocalVector() while doing DMCompositeAddDMSee mer
Merge branch 'jczhang/2024-09-10/fix-DMCompositeAddDM' into 'main'DM: avoid the side effect of stashing vectors on component DMs with DMGetGlobal/LocalVector() while doing DMCompositeAddDMSee merge request petsc/petsc!7821
DM: avoid the side effect of stashing vectors on component DMs with DMGetGlobal/LocalVector() while doing DMCompositeAddDMAs those stashed vectors might have stale types because DMSetVecType() has
DM: avoid the side effect of stashing vectors on component DMs with DMGetGlobal/LocalVector() while doing DMCompositeAddDMAs those stashed vectors might have stale types because DMSetVecType() has not yet set on the composite DM.
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.
Merge remote-tracking branch 'origin/release'
Minor docs fixes
Update source code removing all unneeded /*@C and associated manual stubs and interfaces
release docs fixesCommit-type: i.e. error-checking, optimization, bug-fix, portability-fix, testing-fix, style-fix, feature, documentation, exampleFunded-by:Project:Time: hoursReported-by:
release docs fixesCommit-type: i.e. error-checking, optimization, bug-fix, portability-fix, testing-fix, style-fix, feature, documentation, exampleFunded-by:Project:Time: hoursReported-by:Thanks-to:Development Tools: Vim, Emacs, Eclipse
1234567891011