Content
mata: mata clear
* itsp 13.09a -
mata:
void foo(real scalar bar)
{
pointer(real matrix) rowvector ap
ap = J(1, bar, NULL)
for(i=1; i<=bar; i++) {
ap[i] = &(uniform(3,3))
}
for(i=1; i<=bar; i++) {
i
*ap[i]
}
}
end
mata:
void pointer2(real scalar bar1, real scalar bar2)
{
pointer(pointer(real matrix) rowvector) rowvector pp
pp = J(1,bar2,NULL)
for(j=1; j<=bar2; j++) {
pp[j] = &(J(1, bar1, NULL))
for(i=1; i<=bar1; i++) {
(*pp[j])[i] = &(J(i,j,i*j+j^2))
}
}
for(k=1; k<=bar2; k++) {
for(l=1; l<=bar1; l++) {
printf("\n j=%3.0f, i=%3.0f\n", k, l)
*(*pp[k])[l]
}
}
}
end
mata: pointer2(2, 3)