[petsc-dev] Problem with PETSC_NULL and variadic functions
Barry Smith
bsmith at mcs.anl.gov
Wed Nov 9 15:34:41 CST 2011
On Nov 9, 2011, at 3:30 PM, Matthew Knepley wrote:
> On Wed, Nov 9, 2011 at 9:28 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> On Wed, Nov 9, 2011 at 15:22, Matthew Knepley <knepley at gmail.com> wrote:
> So the problem is that in C++, when using a variadic function, you cannot type PETSC_NULL directly into the argument list? When would you ever
> do this? If an argument to Printf() is equal to PETSC_NULL, no problem. Its only when PETSC_NULL is passed directly. Why not prevent that in
> all PETSc variadic functions, which I think are only the prints.
>
> include/petscdmcomposite.h:extern PetscErrorCode DMCompositeScatter(DM,Vec,...);
> include/petscdmcomposite.h:extern PetscErrorCode DMCompositeGather(DM,Vec,InsertMode,...);
> include/petscdmcomposite.h:extern PetscErrorCode DMCompositeGetAccess(DM,Vec,...);
> include/petscdmcomposite.h:extern PetscErrorCode DMCompositeRestoreAccess(DM,Vec,...);
> include/petscdmcomposite.h:extern PetscErrorCode DMCompositeGetLocalVectors(DM,...);
> include/petscdmcomposite.h:extern PetscErrorCode DMCompositeGetEntries(DM,...);
> include/petscdmcomposite.h:extern PetscErrorCode DMCompositeRestoreLocalVectors(DM,...);
>
> Yes, I am in favor of getting rid of all variadic functions and replacing them with array arguments.
Actually with the redesign where everything is a DM that becomes possible I think. Though a little ugly.
Barry
>
> Matt
>
> --
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener
More information about the petsc-dev
mailing list