1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#include <string.h>
#ifdef __STDC__
#include <stdlib.h>
#else
#include <malloc.h>
#endif
extern void cerro();
#include "../machine.h"
void C2F(dmtree)(i0,la1,lp1,ls1,m,n,pred,w)
int *i0,*la1,*lp1,*ls1,*m,*n,*pred,*w;
{
int i,nndim;
int *alphi,*beta,*f,*g,*ind,*pred1;
double *z,*zsom;
int isize,dsize;
isize = sizeof(int); dsize = sizeof(double);
nndim = 2 * *n;
if ((alphi = (int *)malloc(nndim * isize)) == NULL) {
cerro("Running out of memory");
return;
}
if ((beta = (int *)malloc(nndim * isize)) == NULL) {
cerro("Running out of memory");
return;
}
if ((f = (int *)malloc(nndim * isize)) == NULL) {
cerro("Running out of memory");
return;
}
if ((g = (int *)malloc(nndim * isize)) == NULL) {
cerro("Running out of memory");
return;
}
if ((ind = (int *)malloc(nndim * isize)) == NULL) {
cerro("Running out of memory");
return;
}
if ((pred1 = (int *)malloc(nndim * isize)) == NULL) {
cerro("Running out of memory");
return;
}
if ((z = (double *)malloc(nndim * dsize)) == NULL) {
cerro("Running out of memory");
return;
}
if ((zsom = (double *)malloc(nndim * dsize)) == NULL) {
cerro("Running out of memory");
return;
}
F2C(arbor)(alphi,beta,f,g,i0,ind,la1,lp1,ls1,m,n,&nndim,pred1,w,z,zsom);
for (i = 0; i < *n; i++) pred[i] = pred1[i];
free(alphi); free(beta); free(f); free(g); free(ind);
free(pred1); free(z); free(zsom);
}
|