Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Mata void functions and pointers


From   [email protected] (Brendan Halpin)
To   [email protected]
Subject   Re: st: Mata void functions and pointers
Date   Thu, 17 May 2012 23:03:53 +0100

On Thu, May 17 2012, Matthew Baker wrote:

> Brendan (and others):
>
> I should have been more clear! I would certainly prefer to use a
> vector to collect the elements, but the objects I'm collecting are of
> unknown dimension which is not known in advance

OK, that makes sense. 

> void example(A,B,Ab) Ab=J(A+round(3*runiform(1,1)),B,1)
> P=J(3,1,NULL)
> for (i=1;i<=3;i++) {
> 	example(i,i,Ab=.)
> 	Ab
> 	P[i]=&Ab

The trouble is you're re-using Ab. You want to use a different piece of
memory each time. 

Can you get P[i] into the function call? e.g.

example(i,i,*P[i])

This is getting a little above my pay-grade, and making me think
uncomfortably of malloc and other ugly things!


Alternatively, does Mata have lisp-style lists? 


Regards,

Brendan
-- 
Brendan Halpin,   Department of Sociology,   University of Limerick,   Ireland
Tel: w +353-61-213147  f +353-61-202569  h +353-61-338562;  Room F1-009 x 3147
mailto:[email protected]    ULSociology on Facebook: http://on.fb.me/fjIK9t
http://teaching.sociology.ul.ie/bhalpin/wordpress         twitter:@ULSociology
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index