inline double *** allocd_3(int n,int r,int c)
{
double *a,**p,***pp;
int rc=r*c;
int i,j;
a=(double*) malloc(sizeof(double)*(n*rc));
if(a==NULL) exit(0);
p=(double**) malloc(sizeof(double*)*n*r);
pp=(double***) malloc(sizeof(double**)*n);
for(i=0;i<n;i++)
for(j=0;j<r;j++)
p[i*r+j]=&a[i*rc+j*c];
for(i=0;i<n;i++)
pp[i]=&p[i*r];
return(pp);
}