PETSc-FUN3D Code

Lisandro Dalcin dalcinl at gmail.com
Mon Oct 22 11:04:04 CDT 2007


Did you take into accout that MPI defines MPI_Aint for this? I believe
we can reuse that definition, perhaps typedefing it as PetscAint or
PetscAInt,

What do you think?

On 10/20/07, Satish Balay <balay at mcs.anl.gov> wrote:
> Matt,
>
> The primary problem here is:
>
> we have size_t in prototypes - for eg:
>
> PetscErrorCode PetscMemzero(void *a,size_t n);
>
> So, when this routine is called from fortran - what datatype should
> user-fortran-code use? Currently there is no equivalent for size_t.
> [integer and size_t don't match on 64bit machines]
>
> My proposal is to have PetscSizeT [atleast on the fortran side - that
> is set properly - simlar to PetscFortranAddr].
>
> And we normally have types match on both fortran & c - so should we
> use it for C-side aswell?
>
> PetscErrorCode PetscMemzero(void *a,PetscSizeT n);
>
> BTW: This requires configure to set PETSC_SIZEOF_SIZE_T. [I've added
> in this check]. But as you say - if size_t is not in system include
> files - configure typedefs it. But I'm not sure if PETSC_SIZEOF_SIZE_T
> test will compile in this case. [typdefs set by configure don't appear
> to be used in checkSizeof() test.
>
> Satish
>
>
> On Sat, 20 Oct 2007, Matthew Knepley wrote:
>
> > I actually like the autoconf solution. If the type is not found (size_t)
> > then just typedef it as something.
> >
> >    Matt
> >
> > On 10/20/07, Barry Smith <bsmith at mcs.anl.gov> wrote:
> > >
> > >   Satish,
> > >
> > >    I don't know; there are pros and cons to the two
> > > approaches.
> > >
> > >    Why not PetscSize_T? I admit both look stupid, but the
> > > _ at least matches the standard C style.
> > >
> > >   Any comments from the community?
> > >
> > >   Barry
> > >
> > >
> > >
> > >     I would like to keep size_t as the argument
> > >
> > > On Sat, 20 Oct 2007, Satish Balay wrote:
> > >
> > > > On Fri, 19 Oct 2007, Dinesh Kaushik wrote:
> > > >
> > > > > > > Perhaps need a PetscSizeT or some new datatype for this purpose that
> > > > > > > gets set correct for both C & fortran side..
> > > >
> > > > Barry,
> > > >
> > > > Is it ok to do this change? The prototypes of the following functions
> > > > will need to be changed to use PetscSizeT instead of size_t;
> > > >
> > > > [alternative is to use size_t on the C side - but PetscSizeT on the
> > > > fortran side - but this is inconsistant]
> > > >
> > > > thanks,
> > > > Satish
> > > >
> > > > -------------------
> > > > PetscBagCreate
> > > > PetscFileRetrieve
> > > > PetscGetArchType
> > > > PetscGetDate
> > > > PetscGetDisplay
> > > > PetscGetFullPath
> > > > PetscGetHomeDirectory
> > > > PetscGetHostName
> > > > PetscGetProgramName
> > > > PetscGetRelativePath
> > > > PetscGetTmp
> > > > PetscGetUserName
> > > > PetscGetWorkingDirectory
> > > > PetscLs
> > > > PetscMalloc
> > > > PetscMalloc2
> > > > PetscMalloc3
> > > > PetscMalloc4
> > > > PetscMalloc5
> > > > PetscMalloc6
> > > > PetscMalloc7
> > > > PetscMemcmp
> > > > PetscMemcpy
> > > > PetscMemmove
> > > > PetscMemzero
> > > > PetscOptionsGetenv
> > > > PetscOptionsGetString
> > > > PetscOptionsString
> > > > PetscSetMalloc
> > > > PetscSNPrintf
> > > > PetscStrlen
> > > > PetscStrncat
> > > > PetscStrncmp
> > > > PetscStrncpy
> > > > PetscStrreplace
> > > > PetscSynchronizedFGets
> > > > PetscVSNPrintf
> > > >
> > > >
> > >
> > >
> >
> >
> >
>
>


-- 
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594




More information about the petsc-dev mailing list