History log of /petsc/include/petscbag.h (Results 1 – 25 of 133)
Revision Date Author Comments
# 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 ...


123456