| #
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 ...
|
| #
51b144c6
|
| 29-Aug-2025 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'MarDiehl/use-bool-instead-of-enum' into 'main'
use bool instead of enum
See merge request petsc/petsc!8528
|
| #
1dc74096
|
| 21-Jul-2025 |
Martin Diehl <mail@martin-diehl.net> |
use standard bool instead of enum
PetscBool is equivalent to _Bool/bool in C
For C standards prior to C23, true = 1 and false = 0 are defined in <stdbool.h>. For C23, true and false are real keywor
use standard bool instead of enum
PetscBool is equivalent to _Bool/bool in C
For C standards prior to C23, true = 1 and false = 0 are defined in <stdbool.h>. For C23, true and false are real keywords.
The Fortran equivalent is logical(C_BOOL) with C_BOOL from ISO_C_binding.
The C and the C++ standard do not specify the size of Booleans, but they typically have a size of 1 Byte with b00000000 for false and b00000001 for true. When using compilers from the same vendor, it is sane to assume that _Bool/bool in C and bool in C++ are fully compatible. But that is not guaranteed by the standards
show more ...
|
| #
ad49c6e3
|
| 19-Jul-2025 |
Martin Diehl <mail@martin-diehl.net> |
ensure that Fortran Bool is interoperable
The kind C_BOOL for logical from ISO_C_binding only defines the size of the logical as 1 Byte. It does not define which values (bit patterns) are used to en
ensure that Fortran Bool is interoperable
The kind C_BOOL for logical from ISO_C_binding only defines the size of the logical as 1 Byte. It does not define which values (bit patterns) are used to encode true and false. In stdbool.h from C, true is defined as 1 and false as 0, but these values are not guaranteed by the Fortran standard.
There are (at least) two contemporary Fortran compilers that use a difference convention: Intel Fortran (ifort and ifx) and NVIDIA Fortran (nvfortran, former PGI). Both represent true as all bits set, i.e. -1 for a signed integer or 255 for an unsigned integer.
Intel Fortran can be made interoperable with the "-standard-semantics" or "-fpscomp logicals". The latter is now set by default to ensure interoperability while avoiding effects such as modified name mangling rules and performance degradations due to the former.
NVIDIA Fortran can be made interoperable with the "-Munixlogical" flag. This is set manually in the "linux-cuda-single-cxx" pipeline. This is now set by default.
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 ...
|
| #
26a11704
|
| 09-Mar-2025 |
Barry Smith <bsmith@mcs.anl.gov> |
some doc/manual page fixes
|
| #
be37439e
|
| 21-Oct-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'stefanozampini/useless-cast' into 'main'
Remove useless cast
See merge request petsc/petsc!7894
|
| #
835f2295
|
| 05-Oct-2024 |
Stefano Zampini <stefano.zampini@gmail.com> |
Brain dead fixes for useless casts
|
| #
d0e6bf2a
|
| 25-Sep-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jolivet/clang-format-19' into 'main'
clang-format-19
See merge request petsc/petsc!7644
|
| #
57508ece
|
| 17-Sep-2024 |
Pierre Jolivet <pierre@joliv.et> |
Remove unneeded parentheses
|
| #
d8e47b63
|
| 17-Sep-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-09-02/rebased-fix-conversion-warnings' into 'main'
Compiler finds (and forbid) casts from higher precision integers to lower
See merge request petsc/petsc!7806
|
| #
6497c311
|
| 25-Aug-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
Add to CI compilers flags '-Wconversion', '-Wno-sign-conversion', '-Wno-float-conversion', '-Wno-implicit-float-conversion']
Also fix the code to repository to compile cleanly with these flags in th
Add to CI compilers flags '-Wconversion', '-Wno-sign-conversion', '-Wno-float-conversion', '-Wno-implicit-float-conversion']
Also fix the code to repository to compile cleanly with these flags in the CI
show more ...
|
| #
fda22ce0
|
| 08-Jul-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-07-01/fix-petscoptionsgetviewer' into 'main'
The use case of PetscOptionsGetViewer() has evolved to no longer be the get/restore model
See merge request petsc/petsc!7667
|
| #
648c30bc
|
| 08-Jul-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
The use case of PetscOptionsGetViewer() has evolved to no longer be the get/restore model
Hence the code needs to be refactored
Introduce PetscCallNull() and PetscCallMPINull() to simplify PETSC_VI
The use case of PetscOptionsGetViewer() has evolved to no longer be the get/restore model
Hence the code needs to be refactored
Introduce PetscCallNull() and PetscCallMPINull() to simplify PETSC_VIEWER_XXXX_() routines
Reported-by: James Wright Thanks-to: Jeremy L Thompson
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 ...
|
| #
377f809a
|
| 07-Jun-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
All constructors should do PetscAssertPointer on output object
Reported-by: Blaise Bourdin
Constructors should not initialize the output to NULL upon entry, serves no purpose
Fix some formatting i
All constructors should do PetscAssertPointer on output object
Reported-by: Blaise Bourdin
Constructors should not initialize the output to NULL upon entry, serves no purpose
Fix some formatting in constructors
show more ...
|
| #
a4987ed7
|
| 29-May-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-05-17/fix-sowing-object-destroy' into 'main'
Sowing bfort generation of XXXDestroy
See merge request petsc/petsc!7559
|
| #
0764c050
|
| 18-May-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
Update sowing bfort for automatic generation of XXXDestroy() code
Fix some Fortran stub code to work with generation of XXXDestroy()
Add some runtime tests for XXXCreate() calls
Also update sowing
Update sowing bfort for automatic generation of XXXDestroy() code
Fix some Fortran stub code to work with generation of XXXDestroy()
Add some runtime tests for XXXCreate() calls
Also update sowing and fortranimpl.h to use PETSC_NULLPTR instead of NULL
show more ...
|
| #
cef0416b
|
| 15-May-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-04-26/fix-sowing-viewers' into 'main'
Remove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowing
See merge request petsc/petsc!7511
|
| #
ffeef943
|
| 28-Apr-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
Update to sowing version that supports PetscViewer and PetscObject
Remove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowing
Also handles the passing of null
Update to sowing version that supports PetscViewer and PetscObject
Remove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowing
Also handles the passing of null objects correctly
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
|