Changeset 9538
- Timestamp:
- Oct 13, 2006, 11:13:48 AM (20 years ago)
- Location:
- trunk/psLib/src
- Files:
-
- 39 edited
-
astro/psCoord.c (modified) (7 diffs)
-
astro/psSphereOps.c (modified) (2 diffs)
-
db/psDB.c (modified) (30 diffs)
-
db/psDB.h (modified) (3 diffs)
-
fits/psFits.c (modified) (3 diffs)
-
fits/psFitsImage.c (modified) (2 diffs)
-
imageops/psImageConvolve.c (modified) (3 diffs)
-
imageops/psImageStructManip.c (modified) (2 diffs)
-
math/psMatrix.c (modified) (2 diffs)
-
math/psMatrix.h (modified) (2 diffs)
-
math/psMinimizeLMM.c (modified) (2 diffs)
-
math/psPolynomial.c (modified) (5 diffs)
-
math/psRegion.c (modified) (2 diffs)
-
math/psSpline.c (modified) (2 diffs)
-
math/psStats.c (modified) (3 diffs)
-
mathtypes/psImage.c (modified) (3 diffs)
-
mathtypes/psScalar.c (modified) (3 diffs)
-
mathtypes/psVector.c (modified) (3 diffs)
-
sys/psAssert.h (modified) (1 diff)
-
sys/psConfigure.c (modified) (2 diffs)
-
sys/psConfigure.h (modified) (2 diffs)
-
sys/psLine.c (modified) (2 diffs)
-
sys/psMemory.c (modified) (5 diffs)
-
sys/psMemory.h (modified) (3 diffs)
-
sys/psSlurp.c (modified) (2 diffs)
-
sys/psSlurp.h (modified) (1 diff)
-
sys/psString.c (modified) (2 diffs)
-
types/psArguments.c (modified) (2 diffs)
-
types/psArguments.h (modified) (2 diffs)
-
types/psArray.c (modified) (4 diffs)
-
types/psArray.h (modified) (3 diffs)
-
types/psBitSet.c (modified) (2 diffs)
-
types/psHash.c (modified) (2 diffs)
-
types/psList.c (modified) (3 diffs)
-
types/psLookupTable.c (modified) (2 diffs)
-
types/psMetadata.c (modified) (15 diffs)
-
types/psMetadata.h (modified) (19 diffs)
-
types/psMetadataConfig.c (modified) (2 diffs)
-
types/psPixels.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/astro/psCoord.c
r8245 r9538 10 10 * @author GLG, MHPCC 11 11 * 12 * @version $Revision: 1.12 3$ $Name: not supported by cvs2svn $13 * @date $Date: 2006- 08-09 02:26:44$12 * @version $Revision: 1.124 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2006-10-13 21:13:47 $ 14 14 * 15 15 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 222 222 bool psMemCheckPlane(psPtr ptr) 223 223 { 224 if (!is_psType(ptr)) { 225 return false; 226 } 224 PS_ASSERT_PTR(ptr, false); 227 225 return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeFree ); 228 226 } … … 230 228 bool psMemCheckSphere(psPtr ptr) 231 229 { 232 if (!is_psType(ptr)) { 233 return false; 234 } 230 PS_ASSERT_PTR(ptr, false); 235 231 return ( psMemGetDeallocator(ptr) == (psFreeFunc)sphereFree ); 236 232 } … … 238 234 bool psMemCheckCube(psPtr ptr) 239 235 { 240 if (!is_psType(ptr)) { 241 return false; 242 } 236 PS_ASSERT_PTR(ptr, false); 243 237 return ( psMemGetDeallocator(ptr) == (psFreeFunc)cubeFree ); 244 238 } … … 246 240 bool psMemCheckPlaneTransform(psPtr ptr) 247 241 { 248 if (!is_psType(ptr)) { 249 return false; 250 } 242 PS_ASSERT_PTR(ptr, false); 251 243 return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeTransformFree ); 252 244 } … … 295 287 bool psMemCheckPlaneDistort(psPtr ptr) 296 288 { 297 if (!is_psType(ptr)) { 298 return false; 299 } 289 PS_ASSERT_PTR(ptr, false); 300 290 return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeDistortFree ); 301 291 } … … 353 343 bool psMemCheckProjection(psPtr ptr) 354 344 { 355 if (!is_psType(ptr)) { 356 return false; 357 } 345 PS_ASSERT_PTR(ptr, false); 358 346 return ( psMemGetDeallocator(ptr) == (psFreeFunc)projectionFree ); 359 347 } -
trunk/psLib/src/astro/psSphereOps.c
r8232 r9538 8 8 * @author Dave Robbins, MHPCC 9 9 * 10 * @version $Revision: 1.1 5$ $Name: not supported by cvs2svn $11 * @date $Date: 2006- 08-08 23:32:22$10 * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2006-10-13 21:13:47 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 83 83 bool psMemCheckSphereRot(psPtr ptr) 84 84 { 85 if (!is_psType(ptr)) { 86 return false; 87 } 85 PS_ASSERT_PTR(ptr, false); 88 86 //See if the ptr corresponds to a psSphereRot* 89 87 return ( psMemGetDeallocator(ptr) == (psFreeFunc)sphereRotFree ); -
trunk/psLib/src/db/psDB.c
r9422 r9538 12 12 * @author Joshua Hoblitt 13 13 * 14 * @version $Revision: 1.10 0$ $Name: not supported by cvs2svn $15 * @date $Date: 2006-10- 09 22:11:34$14 * @version $Revision: 1.101 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2006-10-13 21:13:47 $ 16 16 * 17 17 * Copyright (C) 2005-2006 Joshua Hoblitt, University of Hawaii … … 76 76 77 77 // SQL generation functions 78 static char *psDBGenerateCreateTableSQL(const char *tableName, const psMetadata *where);79 static char *psDBGenerateSelectRowSQL(const char *tableName, const char *col,78 static psString psDBGenerateCreateTableSQL(const char *tableName, const psMetadata *where); 79 static psString psDBGenerateSelectRowSQL(const char *tableName, const char *col, 80 80 const psMetadata *where, psU64 limit); 81 static char *psDBGenerateInsertRowSQL(const char *tableName, const psMetadata *row);82 static char *psDBGenerateUpdateRowSQL(const char *tableName, const psMetadata *where,81 static psString psDBGenerateInsertRowSQL(const char *tableName, const psMetadata *row); 82 static psString psDBGenerateUpdateRowSQL(const char *tableName, const psMetadata *where, 83 83 const psMetadata *values); 84 static char *psDBGenerateDeleteRowSQL(const char *tableName, const psMetadata *where,84 static psString psDBGenerateDeleteRowSQL(const char *tableName, const psMetadata *where, 85 85 unsigned long long limit); 86 static char *psDBGenerateSetSQL(const psMetadata *set86 static psString psDBGenerateSetSQL(const psMetadata *set 87 87 ); 88 88 static char *psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName); … … 90 90 // lookup table functions 91 91 static psElemType psDBMySQLToPType(enum enum_field_types type, unsigned int flags); 92 static char *psDBPTypeToSQL(psElemType pType);92 static psString psDBPTypeToSQL(psElemType pType); 93 93 static mysqlType *psDBPTypeToMySQL(psElemType pType); 94 94 … … 116 116 static psPtr psDBGetPTypeNaN(psElemType pType); 117 117 static bool psDBIsPTypeNaN(psElemType pType, psPtr data); 118 119 118 120 119 // public functions … … 228 227 PS_ASSERT_PTR_NON_NULL(dbname, false); 229 228 230 char *query = NULL;229 psString query = NULL; 231 230 psStringAppend(&query, "CREATE DATABASE %s", dbname); 232 231 … … 294 293 295 294 // Generate SQL query string 296 char *query = psDBGenerateCreateTableSQL(tableName, md);295 psString query = psDBGenerateCreateTableSQL(tableName, md); 297 296 if (!query) { 298 297 psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed.")); … … 320 319 321 320 // Create SQL command string to drop table 322 char *query = NULL;321 psString query = NULL; 323 322 psStringAppend(&query, "DROP TABLE %s", tableName); 324 323 … … 354 353 355 354 // Generate SQL query string 356 char *query = psDBGenerateSelectRowSQL(tableName, col, NULL, limit);355 psString query = psDBGenerateSelectRowSQL(tableName, col, NULL, limit); 357 356 if (!query) { 358 357 psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed.")); … … 541 540 542 541 // Create select row query 543 char *query = psDBGenerateSelectRowSQL(tableName, NULL, where, limit);542 psString query = psDBGenerateSelectRowSQL(tableName, NULL, where, limit); 544 543 if (!query) { 545 544 psError(PS_ERR_UNEXPECTED_NULL, false, "Query generation failed."); … … 597 596 598 597 // Generate SQL query string 599 char *query = psDBGenerateInsertRowSQL(tableName, row);598 psString query = psDBGenerateInsertRowSQL(tableName, row); 600 599 if (!query) { 601 600 psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed.")); … … 692 691 693 692 // Generate SQL query to update row 694 char *query = psDBGenerateUpdateRowSQL(tableName, where, values);693 psString query = psDBGenerateUpdateRowSQL(tableName, where, values); 695 694 if (!query) { 696 695 psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed.")); … … 720 719 721 720 // Create SQL statement string 722 char *query = psDBGenerateDeleteRowSQL(tableName, where,limit);721 psString query = psDBGenerateDeleteRowSQL(tableName, where,limit); 723 722 if (!query) { 724 723 psError(PS_ERR_UNEXPECTED_NULL, false, "Query generation failed."); … … 809 808 PS_ASSERT_PTR_NON_NULL(format, false); 810 809 811 char *query = NULL;810 psString query = NULL; 812 811 813 812 // Run query … … 847 846 PS_ASSERT_PTR_NON_NULL(format, -1); 848 847 849 char *query = NULL;848 psString query = NULL; 850 849 851 850 // generate query string … … 1229 1228 /*****************************************************************************/ 1230 1229 1231 static char *psDBGenerateCreateTableSQL(const char *tableName,1232 const psMetadata *table)1230 static psString psDBGenerateCreateTableSQL(const char *tableName, 1231 const psMetadata *table) 1233 1232 { 1234 1233 PS_ASSERT_PTR_NON_NULL(tableName, NULL); … … 1332 1331 } 1333 1332 1334 static char *psDBGenerateSelectRowSQL(const char *tableName,1335 const char *col,1336 const psMetadata *where,1337 psU64 limit)1333 static psString psDBGenerateSelectRowSQL(const char *tableName, 1334 const char *col, 1335 const psMetadata *where, 1336 psU64 limit) 1338 1337 { 1339 1338 PS_ASSERT_PTR_NON_NULL(tableName, NULL); … … 1374 1373 } 1375 1374 1376 static char *psDBGenerateInsertRowSQL(const char *tableName,1377 const psMetadata *row)1375 static psString psDBGenerateInsertRowSQL(const char *tableName, 1376 const psMetadata *row) 1378 1377 { 1379 1378 PS_ASSERT_PTR_NON_NULL(tableName, NULL); … … 1422 1421 } 1423 1422 1424 static char *psDBGenerateUpdateRowSQL(const char *tableName,1425 const psMetadata *where,1426 const psMetadata *values)1423 static psString psDBGenerateUpdateRowSQL(const char *tableName, 1424 const psMetadata *where, 1425 const psMetadata *values) 1427 1426 { 1428 1427 PS_ASSERT_PTR_NON_NULL(tableName, NULL); … … 1455 1454 } 1456 1455 1457 static char *psDBGenerateDeleteRowSQL(const char *tableName,1458 const psMetadata *where,1459 unsigned long long limit)1456 static psString psDBGenerateDeleteRowSQL(const char *tableName, 1457 const psMetadata *where, 1458 unsigned long long limit) 1460 1459 { 1461 1460 PS_ASSERT_PTR_NON_NULL(tableName, NULL); … … 1492 1491 } 1493 1492 1494 char *psDBGenerateWhereSQL(const psMetadata *where, const char *tableName)1493 psString psDBGenerateWhereSQL(const psMetadata *where, const char *tableName) 1495 1494 { 1496 1495 PS_ASSERT_PTR_NON_NULL(where, NULL); … … 1504 1503 } 1505 1504 1506 char *psDBGenerateWhereConditionSQL(const psMetadata *where, const char *tableName)1505 psString psDBGenerateWhereConditionSQL(const psMetadata *where, const char *tableName) 1507 1506 { 1508 1507 PS_ASSERT_PTR_NON_NULL(where, NULL); 1509 1508 1510 char *query = NULL;1509 psString query = NULL; 1511 1510 1512 1511 // we need to know if an item is 'MULTI' so we have to march through the … … 1540 1539 psStringAppend(&query, "("); 1541 1540 while ((mItem = psListGetAndIncrement(mCursor))) { 1542 char *conditional = psDBGenerateConditionalSQL(mItem, tableName);1541 psString conditional = psDBGenerateConditionalSQL(mItem, tableName); 1543 1542 if (!conditional) { 1544 1543 psError(PS_ERR_UNKNOWN, false, … … 1564 1563 psStringAppend(&query, ")"); 1565 1564 } else { 1566 char *conditional = psDBGenerateConditionalSQL(item, tableName);1565 psString conditional = psDBGenerateConditionalSQL(item, tableName); 1567 1566 if (!conditional) { 1568 1567 psError(PS_ERR_UNKNOWN, false, … … 1590 1589 } 1591 1590 1592 static char *psDBGenerateSetSQL(const psMetadata *set1593 )1591 static psString psDBGenerateSetSQL(const psMetadata *set 1592 ) 1594 1593 { 1595 1594 PS_ASSERT_PTR_NON_NULL(set 1596 1595 , NULL); 1597 1596 1598 char *query = psStringCopy("SET ");1597 psString query = psStringCopy("SET "); 1599 1598 1600 1599 psListIterator *cursor = psListIteratorAlloc(set … … 1618 1617 } 1619 1618 1620 static char *psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName)1619 static psString psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName) 1621 1620 { 1622 1621 PS_ASSERT_PTR_NON_NULL(item, NULL); 1623 1622 1624 char *query = NULL;1623 psString query = NULL; 1625 1624 1626 1625 // stringify the psMetadataItem into a SQL search specification … … 1725 1724 } 1726 1725 1727 static char *psDBPTypeToSQL(psElemType pType)1726 static psString psDBPTypeToSQL(psElemType pType) 1728 1727 { 1729 1728 psHash *pTypeToSQLTable; // type lookup table … … 1986 1985 PS_ASSERT_PTR_NON_NULL(lookupTable, ); 1987 1986 1988 char *key = psDBIntToString((psU64)type);1989 char *value = psStringCopy(string);1987 psString key = psDBIntToString((psU64)type); 1988 psString value = psStringCopy(string); 1990 1989 1991 1990 psHashAdd(lookupTable, key, value); … … 2001 2000 PS_ASSERT_PTR_NON_NULL(lookupTable, ); 2002 2001 2003 char *key = psDBIntToString((psU64)type);2002 psString key = psDBIntToString((psU64)type); 2004 2003 2005 2004 psHashAdd(lookupTable, key, value); … … 2124 2123 return isNaN; 2125 2124 } 2126 2127 2125 2128 2126 // string utility functions … … 2135 2133 size_t length = n ? (size_t)log10((double)n) + 1 + 1 2136 2134 : 2; 2137 char *string = psAlloc(length);2135 psString string = psStringAlloc(length); 2138 2136 snprintf(string, length, "%li", (long int)n); 2139 2137 -
trunk/psLib/src/db/psDB.h
r9422 r9538 10 10 * @author Joshua Hoblitt 11 11 * 12 * @version $Revision: 1.2 7$ $Name: not supported by cvs2svn $13 * @date $Date: 2006-10- 09 22:11:34$12 * @version $Revision: 1.28 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2006-10-13 21:13:47 $ 14 14 * 15 15 * Copyright 2005 Joshua Hoblitt, University of Hawaii … … 381 381 * @return psString: A psString or NULL on failure 382 382 */ 383 char *psDBGenerateWhereSQL(383 psString psDBGenerateWhereSQL( 384 384 const psMetadata *where, ///< Row match criteria 385 385 const char *tableName ///< Table name … … 394 394 * @return psString: A psString or NULL on failure 395 395 */ 396 char *psDBGenerateWhereConditionSQL(396 psString psDBGenerateWhereConditionSQL( 397 397 const psMetadata *where, ///< Row match criteria 398 398 const char *tableName ///< Table name -
trunk/psLib/src/fits/psFits.c
r8232 r9538 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.5 8$ $Name: not supported by cvs2svn $10 * @date $Date: 2006- 08-08 23:32:23$9 * @version $Revision: 1.59 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-10-13 21:13:47 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 18 18 #include "string.h" 19 19 #include "psError.h" 20 20 #include "psAssert.h" 21 21 #include "psImageStructManip.h" 22 22 #include "psMemory.h" … … 174 174 bool psMemCheckFits(psPtr ptr) 175 175 { 176 if (!is_psType(ptr)) { 177 return false; 178 } 176 PS_ASSERT_PTR(ptr, false); 179 177 return ( psMemGetDeallocator(ptr) == (psFreeFunc)fitsFree ); 180 178 } -
trunk/psLib/src/fits/psFitsImage.c
r8627 r9538 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.1 4$ $Name: not supported by cvs2svn $10 * @date $Date: 2006- 08-26 04:34:28$9 * @version $Revision: 1.15 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-10-13 21:13:47 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 17 17 #include <string.h> 18 18 19 #include "psFits.h" 19 20 #include "psAssert.h" 20 #include "psFits.h"21 21 #include "psFitsImage.h" 22 22 #include "psError.h" -
trunk/psLib/src/imageops/psImageConvolve.c
r8232 r9538 5 5 * @author Robert DeSonia, MHPCC 6 6 * 7 * @version $Revision: 1.3 8$ $Name: not supported by cvs2svn $8 * @date $Date: 2006- 08-08 23:32:23$7 * @version $Revision: 1.39 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2006-10-13 21:13:48 $ 9 9 * 10 10 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 20 20 #include "psLogMsg.h" 21 21 #include "psError.h" 22 #include "psAssert.h" 22 23 23 24 … … 90 91 bool psMemCheckKernel(psPtr ptr) 91 92 { 92 if (!is_psType(ptr)) { 93 return false; 94 } 93 PS_ASSERT_PTR(ptr, false); 95 94 return ( psMemGetDeallocator(ptr) == (psFreeFunc)freeKernel ); 96 95 } -
trunk/psLib/src/imageops/psImageStructManip.c
r8232 r9538 8 8 * @author Robert DeSonia, MHPCC 9 9 * 10 * @version $Revision: 1.1 1$ $Name: not supported by cvs2svn $11 * @date $Date: 2006- 08-08 23:32:23$10 * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2006-10-13 21:13:48 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 97 97 // if a child, need to orphan (disassociate from parent) first 98 98 if (out->parent != NULL) { 99 psArrayRemove (out->parent->children,psMemIncrRefCounter(out));99 psArrayRemoveData(out->parent->children,psMemIncrRefCounter(out)); 100 100 // remove from parent's knowledge without triggering a free 101 101 out->parent = NULL; // break link to parent -
trunk/psLib/src/math/psMatrix.c
r8627 r9538 21 21 * @author Robert DeSonia, MHPCC 22 22 * 23 * @version $Revision: 1.4 3$ $Name: not supported by cvs2svn $24 * @date $Date: 2006- 08-26 04:34:28 $23 * @version $Revision: 1.44 $ $Name: not supported by cvs2svn $ 24 * @date $Date: 2006-10-13 21:13:48 $ 25 25 * 26 26 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 308 308 // This is a temporary gauss-jordan solver based on gene's 309 309 // version based on the Numerical Recipes version 310 bool psMatrixGJSolve( 311 psImage *a, 312 psVector *b) 313 { 310 bool psMatrixGJSolve(psImage *a, 311 psVector *b 312 ) 313 { 314 PS_ASSERT_IMAGE_NON_NULL(a, false); 315 PS_ASSERT_VECTOR_NON_NULL(b, false); 316 PS_ASSERT_IMAGE_TYPE(a, PS_TYPE_F64, false); 317 PS_ASSERT_VECTOR_TYPE(b, PS_TYPE_F64, false); 318 PS_ASSERT_INT_EQUAL(a->numCols, a->numRows, false); 319 int Nx = a->numCols; 320 PS_ASSERT_VECTOR_SIZE(b, (long int)Nx, false); 321 314 322 psF64 *vector = b->data.F64; 315 323 psF64 **matrix = a->data.F64; 316 int Nx = a->numCols;317 324 int *indxc = psAlloc(Nx*sizeof(int)); 318 325 int *indxr = psAlloc(Nx*sizeof(int)); -
trunk/psLib/src/math/psMatrix.h
r7102 r9538 21 21 * @author Ross Harman, MHPCC 22 22 * 23 * @version $Revision: 1.2 1$ $Name: not supported by cvs2svn $24 * @date $Date: 2006- 05-10 00:49:38 $23 * @version $Revision: 1.22 $ $Name: not supported by cvs2svn $ 24 * @date $Date: 2006-10-13 21:13:48 $ 25 25 * 26 26 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 69 69 */ 70 70 bool psMatrixGJSolve( 71 psImage *a, ///< Matrix to be solved72 psVector *b ///< Vector of values71 psImage *a, ///< Matrix to be solved 72 psVector *b ///< Vector of values 73 73 ); 74 74 -
trunk/psLib/src/math/psMinimizeLMM.c
r8627 r9538 10 10 * @author EAM, IfA 11 11 * 12 * @version $Revision: 1.2 0$ $Name: not supported by cvs2svn $13 * @date $Date: 2006- 08-26 04:34:28 $12 * @version $Revision: 1.21 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2006-10-13 21:13:48 $ 14 14 * 15 15 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 539 539 bool psMemCheckMinimization(psPtr ptr) 540 540 { 541 if (!is_psType(ptr)) { 542 return false; 543 } 541 PS_ASSERT_PTR(ptr, false); 544 542 return( psMemGetDeallocator(ptr) == (psFreeFunc)minimizationFree ); 545 543 } -
trunk/psLib/src/math/psPolynomial.c
r8245 r9538 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.1 49$ $Name: not supported by cvs2svn $10 * @date $Date: 2006- 08-09 02:26:44$9 * @version $Revision: 1.150 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-10-13 21:13:48 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 64 64 bool psMemCheckPolynomial1D(psPtr ptr) 65 65 { 66 if (!is_psType(ptr)) { 67 return false; 68 } 66 PS_ASSERT_PTR(ptr, false); 69 67 return ( psMemGetDeallocator(ptr) == (psFreeFunc)polynomial1DFree ); 70 68 } … … 72 70 bool psMemCheckPolynomial2D(psPtr ptr) 73 71 { 74 if (!is_psType(ptr)) { 75 return false; 76 } 72 PS_ASSERT_PTR(ptr, false); 77 73 return ( psMemGetDeallocator(ptr) == (psFreeFunc)polynomial2DFree ); 78 74 } … … 80 76 bool psMemCheckPolynomial3D(psPtr ptr) 81 77 { 82 if (!is_psType(ptr)) { 83 return false; 84 } 78 PS_ASSERT_PTR(ptr, false); 85 79 return ( psMemGetDeallocator(ptr) == (psFreeFunc)polynomial3DFree ); 86 80 } … … 88 82 bool psMemCheckPolynomial4D(psPtr ptr) 89 83 { 90 if (!is_psType(ptr)) { 91 return false; 92 } 84 PS_ASSERT_PTR(ptr, false); 93 85 return ( psMemGetDeallocator(ptr) == (psFreeFunc)polynomial4DFree ); 94 86 } -
trunk/psLib/src/math/psRegion.c
r8232 r9538 3 3 #include "psMemory.h" 4 4 #include "psError.h" 5 5 #include "psAssert.h" 6 6 #include "psRegion.h" 7 7 … … 109 109 bool psMemCheckRegion(psPtr ptr) 110 110 { 111 if (!is_psType(ptr)) { 112 return false; 113 } 111 PS_ASSERT_PTR(ptr, false); 114 112 return ( psMemGetDeallocator(ptr) == (psFreeFunc)regionFree ); 115 113 } -
trunk/psLib/src/math/psSpline.c
r8627 r9538 6 6 * This file contains the routines that allocate, free, and evaluate splines. 7 7 * 8 * @version $Revision: 1.15 3$ $Name: not supported by cvs2svn $9 * @date $Date: 2006- 08-26 04:34:28 $8 * @version $Revision: 1.154 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-10-13 21:13:48 $ 10 10 * 11 11 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 168 168 bool psMemCheckSpline1D(psPtr ptr) 169 169 { 170 if (!is_psType(ptr)) { 171 return false; 172 } 170 PS_ASSERT_PTR(ptr, false); 173 171 return ( psMemGetDeallocator(ptr) == (psFreeFunc)spline1DFree ); 174 172 } -
trunk/psLib/src/math/psStats.c
r8627 r9538 16 16 * use ->min and ->max (PS_STAT_USE_RANGE) 17 17 * 18 * @version $Revision: 1.18 5$ $Name: not supported by cvs2svn $19 * @date $Date: 2006- 08-26 04:34:28 $18 * @version $Revision: 1.186 $ $Name: not supported by cvs2svn $ 19 * @date $Date: 2006-10-13 21:13:48 $ 20 20 * 21 21 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 1623 1623 bool psMemCheckStats(psPtr ptr) 1624 1624 { 1625 if (!is_psType(ptr)) { 1626 return false; 1627 } 1625 PS_ASSERT_PTR(ptr, false); 1628 1626 return ( psMemGetDeallocator(ptr) == (psFreeFunc)statsFree ); 1629 1627 } … … 1734 1732 bool psMemCheckHistogram(psPtr ptr) 1735 1733 { 1736 if (!is_psType(ptr)) { 1737 return false; 1738 } 1734 PS_ASSERT_PTR(ptr, false); 1739 1735 return ( psMemGetDeallocator(ptr) == (psFreeFunc)histogramFree ); 1740 1736 } -
trunk/psLib/src/mathtypes/psImage.c
r8627 r9538 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.11 4$ $Name: not supported by cvs2svn $12 * @date $Date: 2006- 08-26 04:34:28 $11 * @version $Revision: 1.115 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2006-10-13 21:13:48 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 43 43 int ref = ptr->refCounter; 44 44 ptr->refCounter = 2; // make sure psFree is not retriggered 45 psArrayRemove (image->parent->children,image);45 psArrayRemoveData(image->parent->children,image); 46 46 ptr->refCounter = ref; // restore previous count (not assuming zero, but should be) 47 47 … … 110 110 bool psMemCheckImage(psPtr ptr) 111 111 { 112 if (!is_psType(ptr)) { 113 return false; 114 } 112 PS_ASSERT_PTR(ptr, false); 115 113 return ( psMemGetDeallocator(ptr) == (psFreeFunc)imageFree ); 116 114 } -
trunk/psLib/src/mathtypes/psScalar.c
r8232 r9538 8 8 * @author Ross Harman, MHPCC 9 9 * 10 * @version $Revision: 1.2 4$ $Name: not supported by cvs2svn $11 * @date $Date: 2006- 08-08 23:32:23$10 * @version $Revision: 1.25 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2006-10-13 21:13:48 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 19 19 #include "psLogMsg.h" 20 20 #include "psAbort.h" 21 21 #include "psAssert.h" 22 22 23 23 … … 89 89 bool psMemCheckScalar(psPtr ptr) 90 90 { 91 if (!is_psType(ptr)) { 92 return false; 93 } 91 PS_ASSERT_PTR(ptr, NULL); 94 92 return ( psMemGetDeallocator(ptr) == (psFreeFunc)scalarFree ); 95 93 } -
trunk/psLib/src/mathtypes/psVector.c
r8627 r9538 9 9 * @author Robert DeSonia, MHPCC 10 10 * 11 * @version $Revision: 1.8 2$ $Name: not supported by cvs2svn $12 * @date $Date: 2006- 08-26 04:34:28 $11 * @version $Revision: 1.83 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2006-10-13 21:13:48 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 26 26 #include "psLogMsg.h" 27 27 #include "psCompare.h" 28 28 #include "psAssert.h" 29 29 30 30 … … 63 63 bool psMemCheckVector(psPtr ptr) 64 64 { 65 if (!is_psType(ptr)) { 66 return false; 67 } 65 PS_ASSERT_PTR(ptr, false); 68 66 return ( psMemGetDeallocator(ptr) == (psFreeFunc)vectorFree ); 69 67 } -
trunk/psLib/src/sys/psAssert.h
r8921 r9538 6 6 #include <math.h> 7 7 8 #include "psMemory.h" 8 9 #include "psError.h" 9 10 #include "psLogMsg.h" 11 12 // Ensure this is a psLib pointer, by checking for the memblock bounds. 13 #define PS_ASSERT_PTR(NAME, RVAL) \ 14 { \ 15 psMemBlock *mb = (psMemBlock*)(NAME) - 1; \ 16 if (mb->startblock != P_PS_MEMMAGIC || mb->endblock != P_PS_MEMMAGIC || \ 17 *(psPtr *)((int8_t *) (mb + 1) + mb->userMemorySize) != P_PS_MEMMAGIC) { \ 18 psError(PS_ERR_MEMORY_CORRUPTION, false, \ 19 "Error: Pointer %s is corrupted or not on the PS memory system.", \ 20 #NAME); \ 21 return (RVAL); \ 22 } \ 23 } 10 24 11 25 #define PS_ASSERT_INT_UNEQUAL(NAME1, NAME2, RVAL) \ -
trunk/psLib/src/sys/psConfigure.c
r8627 r9538 13 13 * @author Robert DeSonia, MHPCC 14 14 * 15 * @version $Revision: 1.1 5$ $Name: not supported by cvs2svn $16 * @date $Date: 2006- 08-26 04:34:28 $15 * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $ 16 * @date $Date: 2006-10-13 21:13:48 $ 17 17 * 18 18 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 34 34 static FILE *memCheckFile = NULL; // File to which to write results of mem check 35 35 36 char*psLibVersion(void)36 psString psLibVersion(void) 37 37 { 38 38 char version[80]; -
trunk/psLib/src/sys/psConfigure.h
r7646 r9538 13 13 * @author Robert DeSonia, MHPCC 14 14 * 15 * @version $Revision: 1. 7$ $Name: not supported by cvs2svn $16 * @date $Date: 2006- 06-23 01:59:15$15 * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $ 16 * @date $Date: 2006-10-13 21:13:48 $ 17 17 * 18 18 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 32 32 * @return char*: String with version name. 33 33 */ 34 char*psLibVersion(34 psString psLibVersion( 35 35 void 36 36 ); -
trunk/psLib/src/sys/psLine.c
r7950 r9538 3 3 4 4 #include "psMemory.h" 5 #include "psAssert.h" 5 6 #include "psConstants.h" 6 7 #include "psLine.h" … … 64 65 bool psMemCheckLine(psPtr ptr) 65 66 { 66 if (!is_psType(ptr)) { 67 return false; 68 } 67 PS_ASSERT_PTR(ptr, false); 69 68 return ( psMemGetDeallocator(ptr) == (psFreeFunc)lineFree ); 70 69 } -
trunk/psLib/src/sys/psMemory.c
r8812 r9538 8 8 * @author Robert Lupton, Princeton University 9 9 * 10 * @version $Revision: 1.8 5$ $Name: not supported by cvs2svn $11 * @date $Date: 2006- 09-14 22:27:29$10 * @version $Revision: 1.86 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2006-10-13 21:13:48 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 24 24 #include "psMemory.h" 25 25 #include "psError.h" 26 #include "psAssert.h" 26 27 #include "psAbort.h" 27 28 #include "psLogMsg.h" … … 35 36 #include "psLine.h" 36 37 #include "psRegion.h" 37 38 #define P_PS_MEMMAGIC (psPtr )0xdeadbeef // Magic number in psMemBlock header39 38 40 39 #define P_PS_LARGE_BLOCK_SIZE 65536 // size where under, we try to recycle … … 274 273 psMemId psMemGetId(void) 275 274 { 276 psMemId id; 277 278 if (safeThreads) { 279 pthread_mutex_lock(&memIdMutex); 280 } 281 282 id = memid + 1; 283 284 if (safeThreads) { 285 pthread_mutex_unlock(&memIdMutex); 286 } 287 288 return id; 275 return psMemGetLastId() + 1; 289 276 } 290 277 … … 889 876 } 890 877 891 bool is_psType(psPtr ptr)892 {893 if (ptr == NULL) {894 return false;895 }896 psMemBlock* m = ((psMemBlock* ) ptr) - 1;897 if (m->startblock != P_PS_MEMMAGIC || m->endblock != P_PS_MEMMAGIC) {898 return false; //Probably not a psAllocated-Type899 } else {900 return true;901 }902 }903 904 878 bool psMemCheckType(psDataType type, 905 879 psPtr ptr) 906 880 { 907 if (!is_psType(ptr)) { 908 return false; 909 } 881 PS_ASSERT_PTR(ptr, false); 910 882 911 883 switch(type) { -
trunk/psLib/src/sys/psMemory.h
r8705 r9538 12 12 * @ingroup MemoryManagement 13 13 * 14 * @version $Revision: 1.6 0$ $Name: not supported by cvs2svn $15 * @date $Date: 2006- 08-30 04:40:56$14 * @version $Revision: 1.61 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2006-10-13 21:13:48 $ 16 16 * 17 17 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 29 29 * @{ 30 30 */ 31 32 #define P_PS_MEMMAGIC (psPtr)0xdeadbeef // Magic number in psMemBlock header 31 33 32 34 /** … … 172 174 ); 173 175 174 /** Tells whether or not a pointer has been allocated as a psDataType.175 *176 * @return bool: True if ptr is a psDataType, otherwise false.177 */178 bool is_psType(179 psPtr ptr ///< The pointer whose type to check180 );181 182 176 /** Checks the deallocator to see if the pointer matches the desired datatype. 183 177 * -
trunk/psLib/src/sys/psSlurp.c
r9002 r9538 5 5 * @author Joshua Hoblitt, University of Hawaii 6 6 * 7 * @version $Revision: 1. 4$ $Name: not supported by cvs2svn $8 * @date $Date: 2006- 09-27 03:50:19$7 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2006-10-13 21:13:48 $ 9 9 * 10 10 * Copyright 2006 University of Hawaii … … 15 15 #endif 16 16 17 #include <stdio.h> 17 18 #include <unistd.h> 18 19 -
trunk/psLib/src/sys/psSlurp.h
r8996 r9538 1 #ifndef PS_SLURP_H 2 #define PS_SLURP_H 3 1 4 #include <stdio.h> 2 #include <pslib.h>5 #include "psString.h" 3 6 4 psString psSlurpFD(int fd); 5 psString psSlurpFile(FILE *stream); 7 8 // Read ("slurp") a file (specified by file descriptor) 9 // and return a string containing the entire file. 10 psString psSlurpFD(int fd // File descriptor to read 11 ); 12 13 // Read ("slurp") a file (specified by file stream) 14 // and return a string containing the entire file. 15 psString psSlurpFile(FILE *stream // File stream to read 16 ); 17 18 19 #endif -
trunk/psLib/src/sys/psString.c
r9509 r9538 13 13 * @author David Robbins, MHPCC 14 14 * 15 * @version $Revision: 1.4 4$ $Name: not supported by cvs2svn $16 * @date $Date: 2006-10-1 2 21:31:47$15 * @version $Revision: 1.45 $ $Name: not supported by cvs2svn $ 16 * @date $Date: 2006-10-13 21:13:48 $ 17 17 * 18 18 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 47 47 bool psMemCheckString(psPtr ptr) 48 48 { 49 if (!is_psType(ptr)) { 50 return false; 51 } 49 PS_ASSERT_PTR(ptr, false); 52 50 return ( psMemGetDeallocator(ptr) == (psFreeFunc)stringFree ); 53 51 } -
trunk/psLib/src/types/psArguments.c
r8973 r9538 7 7 * @author David Robbins, MHPCC 8 8 * 9 * @version $Revision: 1.1 5$ $Name: not supported by cvs2svn $10 * @date $Date: 2006- 09-26 02:55:34$9 * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-10-13 21:13:48 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 480 480 } 481 481 482 // we have log levels 1 (Error), 2 (Warning), 3 (Info), 4 (Details), 5 (Minutiae)483 // 2 = default, -v = 3, -vv = 4, -vvv = 5484 psS32 psLogArguments (int *argc,485 char **argv)486 {487 int N, level;488 489 // default log level is 2490 level = 2;491 492 psLogSetLevel (level);493 PS_ASSERT_PTR_NON_NULL(argv, 2);494 PS_ASSERT_PTR_NON_NULL(argc, 2);495 // set in order, so that -vvv overrides -vv overrides -v496 if ((N = psArgumentGet (*argc, argv, "-v"))) {497 psArgumentRemove (N, argc, argv);498 level = 3;499 }500 if ((N = psArgumentGet (*argc, argv, "-vv"))) {501 psArgumentRemove (N, argc, argv);502 level = 4;503 }504 if ((N = psArgumentGet (*argc, argv, "-vvv"))) {505 psArgumentRemove (N, argc, argv);506 level = 5;507 }508 509 if ((N = psArgumentGet (*argc, argv, "-logfmt"))) {510 if (*argc < N + 2) {511 // psAbort ("psLogArguments", "USAGE: -logfmt (format)");512 psError(PS_ERR_IO, true, "-logfmt switch specified without a format.");513 } else {514 psArgumentRemove (N, argc, argv);515 psLogSetFormat (argv[N]); // XXX EAM : this function should return an error if the log format is invalid516 psArgumentRemove (N, argc, argv);517 }518 }519 520 // set the level, return the level521 psLogSetLevel (level);522 return (level);523 }524 525 // set trace levels by facility526 psS32 psTraceArguments (int *argc,527 char **argv)528 {529 int N;530 PS_ASSERT_PTR_NON_NULL(argv, 0);531 PS_ASSERT_PTR_NON_NULL(argc, 0);532 533 // argument format is: -trace (facil) (level)534 while ((N = psArgumentGet (*argc, argv, "-trace"))) {535 if (*argc < N + 3) {536 // psAbort ("psTraceArguments", "USAGE: -trace (facility) (level)");537 psError(PS_ERR_IO, true, "-trace switch specified without facility and level.");538 return 0;539 }540 psArgumentRemove (N, argc, argv);541 psTraceSetLevel (argv[N], atoi(argv[N+1]));542 psArgumentRemove (N, argc, argv);543 psArgumentRemove (N, argc, argv);544 }545 if ((N = psArgumentGet (*argc, argv, "-trace-levels"))) {546 psTracePrintLevels ();547 // exit (2);548 return 0;549 }550 return (TRUE);551 }552 -
trunk/psLib/src/types/psArguments.h
r6189 r9538 7 7 * @author David Robbins, MHPCC 8 8 * 9 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2006- 01-25 03:02:47$9 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-10-13 21:13:48 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 74 74 ); 75 75 76 /** Sets the log level.77 *78 * @return psS32: the log level.79 */80 psS32 psLogArguments(81 int *argc, ///< number of arguments82 char **argv ///< the argument list83 );84 85 /** Sets trace levels by facility86 *87 * @return psS32: 1 (true) if successful or else 2.88 */89 psS32 psTraceArguments(90 int *argc, ///< number of arguments91 char **argv ///< the argument list92 );93 94 76 95 77 /// @} -
trunk/psLib/src/types/psArray.c
r8973 r9538 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.5 4$ $Name: not supported by cvs2svn $12 * @date $Date: 2006- 09-26 02:55:34$11 * @version $Revision: 1.55 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2006-10-13 21:13:48 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 45 45 bool psMemCheckArray(psPtr ptr) 46 46 { 47 if (!is_psType(ptr)) { 48 return false; 49 } 47 PS_ASSERT_PTR(ptr, false); 50 48 return ( psMemGetDeallocator(ptr) == (psFreeFunc)arrayFree ); 51 49 } … … 133 131 } 134 132 135 bool psArrayRemove (psArray* array,136 const psPtr data)133 bool psArrayRemoveData(psArray* array, 134 const psPtr data) 137 135 { 138 136 bool success = false; … … 159 157 } 160 158 161 bool psArrayRemoveBy Pos(psArray* array,162 long position)159 bool psArrayRemoveByIndex(psArray* array, 160 long index) 163 161 { 164 162 PS_ASSERT_PTR_NON_NULL(array, false); 165 163 166 if ( position < 0 || position>= array->n) {167 psError(PS_ERR_BAD_PARAMETER_NULL, true, 168 _(" position> then the number of elements in the array."));169 return false; 170 } 171 172 long i = position;164 if (index < 0 || index >= array->n) { 165 psError(PS_ERR_BAD_PARAMETER_NULL, true, 166 _("index > then the number of elements in the array.")); 167 return false; 168 } 169 170 long i = index; 173 171 long n = array->n; 174 172 psFree(array->data[i]); -
trunk/psLib/src/types/psArray.h
r9312 r9538 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.4 0$ $Name: not supported by cvs2svn $14 * @date $Date: 2006-10- 05 22:32:29$13 * @version $Revision: 1.41 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2006-10-13 21:13:48 $ 15 15 * 16 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 105 105 * 106 106 */ 107 bool psArrayRemove (107 bool psArrayRemoveData( 108 108 psArray* array, ///< array to operate on 109 109 const psPtr data ///< the data pointer to remove from psArray … … 118 118 * 119 119 */ 120 bool psArrayRemoveBy Pos(120 bool psArrayRemoveByIndex( 121 121 psArray* array, ///< array to operate on 122 long position///< the element to remove122 long index ///< the element to remove 123 123 ); 124 124 -
trunk/psLib/src/types/psBitSet.c
r9082 r9538 11 11 * @author Robert DeSonia, MHPCC 12 12 * 13 * @version $Revision: 1.3 7$ $Name: not supported by cvs2svn $14 * @date $Date: 2006-10- 01 00:40:35$13 * @version $Revision: 1.38 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2006-10-13 21:13:48 $ 15 15 * 16 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 66 66 bool psMemCheckBitSet(psPtr ptr) 67 67 { 68 if (!is_psType(ptr)) { 69 return false; 70 } 68 PS_ASSERT_PTR(ptr, false); 71 69 return ( psMemGetDeallocator(ptr) == (psFreeFunc)bitSetFree ); 72 70 } -
trunk/psLib/src/types/psHash.c
r9083 r9538 12 12 * @author GLG, MHPCC 13 13 * 14 * @version $Revision: 1.3 3$ $Name: not supported by cvs2svn $15 * @date $Date: 2006-10- 01 00:45:34$14 * @version $Revision: 1.34 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2006-10-13 21:13:48 $ 16 16 * 17 17 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 165 165 bool psMemCheckHash(psPtr ptr) 166 166 { 167 if (!is_psType(ptr)) { 168 return false; 169 } 167 PS_ASSERT_PTR(ptr, false); 170 168 return ( psMemGetDeallocator(ptr) == (psFreeFunc)hashFree ); 171 169 } -
trunk/psLib/src/types/psList.c
r9143 r9538 6 6 * @author Robert Daniel DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.5 4$ $Name: not supported by cvs2svn $9 * @date $Date: 2006-10- 03 06:51:47$8 * @version $Revision: 1.55 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-10-13 21:13:48 $ 10 10 * 11 11 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 20 20 #include "psTrace.h" 21 21 #include "psLogMsg.h" 22 22 #include "psAssert.h" 23 23 24 24 … … 140 140 bool psMemCheckList(psPtr ptr) 141 141 { 142 if (!is_psType(ptr)) { 143 return false; 144 } 142 PS_ASSERT_PTR(ptr, false); 145 143 return ( psMemGetDeallocator(ptr) == (psFreeFunc)listFree ); 146 144 } -
trunk/psLib/src/types/psLookupTable.c
r9143 r9538 7 7 * @author Ross Harman, MHPCC 8 8 * 9 * @version $Revision: 1.3 8$ $Name: not supported by cvs2svn $10 * @date $Date: 2006-10- 03 06:51:47$9 * @version $Revision: 1.39 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-10-13 21:13:48 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, Univ. of Hawaii … … 264 264 bool psMemCheckLookupTable(psPtr ptr) 265 265 { 266 if (!is_psType(ptr)) { 267 return false; 268 } 266 PS_ASSERT_PTR(ptr, false); 269 267 return ( psMemGetDeallocator(ptr) == (psFreeFunc)lookupTableFree ); 270 268 } -
trunk/psLib/src/types/psMetadata.c
r9534 r9538 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.13 8$ $Name: not supported by cvs2svn $15 * @date $Date: 2006-10-13 19:06:00$14 * @version $Revision: 1.139 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2006-10-13 21:13:48 $ 16 16 * 17 17 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 157 157 bool psMemCheckMetadataItem(psPtr ptr) 158 158 { 159 if (!is_psType(ptr)) { 160 return false; 161 } 159 PS_ASSERT_PTR(ptr, false); 162 160 return ( psMemGetDeallocator(ptr) == (psFreeFunc)metadataItemFree ); 163 161 } … … 340 338 bool psMemCheckMetadata(psPtr ptr) 341 339 { 342 if (!is_psType(ptr)) { 343 return false; 344 } 340 PS_ASSERT_PTR(ptr, false); 345 341 return ( psMemGetDeallocator(ptr) == (psFreeFunc)metadataFree ); 346 342 } … … 567 563 568 564 // remove the existing entry from metadata 569 psMetadataRemove (md,0,key);565 psMetadataRemoveKey(md, key); 570 566 571 567 // treat as if new (added to list below) … … 662 658 663 659 #define METADATA_ADD_TYPE(NAME,TYPE,METATYPE) \ 664 psBool psMetadataAdd##NAME(psMetadata* md, long where, const char* name, \665 int format, const char* comment, TYPE value) { \666 return psMetadataAdd(md, where,name, format | METATYPE,comment,value); \660 bool psMetadataAdd##NAME(psMetadata* md, long where, const char* name, \ 661 int format, const char* comment, TYPE value) { \ 662 return psMetadataAdd(md, where, name, format | METATYPE, comment, value); \ 667 663 } 668 664 … … 679 675 METADATA_ADD_TYPE(F64,psF64,PS_DATA_F64) 680 676 METADATA_ADD_TYPE(List,psList*,PS_DATA_LIST) 681 //METADATA_ADD_TYPE(Str,const char*,PS_DATA_STRING)677 METADATA_ADD_TYPE(Str,const char*,PS_DATA_STRING) 682 678 METADATA_ADD_TYPE(Vector,psVector*,PS_DATA_VECTOR) 683 679 METADATA_ADD_TYPE(Image,psImage*,PS_DATA_IMAGE) 684 680 METADATA_ADD_TYPE(Hash,psHash*,PS_DATA_HASH) 685 681 METADATA_ADD_TYPE(LookupTable,psLookupTable*,PS_DATA_LOOKUPTABLE) 686 METADATA_ADD_TYPE(Unknown,void*,PS_DATA_UNKNOWN)687 682 METADATA_ADD_TYPE(Metadata,psMetadata*,PS_DATA_METADATA) 688 683 METADATA_ADD_TYPE(Array,psArray*,PS_DATA_ARRAY) 689 684 METADATA_ADD_TYPE(Time,psTime*,PS_DATA_TIME) 690 691 bool psMetadataAddPtr(psMetadata *md, 692 long location, 693 const char *name, 694 psDataType type, 695 const char *comment, 696 psPtr value) 697 { 698 PS_ASSERT_PTR_NON_NULL(md,false); 699 PS_ASSERT_PTR_NON_NULL(md->list,false); 700 PS_ASSERT_PTR_NON_NULL(value,false); 701 return (psMetadataAdd(md, location, name, type, comment, value) ); 702 703 } 704 705 bool psMetadataAddStr(psMetadata *md, 706 long location, 707 const char *name, 708 int format, 709 const char *comment, 710 const char* value) 711 { 712 PS_ASSERT_PTR_NON_NULL(md,false); 713 PS_ASSERT_PTR_NON_NULL(md->list,false); 714 715 return (psMetadataAdd(md, location, name, format | PS_DATA_STRING, comment, value) ); 716 } 717 718 bool psMetadataRemove(psMetadata *md, 719 long where, 720 const char *key) 721 { 722 PS_ASSERT_PTR_NON_NULL(md,NULL); 723 724 PS_ASSERT_PTR_NON_NULL(md->list,NULL); 725 psList* mdList = md->list; 726 727 PS_ASSERT_PTR_NON_NULL(md->hash,NULL); 728 psHash* mdTable = md->hash; 729 730 // Select removal by key or index 731 if (key != NULL) { 732 // Remove by key name 733 psMetadataItem* entry = psHashLookup(mdTable,key); 734 if (entry == NULL) { 735 psError(PS_ERR_UNKNOWN, false, 736 _("Failed to remove metadata item, %s, from metadata table."), key); 737 return false; 738 } 739 if (entry->type == PS_DATA_METADATA_MULTI) { 740 psMetadataItem* listItem; 741 psListIterator* iter = psListIteratorAlloc( 742 entry->data.list, 743 PS_LIST_HEAD,true); 744 while ((listItem=psListGetAndIncrement(iter)) != NULL) { 745 psListRemoveData(mdList, listItem); 746 } 747 psFree(iter); 748 psHashRemove(mdTable,key); 749 750 } else { 751 psListRemoveData(mdList, entry); 752 psHashRemove(mdTable, key); 753 } 754 } else { 755 // Remove by index 756 psMetadataItem* entry = psListGet(mdList, where); 757 if (entry == NULL) { 758 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 759 _("Could not find metadata item at index %ld."), where); 760 return false; 761 } 762 key = entry->name; 763 764 if (key == NULL) { 765 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 766 _("Failed to remove metadata item, at index %ld, from metadata list."), 767 where); 768 return false; 769 } 770 771 psMetadataItem* tableItem = psHashLookup(mdTable, key); 772 if (tableItem == NULL) { 773 psError(PS_ERR_UNKNOWN, false, 774 _("Failed to remove metadata item, %s, from metadata table."), key); 775 return false; 776 } 777 778 if (tableItem->type == PS_DATA_METADATA_MULTI) { 779 // multiple entries with same key, remove just the specified one 780 psListRemoveData(tableItem->data.list, entry); 781 } else { 782 //Tested below. psHashRemove can't return false here. 783 psHashRemove(mdTable, key); 784 } 785 psListRemove(mdList, where); 786 } 787 788 return true; 789 } 790 685 METADATA_ADD_TYPE(Unknown,psPtr,PS_DATA_UNKNOWN) 686 687 bool psMetadataAddPtr(psMetadata* md, long where, const char* name, 688 psDataType type, const char* comment, psPtr value) 689 { 690 return psMetadataAdd(md, where, name, type, comment, value); 691 } 692 693 694 695 // Remove by key name 791 696 bool psMetadataRemoveKey(psMetadata *md, 792 697 const char *key) 793 698 { 794 return ( psMetadataRemove(md, PS_LIST_HEAD, key) ); 795 } 796 699 PS_ASSERT_PTR_NON_NULL(md, false); 700 701 PS_ASSERT_PTR_NON_NULL(md->list, false); 702 psList* mdList = md->list; 703 704 PS_ASSERT_PTR_NON_NULL(md->hash,false); 705 psHash* mdTable = md->hash; 706 707 PS_ASSERT_PTR_NON_NULL(key, false); 708 PS_ASSERT_INT_POSITIVE(strlen(key), false); 709 710 psMetadataItem* entry = psHashLookup(mdTable,key); 711 if (entry == NULL) { 712 psError(PS_ERR_UNKNOWN, false, 713 _("Failed to remove metadata item, %s, from metadata table."), key); 714 return false; 715 } 716 if (entry->type == PS_DATA_METADATA_MULTI) { 717 psMetadataItem* listItem; 718 psListIterator* iter = psListIteratorAlloc( 719 entry->data.list, 720 PS_LIST_HEAD,true); 721 while ((listItem=psListGetAndIncrement(iter)) != NULL) { 722 psListRemoveData(mdList, listItem); 723 } 724 psFree(iter); 725 psHashRemove(mdTable,key); 726 } else { 727 psListRemoveData(mdList, entry); 728 psHashRemove(mdTable, key); 729 } 730 731 return true; 732 } 733 734 735 // Remove by index 797 736 bool psMetadataRemoveIndex(psMetadata *md, 798 int location) 799 { 800 return ( psMetadataRemove(md, location, NULL) ); 737 long location) 738 { 739 PS_ASSERT_PTR_NON_NULL(md, false); 740 741 PS_ASSERT_PTR_NON_NULL(md->list, false); 742 psList* mdList = md->list; 743 744 PS_ASSERT_PTR_NON_NULL(md->hash,false); 745 psHash* mdTable = md->hash; 746 747 psMetadataItem* entry = psListGet(mdList, location); 748 if (entry == NULL) { 749 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 750 _("Could not find metadata item at index %ld."), location); 751 return false; 752 } 753 const char *key = entry->name; 754 755 if (key == NULL) { 756 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 757 _("Failed to remove metadata item, at index %ld, from metadata list."), 758 location); 759 return false; 760 } 761 762 psMetadataItem* tableItem = psHashLookup(mdTable, key); 763 if (tableItem == NULL) { 764 psError(PS_ERR_UNKNOWN, false, 765 _("Failed to remove metadata item, %s, from metadata table."), key); 766 return false; 767 } 768 769 if (tableItem->type == PS_DATA_METADATA_MULTI) { 770 // multiple entries with same key, remove just the specified one 771 psListRemoveData(tableItem->data.list, entry); 772 } else { 773 //Tested below. psHashRemove can't return false here. 774 psHashRemove(mdTable, key); 775 } 776 psListRemove(mdList, location); 777 778 return true; 801 779 } 802 780 … … 1095 1073 } 1096 1074 1097 psMetadata *psMetadataLookupM D(bool *status,1098 const psMetadata *md,1099 const char *key)1075 psMetadata *psMetadataLookupMetadata(bool *status, 1076 const psMetadata *md, 1077 const char *key) 1100 1078 { 1101 1079 PS_ASSERT_PTR_NON_NULL(md,NULL); … … 1413 1391 } 1414 1392 1415 psPolynomial1D *psPolynomial1DfromM D (psMetadata *folder)1393 psPolynomial1D *psPolynomial1DfromMetadata(const psMetadata *folder) 1416 1394 { 1417 1395 PS_ASSERT_PTR_NON_NULL(folder, NULL); … … 1462 1440 1463 1441 // XXX : these may need F64, or %g format for output 1464 bool psPolynomial1DtoM D(psMetadata *md,1465 psPolynomial1D *poly,1466 char *format,1467 ...)1442 bool psPolynomial1DtoMetadata(psMetadata *md, 1443 const psPolynomial1D *poly, 1444 const char *format, 1445 ...) 1468 1446 { 1469 1447 PS_ASSERT_PTR_NON_NULL(md, false); … … 1519 1497 } 1520 1498 1521 psPolynomial2D *psPolynomial2DfromM D (psMetadata *folder)1499 psPolynomial2D *psPolynomial2DfromMetadata(const psMetadata *folder) 1522 1500 { 1523 1501 PS_ASSERT_PTR_NON_NULL(folder, NULL); … … 1575 1553 1576 1554 // XXX : these may need F64, or %g format for output 1577 bool psPolynomial2DtoM D(psMetadata *md,1578 psPolynomial2D *poly,1579 char *format,1580 ...)1555 bool psPolynomial2DtoMetadata (psMetadata *md, 1556 const psPolynomial2D *poly, 1557 const char *format, 1558 ...) 1581 1559 { 1582 1560 PS_ASSERT_PTR_NON_NULL(md, false); … … 1642 1620 } 1643 1621 1644 psPolynomial3D *psPolynomial3DfromM D (psMetadata *folder)1622 psPolynomial3D *psPolynomial3DfromMetadata (const psMetadata *folder) 1645 1623 { 1646 1624 PS_ASSERT_PTR_NON_NULL(folder, NULL); … … 1705 1683 } 1706 1684 1707 bool psPolynomial3DtoM D(psMetadata *md,1708 psPolynomial3D *poly,1709 char *format,1710 ...)1685 bool psPolynomial3DtoMetadata (psMetadata *md, 1686 const psPolynomial3D *poly, 1687 const char *format, 1688 ...) 1711 1689 { 1712 1690 PS_ASSERT_PTR_NON_NULL(md, false); … … 1770 1748 } 1771 1749 1772 psPolynomial4D *psPolynomial4DfromM D (psMetadata *folder)1750 psPolynomial4D *psPolynomial4DfromMetadata(const psMetadata *folder) 1773 1751 { 1774 1752 PS_ASSERT_PTR_NON_NULL(folder, NULL); … … 1839 1817 } 1840 1818 1841 bool psPolynomial4DtoM D(psMetadata *md,1842 psPolynomial4D *poly,1843 char *format,1844 ...)1819 bool psPolynomial4DtoMetadata (psMetadata *md, 1820 const psPolynomial4D *poly, 1821 const char *format, 1822 ...) 1845 1823 { 1846 1824 PS_ASSERT_PTR_NON_NULL(md, false); -
trunk/psLib/src/types/psMetadata.h
r9534 r9538 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.8 7$ $Name: not supported by cvs2svn $14 * @date $Date: 2006-10-13 19:06:00$13 * @version $Revision: 1.88 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2006-10-13 21:13:48 $ 15 15 * 16 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 598 598 /** Add a psList to metadata collection. 599 599 * 600 * @return psBool: True for success, False for failure.601 */ 602 psBool psMetadataAddList(600 * @return bool: True for success, False for failure. 601 */ 602 bool psMetadataAddList( 603 603 psMetadata* md, ///< Metadata collection to insert metadata item 604 604 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 624 624 /** Add a vector to metadata collection. 625 625 * 626 * @return psBool: True for success, False for failure.627 */ 628 psBool psMetadataAddVector(626 * @return bool: True for success, False for failure. 627 */ 628 bool psMetadataAddVector( 629 629 psMetadata* md, ///< Metadata collection to insert metadata item 630 630 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 637 637 /** Add a array to metadata collection. 638 638 * 639 * @return psBool: True for success, False for failure.640 */ 641 psBool psMetadataAddArray(639 * @return bool: True for success, False for failure. 640 */ 641 bool psMetadataAddArray( 642 642 psMetadata* md, ///< Metadata collection to insert metadata item 643 643 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 650 650 /** Add an Image to metadata collection. 651 651 * 652 * @return psBool: True for success, False for failure.653 */ 654 psBool psMetadataAddImage(652 * @return bool: True for success, False for failure. 653 */ 654 bool psMetadataAddImage( 655 655 psMetadata* md, ///< Metadata collection to insert metadata item 656 656 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 663 663 /** Add a Time to metadata collection. 664 664 * 665 * @return psBool: True for success, False for failure.666 */ 667 psBool psMetadataAddTime(665 * @return bool: True for success, False for failure. 666 */ 667 bool psMetadataAddTime( 668 668 psMetadata* md, ///< Metadata collection to insert metadata item 669 669 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 676 676 /** Add a Hash to metadata collection. 677 677 * 678 * @return psBool: True for success, False for failure.679 */ 680 psBool psMetadataAddHash(678 * @return bool: True for success, False for failure. 679 */ 680 bool psMetadataAddHash( 681 681 psMetadata* md, ///< Metadata collection to insert metadata item 682 682 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 689 689 /** Add a LookupTable to metadata collection. 690 690 * 691 * @return psBool: True for success, False for failure.692 */ 693 psBool psMetadataAddLookupTable(691 * @return bool: True for success, False for failure. 692 */ 693 bool psMetadataAddLookupTable( 694 694 psMetadata* md, ///< Metadata collection to insert metadata item 695 695 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 702 702 /** Add an Unknown (psPtr) to metadata collection. 703 703 * 704 * @return psBool: True for success, False for failure.705 */ 706 psBool psMetadataAddUnknown(704 * @return bool: True for success, False for failure. 705 */ 706 bool psMetadataAddUnknown( 707 707 psMetadata* md, ///< Metadata collection to insert metadata item 708 708 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 728 728 /** Add Metadata to metadata collection. 729 729 * 730 * @return psBool: True for success, False for failure.731 */ 732 psBool psMetadataAddMetadata(730 * @return bool: True for success, False for failure. 731 */ 732 bool psMetadataAddMetadata( 733 733 psMetadata* md, ///< Metadata collection to insert metadata item 734 734 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL … … 737 737 const char* comment, ///< Comment for metadata item 738 738 psMetadata* value ///< Metadata for metadata item data 739 );740 741 /** Remove an item from metadata collection.742 *743 * Items may be removed from metadata by specifing a key or location. If the744 * name is null, the where argument is used instead. If name is not null,745 * where is set to PS_LIST_UNKNOWN. If the item is found, it is removed from746 * the metadata and true is returned. If the key is not unique, then all747 * items corresponding to it are removed.748 *749 * @return bool: True for success, false for failure.750 */751 bool psMetadataRemove(752 psMetadata* md, ///< Metadata collection to remove metadata item.753 long location, ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL754 const char * key ///< Name of metadata key.755 739 ); 756 740 … … 770 754 bool psMetadataRemoveIndex( 771 755 psMetadata *md, ///< Metadata collection to remove metadata item. 772 intlocation ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL756 long location ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL 773 757 ); 774 758 … … 1021 1005 * @return psMetadata*: Value of metadata item. 1022 1006 */ 1023 psMetadata *psMetadataLookupM D(1007 psMetadata *psMetadataLookupMetadata( 1024 1008 bool *status, ///< Status of lookup. 1025 1009 const psMetadata *md, ///< Metadata collection to lookup metadata item. … … 1113 1097 * @return psPolynomial2D*: Newly allocated psPolynomial2D from metadata. 1114 1098 */ 1115 psPolynomial2D *psPolynomial2DfromM D(1116 psMetadata *folder ///< folder containing the polynomial info.1099 psPolynomial2D *psPolynomial2DfromMetadata( 1100 const psMetadata *folder ///< folder containing the polynomial info. 1117 1101 ); 1118 1102 … … 1129 1113 * @return bool: True if successful, otherwise false. 1130 1114 */ 1131 bool psPolynomial2DtoM D(1115 bool psPolynomial2DtoMetadata( 1132 1116 psMetadata *md, ///< Metadata container for polynomial storage. 1133 psPolynomial2D *poly, ///< Polynomial information to be stored.1134 c har *format, ///< Name of polynomial folder.1117 const psPolynomial2D *poly, ///< Polynomial information to be stored. 1118 const char *format, ///< Name of polynomial folder. 1135 1119 ... ///< Arguments for name formatting. 1136 1120 ); … … 1147 1131 * @return psPolynomial3D*: Newly allocated psPolynomial3D from metadata. 1148 1132 */ 1149 psPolynomial3D *psPolynomial3DfromM D(1150 psMetadata *folder ///< folder containing the polynomial info.1133 psPolynomial3D *psPolynomial3DfromMetadata( 1134 const psMetadata *folder ///< folder containing the polynomial info. 1151 1135 ); 1152 1136 … … 1163 1147 * @return bool: True if successful, otherwise false. 1164 1148 */ 1165 bool psPolynomial3DtoM D(1149 bool psPolynomial3DtoMetadata( 1166 1150 psMetadata *md, ///< Metadata container for polynomial storage. 1167 psPolynomial3D *poly, ///< Polynomial information to be stored.1168 c har *format, ///< Name of polynomial folder.1151 const psPolynomial3D *poly, ///< Polynomial information to be stored. 1152 const char *format, ///< Name of polynomial folder. 1169 1153 ... ///< Arguments for name formatting. 1170 1154 ); … … 1181 1165 * @return psPolynomial4D*: Newly allocated psPolynomial4D from metadata. 1182 1166 */ 1183 psPolynomial4D *psPolynomial4DfromM D(1184 psMetadata *folder ///< folder containing the polynomial info.1167 psPolynomial4D *psPolynomial4DfromMetadata( 1168 const psMetadata *folder ///< folder containing the polynomial info. 1185 1169 ); 1186 1170 … … 1197 1181 * @return bool: True if successful, otherwise false. 1198 1182 */ 1199 bool psPolynomial4DtoM D(1183 bool psPolynomial4DtoMetadata( 1200 1184 psMetadata *md, ///< Metadata container for polynomial storage. 1201 psPolynomial4D *poly, ///< Polynomial information to be stored.1202 c har *format, ///< Name of polynomial folder.1185 const psPolynomial4D *poly, ///< Polynomial information to be stored. 1186 const char *format, ///< Name of polynomial folder. 1203 1187 ... ///< Arguments for name formatting. 1204 1188 ); -
trunk/psLib/src/types/psMetadataConfig.c
r8973 r9538 10 10 * @author Eric Van Alst, MHPCC 11 11 * 12 * @version $Revision: 1.9 2$ $Name: not supported by cvs2svn $13 * @date $Date: 2006- 09-26 02:55:34$12 * @version $Revision: 1.93 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2006-10-13 21:13:48 $ 14 14 * 15 15 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 1118 1118 } else { 1119 1119 // Remove lower info level 1120 if(!psArrayRemoveBy Pos(levelArray, *level)) {1120 if(!psArrayRemoveByIndex(levelArray, *level)) { 1121 1121 psFree(keyName); 1122 1122 return false; -
trunk/psLib/src/types/psPixels.c
r8973 r9538 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.2 8$ $Name: not supported by cvs2svn $10 * @date $Date: 2006- 09-26 02:55:34$9 * @version $Revision: 1.29 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-10-13 21:13:48 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 18 18 #include "psPixels.h" 19 19 #include "psMemory.h" 20 20 #include "psAssert.h" 21 21 #include "psError.h" 22 22 … … 74 74 bool psMemCheckPixels(psPtr ptr) 75 75 { 76 if (!is_psType(ptr)) { 77 return false; 78 } 76 PS_ASSERT_PTR(ptr, false); 79 77 return ( psMemGetDeallocator(ptr) == (psFreeFunc)pixelsFree ); 80 78 }
Note:
See TracChangeset
for help on using the changeset viewer.
