rename PetscAssert() -> PetscCheck() and PetscAssertDebug() -> PetscAssert()
add PetscAssert() and PetscAssertFalse()
add PetscDesignatedInitializer() and apply it PetscRandom_*, AO_*, Vec_Seq, and Vec_MPI
SETERRQ[1-9]+ begone
fix empty string after PetscInt_FMT in vec src
Change to PetscInt_FMT in vec sources
Style: replace "!rank" with "rank == 0"In SF tutorial ex1 (src/vec/is/sf/tutorials/ex1.c), add parentheses around "rank == 0". This is relevant because ! binds more tightly than +, but == binds les
Style: replace "!rank" with "rank == 0"In SF tutorial ex1 (src/vec/is/sf/tutorials/ex1.c), add parentheses around "rank == 0". This is relevant because ! binds more tightly than +, but == binds lesstightly, so the result of the computation would otherwise change.
show more ...
Remove all double blank lines from sourceCommit-type: petsc-style/2h
CHKERRQ() -> CHKERRMPI()
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-pro
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-process their errors better.The test harness will now automatically retry tests that fail with MPI, this may help with Intel MPI that produces seemingly random failures.Commit-type: error-checking/spend 30m
Turn on checkbadSource test to generate an error when found; fix all source code that causes errorsCommit-type: portability-fix, testing-fix, style-fix, feature, maintainability/spend 1.5h
Vec: Replace 0 -> NULL for pointers
PetscDefined: remove many uses of #ifdef PETSC_USE_DEBUG
PetscDefined: test whether a configuration macro is defined without #ifdefThis allows testing configuration macros from normal code, thus avoidingunused variable warnings and allowing the compiler
PetscDefined: test whether a configuration macro is defined without #ifdefThis allows testing configuration macros from normal code, thus avoidingunused variable warnings and allowing the compiler to check for syntaxerrors throughout all alternatives. This uses C99-style variadicmacros with a second expansion to appease MSVC's non-conformingimplementation of variadic macros.This trick was introduced by "comex" on Google+ in response to aquestion posed by Linus Torvalds.https://plus.google.com/+LinusTorvalds/posts/9gntjh57dXtThis technique (modulo MSVC support) was implemented in the Linux kernel by Paul Gortmaker:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=69349c2dc01c489eccaa4c472542c08e370c6d7e
Remove usage of PETSC_HAVE_FORTRAN_STDCALL, PETSC_BLASLAPACK_STDCALL, HAVE_FORTRAN_MIXED_STR_ARG flags - as Compaq f90 compiler is no longer supported
Non-numeric optimizations focused on AIJ, MatFDColoring, and DMCreateMatrix_DA_*AIJ, looking to improve performance in GPU environments1) PetscCalloc*() now uses system calloc()2) Merged some Pets
Non-numeric optimizations focused on AIJ, MatFDColoring, and DMCreateMatrix_DA_*AIJ, looking to improve performance in GPU environments1) PetscCalloc*() now uses system calloc()2) Merged some PetscMalloc*()3) Eliminated unneeded PetscCalloc*()4) Removed some memory allocations and copies in MatFDColoringSetUp(), added local variables for better compiler optimization5) Added MatSetValues_SeqAIJ_SortedFull(), added MatSetOption(MAT_SORTED_FULL)6) Optimized DMCreateMatrix_DA_*AIJ for nonperiodic case to automatically have sorted columns (faster MatSetValues() times)7) Eliminated call to PetscMemzero() in PetscFree()Commit-type: style-fix, feature
Add PetscArraycmp(), PetscArraycpy(), PetscArrayzero(), PetscArraymove(), update code to use new formsReplace a couple multi-mallocs with a single mallocReplace backwards loops in MatSetValues_*()
Add PetscArraycmp(), PetscArraycpy(), PetscArrayzero(), PetscArraymove(), update code to use new formsReplace a couple multi-mallocs with a single mallocReplace backwards loops in MatSetValues_*() with PetscArraymove()Commit-type: style-fix, feature
Update the use of Collective on in the manual pages to reflect the new styleCommit-type: style-fix, documentationThanks-to: Patrick Sanan <patrick.sanan@gmail.com>
Man pages: remove .keywords: fieldsThis field is recognized by doctext from Sowing (http://wgropp.cs.illinois.edu/projects/software/sowing/doctext/node20.htm#Node20),but it doesn't seem to be unif
Man pages: remove .keywords: fieldsThis field is recognized by doctext from Sowing (http://wgropp.cs.illinois.edu/projects/software/sowing/doctext/node20.htm#Node20),but it doesn't seem to be uniformly used or maintained.Thus, remove all .keywords: fields, and a following blank line, if present.This is accomplished with GNU sed (gsed on OS X), with the following commands.*Warning* that this type of command can corrupt a .git directory,so be cautious in reusing or modifying these commands. They first lookfor and delete matching lines with a following line consisting of only whitespace,and then delete any remaining matching lines. find src/ -type f -exec gsed -i '/keywords:/ {N; /\n\s*$/d}' {} + find src/ -type f -exec gsed -i '/keywords:/d' {} + find include/ -type f -exec gsed -i '/keywords:/ {N; /\n\s*$/d}' {} + find include/ -type f -exec gsed -i '/keywords:/d' {} +Hints on the sed command obtained from: https://unix.stackexchange.com/questions/100754/how-to-delete-a-specific-line-and-the-following-blank-line-using-gnu-sed
Fix AOMEMORYSCALABLE for negative indicesCommit-type: bug-fix, exampleReported-by: Huy Vo <Huy.Vo@colostate.edu>
Remove CHKFORTRANNULLOBJECTDEREFERENCE since it is no longer needed with Fortran null equal to C nullCommit-type: feature
Man pages: add newlines after "Notes:"This allows for proper formatting from sowing.On OS X (using gsed, not the default BSD sed), from the PETSc root directory: find src include -type f \(
Man pages: add newlines after "Notes:"This allows for proper formatting from sowing.On OS X (using gsed, not the default BSD sed), from the PETSc root directory: find src include -type f \( -name "*.c" -or -name "*.h" -or -name "*.cxx" \) | xargs gsed -i 's/Notes\s*:\s*\(\w.*\)/Notes:\n \1/'This adds a newline and 4 spaces whenever "Notes:" is followed by any "word" character, in any .c, .h, or .cxx file in src/ or include/
Remove the use and definition of __FUNCT__ throughout the codeSince all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETScTime: 1.5 hoursThanks-t
Remove the use and definition of __FUNCT__ throughout the codeSince all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETScTime: 1.5 hoursThanks-to: Andreas Mang <andreas@ices.utexas.edu>
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
Merge branch 'maint'
12345