[Users] syntax for pointers from array in Cactus?

Roland Haas rhaas at aei.mpg.de
Tue May 24 10:03:53 CDT 2016


Hello Bernard,

Very good.

> C does permit multi-dimensional arrays that can be indexed like
> [i][j][k] (presumably without guaranteed contiguous memory
> allocation), but I didn't appreciate that the Cactus ones are the
> simpler flat sort (OK, I suppose I knew that for the grid functions,
> but not the other kind).
As far as I know, the showstopper issue is that in C all but one of the
array dimensions (unless c99 changes this) must be known at compile time
which is not true in Cactus. Memory is continuous as long as this is
really an array declared as something like double a[42][16][34] and not
an array of pointers like eg the numerical recipies multi-d arrays. If
c99 changed this, then this would be very good to know.

> Anyway, I've changed to the "flat" 1D indexing as you've indicated,
> and it's compiling now. Thanks again,
Very good.

> 
> Bernard
> 
> On 24 May 2016 at 02:01, Roland Haas <rhaas at aei.mpg.de> wrote:
> > Hello Bernard,
> >  
> >> In my C source file, I get the pointers from the 0th rank of this
> >> array, for passing into an interpolator:
> >>
> >> CCTK_POINTER outputs[59];
> >> for(m=0;m<59;m++){
> >>   outputs[m] = &dataslice[m][0][0];
> >> }  
> > I C all arrays appear flat (not multi-dimensional as they are in
> > Fortran), so you need to use:
> >
> > output[m] = &dataslice[m*numtheta*numphi]
> >
> > You can (if you want to) query dataslice's size by calling the Cactus
> > function CCTK_GroupDynamicData
> > (http://einsteintoolkit.org/documentation/ReferenceManual/ReferenceManualch2.html#x4-70000A2)
> > though using the parameters is fine as well.
> >
> > Yours,
> > Roland
> >
> > --
> > My email is as private as my paper mail. I therefore support encrypting
> > and signing email messages. Get my PGP key from http://keys.gnupg.net.
> >
> > _______________________________________________
> > Users mailing list
> > Users at einsteintoolkit.org
> > http://lists.einsteintoolkit.org/mailman/listinfo/users
> >  



-- 
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://keys.gnupg.net.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5517 bytes
Desc: not available
Url : http://lists.einsteintoolkit.org/pipermail/users/attachments/20160524/86d42962/attachment.bin 


More information about the Users mailing list