Change *.cpp to *.cxx
MatConjugate(): no need to check for USE_COMPLEX in implementations
Minor cleanup: use MPI_IN_PLACE when possible and avoid extra allocation
Merge branch 'barry/2025-10-18/optimize-aij-ops' into 'main'Refactor handling of diagonal marking in *AIJ and SELL matricesSee merge request petsc/petsc!8797
- Replace MatMissingDiagonal() and MatMarkDiagonals_SeqXXX() with MatGetDiagonalMarkers_SeqXXX() - Mat_SeqXXX->diag is not automatically created during MatAssemblyEnd() saving memory and time
- Replace MatMissingDiagonal() and MatMarkDiagonals_SeqXXX() with MatGetDiagonalMarkers_SeqXXX() - Mat_SeqXXX->diag is not automatically created during MatAssemblyEnd() saving memory and time - Accessing Mat_SeqXXX->diag now requires the use of MatGetDiagonalMarkers_SeqXXX() except when the current values are known to be correct; for example during numerical factorizations and solves - Mat_SeqXXX->diag is now never shared among matrices; hence the free_diag flag is gone. That was always a risky proposition since any of the owning matrices could chang the values thus making them incorrect for other owners.
show more ...
Remove unused code
Change names of Mat_XXX product contexts to MatProductCtx_XXX for code maintainabilityUpdate destroy callback of all MatProductCtx and MatShellSetMatProductOperation() to use PetscCtxDestroyFn
Merge branch 'barry/2025-09-04/deprecate-mpiu-bool' into 'main'Deprecate MPIU_BOOL which used to be for PETSc's enum Bool but now is just MPI_C_BOOLSee merge request petsc/petsc!8691
Deprecate MPIU_BOOL which used to be for PETSc' enum Bool but now is just MPI_C_BOOL so no longer needs its own name
Mat: add ops for zerorowscolumnslocal
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()
One-liners from petsc/petsc!5344 and petsc/petsc!5557Slightly reworked regular expressiongit ls-files -z -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | while IFS= read -r -d '' file; do cat
One-liners from petsc/petsc!5344 and petsc/petsc!5557Slightly reworked regular expressiongit ls-files -z -- '*.c' '*.cxx' '*.cu' '*.h' '*.hpp' '*.cpp' | while IFS= read -r -d '' file; do cat $file | tr '\n' '\r' | sed -E 's/\r([ ]*)(for|if|while|else) ([^\r]*)\{\r[ ]*Petsc([a-zA-Z]*)\(([^\r]*)\);\r[ ]*\}\r/\r\1\2 \3Petsc\4(\5);\r/g' | tr '\r' '\n' > ${file}.joe; mv ${file}.joe ${file}done
missing "s" for isascii and issundials
Merge branch 'lindad/hypre-control-through-pmat' into 'main'Change hypre PC option defaults based on hypre matrix memory locationSee merge request petsc/petsc!8505
Make MatGetCurrentMemType first class API
Doc: processor to process, and also fix some typos
Mat: change a misleading variable nameMPIU_Allreduce(&mat->was_assembled, &other_disassembled, 1, MPIU_BOOL, MPI_LAND, PetscObjectComm((PetscObject)mat)));MPI_LAND's result should be 'all_assembl
Mat: change a misleading variable nameMPIU_Allreduce(&mat->was_assembled, &other_disassembled, 1, MPIU_BOOL, MPI_LAND, PetscObjectComm((PetscObject)mat)));MPI_LAND's result should be 'all_assembled', the opposite of 'other_disassembled'
MatOps cleanup
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>
MatSetOption: ignore unused options instead of erroring out
Merge remote-tracking branch 'origin/release'
Fix minor typos in the docs for create/preallocation routinesCo-authored-by: Barry Smith <bsmith@petsc.dev>
Add MatCopyHashToXAIJ() to copy hash table entries into an XAIJ matrix type
Merge branch 'jczhang/2024-09-05/feature-mat-get-vpb' into 'main'PC: add new mat ops MATOP_GET_{BLOCK, VBLOCK}_DIAGONALSee merge request petsc/petsc!7811
1234567