IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 1798


Ignore:
Timestamp:
Sep 10, 2004, 5:03:36 PM (22 years ago)
Author:
gusciora
Message:

...

Location:
trunk/psLib
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/dataManip/psMinimize.c

    r1781 r1798  
    99 *  @author George Gusciora, MHPCC
    1010 *
    11  *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2004-09-10 22:25:59 $
     11 *  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2004-09-11 03:03:36 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    12441244        psTrace(".psLib.dataManip.p_psDetermineBracket", 4,
    12451245                "---- p_psDetermineBracket() end (NULL) ----\n");
     1246        psFree(bracket);
    12461247        return(NULL);
    12471248    }
     
    12931294
    12941295    psTrace(".psLib.dataManip.p_psDetermineBracket", 6,
    1295             "HMMM(%d): (%f %f %f) (%f %f %f)\n", iter, a, b, c, fa, fb, fc);
     1296            "(a, b, c) is (%f %f %f) (fa, fb, fc) is (%f %f %f)\n", a, b, c, fa, fb, fc);
     1297
    12961298    while (iter > 0) {
    12971299        psTrace(".psLib.dataManip.p_psDetermineBracket", 6,
     
    13291331
    13301332        psTrace(".psLib.dataManip.p_psDetermineBracket", 6,
    1331                 "HMMM(%d): (%f %f %f) (%f %f %f)\n", iter, a, b, c, fa, fb, fc);
     1333                "Iter(%d): (a, b, c) is (%f %f %f) (fa, fb, fc) is (%f %f %f)\n", iter, a, b, c, fa, fb, fc);
    13321334
    13331335        if (fa < fb) {
     
    13701372            "---- p_psDetermineBracket() end (NULL) ----\n");
    13711373    return(NULL);
    1372 }
    1373 
    1374 bool p_psDummyFunc(int dimNum,
    1375                    psVector *params,
    1376                    const psArray *coords,
    1377                    psMinimizePowellFunc func)
    1378 {
    1379     return(true);
    13801374}
    13811375
     
    14941488    psTrace(".psLib.dataManip.psLineMin", 4,
    14951489            "---- psLineMin() begin ----\n");
    1496 
    1497     for (i=0;i<params->n;i++) {
    1498         if (paramMask->data.U8[i] == 0) {
     1490    psTrace(".psLib.dataManip.psLineMin", 6,
     1491            "min->maxIter is %d\n", min->maxIter);
     1492    psTrace(".psLib.dataManip.psLineMin", 6,
     1493            "min->tol is %f\n", min->tol);
     1494
     1495    if (paramMask != NULL) {
     1496        for (i=0;i<params->n;i++) {
     1497            if (paramMask->data.U8[i] == 0) {
     1498                if (line->data.F32[i] >= FLT_EPSILON) {
     1499                    null = 1;
     1500                    psTrace(".psLib.dataManip.psLineMin", 4,
     1501                            "line->data.F32[%d] is %f\n", i, line->data.F32[i]);
     1502                }
     1503            }
     1504        }
     1505    } else {
     1506        for (i=0;i<params->n;i++) {
    14991507            if (line->data.F32[i] >= FLT_EPSILON) {
    15001508                null = 1;
     
    15041512        }
    15051513    }
     1514
    15061515    if (null == 0) {
    15071516        psTrace(".psLib.dataManip.psLineMin", 2,
     
    15141523    tmpc = psVectorAlloc(params->n, PS_TYPE_F32);
    15151524    tmpn = psVectorAlloc(params->n, PS_TYPE_F32);
    1516 
    15171525
    15181526    for (i=0;i<params->n;i++) {
     
    15261534    bracket = p_psDetermineBracket(params, line, paramMask, coords, func);
    15271535    if (bracket == NULL) {
     1536        psFree(tmpa);
     1537        psFree(tmpb);
     1538        psFree(tmpc);
     1539        psFree(tmpn);
    15281540        psAbort(__func__, "(1) Could not bracket minimum.");
    15291541    }
     
    15541566        fc = func(tmpc, coords);
    15551567        psTrace(".psLib.dataManip.psLineMin", 6,
    1556                 "Iteration %d: f(%f %f %f) is (%f %f %f)\n", min->iter, a, b, c, fa, fb, fc);
     1568                "Iteration %d: f(%f %f %f) is (%f %f %f)\n", min->iter,
     1569                a, b, c, fa, fb, fc);
    15571570
    15581571        // We determine which is the biggest segment in [a,b,c] then split
     
    16081621            psFree(tmpn);
    16091622            psTrace(".psLib.dataManip.psLineMin", 4,
    1610                     "---- psLineMin() end (%f) ----\n", mul);
     1623                    "---- psLineMin() end.a (%f) ----\n", mul);
    16111624            return(mul);
    16121625        }
     
    16201633
    16211634    psTrace(".psLib.dataManip.psLineMin", 4,
    1622             "---- psLineMin() end (0.0) ----\n");
     1635            "---- psLineMin() end.b (0.0) ----\n");
    16231636    return(0.0);
    16241637}
     
    16631676    psTrace(".psLib.dataManip.psMinimizePowell", 4,
    16641677            "---- psMinimizePowell() begin ----\n");
     1678    psTrace(".psLib.dataManip.psMinimizePowell", 6,
     1679            "min->maxIter is %d\n", min->maxIter);
     1680    psTrace(".psLib.dataManip.psMinimizePowell", 6,
     1681            "min->tol is %f\n", min->tol);
    16651682
    16661683    pQP = psVectorAlloc(numDims, PS_TYPE_F32);
     
    17041721        for (i=0;i<numDims;i++) {
    17051722            if (paramMask->data.U8[i] == 0) {
     1723                dummyMin.maxIter = 100;
     1724                dummyMin.tol = 0.01;
    17061725                mul = psLineMin(&dummyMin, Q, v[i], paramMask, coords, func);
    17071726                if (fabs(dummyMin.value - currFuncVal) > biggestDiff) {
  • trunk/psLib/src/image/psImage.h

    r1634 r1798  
    1 
    21/** @file  psImage.h
    32 *
     
    1211 *  @author Ross Harman, MHPCC
    1312 *
    14  *  @version $Revision: 1.34 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2004-08-27 19:05:40 $
     13 *  @version $Revision: 1.35 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2004-09-11 03:03:36 $
    1615 *
    1716 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/math/psMinimize.c

    r1781 r1798  
    99 *  @author George Gusciora, MHPCC
    1010 *
    11  *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
    12  *  @date $Date: 2004-09-10 22:25:59 $
     11 *  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
     12 *  @date $Date: 2004-09-11 03:03:36 $
    1313 *
    1414 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    12441244        psTrace(".psLib.dataManip.p_psDetermineBracket", 4,
    12451245                "---- p_psDetermineBracket() end (NULL) ----\n");
     1246        psFree(bracket);
    12461247        return(NULL);
    12471248    }
     
    12931294
    12941295    psTrace(".psLib.dataManip.p_psDetermineBracket", 6,
    1295             "HMMM(%d): (%f %f %f) (%f %f %f)\n", iter, a, b, c, fa, fb, fc);
     1296            "(a, b, c) is (%f %f %f) (fa, fb, fc) is (%f %f %f)\n", a, b, c, fa, fb, fc);
     1297
    12961298    while (iter > 0) {
    12971299        psTrace(".psLib.dataManip.p_psDetermineBracket", 6,
     
    13291331
    13301332        psTrace(".psLib.dataManip.p_psDetermineBracket", 6,
    1331                 "HMMM(%d): (%f %f %f) (%f %f %f)\n", iter, a, b, c, fa, fb, fc);
     1333                "Iter(%d): (a, b, c) is (%f %f %f) (fa, fb, fc) is (%f %f %f)\n", iter, a, b, c, fa, fb, fc);
    13321334
    13331335        if (fa < fb) {
     
    13701372            "---- p_psDetermineBracket() end (NULL) ----\n");
    13711373    return(NULL);
    1372 }
    1373 
    1374 bool p_psDummyFunc(int dimNum,
    1375                    psVector *params,
    1376                    const psArray *coords,
    1377                    psMinimizePowellFunc func)
    1378 {
    1379     return(true);
    13801374}
    13811375
     
    14941488    psTrace(".psLib.dataManip.psLineMin", 4,
    14951489            "---- psLineMin() begin ----\n");
    1496 
    1497     for (i=0;i<params->n;i++) {
    1498         if (paramMask->data.U8[i] == 0) {
     1490    psTrace(".psLib.dataManip.psLineMin", 6,
     1491            "min->maxIter is %d\n", min->maxIter);
     1492    psTrace(".psLib.dataManip.psLineMin", 6,
     1493            "min->tol is %f\n", min->tol);
     1494
     1495    if (paramMask != NULL) {
     1496        for (i=0;i<params->n;i++) {
     1497            if (paramMask->data.U8[i] == 0) {
     1498                if (line->data.F32[i] >= FLT_EPSILON) {
     1499                    null = 1;
     1500                    psTrace(".psLib.dataManip.psLineMin", 4,
     1501                            "line->data.F32[%d] is %f\n", i, line->data.F32[i]);
     1502                }
     1503            }
     1504        }
     1505    } else {
     1506        for (i=0;i<params->n;i++) {
    14991507            if (line->data.F32[i] >= FLT_EPSILON) {
    15001508                null = 1;
     
    15041512        }
    15051513    }
     1514
    15061515    if (null == 0) {
    15071516        psTrace(".psLib.dataManip.psLineMin", 2,
     
    15141523    tmpc = psVectorAlloc(params->n, PS_TYPE_F32);
    15151524    tmpn = psVectorAlloc(params->n, PS_TYPE_F32);
    1516 
    15171525
    15181526    for (i=0;i<params->n;i++) {
     
    15261534    bracket = p_psDetermineBracket(params, line, paramMask, coords, func);
    15271535    if (bracket == NULL) {
     1536        psFree(tmpa);
     1537        psFree(tmpb);
     1538        psFree(tmpc);
     1539        psFree(tmpn);
    15281540        psAbort(__func__, "(1) Could not bracket minimum.");
    15291541    }
     
    15541566        fc = func(tmpc, coords);
    15551567        psTrace(".psLib.dataManip.psLineMin", 6,
    1556                 "Iteration %d: f(%f %f %f) is (%f %f %f)\n", min->iter, a, b, c, fa, fb, fc);
     1568                "Iteration %d: f(%f %f %f) is (%f %f %f)\n", min->iter,
     1569                a, b, c, fa, fb, fc);
    15571570
    15581571        // We determine which is the biggest segment in [a,b,c] then split
     
    16081621            psFree(tmpn);
    16091622            psTrace(".psLib.dataManip.psLineMin", 4,
    1610                     "---- psLineMin() end (%f) ----\n", mul);
     1623                    "---- psLineMin() end.a (%f) ----\n", mul);
    16111624            return(mul);
    16121625        }
     
    16201633
    16211634    psTrace(".psLib.dataManip.psLineMin", 4,
    1622             "---- psLineMin() end (0.0) ----\n");
     1635            "---- psLineMin() end.b (0.0) ----\n");
    16231636    return(0.0);
    16241637}
     
    16631676    psTrace(".psLib.dataManip.psMinimizePowell", 4,
    16641677            "---- psMinimizePowell() begin ----\n");
     1678    psTrace(".psLib.dataManip.psMinimizePowell", 6,
     1679            "min->maxIter is %d\n", min->maxIter);
     1680    psTrace(".psLib.dataManip.psMinimizePowell", 6,
     1681            "min->tol is %f\n", min->tol);
    16651682
    16661683    pQP = psVectorAlloc(numDims, PS_TYPE_F32);
     
    17041721        for (i=0;i<numDims;i++) {
    17051722            if (paramMask->data.U8[i] == 0) {
     1723                dummyMin.maxIter = 100;
     1724                dummyMin.tol = 0.01;
    17061725                mul = psLineMin(&dummyMin, Q, v[i], paramMask, coords, func);
    17071726                if (fabs(dummyMin.value - currFuncVal) > biggestDiff) {
  • trunk/psLib/src/mathtypes/psImage.h

    r1634 r1798  
    1 
    21/** @file  psImage.h
    32 *
     
    1211 *  @author Ross Harman, MHPCC
    1312 *
    14  *  @version $Revision: 1.34 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2004-08-27 19:05:40 $
     13 *  @version $Revision: 1.35 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2004-09-11 03:03:36 $
    1615 *
    1716 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/sys/psLogMsg.c

    r1761 r1798  
    1 
    21/** @file  psLogMsg.c
    32 *  @brief Procedures for logging messages.
     
    1211 *  @author George Gusciora, MHPCC
    1312 *
    14  *  @version $Revision: 1.31 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2004-09-09 21:59:03 $
     13 *  @version $Revision: 1.32 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2004-09-11 03:03:36 $
    1615 *
    1716 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/sys/psLogMsg.h

    r1448 r1798  
    1 
    21/** @file  psLogMsg.h
    32 *  @brief Procedures for logging messages.
     
    1211 *  @author George Gusciora, MHPCC
    1312 *
    14  *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2004-08-10 01:55:34 $
     13 *  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2004-09-11 03:03:36 $
    1615 *
    1716 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/sysUtils/psLogMsg.c

    r1761 r1798  
    1 
    21/** @file  psLogMsg.c
    32 *  @brief Procedures for logging messages.
     
    1211 *  @author George Gusciora, MHPCC
    1312 *
    14  *  @version $Revision: 1.31 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2004-09-09 21:59:03 $
     13 *  @version $Revision: 1.32 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2004-09-11 03:03:36 $
    1615 *
    1716 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/src/sysUtils/psLogMsg.h

    r1448 r1798  
    1 
    21/** @file  psLogMsg.h
    32 *  @brief Procedures for logging messages.
     
    1211 *  @author George Gusciora, MHPCC
    1312 *
    14  *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2004-08-10 01:55:34 $
     13 *  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2004-09-11 03:03:36 $
    1615 *
    1716 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  • trunk/psLib/test/dataManip/Makefile

    r1782 r1798  
    33##  Makefile:   test/sysUtils
    44##
    5 ##  $Revision: 1.37 $  $Name: not supported by cvs2svn $
    6 ##  $Date: 2004-09-10 22:52:22 $
     5##  $Revision: 1.38 $  $Name: not supported by cvs2svn $
     6##  $Date: 2004-09-11 03:03:18 $
    77##
    88##  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    4444tst_psMinimize03 \
    4545tst_psMinimize04 \
     46tst_psMinimize05 \
    4647tst_psStats00 \
    4748tst_psStats01 \
  • trunk/psLib/test/dataManip/tst_psFunc00.c

    r1784 r1798  
    22    This routine must ensure that the psPolynomial structures are
    33    allocated and deallocated by the psPolynomialXXXlloc() procedures.
     4    It also calls the various psPolynomialXXXEval() procedures.
    45 *****************************************************************************/
    56#include <stdio.h>
Note: See TracChangeset for help on using the changeset viewer.