dmtree.c

Go to the documentation of this file.
00001 #include <string.h>
00002 #include <stdlib.h>
00003 
00004 extern void cerro();
00005 
00006 #include "machine.h"
00007 #include "MALLOC.h"
00008 
00009 #ifdef _MSC_VER
00010 extern int F2C(arbor)();
00011 #endif
00012 
00013 void C2F(dmtree)(i0,la1,lp1,ls1,m,n,pred,w)
00014 int *i0,*la1,*lp1,*ls1,*m,*n,*pred,*w;
00015 {
00016   int i,nndim;
00017   int *alphi,*beta,*f,*g,*ind,*pred1;
00018   double *z,*zsom;
00019   int isize,dsize;
00020   isize = sizeof(int); dsize = sizeof(double);
00021 
00022   nndim = 2 * *n;
00023   if ((alphi = (int *)MALLOC(nndim * isize)) == NULL) {
00024     cerro("Running out of memory");
00025     return;
00026   }
00027   if ((beta = (int *)MALLOC(nndim * isize)) == NULL) {
00028     cerro("Running out of memory");
00029     return;
00030   }
00031   if ((f = (int *)MALLOC(nndim * isize)) == NULL) {
00032     cerro("Running out of memory");
00033     return;
00034   }
00035   if ((g = (int *)MALLOC(nndim * isize)) == NULL) {
00036     cerro("Running out of memory");
00037     return;
00038   }
00039   if ((ind = (int *)MALLOC(nndim * isize)) == NULL) {
00040     cerro("Running out of memory");
00041     return;
00042   }
00043   if ((pred1 = (int *)MALLOC(nndim * isize)) == NULL) {
00044     cerro("Running out of memory");
00045     return;
00046   }
00047   if ((z = (double *)MALLOC(nndim * dsize)) == NULL) {
00048     cerro("Running out of memory");
00049     return;
00050   }
00051   if ((zsom = (double *)MALLOC(nndim * dsize)) == NULL) {
00052     cerro("Running out of memory");
00053     return;
00054   }
00055 
00056   F2C(arbor)(alphi,beta,f,g,i0,ind,la1,lp1,ls1,m,n,&nndim,pred1,w,z,zsom);
00057 
00058   for (i = 0; i < *n; i++) pred[i] = pred1[i];
00059 
00060   FREE(alphi); FREE(beta); FREE(f); FREE(g); FREE(ind);
00061   FREE(pred1); FREE(z); FREE(zsom);
00062 }

Generated on Sun Mar 4 15:03:58 2007 for Scilab [trunk] by  doxygen 1.5.1