Changeset 682 in Sophya for trunk/SophyaLib/NTools/nbmath.c


Ignore:
Timestamp:
Dec 10, 1999, 5:56:03 PM (26 years ago)
Author:
ansari
Message:

Compilation Mac pour CodeWarrior PRO 5

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/NTools/nbmath.c

    r220 r682  
    16431643{
    16441644int npt,k,i,nclass;
    1645 double *class,aa1,c2,cut;
     1645double *clas,aa1,c2,cut;
    16461646
    16471647*a1 =0.;
     
    16541654/* printf("pass 1: %g*x c2=%g/%d\n",*a1,c2,npt); */
    16551655
    1656 class = malloc( *n * sizeof(double) );
    1657 if( class == NULL ) {*n=npt; return(-3.);}
     1656clas = (double*) malloc( *n * sizeof(double) );
     1657if( clas == NULL ) {*n=npt; return(-3.);}
    16581658
    16591659/* elimination des mauvais points */
     
    16621662  if(ey[i]<=0.) continue;
    16631663  c2 = (y[i]-aa1*x[i])/ey[i];
    1664   class[nclass] = c2*c2;
     1664  clas[nclass] = c2*c2;
    16651665  nclass++;
    16661666}
    1667 qsort(class,(size_t) nclass,(size_t) sizeof(double),qSort_Dble);
     1667qsort(clas,(size_t) nclass,(size_t) sizeof(double),qSort_Dble);
    16681668k = (int) ( (1. - per_clean ) * (double) nclass );
    16691669if(k<0) k=0;
    16701670if(k>=nclass) k = nclass-1;
    1671 cut = class[k];
     1671cut = clas[k];
    16721672k = 0;
    16731673for(i=0;i<*n;i++) {
    1674   class[i] = ey[i];
     1674  clas[i] = ey[i];
    16751675  c2 = (y[i]-aa1*x[i])/ey[i];
    16761676  c2 *= c2;
    1677   if(ey[i]>0. && c2>cut) {class[i] = -1.; k++;}
     1677  if(ey[i]>0. && c2>cut) {clas[i] = -1.; k++;}
    16781678}
    16791679/* printf("nombre pt tues %d cut=%g\n",k,cut); */
     
    16811681/* 2sd passe */
    16821682npt = *n;
    1683 c2 = FitProp(x,y,class,&npt,&aa1);
    1684 if(c2<0.) {*n = npt; free(class); return(-2.);}
     1683c2 = FitProp(x,y,clas,&npt,&aa1);
     1684if(c2<0.) {*n = npt; free(clas); return(-2.);}
    16851685*a1 = aa1;
    16861686*n = npt;
    16871687/* printf("pass 2: %g*x c2=%g/%d\n",*a1,c2,npt); */
    16881688
    1689 free(class);
     1689free(clas);
    16901690return(c2);
    16911691}
     
    17301730{
    17311731int npt,k,i,nclass;
    1732 double *class,aa0,aa1,c2,cut;
     1732double *clas,aa0,aa1,c2,cut;
    17331733
    17341734*a0 = *a1 =0.;
     
    17421742/* printf("pass 1: %g + %g*x c2=%g/%d\n",*a0,*a1,c2,npt); */
    17431743
    1744 class = malloc( *n * sizeof(double) );
    1745 if( class == NULL ) {*n=npt; return(-3.);}
     1744clas = (double*) malloc( *n * sizeof(double) );
     1745if( clas == NULL ) {*n=npt; return(-3.);}
    17461746
    17471747/* elimination des mauvais points */
     
    17501750  if(ey[i]<=0.) continue;
    17511751  c2 = (y[i]-(aa0+aa1*x[i]))/ey[i];
    1752   class[nclass] = c2*c2;
     1752  clas[nclass] = c2*c2;
    17531753  nclass++;
    17541754}
    1755 qsort(class,(size_t) nclass,(size_t) sizeof(double),qSort_Dble);
     1755qsort(clas,(size_t) nclass,(size_t) sizeof(double),qSort_Dble);
    17561756k = (int) ( (1. - per_clean ) * (double) nclass );
    17571757if(k<0) k=0;
    17581758if(k>=nclass) k = nclass-1;
    1759 cut = class[k];
     1759cut = clas[k];
    17601760k = 0;
    17611761for(i=0;i<*n;i++) {
    1762   class[i] = ey[i];
     1762  clas[i] = ey[i];
    17631763  c2 = (y[i]-(aa0+aa1*x[i]))/ey[i];
    17641764  c2 *= c2;
    1765   if(ey[i]>0. && c2>cut) {class[i] = -1.; k++;}
     1765  if(ey[i]>0. && c2>cut) {clas[i] = -1.; k++;}
    17661766}
    17671767/* printf("nombre pt tues %d cut=%g\n",k,cut); */
     
    17691769/* 2sd passe */
    17701770npt = *n;
    1771 c2 = FitLin(x,y,class,&npt,&aa0,&aa1);
    1772 if(c2<0.) {*n = npt; free(class); return(-2.);}
     1771c2 = FitLin(x,y,clas,&npt,&aa0,&aa1);
     1772if(c2<0.) {*n = npt; free(clas); return(-2.);}
    17731773*a0 = aa0;
    17741774*a1 = aa1;
     
    17761776/* printf("pass 2: %g + %g*x c2=%g/%d\n",*a0,*a1,c2,npt); */
    17771777
    1778 free(class);
     1778free(clas);
    17791779return(c2);
    17801780}
     
    18151815{
    18161816int npt,k,i,nclass;
    1817 double *class,aa0,aa1,aa2,c2,cut;
     1817double *clas,aa0,aa1,aa2,c2,cut;
    18181818
    18191819*a0 = *a1 = *a2 =0.;
     
    18281828/* printf("pass 1: %g + %g*x + %g*x**2 c2=%g/%d\n",*a0,*a1,*a2,c2,npt); */
    18291829
    1830 class = malloc( *n * sizeof(double) );
    1831 if( class == NULL ) {*n=npt; return(-3.);}
     1830clas = (double*) malloc( *n * sizeof(double) );
     1831if( clas == NULL ) {*n=npt; return(-3.);}
    18321832
    18331833/* elimination des mauvais points */
     
    18361836  if(ey[i]<=0.) continue;
    18371837  c2 = (y[i]-(aa0+aa1*x[i]+aa2*x[i]*x[i]))/ey[i];
    1838   class[nclass] = c2*c2;
     1838  clas[nclass] = c2*c2;
    18391839  nclass++;
    18401840}
    1841 qsort(class,(size_t) nclass,(size_t) sizeof(double),qSort_Dble);
     1841qsort(clas,(size_t) nclass,(size_t) sizeof(double),qSort_Dble);
    18421842k = (int) ( (1. - per_clean ) * (double) nclass );
    18431843if(k<0) k=0;
    18441844if(k>=nclass) k = nclass-1;
    1845 cut = class[k];
     1845cut = clas[k];
    18461846k = 0;
    18471847for(i=0;i<*n;i++) {
    1848   class[i] = ey[i];
     1848  clas[i] = ey[i];
    18491849  c2 = (y[i]-(aa0+aa1*x[i]+aa2*x[i]*x[i]))/ey[i];
    18501850  c2 *= c2;
    1851   if(ey[i]>0. && c2>cut) {class[i] = -1.; k++;}
     1851  if(ey[i]>0. && c2>cut) {clas[i] = -1.; k++;}
    18521852}
    18531853/* printf("nombre pt tues %d cut=%g\n",k,cut); */
     
    18551855/* 2sd passe */
    18561856npt = *n;
    1857 c2 = FitPar(x,y,class,&npt,&aa0,&aa1,&aa2);
    1858 if(c2<0.) {*n = npt; free(class); return(-2.);}
     1857c2 = FitPar(x,y,clas,&npt,&aa0,&aa1,&aa2);
     1858if(c2<0.) {*n = npt; free(clas); return(-2.);}
    18591859*a0 = aa0;
    18601860*a1 = aa1;
     
    18631863/* printf("pass 2: %g + %g*x + %g*x**2 c2=%g/%d\n",*a0,*a1,*a2,c2,npt); */
    18641864
    1865 free(class);
     1865free(clas);
    18661866return(c2);
    18671867}
Note: See TracChangeset for help on using the changeset viewer.