<div dir="ltr">On Wed, Feb 6, 2013 at 9:29 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
  I never said I wasn't to blame :-)<br>
<br>
  You, fortunately escape blame because your famed code reviews had not yet started.<br></blockquote><div><br></div><div style>Hah, I just cover my tracks better and don't comment, supposedly to avoid letting them get stale. ;-)</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
  So how will we fix this for 64 bit indices? and enums mixed in<br></blockquote><div><br></div><div style>We currently have</div><div style><br></div><div style>include/finclude/petscdmdadef.h:#define DMDALocalInfo PetscInt<br>
</div><div style><br></div><div style>so the PetscInt parts are fine, but the enums are not. (And is DMDA_LOCAL_INFO_SIZE really the name we want to use for the stencil type?)</div><div style><br></div><div style>We could explicitly pad to make the enums also addressable as PetscInt. It's messy because we have to know big/little endian to pad correctly.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span class=""><font color="#888888"><br>
   Barry<br>
</font></span><div class=""><div class="h5"><br>
On Feb 6, 2013, at 9:25 PM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
<br>
> On Wed, Feb 6, 2013 at 3:10 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
>   Well, no, first they are not int and second some aren't necessarily int at all.<br>
><br>
>   Developer note: Then entries in this struct are int instead of PetscInt so that the elements may<br>
>                   be extracted in Fortran as if from an integer array<br>
><br>
> Version control is a bitch:<br>
><br>
> <a href="https://bitbucket.org/petsc/petsc-dev/commits/e3362a471c3554df2e80e856b22727951a83bea8#Linclude/petscda.hT194(PetscInt" target="_blank">https://bitbucket.org/petsc/petsc-dev/commits/e3362a471c3554df2e80e856b22727951a83bea8#Linclude/petscda.hT194(PetscInt</a> -> int; comment added; author=Barry)<br>

><br>
> <a href="https://bitbucket.org/petsc/petsc-dev/commits/0be48fdba6c75be1fcd648c7325467a545674f39#Linclude/petscda.hF203T203" target="_blank">https://bitbucket.org/petsc/petsc-dev/commits/0be48fdba6c75be1fcd648c7325467a545674f39#Linclude/petscda.hF203T203</a> (int -> PetscInt; comment not removed; author=Barry)<br>

><br>
><br>
> .seealso:  DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDestroy(), DM, DMDAGetLocalInfo(), DMDAGetInfo()<br>
> S*/<br>
> typedef struct {<br>
>   PetscInt         dim,dof,sw;<br>
>   PetscInt         mx,my,mz;    /* global number of grid points in each direction */<br>
>   PetscInt         xs,ys,zs;    /* starting point of this processor, excluding ghosts */<br>
>   PetscInt         xm,ym,zm;    /* number of grid points on this processor, excluding ghosts */<br>
>   PetscInt         gxs,gys,gzs;    /* starting point of this processor including ghosts */<br>
>   PetscInt         gxm,gym,gzm;    /* number of grid points on this processor including ghosts */<br>
>   DMDABoundaryType bx,by,bz; /* type of ghost nodes at boundary */<br>
>   DMDAStencilType  st;<br>
>   DM               da;<br>
> } DMDALocalInfo;<br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div></div>