| #
dbbe0bcd
|
| 23-Jul-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Convert setfromoptions methods over to PetscTryTypeMethod() approach
Flipped the order of the arguments for the function pointers (*setfromoptions)(PetscOptionItem*,obj); and friends to make them co
Convert setfromoptions methods over to PetscTryTypeMethod() approach
Flipped the order of the arguments for the function pointers (*setfromoptions)(PetscOptionItem*,obj); and friends to make them consistent with PetscTryTypeMethod() and all the other methods
Commit-type: refactorization /spend 4h
show more ...
|
| #
5b2ffd44
|
| 28-Jul-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jczhang/replace-mpi-prod-on-mpiu-bool' into 'main'
MAT: replace MPI_PROD with MPI_LAND on MPIU_BOOL for code readability
See merge request petsc/petsc!5482
|
| #
5f9db2b2
|
| 27-Jul-2022 |
Junchao Zhang <jczhang@mcs.anl.gov> |
MAT: replace MPI_PROD with MPI_LAND on MPIU_BOOL for code readability
|
| #
42b3b702
|
| 25-Jul-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-07-16/fix-mattranspose' into 'main'
Symbolic/numeric stages vs MatReuse flag discussion and additions to MatTranspose
See merge request petsc/petsc!5438
|
| #
7fb60732
|
| 17-Jul-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Update handling of MatTranspose() with MAT_REUSE_MATRIX
Add error checking for the use of the MAT_REUSE_MATRIX flag in MatTranspose() Add tests to MatTranspose_XXX to error if the nonzero pattern ch
Update handling of MatTranspose() with MAT_REUSE_MATRIX
Add error checking for the use of the MAT_REUSE_MATRIX flag in MatTranspose() Add tests to MatTranspose_XXX to error if the nonzero pattern changes Add support for MAT_REUSE_MATRIX with changing nonzero pattern for MatTranspose_SeqAIJ() Remove use of updateAt in MatProductNumeric_AtB_SeqAIJ_SeqAIJ() since MatTranspose() automatically skips unneeded new transpose Add MatTransposeSymbolic() Update to SLEPc that supports these changes
Commit-type: feature, error-checking, documentation /spend 5h
show more ...
|
| #
bda77271
|
| 20-Jul-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-06-24/linenumbers-petscstack' into 'main'
Fixes/improvements for PETSc stack handling
See merge request petsc/petsc!5368
|
| #
792fecdf
|
| 25-Jun-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Cleanup and unify naming of PetscCall routines
Commit-type: housekeeping /spend 10m
|
| #
e6ab01ba
|
| 09-Jul-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-06-11/improve-mat-setable-values' into 'main'
Refactor handling of settable properties of matrix via MatSetOptions
See merge request petsc/petsc!5338
|
| #
b94d7ded
|
| 13-Jun-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Refactor handling of setable properties of matrices via MatSetOptions()
Introduce PetscBool3 with enum values true, false, and unknown
Use 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 unknown
Use PetscBool3 to store matrices properties in a matrix and cleanup interface to check these values
Add full support for symmetric, Hermitian, structurally symmetric, and SPD.
Commit-type: feature /spend 6h
show more ...
|
| #
74296e43
|
| 30-Jun-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'adams/mat-init-matops' into 'main'
Initialize MatOps_Values with two new NULLs
See merge request petsc/petsc!5382
|
| #
99a7f59e
|
| 30-Jun-2022 |
Mark Adams <524115-markadams4@users.noreply.gitlab.com> |
Initialize MatOps_Values with two new NULLs
|
| #
44e5f0e3
|
| 29-Jun-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'wence/petsc-check-do-while' into 'main'
Wrap PetscCheck and PetscAssert in do { } while (0)
Closes #1199
See merge request petsc/petsc!5291
|
| #
f7d195e4
|
| 28-May-2022 |
Lawrence Mitchell <lawrence@wence.uk> |
Wrap PetscCheck and PetscAssert in do { } while (0)
These macros look like functions, so they should behave like functions. Fix up the resulting invalid syntax due to the previous behaviour of these
Wrap PetscCheck and PetscAssert in do { } while (0)
These macros look like functions, so they should behave like functions. Fix up the resulting invalid syntax due to the previous behaviour of these macros being "if (...) statement_without_semicolon". Fixes #1199.
show more ...
|
| #
145e6476
|
| 23-Jun-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-06-13/make-one-line-if-call' into 'main'
Change if () { PetscCall() } three liner to one liner
See merge request petsc/petsc!5344
|
| #
1baa6e33
|
| 14-Jun-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Change if () { PetscCall() } three liner and friends to one liners
for i in `git ls-files | grep "\.[ch]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ ]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\
Change if () { PetscCall() } three liner and friends to one liners
for i in `git ls-files | grep "\.[ch]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ ]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\$[ ]*PetscCall(\([- ._+=a-z0-9A-Z>*,()]*);\)\$[ ]*}\$?\1if (\2) PetscCall(\3$?g' | tr '$' '\n' | sed 's?ZZZ?$?g' > $i.joe ; mv $i.joe $i ; done
for i in `git ls-files | grep "\.[hc]$"` ; do sed 's?\$?ZZZ?g' $i | tr '\n' '$' | sed 's?\([ }else]*\)if (\([-;,.\*+=a-z0-9A-Z_>]*\)) {\$[ ]*PetscCall(\([- ._+=a-z0-9A-Z>*,()]*);\)\$\([ ]*\)} \([- ._+=a-z0-9A-Z>*,()]*);\)\$?\1if (\2) PetscCall(\3$\4\5$?g' | tr '$' '\n' | sed 's?ZZZ?$?g' > $i.joe ; mv $i.joe $i ; done
Yes, really ugly but Barry still cannot master awk
Commit-type: housekeeping
show more ...
|
| #
dc34d9f7
|
| 17-Jun-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'stefanozampini/fix-function-composition' into 'main'
fix function composition
See merge request petsc/petsc!5274
|
| #
2e956fe4
|
| 24-May-2022 |
Stefano Zampini <stefano.zampini@gmail.com> |
PetscObjectFunctionCompose: clean up composed functions at Destroy time
|
| #
71075aaf
|
| 20-May-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge remote-tracking branch 'origin/release'
|
| #
57e3f0c7
|
| 20-May-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jose/codespell-fixes' into 'release'
A few codespell fixes
See merge request petsc/petsc!5259
|
| #
6aad120c
|
| 19-May-2022 |
Jose E. Roman <jroman@dsic.upv.es> |
A few codespell fixes
|
| #
70719257
|
| 10-May-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'psanan/docs-seealso-formatting' into 'main'
Docs: Fix man page .seealso entries missing spaces after commas
Closes #1176
See merge request petsc/petsc!5202
|
| #
c2e3fba1
|
| 03-May-2022 |
Patrick Sanan <patrick.sanan@gmail.com> |
Docs: Fix man page .seealso entries missing spaces after commas
```python
import os import re import fileinput
START_PATTERN = re.compile(r"^( *\.seealso:? )(.*$)") FIX_PATTERN = re.compile(r",([^
Docs: Fix man page .seealso entries missing spaces after commas
```python
import os import re import fileinput
START_PATTERN = re.compile(r"^( *\.seealso:? )(.*$)") FIX_PATTERN = re.compile(r",([^ $\n])")
def _fix_comma(matchobj): return "`, `%s" % matchobj.group(1)
def process_file(filename_full): """ Find/fix commas w/o trailing spaces or newlines in .seealso blocks """ with fileinput.FileInput(filename_full, inplace=True) as the_file: in_block = False for line in the_file: line_stripped = line.strip() # end ".seealso blocks" on a blank line or C-style comment close 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: in_block = True if in_block: if re.search(FIX_PATTERN, line): line_fixed = re.sub(FIX_PATTERN, _fix_comma, line) print(line_fixed, end="") # prints to file else: print(line, end="") # prints to file else: print(line, end="") # prints to file
BASE_DIRS = ["src", "include"] EXT = [".c", ".cxx", ".cpp", ".cu", ".h", ".hpp", ".hxx"] EXCLUDE_DIRS = ["tests", "tutorials", "ftn-auto", "ftn-custom", "benchmarks"]
def main(): """ Process files in local tree(s) """ 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) process_file(filename_full) for exclude_dir in EXCLUDE_DIRS: if exclude_dir in dirs: dirs.remove(exclude_dir)
if __name__ == "__main__": main() ```
show more ...
|
| #
89669be4
|
| 02-May-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'psanan/docs-sphinx-man-pages' into 'main'
Integrate Man Pages into Sphinx Docs
Closes #1132 and #1015
See merge request petsc/petsc!4989
|
| #
e63c167f
|
| 30-Apr-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-04-28/rm-petsccheckfalse-mat' into 'main'
Remove the rest of the PetscCheckFalse() from the mat directory
See merge request petsc/petsc!5184
|
| #
db781477
|
| 25-Apr-2022 |
Patrick Sanan <patrick.sanan@gmail.com> |
Docs: bulk add backticks to .seealso man page fields
```python import os import re import fileinput
def _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (wor
Docs: bulk add backticks to .seealso man page fields
```python import os import re import fileinput
def _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 file
BASE_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() ```
show more ...
|