Make PetscErrorCode a non-discardable enum
Change the remaining if !defined() header guards that were missed during The Great Formatting 2 to ifndef
source code format changes due to .clang-format changes
Remove parent, parentid, flops, time, mem, and memchildren. Deprecate PetscLogObjectParent(), PetscLogObjectMemory(), and PetscNewLog()
Remove braces from one-liners
clang-format: convert PETSc sources to comply with clang-format
Refactor handling of setable properties of matrices via MatSetOptions()Introduce PetscBool3 with enum values true, false, and unknownUse PetscBool3 to store matrices properties in a matrix and cl
Refactor handling of setable properties of matrices via MatSetOptions()Introduce PetscBool3 with enum values true, false, and unknownUse PetscBool3 to store matrices properties in a matrix and cleanup interface to check these valuesAdd full support for symmetric, Hermitian, structurally symmetric, and SPD.Commit-type: feature/spend 6h
show more ...
Change matrix factor database options that occur in KSP/PC to always use KSP/PC options prefixAdd MatSetOptionsPrefixFactor() and MatAppendOptionsPrefixFactor() to allow controlling the options pre
Change matrix factor database options that occur in KSP/PC to always use KSP/PC options prefixAdd MatSetOptionsPrefixFactor() and MatAppendOptionsPrefixFactor() to allow controlling the options prefixused by factors created from this matrixChange MatSetOptionsPrefix() to no longer affect the options prefix used by factors created from this matrixAs part of the above work the handling of the factor matrix options is now done in code in the factor matrixnot in the code that originates the factor matrixUpdate examples output to the new approach where the factored matrix prefix is set from the KSP/PCMuch of this work was performed by Hong ZhangCommit-type: usability/spend 5h
PetscObjectFunctionCompose: clean up composed functions at Destroy time
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
Merge branch 'psanan/docs-sphinx-man-pages' into 'main'Integrate Man Pages into Sphinx DocsCloses #1132 and #1015See merge request petsc/petsc!4989
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (wor
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (word.rstrip(","), comma)def _process_stripped_line(line): return " ".join(map(_process_word, line.split()))start_pattern = re.compile(r"^( *\.seealso:? )(.*$)")def process_file(filename_full): with fileinput.FileInput(filename_full, inplace=True) as f: in_block = False for line in f: line_stripped = line.strip() # end ".seealso blocks" on a blank line or C-style comment close line_modified = None if not line_stripped: in_block = False elif line_stripped.endswith("*/"): in_block = False else: match = re.match(start_pattern, line) # not stripped line if match: indent = " " * len(match.group(1)) in_block = True line_modified = match.group( 1) + _process_stripped_line( match.group(2).strip()) elif in_block: line_modified = indent + _process_stripped_line( line_stripped) if line_modified: print(line_modified) # prints to the file else: print(line, end="") # prints to the fileBASE_DIRS = ["src", "include"]EXT = [".c", ".cxx", ".cpp", ".cu", ".h", ".hpp", ".hxx"]EXCLUDE_DIRS = ["tests", "tutorials", "ftn-auto", "ftn-custom", "benchmarks"]def main(): """ Process everything """ for base in BASE_DIRS: for root, dirs, files in os.walk(base): for filename in files: if os.path.splitext(filename)[1] in EXT: filename_full = os.path.join(root, filename) print("FILE ---", filename_full) process_file(filename_full) for exclude_dir in EXCLUDE_DIRS: if exclude_dir in dirs: dirs.remove(exclude_dir)if __name__ == "__main__": main()```
Remove the rest of the PetscCheckFalse() from the mat directoryCommit-type: housekeeping/spend 45m
Cleanup of introduction of PetscCall()* remove bogus error flags from XXXBegin()/End() macros such as PetscOptionsBegin()/End()* rename for consistency certain XXXBegin()/End() macros such as Mat
Cleanup of introduction of PetscCall()* remove bogus error flags from XXXBegin()/End() macros such as PetscOptionsBegin()/End()* rename for consistency certain XXXBegin()/End() macros such as MatPreallocateInitialize()/Finalize()* fix many lingering ierr = XXX that arose from multiline function calls* sync slepc/hpddm - to use snapshots with the same changesCommit-type: error-checking, style-fix/spend 8h
Remove some PetscCheckFalse()
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX() -> PetscCallThrow()- CHKERRCXX() -> PetscCallCXX()- CHKERRCUDA() -> PetscCallCUDA()- CHKERRCUBLAS() -> PetscCallCUBLAS()- CHKERRCUSPARSE() -> PetscCallCUSPARSE()- CHKERRCUSOLVER() -> PetscCallCUSOLVER()- CHKERRCUFFT() -> PetscCallCUFFT()- CHKERRCURAND() -> PetscCallCURAND()- CHKERRHIP() -> PetscCallHIP()- CHKERRHIPBLAS() -> PetscCallHIPBLAS()- CHKERRHIPSOLVER() -> PetscCallHIPSOLVER()- CHKERRQ_CEED() -> PetscCallCEED()- CHKERR_FORTRAN_VOID_FUNCTION() -> PetscCallFortranVoidFunction()- CHKERRMKL() -> PetscCallMKL()- CHKERRMMG() -> PetscCallMMG()- CHKERRMMG_NONSTANDARD() -> PetscCallMMG_NONSTANDARD()- CHKERRCGNS() -> PetscCallCGNS()- CHKERRPTSCOTCH() -> PetscCallPTSCOTCH()- CHKERRSTR() -> PetscCallSTR()- CHKERRTC() -> PetscCallTC()
pluck ~1000 low hanging PetscCheckFalse() -> PetscCheck() fruit
chkerr and friends wrapped
Log CHOLMOD flops
rename PetscAssert() -> PetscCheck() and PetscAssertDebug() -> PetscAssert()
add PetscAssert() and PetscAssertFalse()
make PetscInfo() variadic
SETERRQ[1-9]+ begone
applied attribute format fixes to mat headers
SPQR: support for MATNORMAL
12345