| #
4e8208cb
|
| 31-Jan-2026 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2026-01-13/ftn-generation-for-context-functions' into 'main'
Fortran generation of interface definitions for functions that take and return context variables (void *ctx and PetC
Merge branch 'barry/2026-01-13/ftn-generation-for-context-functions' into 'main'
Fortran generation of interface definitions for functions that take and return context variables (void *ctx and PetCtx ctx)
See merge request petsc/petsc!8956
show more ...
|
| #
2a8381b2
|
| 13-Jan-2026 |
Barry Smith <bsmith@mcs.anl.gov> |
Add automatic generated fortran support for setting and returning contexts
Major 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 contexts
Major 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 PetscCtxDestroyFn
Both of these are typedef to void*
Also removed most use of user and userctx for context arguments now consistently named ctx
Improved documentation on PetscCtx and PetscCtxRt and on how to use contexts (including getting them) from Fortran
show more ...
|
| #
6d8694c4
|
| 20-Mar-2025 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-04-29/add-fortran-enums' into 'main'
Major updates to Fortran interface
See merge request petsc/petsc!7517
|
| #
ce78bad3
|
| 20-Feb-2025 |
Barry Smith <bsmith@petsc.dev> |
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 modules
Co-authored-by: Jose E. Roman <jroman@dsic.upv.es>
show more ...
|
| #
a623e290
|
| 12-Jun-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-05-29/minor-fortran-stub-cleanup' into 'main'
More improvements to Fortran stubs and interfaces
See merge request petsc/petsc!7598
|
| #
5d83a8b1
|
| 30-May-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
This requires some changes to user FORTRAN code
Pass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an array Pass PETSC_NULL_ENUM when argument returns an enum instead of
This requires some changes to user FORTRAN code
Pass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an array Pass PETSC_NULL_ENUM when argument returns an enum instead of PETSC_NULL_INTEGER Pass 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_XXX
The compiler will now automatically prevent you from using the wrong argument type for the first three bullets above This will also require an update sowing with the new sowing branch this MR is using.
show more ...
|
| #
1ed6e3ff
|
| 25-Apr-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-04-13/fix-sowing-strings' into 'main'
Update PETSc to use sowing bfort that handles string arguments and PETSC_NULL_INT
See merge request petsc/petsc!7480
|
| #
cc4c1da9
|
| 14-Apr-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
Update source code removing all unneeded /*@C and associated manual stubs and interfaces
|
| #
b22c9ba6
|
| 08-Jan-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge remote-tracking branch 'origin/release'
|
| #
338bea87
|
| 08-Jan-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-01-04/fix-includes-man-pages/release' into 'release'
Barry/2024 01 04/fix includes man pages/release
See merge request petsc/petsc!7165
|
| #
af27ebaa
|
| 05-Jan-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
Fix manual page formating in include directory
|
| #
9dd11ecf
|
| 25-Aug-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2023-08-17/header-guard-check' into 'main'
Check header guards
See merge request petsc/petsc!6822
|
| #
a4963045
|
| 18-Aug-2023 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
Convert all header guards to pragma once
|
| #
d7c0c5d4
|
| 18-Jul-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'stefanozampini/remove-unused-api' into 'main'
remove API definition of functions without any implementation code
See merge request petsc/petsc!6728
|
| #
f65f9c00
|
| 18-Jul-2023 |
Stefano Zampini <stefano.zampini@gmail.com> |
Remove unused some dead API. These had header declerations but no corresponding definitions in the source tree.
|
| #
061e922f
|
| 22-Sep-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2022-09-21/2-bike-2-shed' into 'main'
Feature: Bicycle Storage Facility 2
See merge request petsc/petsc!5661
|
| #
6524c165
|
| 21-Sep-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
Transform all header-guards into ifndefs to make clang-format ignore them for preprocessor indentation
|
| #
58d68138
|
| 23-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-08-21/clang-format-source' into 'main'
format repository with clang-format
See merge request petsc/petsc!5541
|
| #
9371c9d4
|
| 22-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
clang-format: convert PETSc sources to comply with clang-format
|
| #
32105407
|
| 17-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-08-13/fix-man-include' into 'main'
Fix up manual pages in include/ including adding tick marks
See merge request petsc/petsc!5528
|
| #
87497f52
|
| 14-Aug-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Fix up manual pages in include/ including adding tick marks
Commit-type: documentation /spend 4h
|
| #
6ffe77ea
|
| 12-May-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-05-03/cleanup-makefiles' into 'main'
remove unneeded stuff from makefiles
See merge request petsc/petsc!5211
|
| #
ac09b921
|
| 05-May-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Get values of makefile SOURCE etc from the file system instead of makefiles
Use SUBMANSEC from include files for manual sections instead of the makefile
Unfortunately this has to be one large commi
Get values of makefile SOURCE etc from the file system instead of makefiles
Use SUBMANSEC from include files for manual sections instead of the makefile
Unfortunately this has to be one large commit since the changes all have to be done at once
Commit-type: docs /spend 10m
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
|
| #
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 ...
|