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


Reply via email to