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
