IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 29, 2005, 5:44:55 PM (21 years ago)
Author:
eugene
Message:

various psphot updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psphot/src/psPolynomials.c

    r4375 r4901  
    4242}
    4343
     44static void psPolynomial1DFree (psPolynomial1D *poly) {
     45
     46  if (poly == NULL) return;
     47  psFree (poly->coeff);
     48  psFree (poly->coeffErr);
     49  psFree (poly->mask);
     50  return;
     51}
     52
    4453// XXX EAM : use Nterm = Norder + 1 definition 
    4554// XXX EAM : should we provide both order and nterms in struct?
     
    5463
    5564    newPoly = (psPolynomial1D* ) psAlloc(sizeof(psPolynomial1D));
    56     // p_psMemSetDeallocator(newPoly, (psFreeFcn) polynomial1DFree);
    57     // XXX EAM : me, being lazy
    58 
    5965    newPoly->type = type;
    6066    newPoly->n = nOrder;
     
    6773        newPoly->mask[i] = 0;
    6874    }
     75    p_psMemSetDeallocator(newPoly, (psFreeFcn) psPolynomial1DFree);
    6976    return(newPoly);
    7077}
     
    185192            myPoly->coeff[k] = coeffs->data.F64[k];
    186193        }
     194        psFree (ALUD);
     195        psFree (outPerm);
     196        psFree (coeffs);
    187197    }
    188198
     
    262272}
    263273
     274static void psPolynomial2DFree(psPolynomial2D *poly) {
     275
     276  if (poly == NULL) return;
     277  for (int i = 0; i < poly->nX + 1; i++) {
     278    psFree (poly->coeff[i]);
     279    psFree (poly->coeffErr[i]);
     280    psFree (poly->mask[i]);
     281  }
     282  psFree (poly->coeff);
     283  psFree (poly->coeffErr);
     284  psFree (poly->mask);
     285  return;
     286}
     287
    264288// XXX EAM : use Nterm = Norder + 1 definition 
    265289// the user requests a polynomial of order Norder
     
    277301
    278302    newPoly = (psPolynomial2D* ) psAlloc(sizeof(psPolynomial2D));
    279     // p_psMemSetDeallocator(newPoly, (psFreeFcn) polynomial2DFree);
    280     // XXX EAM : me, being lazy
    281 
    282303    newPoly->type = type;
    283304    newPoly->nX = nXorder;
     
    299320        }
    300321    }
     322    p_psMemSetDeallocator(newPoly, (psFreeFcn) psPolynomial2DFree);
    301323    return(newPoly);
    302324}
Note: See TracChangeset for help on using the changeset viewer.