Updated and simplified Fortran interfaceReduced from 4 distinct approaches to using PETSc from Fortran to 1No more .h90 files (Fortran 90 functionality is now always available)Parameters and func
Updated and simplified Fortran interfaceReduced from 4 distinct approaches to using PETSc from Fortran to 1No more .h90 files (Fortran 90 functionality is now always available)Parameters and function prototypes are now provide through Fortran modules, not includes;only #define are provided in the petscXXXdef.h filesPETSc objects can be declared as either type(tXXX) or XXX. For example type(tVec) or VecMoved now private Fortran include files out of public include directory since uses don't use them;they are only used to generate the Fortran modulesEasier to support and test; we can now easily add more function prototypesAlso had to rework generation of manual pages to consistently use MANSEC and SUBMANSECsince these variables also handle how the Fortran modules are generated.Time: 57 hours
show more ...
replace uses of PetscMalloc() with PetscNew() or PetscMalloc1() where appropriate
remove a couple of seemingly strange unneeded PetscReturnFunction(ierr)
The deprecated -log_summary_exclude was still being used when it should have been -log_excludeReported-by: Jose E. Roman <jroman@dsic.upv.es>
Added missing CHKERRQ()Removed possible malloc of size zero due to no arguments in string in PetscStrToArray()
a couple of fixes suggested by clang analyzeradd missing error checkingminor formatting fixes
Cleanup petscsys.h, add a few comments, fix formatting, remove a little dead code, i.e. Passive variablesFunded-by: Hierarchical solversTime: .2 hours
Complete update to new PetscOptions interface
PetscHeaderCreate: Shorten argument list and optimize memory allocation* Remove type arguments from the macro* Use a single memory allocation call instead of three
updated PETSc directory layout to match standard packaging strategiesinclude/petsc finclude,private,mpiunilib/petsc confbin/petsc*
Merge branch 'tisaac/simplify-register-all'Removed the XXXRegisterAll() functions from the public interface. These should now only be handled by the package intialization functions.
update to sowing version that uses single letter for Fortran interface definitionsfixed a few manual pages
manual merge of conflict
Remove XXXRegisterAllCalled from public interface.All XXXRegisterAll() methods are now idempotent, so a boolean indicatingwhether they can be called or not is no longer necessary.
convert some PetscMalloc() to PetscMalloc1()remove unneeded () in first argument to PetscMalloc/Calloc1()fixes for MATLAB examples
DM: Moved DMDABoundaryTypes to DMBoundaryTypes- Changed the enum values as well- Changed docs and updated Changes- Updated examples
Sys: drop explicit type arguments from PetscNew() and PetscNewLog()git grep -l 'PetscNew\(Log\)\?(' -- $1 | xargs perl -pi -e 's@PetscNew\([^,;()]+ *, *@PetscNew(@;s@PetscNewLog\(([^,;()]+) *,[^,
Sys: drop explicit type arguments from PetscNew() and PetscNewLog()git grep -l 'PetscNew\(Log\)\?(' -- $1 | xargs perl -pi -e 's@PetscNew\([^,;()]+ *, *@PetscNew(@;s@PetscNewLog\(([^,;()]+) *,[^,;()]+, *@PetscNewLog($1,@'
Sys: add PetscMalloc1 macro, array allocation without redundant typesThe type is inferred from the pointer return type. This patch isautomated via the following script:git grep -l 'PetscMalloc(
Sys: add PetscMalloc1 macro, array allocation without redundant typesThe type is inferred from the pointer return type. This patch isautomated via the following script:git grep -l 'PetscMalloc(.*sizeof' src | xargs perl -pi -e 's@PetscMalloc\(([^,;]*[^,; ]) *\* *sizeof\([^,;()]+\),@PetscMalloc1($1,@'This commit contains an additional bug-fix in csrperm.c, fixing pointerarity. The code was introduced in 2006, but the allocation could nothave been correct at any time. This probably means thatMatDuplicate_SeqAIJPERM has never been tested. a54129beb540034ba105796c682d589e7e1111f2 Richard Tran Mills <rmills@ornl.gov> Added MATSEQCSRPERM support for MatDuplicate() and conversion to/from MATSEQAIJ. Note that these changes are not quite debugged.
Remove --with-dynamic-loading / PETSC_USE_DYNAMIC_LIBRARIESThis option was mostly redundant because normal shared libraries satisfyall the same needs. This commit adds the run-time option-dynami
Remove --with-dynamic-loading / PETSC_USE_DYNAMIC_LIBRARIESThis option was mostly redundant because normal shared libraries satisfyall the same needs. This commit adds the run-time option-dynamic_library_preload that can be used to load/initialize all thepackages in advance, as used to be done when --with-dynamic-loading.The PetscDLLibraryRegister_petscxxx functions have been kept, but arenot called unless -dynamic_library_preload is used. The petsc-devdiscussion, "Why --with-dynamic-loading?" did not reach consensus aboutwhether this was ever useful, so it may also be removable.
logging memory now credits to all ancestors
removed PetscFunctionListDestroyAll() and put PetscFunctionListDestroy(&XXXList) into the package finalize
PetscFunctionListAdd: use macro to hide (PetscVoidFunction) castSame rationale as the last commit:Casting using PetscVoidFunction instead of (void(*)(void)) is neededwith C++ compilers that will
PetscFunctionListAdd: use macro to hide (PetscVoidFunction) castSame rationale as the last commit:Casting using PetscVoidFunction instead of (void(*)(void)) is neededwith C++ compilers that will not implicitly convert C++ language linkageto C language linkage. Since PetscFunctionListAdd() is meant to operateon generic function pointers, we hide this language linkage detail(which is inconsistently implemented) in a cast.
PetscFunctionListFind: use macro to hide (PetscVoidFunction*) castCasting using PetscVoidFunction* instead of (void(**)(void)) is neededwith C++ compilers that will not implicitly convert C++ lang
PetscFunctionListFind: use macro to hide (PetscVoidFunction*) castCasting using PetscVoidFunction* instead of (void(**)(void)) is neededwith C++ compilers that will not implicitly convert C++ language linkageto C language linkage. Since PetscFunctionListFind() is meant to operateon generic function pointers, we hide this language linkage detail(which is inconsistently implemented) in a cast.
removed string version of function name for XXXRegister(), PetscFunctionListAdd() and PetscObjectComposeFunction()
removed path and MPI_Comm arguments from PetscFunctionListFind/Add()
123456