[petsc-dev] PetscInitialize in Fortran
Matthew Knepley
knepley at gmail.com
Tue Oct 29 16:45:17 CDT 2013
On Tue, Oct 29, 2013 at 4:38 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> Is your question, why is there a
>
> PETSC_EXTERN void PETSC_STDCALL petscinitialize_(CHAR filename
> PETSC_MIXED_LEN(len),PetscErrorCode *ierr PETSC_END_LEN(len))
> {
> #if defined (PETSC_USE_NARGS)
> short flg,i;
> #else
> int i;
> #if !defined(PETSC_HAVE_PXFGETARG_NEW) && !defined
> (PETSC_HAVE_PXFGETARG_NEW)
> int j;
> #endif
> #endif
>
> function in zstart.c that has a great deal of code duplication (yuck) with
> the C PetscInitialize() function?
>
> The reason is because a long long long time ago we had great difficulty
> using the exact same code for most of the initialization in C and Fortran
> for a bunch of subtle and machine specific reasons I forgot (Satish may
> remember). We introduced the code duplication and have had no problems
> since (except sometimes forgetting to put new things added to
> PetscInitialize() into petscinitialize_() !) Yes ideally we would
> eliminate the code duplication with a refactorization but the gain would
> mostly be a good feeling and since Satish and I sweated a lot of tears long
> ago with crazy stuff that went wrong until we duplicated code I would vote
> against trying to put them together.
>
I had a "forgot to duplicate the code" problem and was unhappy.
Matt
> If your question is something else then please restate your question.
>
> Barry
>
>
>
> On Oct 29, 2013, at 4:03 PM, Matthew Knepley <knepley at gmail.com> wrote:
>
> > Why do we have a copy of PetscInitialize() in zstart.c? We just call
> PetscFinalize()
> > from there.
> >
> > 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
>
>
--
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20131029/97a451c7/attachment.html>
More information about the petsc-dev
mailing list