Changeset 1440 for trunk/psLib/src/collections
- Timestamp:
- Aug 9, 2004, 1:34:58 PM (22 years ago)
- Location:
- trunk/psLib/src/collections
- Files:
-
- 14 edited
-
psArray.c (modified) (8 diffs)
-
psArray.h (modified) (6 diffs)
-
psBitSet.c (modified) (9 diffs)
-
psBitSet.h (modified) (7 diffs)
-
psHash.c (modified) (13 diffs)
-
psHash.h (modified) (4 diffs)
-
psList.c (modified) (15 diffs)
-
psList.h (modified) (11 diffs)
-
psMetadata.c (modified) (22 diffs)
-
psMetadata.h (modified) (17 diffs)
-
psScalar.c (modified) (3 diffs)
-
psScalar.h (modified) (3 diffs)
-
psVector.c (modified) (10 diffs)
-
psVector.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/collections/psArray.c
r1407 r1440 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.1 2$ $Name: not supported by cvs2svn $12 * @date $Date: 2004-08-0 7 00:06:06$11 * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-08-09 23:34:57 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 32 32 33 33 /*****************************************************************************/ 34 static void arrayFree(psArray * restrict psArr);34 static void arrayFree(psArray* restrict psArr); 35 35 36 36 /*****************************************************************************/ … … 39 39 40 40 /*****************************************************************************/ 41 psArray *psArrayAlloc(unsigned int nalloc)41 psArray* psArrayAlloc(unsigned int nalloc) 42 42 { 43 psArray *psArr = NULL;43 psArray* psArr = NULL; 44 44 45 45 // Invalid nalloc … … 49 49 } 50 50 // Create vector struct 51 psArr = (psArray *) psAlloc(sizeof(psArray));51 psArr = (psArray* ) psAlloc(sizeof(psArray)); 52 52 p_psMemSetDeallocator(psArr, (psFreeFcn) arrayFree); 53 53 … … 61 61 } 62 62 63 psArray *psArrayRealloc(unsigned int nalloc, psArray* restrict in)63 psArray* psArrayRealloc(unsigned int nalloc, psArray* restrict in) 64 64 { 65 65 // Invalid nalloc … … 87 87 } 88 88 89 static void arrayFree(psArray * restrict psArr)89 static void arrayFree(psArray* restrict psArr) 90 90 { 91 91 if (psArr == NULL) { … … 98 98 } 99 99 100 void psArrayElementFree(psArray * restrict psArr)100 void psArrayElementFree(psArray* restrict psArr) 101 101 { 102 102 … … 111 111 } 112 112 113 psArray *psArraySort(psArray* in, psComparePtrFcn compare)113 psArray* psArraySort(psArray* in, psComparePtrFcn compare) 114 114 { 115 115 if (in == NULL) { -
trunk/psLib/src/collections/psArray.h
r1426 r1440 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.1 3$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-08-09 2 2:44:25$14 * @version $Revision: 1.14 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-08-09 23:34:57 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 36 36 unsigned int nalloc; ///< Total number of elements available. 37 37 unsigned int n; ///< Number of elements in use. 38 psPTR *data; ///< An Array of pointer elements38 psPTR* data; ///< An Array of pointer elements 39 39 } 40 40 psArray; … … 51 51 * data 52 52 * 53 * @return psArray* : Pointer to psArray.53 * @return psArray* : Pointer to psArray. 54 54 * 55 55 */ 56 psArray *psArrayAlloc(unsigned int nalloc ///< Total number of elements to make available.56 psArray* psArrayAlloc(unsigned int nalloc ///< Total number of elements to make available. 57 57 ); 58 58 … … 62 62 * of data. 63 63 * 64 * @return psArray* : Pointer to psArray.64 * @return psArray* : Pointer to psArray. 65 65 * 66 66 */ 67 psArray *psArrayRealloc(unsigned int nalloc, ///< Total number of elements to make available.68 psArray * restrict psArr ///< array to reallocate.67 psArray* psArrayRealloc(unsigned int nalloc, ///< Total number of elements to make available. 68 psArray* restrict psArr ///< array to reallocate. 69 69 ); 70 70 … … 76 76 * 77 77 */ 78 void psArrayElementFree(psArray * restrict psArr ///< Void pointer array to destroy.78 void psArrayElementFree(psArray* restrict psArr ///< Void pointer array to destroy. 79 79 ); 80 80 … … 84 84 * to specify how the objects on the array should be sorted. 85 85 * 86 * @return psArray* The sorted array.86 * @return psArray* The sorted array. 87 87 */ 88 psArray *psArraySort(psArray* in, psComparePtrFcn compare);88 psArray* psArraySort(psArray* in, psComparePtrFcn compare); 89 89 90 90 /// @} -
trunk/psLib/src/collections/psBitSet.c
r1407 r1440 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.1 5$ $Name: not supported by cvs2svn $14 * @date $Date: 2004-08-0 7 00:06:06$13 * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2004-08-09 23:34:57 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 70 70 71 71 /*****************************************************************************/ 72 static void psBitSetFree(psBitSet * restrict inBitSet);72 static void psBitSetFree(psBitSet* restrict inBitSet); 73 73 74 74 /** Private function to create a mask. … … 95 95 96 96 /*****************************************************************************/ 97 psBitSet *psBitSetAlloc(int n)97 psBitSet* psBitSetAlloc(int n) 98 98 { 99 99 int numBytes = 0; 100 psBitSet *newObj = NULL;100 psBitSet* newObj = NULL; 101 101 102 102 if (n <= 0) { … … 125 125 } 126 126 127 static void psBitSetFree(psBitSet * restrict inBitSet)127 static void psBitSetFree(psBitSet* restrict inBitSet) 128 128 { 129 129 if (inBitSet == NULL) { … … 134 134 } 135 135 136 psBitSet *psBitSetSet(psBitSet* inBitSet, int bit)136 psBitSet* psBitSetSet(psBitSet* inBitSet, int bit) 137 137 { 138 138 char *byte = NULL; … … 155 155 } 156 156 157 bool psBitSetTest(const psBitSet * inBitSet, int bit)157 bool psBitSetTest(const psBitSet* inBitSet, int bit) 158 158 { 159 159 char *byte = NULL; … … 178 178 } 179 179 180 psBitSet *psBitSetOp(psBitSet * outBitSet, const psBitSet* restrict inBitSet1, char *operator,181 const psBitSet * restrict inBitSet2)180 psBitSet* psBitSetOp(psBitSet* outBitSet, const psBitSet* restrict inBitSet1, char *operator, 181 const psBitSet* restrict inBitSet2) 182 182 { 183 183 int i = 0; … … 241 241 } 242 242 243 psBitSet *psBitSetNot(psBitSet * outBitSet, const psBitSet* restrict inBitSet)243 psBitSet* psBitSetNot(psBitSet* outBitSet, const psBitSet* restrict inBitSet) 244 244 { 245 245 int i = 0; … … 278 278 } 279 279 280 char *psBitSetToString(const psBitSet * restrict inBitSet)280 char *psBitSetToString(const psBitSet* restrict inBitSet) 281 281 { 282 282 int i = 0; -
trunk/psLib/src/collections/psBitSet.h
r1407 r1440 13 13 * @author Ross Harman, MHPCC 14 14 * 15 * @version $Revision: 1.1 0$ $Name: not supported by cvs2svn $16 * @date $Date: 2004-08-0 7 00:06:06$15 * @version $Revision: 1.11 $ $Name: not supported by cvs2svn $ 16 * @date $Date: 2004-08-09 23:34:57 $ 17 17 * 18 18 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 56 56 * allocation. 57 57 * 58 * @return psBitSet* : Pointer to struct containing array of bits and size of array.58 * @return psBitSet* : Pointer to struct containing array of bits and size of array. 59 59 */ 60 60 61 61 /*@null@*/ 62 62 63 psBitSet *psBitSetAlloc(int n63 psBitSet* psBitSetAlloc(int n 64 64 /**< Number of bits in psBitSet array */ 65 65 ); … … 71 71 * an array with two elements would result in an psBitSet that looks like 00000000 00001000. 72 72 * 73 * @return psBitSet* : Pointer to struct containing psBitSet.73 * @return psBitSet* : Pointer to struct containing psBitSet. 74 74 */ 75 psBitSet *psBitSetSet(75 psBitSet* psBitSetSet( 76 76 77 /* @returned@ */ psBitSet * restrict inMask,77 /* @returned@ */ psBitSet* restrict inMask, 78 78 /**< Pointer to psBitSet to be set. */ 79 79 … … 91 91 */ 92 92 93 bool psBitSetTest(const psBitSet * restrict inMask,93 bool psBitSetTest(const psBitSet* restrict inMask, 94 94 /**< Pointer psBitSet to be tested. */ 95 95 … … 102 102 * be performed and an error message will be logged. 103 103 * 104 * @return psBitSet* : Pointer to struct containing result of binary operation.104 * @return psBitSet* : Pointer to struct containing result of binary operation. 105 105 */ 106 psBitSet *psBitSetOp(106 psBitSet* psBitSetOp( 107 107 108 /* @returned@ */ psBitSet * restrict outMask,108 /* @returned@ */ psBitSet* restrict outMask, 109 109 /**< Resulting psBitSet from binary operation */ 110 110 111 const psBitSet * restrict inMask1,111 const psBitSet* restrict inMask1, 112 112 /**< First psBitSet on which to operate */ 113 113 114 114 char *operator, /**< Bit operation */ 115 115 116 const psBitSet * restrict inMask2116 const psBitSet* restrict inMask2 117 117 /**< First psBitSet on which to operate */ 118 118 ); … … 122 122 * Toggles bits in a psBitset. All zero bits are set to one and all one bits are set to zero. 123 123 * 124 * @return psBitSet* : Pointer to struct containing result of operation.124 * @return psBitSet* : Pointer to struct containing result of operation. 125 125 */ 126 126 127 psBitSet *psBitSetNot(psBitSet* outBitSet,127 psBitSet* psBitSetNot(psBitSet* outBitSet, 128 128 /**< Resulting psBitSet from operation */ 129 129 130 const psBitSet * restrict inBitSet130 const psBitSet* restrict inBitSet 131 131 /**< Input psBitSet */ 132 132 ); … … 140 140 */ 141 141 142 char *psBitSetToString(const psBitSet * restrict inMask142 char *psBitSetToString(const psBitSet* restrict inMask 143 143 /**< psBitSet to convert */ 144 144 ); -
trunk/psLib/src/collections/psHash.c
r1420 r1440 11 11 * @author George Gusciora, MHPCC 12 12 * 13 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $14 * @date $Date: 2004-08-09 2 0:29:43$13 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2004-08-09 23:34:57 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 26 26 #include "psAbort.h" 27 27 28 static psHashBucket *hashBucketAlloc(const char *key, void *data, psHashBucket* next);29 static void hashBucketFree(psHashBucket * bucket);30 static void *doHashWork(psHash * table, const char *key, void *data, bool remove28 static psHashBucket* hashBucketAlloc(const char *key, void *data, psHashBucket* next); 29 static void hashBucketFree(psHashBucket* bucket); 30 static void *doHashWork(psHash* table, const char *key, void *data, bool remove 31 31 ); 32 static void hashFree(psHash * table);32 static void hashFree(psHash* table); 33 33 34 34 /****************************************************************************** … … 40 40 The linked list 41 41 *****************************************************************************/ 42 psList *psHashKeyList(psHash* table)42 psList* psHashKeyList(psHash* table) 43 43 { 44 44 int i = 0; // Loop index variable 45 psList *myLinkList = NULL; // The output data structure46 psHashBucket *ptr = NULL; // Used to step thru linked list.45 psList* myLinkList = NULL; // The output data structure 46 psHashBucket* ptr = NULL; // Used to step thru linked list. 47 47 48 48 if (table == NULL) { … … 81 81 the new hash bucket. 82 82 *****************************************************************************/ 83 static psHashBucket *hashBucketAlloc(const char *key, void *data, psHashBucket* next)83 static psHashBucket* hashBucketAlloc(const char *key, void *data, psHashBucket* next) 84 84 { 85 85 if (key == NULL) { … … 87 87 } 88 88 // Allocate memory for the new hash bucket. 89 psHashBucket *bucket = psAlloc(sizeof(psHashBucket));89 psHashBucket* bucket = psAlloc(sizeof(psHashBucket)); 90 90 91 91 p_psMemSetDeallocator(bucket, (psFreeFcn) hashBucketFree); … … 114 114 NONE 115 115 *****************************************************************************/ 116 static void hashBucketFree(psHashBucket * bucket)116 static void hashBucketFree(psHashBucket* bucket) 117 117 { 118 118 if (bucket == NULL) { … … 133 133 The new hash table. 134 134 *****************************************************************************/ 135 psHash *psHashAlloc(int nbucket) // initial number of buckets135 psHash* psHashAlloc(int nbucket) // initial number of buckets 136 136 { 137 137 int i = 0; // loop index variable 138 138 139 139 // Create the new hash table. 140 psHash *table = psAlloc(sizeof(psHash));140 psHash* table = psAlloc(sizeof(psHash)); 141 141 142 142 p_psMemSetDeallocator(table, (psFreeFcn) hashFree); 143 143 144 144 // Allocate memory for the buckets. 145 table->buckets = psAlloc(nbucket * sizeof(psHashBucket *));145 table->buckets = psAlloc(nbucket * sizeof(psHashBucket* )); 146 146 table->nbucket = nbucket; 147 147 … … 168 168 NONE 169 169 *****************************************************************************/ 170 static void hashFree(psHash * table)170 static void hashFree(psHash* table) 171 171 { 172 172 int i = 0; // Loop index variable. … … 210 210 there is little common code between those functions. 211 211 *****************************************************************************/ 212 static void *doHashWork(psHash * table, const char *key, void *data, bool remove212 static void *doHashWork(psHash* table, const char *key, void *data, bool remove 213 213 ) 214 214 { … … 217 217 // "hashed" from the key. 218 218 char *tmpchar = NULL; // Used in computing the hash function. 219 psHashBucket *ptr = NULL; // Used to retrieve the hash bucket.220 psHashBucket *optr = NULL; // "original pointer": used to step219 psHashBucket* ptr = NULL; // Used to retrieve the hash bucket. 220 psHashBucket* optr = NULL; // "original pointer": used to step 221 221 222 222 // thru the linked list for a bucket. … … 338 338 boolean value defining success or failure 339 339 *****************************************************************************/ 340 bool psHashAdd(psHash * table, const char *key, void *data)340 bool psHashAdd(psHash* table, const char *key, void *data) 341 341 { 342 342 if (table == NULL) { … … 364 364 The data associated with that key. 365 365 *****************************************************************************/ 366 void *psHashLookup(psHash * table, // table to lookup key in366 void *psHashLookup(psHash* table, // table to lookup key in 367 367 const char *key) // key to lookup 368 368 { … … 387 387 boolean value defining success or failure 388 388 *****************************************************************************/ 389 bool psHashRemove(psHash * table, const char *key)389 bool psHashRemove(psHash* table, const char *key) 390 390 { 391 391 void *data = NULL; -
trunk/psLib/src/collections/psHash.h
r1426 r1440 11 11 * @author George Gusciora, MHPCC 12 12 * 13 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $14 * @date $Date: 2004-08-09 2 2:44:25$13 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2004-08-09 23:34:57 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 31 31 char *key; ///< key for this item of data 32 32 void *data; ///< the data itself 33 struct psHashBucket *next; ///< list of other possible keys33 struct psHashBucket* next; ///< list of other possible keys 34 34 } 35 35 psHashBucket; … … 41 41 { 42 42 int nbucket; ///< Number of buckets in hash table. 43 psHashBucket **buckets; ///< The bucket data.43 psHashBucket* *buckets; ///< The bucket data. 44 44 } 45 45 psHash; 46 46 47 47 /// Allocate hash buckets in table. 48 psHash *psHashAlloc(int nbucket ///< The number of buckets to allocate.48 psHash* psHashAlloc(int nbucket ///< The number of buckets to allocate. 49 49 ); 50 50 51 51 /// Insert entry into table. 52 bool psHashAdd(psHash * table, ///< table to insert in52 bool psHashAdd(psHash* table, ///< table to insert in 53 53 const char *key, ///< key to use 54 54 void *data ///< data to insert … … 56 56 57 57 /// Lookup key in table. 58 void *psHashLookup(psHash * table, ///< table to lookup key in58 void *psHashLookup(psHash* table, ///< table to lookup key in 59 59 const char *key ///< key to lookup 60 60 ); 61 61 62 62 /// Remove key from table. 63 bool psHashRemove(psHash * table, ///< table to lookup key in63 bool psHashRemove(psHash* table, ///< table to lookup key in 64 64 const char *key ///< key to lookup 65 65 ); 66 66 67 67 /// List all keys in table. 68 psList *psHashKeyList(psHash* table ///< table to list keys from.68 psList* psHashKeyList(psHash* table ///< table to list keys from. 69 69 ); 70 70 -
trunk/psLib/src/collections/psList.c
r1407 r1440 7 7 * @author Robert Daniel DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.1 4$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-08-0 7 00:06:06$9 * @version $Revision: 1.15 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-08-09 23:34:57 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 29 29 30 30 // private functions. 31 static psListElem *listGetIterator(psList* list);32 static int listGetIteratorIndex(psList * list);33 static void listSetIterator(psList * list, int where, bool lockList);34 static void listFree(psList * list);35 36 psList *psListAlloc(void *data)37 { 38 psList *list = psAlloc(sizeof(psList));31 static psListElem* listGetIterator(psList* list); 32 static int listGetIteratorIndex(psList* list); 33 static void listSetIterator(psList* list, int where, bool lockList); 34 static void listFree(psList* list); 35 36 psList* psListAlloc(void *data) 37 { 38 psList* list = psAlloc(sizeof(psList)); 39 39 40 40 p_psMemSetDeallocator(list, (psFreeFcn) listFree); … … 55 55 } 56 56 57 static void listFree(psList * list)57 static void listFree(psList* list) 58 58 { 59 59 if (list == NULL) { … … 64 64 ; 65 65 66 for (psListElem * ptr = list->head; ptr != NULL;) {67 psListElem *next = ptr->next;66 for (psListElem* ptr = list->head; ptr != NULL;) { 67 psListElem* next = ptr->next; 68 68 69 69 psFree(ptr->data); … … 81 81 } 82 82 83 bool psListAdd(psList * list, void *data, int where)84 { 85 psListElem *position;86 psListElem *elem;83 bool psListAdd(psList* list, void *data, int where) 84 { 85 psListElem* position; 86 psListElem* elem; 87 87 int cursorIndex = 0; 88 88 … … 168 168 * Remove an element from a list 169 169 */ 170 bool psListRemove(psList * list, void *data, int which)171 { 172 psListElem *elem = NULL; // element to remove170 bool psListRemove(psList* list, void *data, int which) 171 { 172 psListElem* elem = NULL; // element to remove 173 173 int cursorIndex = 0; 174 174 … … 186 186 int i = 0; // index 187 187 188 for (psListElem * ptr = list->head; ptr != NULL; ptr = ptr->next) {188 for (psListElem* ptr = list->head; ptr != NULL; ptr = ptr->next) { 189 189 if (ptr->data == data) { 190 190 which = i; … … 243 243 } 244 244 245 void psListSetIterator(psList * list, int where)245 void psListSetIterator(psList* list, int where) 246 246 { 247 247 listSetIterator(list, where, true); 248 248 } 249 249 250 void listSetIterator(psList * list, int where, bool lockList)251 { 252 psListElem *cursor;250 void listSetIterator(psList* list, int where, bool lockList) 251 { 252 psListElem* cursor; 253 253 int position; 254 254 … … 340 340 } 341 341 342 psListElem *listGetIterator(psList* list)342 psListElem* listGetIterator(psList* list) 343 343 { 344 344 if (list == NULL) { … … 355 355 } 356 356 357 int listGetIteratorIndex(psList * list)357 int listGetIteratorIndex(psList* list) 358 358 { 359 359 if (list->iter == ITER_INIT_HEAD) { … … 366 366 } 367 367 368 void *psListGet(psList * list, int which)369 { 370 psListElem *element;368 void *psListGet(psList* list, int which) 369 { 370 psListElem* element; 371 371 372 372 psListSetIterator(list, which); … … 383 383 * and now return the previous/next element of the list 384 384 */ 385 void *psListGetNext(psList * list)385 void *psListGetNext(psList* list) 386 386 { 387 387 return psListGet(list, PS_LIST_NEXT); 388 388 } 389 389 390 void *psListGetPrevious(psList * list)390 void *psListGetPrevious(psList* list) 391 391 { 392 392 return psListGet(list, PS_LIST_PREVIOUS); 393 393 } 394 394 395 void *psListGetCurrent(psList * list)395 void *psListGetCurrent(psList* list) 396 396 { 397 397 return psListGet(list, PS_LIST_CURRENT); … … 401 401 * Convert a psList to/from a psVoidPtrArray 402 402 */ 403 psArray *psListToArray(psList* restrict list)404 { 405 psListElem *ptr;403 psArray* psListToArray(psList* restrict list) 404 { 405 psListElem* ptr; 406 406 unsigned int n; 407 psArray *restrict arr;407 psArray* restrict arr; 408 408 409 409 if (list == NULL) { … … 429 429 } 430 430 431 psList *psArrayToList(psArray* arr)431 psList* psArrayToList(psArray* arr) 432 432 { 433 433 unsigned int n; 434 psList *list; // list of elements434 psList* list; // list of elements 435 435 436 436 if (arr == NULL) { … … 447 447 } 448 448 449 psList *psListSort(psList* list, psComparePtrFcn compare)450 { 451 psArray *arr;449 psList* psListSort(psList* list, psComparePtrFcn compare) 450 { 451 psArray* arr; 452 452 453 453 if (list == NULL) { -
trunk/psLib/src/collections/psList.h
r1426 r1440 10 10 * @ingroup LinkedList 11 11 * 12 * @version $Revision: 1.1 1$ $Name: not supported by cvs2svn $13 * @date $Date: 2004-08-09 2 2:44:25$12 * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2004-08-09 23:34:57 $ 14 14 * 15 15 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 44 44 typedef struct psListElem 45 45 { 46 struct psListElem *prev; ///< previous link in list47 struct psListElem *next; ///< next link in list46 struct psListElem* prev; ///< previous link in list 47 struct psListElem* next; ///< next link in list 48 48 void *data; ///< real data item 49 49 } … … 58 58 { 59 59 unsigned int size; ///< number of elements on list 60 psListElem *head; ///< first element on list (may be NULL)61 psListElem *tail; ///< last element on list (may be NULL)62 psListElem *iter; ///< iteration cursor60 psListElem* head; ///< first element on list (may be NULL) 61 psListElem* tail; ///< last element on list (may be NULL) 62 psListElem* iter; ///< iteration cursor 63 63 unsigned int iterIndex; ///< the numeric position of the iteration cursor in the list 64 64 pthread_mutex_t lock; ///< mutex to lock a node during changes … … 68 68 /** Creates a psList linked list object. 69 69 * 70 * @return psList* A new psList object.70 * @return psList* A new psList object. 71 71 */ 72 psList *psListAlloc(void *data72 psList* psListAlloc(void *data 73 73 ///< initial data item; may be NULL if no an empty psList is desired 74 74 ) … … 77 77 /** Adds an element to a psList at position given. 78 78 * 79 * @return psList* The psList with added data item. If list parameter is79 * @return psList* The psList with added data item. If list parameter is 80 80 * NULL, the return value will also be NULL. 81 81 */ 82 bool psListAdd(psList * restrict list, ///< list to add to (if NULL, nothing is done)82 bool psListAdd(psList* restrict list, ///< list to add to (if NULL, nothing is done) 83 83 void *data, ///< data item to add. If NULL, list is not modified. 84 84 int where ///< index, PS_LIST_HEAD, PS_LIST_TAIL, or numbered location. … … 89 89 * @return bool TRUE if element is successfully removed, otherwise FALSE. 90 90 */ 91 bool psListRemove(psList * restrict list,91 bool psListRemove(psList* restrict list, 92 92 ///< list to remove element from 93 93 void *data, … … 104 104 * NULL is returned. 105 105 */ 106 void *psListGet(psList * restrict list, ///< list to retrieve element from106 void *psListGet(psList* restrict list, ///< list to retrieve element from 107 107 int which ///< index number, or PS_LIST_NEXT, PS_LIST_PREV, PS_LIST_UNKNOWN 108 108 ); … … 112 112 * 113 113 */ 114 void psListSetIterator(psList * restrict list, ///< list to retrieve element from114 void psListSetIterator(psList* restrict list, ///< list to retrieve element from 115 115 int where ///< index number, PS_LIST_HEAD, or PS_LIST_TAIL 116 116 ); … … 123 123 * parameter was NULL. 124 124 */ 125 void *psListGetNext(psList * restrict list ///< list to retrieve element from125 void *psListGetNext(psList* restrict list ///< list to retrieve element from 126 126 ); 127 127 … … 133 133 * iterator is not valid or list parameter was NULL. 134 134 */ 135 void *psListGetCurrent(psList * restrict list ///< list to retrieve element from135 void *psListGetCurrent(psList* restrict list ///< list to retrieve element from 136 136 ); 137 137 … … 143 143 * parameter was NULL. 144 144 */ 145 void *psListGetPrevious(psList * restrict list ///< list to retrieve element from145 void *psListGetPrevious(psList* restrict list ///< list to retrieve element from 146 146 ); 147 147 148 148 /** Convert a linked list to an array 149 149 * 150 * @return psArray* A new psArray populated with elements from the list,150 * @return psArray* A new psArray populated with elements from the list, 151 151 * or NULL if the given dlist parameter is NULL. 152 152 */ 153 psArray *psListToArray(psList* dlist ///< List to convert153 psArray* psListToArray(psList* dlist ///< List to convert 154 154 ); 155 155 156 156 /** Convert array to a doubly-linked list 157 157 * 158 * @return psList* A new psList populated with elements formt the psArray,158 * @return psList* A new psList populated with elements formt the psArray, 159 159 * or NULL is the given arr parameter is NULL. 160 160 */ 161 psList *psArrayToList(psArray* arr ///< vector to convert161 psList* psArrayToList(psArray* arr ///< vector to convert 162 162 ); 163 163 164 psList *psListSort(psList* list, psComparePtrFcn compare);164 psList* psListSort(psList* list, psComparePtrFcn compare); 165 165 166 166 /// @} End of DataGroup Functions -
trunk/psLib/src/collections/psMetadata.c
r1432 r1440 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1. 19$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-08-09 23: 06:10$14 * @version $Revision: 1.20 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-08-09 23:34:57 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 88 88 89 89 /*****************************************************************************/ 90 static void metadataItemFree(psMetadataItem * metadataItem)90 static void metadataItemFree(psMetadataItem* metadataItem) 91 91 { 92 92 psMetadataType type; … … 109 109 } 110 110 111 static void metadataFree(psMetadata * metadata)111 static void metadataFree(psMetadata* metadata) 112 112 { 113 113 if (metadata == NULL) { … … 124 124 /*****************************************************************************/ 125 125 126 psMetadataItem *psMetadataItemAlloc(const char *name, psMetadataType type, const char *comment, ...)126 psMetadataItem* psMetadataItemAlloc(const char *name, psMetadataType type, const char *comment, ...) 127 127 { 128 128 va_list argPtr; 129 psMetadataItem *metadataItem = NULL;129 psMetadataItem* metadataItem = NULL; 130 130 131 131 // Get the variable list parameters to pass to allocation function … … 141 141 } 142 142 143 psMetadataItem *psMetadataItemAllocV(const char *name, psMetadataType type, const char *comment,143 psMetadataItem* psMetadataItemAllocV(const char *name, psMetadataType type, const char *comment, 144 144 va_list argPtr) 145 145 { 146 psMetadataItem *metadataItem = NULL;146 psMetadataItem* metadataItem = NULL; 147 147 148 148 if (name == NULL) { … … 151 151 } 152 152 // Allocate metadata item 153 metadataItem = (psMetadataItem *) psAlloc(sizeof(psMetadataItem));153 metadataItem = (psMetadataItem* ) psAlloc(sizeof(psMetadataItem)); 154 154 if (metadataItem == NULL) { 155 155 psAbort(__func__, "Failed to allocate memory"); … … 211 211 } 212 212 213 psMetadata *psMetadataAlloc(void)214 { 215 psList *list = NULL;216 psHash *table = NULL;217 psMetadata *metadata = NULL;213 psMetadata* psMetadataAlloc(void) 214 { 215 psList* list = NULL; 216 psHash* table = NULL; 217 psMetadata* metadata = NULL; 218 218 219 219 // Allocate metadata 220 metadata = (psMetadata *) psAlloc(sizeof(psMetadata));220 metadata = (psMetadata* ) psAlloc(sizeof(psMetadata)); 221 221 if (metadata == NULL) { 222 222 psAbort(__func__, "Failed to allocate metadata"); … … 226 226 227 227 // Allocate metadata's internal containers 228 list = (psList *) psListAlloc(NULL);228 list = (psList* ) psListAlloc(NULL); 229 229 if (list == NULL) { 230 230 psAbort(__func__, "Failed to allocate list"); 231 231 } 232 232 233 table = (psHash *) psHashAlloc(10);233 table = (psHash* ) psHashAlloc(10); 234 234 if (table == NULL) { 235 235 psAbort(__func__, "Failed to allocate table"); … … 242 242 } 243 243 244 bool psMetadataAddItem(psMetadata * restrict md, int where, psMetadataItem* restrict metadataItem)244 bool psMetadataAddItem(psMetadata* restrict md, int where, psMetadataItem* restrict metadataItem) 245 245 { 246 246 char *key = NULL; 247 psHash *mdTable = NULL;248 psList *mdList = NULL;249 psMetadataItem *value = NULL;247 psHash* mdTable = NULL; 248 psList* mdList = NULL; 249 psMetadataItem* value = NULL; 250 250 psMetadataType type = PS_META_ITEM_SET; 251 251 … … 280 280 } 281 281 // Check if key is already in table 282 value = (psMetadataItem *) psHashLookup(mdTable, key);282 value = (psMetadataItem* ) psHashLookup(mdTable, key); 283 283 if (value != NULL && type != PS_META_ITEM_SET) { 284 284 … … 316 316 } 317 317 318 bool psMetadataAdd(psMetadata * restrict md, int where, const char *name, psMetadataType type,318 bool psMetadataAdd(psMetadata* restrict md, int where, const char *name, psMetadataType type, 319 319 const char *comment, ...) 320 320 { 321 321 va_list argPtr; 322 psMetadataItem *metadataItem = NULL;322 psMetadataItem* metadataItem = NULL; 323 323 324 324 va_start(argPtr, comment); … … 339 339 } 340 340 341 bool psMetadataRemove(psMetadata * restrict md, int where, const char *restrict key)341 bool psMetadataRemove(psMetadata* restrict md, int where, const char *restrict key) 342 342 { 343 343 int numChildren = 0; 344 psList *mdList = NULL;345 psHash *mdTable = NULL;346 psMetadataItem *entry = NULL;347 psMetadataItem *entryChild = NULL;344 psList* mdList = NULL; 345 psHash* mdTable = NULL; 346 psMetadataItem* entry = NULL; 347 psMetadataItem* entryChild = NULL; 348 348 349 349 … … 368 368 369 369 // Remove by key name 370 entry = (psMetadataItem *) psHashLookup(mdTable, key);370 entry = (psMetadataItem* ) psHashLookup(mdTable, key); 371 371 if (entry == NULL) { 372 372 psError(__func__, "Couldn't find metadata item. Name: %s", key); … … 419 419 } 420 420 421 psMetadataItem *psMetadataLookup(psMetadata* restrict md, const char *restrict key)422 { 423 psHash *mdTable = NULL;424 psMetadataItem *entry = NULL;421 psMetadataItem* psMetadataLookup(psMetadata* restrict md, const char *restrict key) 422 { 423 psHash* mdTable = NULL; 424 psMetadataItem* entry = NULL; 425 425 426 426 … … 441 441 } 442 442 443 entry = (psMetadataItem *) psHashLookup(mdTable, key);443 entry = (psMetadataItem* ) psHashLookup(mdTable, key); 444 444 if (entry == NULL) { 445 445 psError(__func__, "Could not find metadata item. Key: %s", key); … … 450 450 } 451 451 452 psMetadataItem *psMetadataGet(psMetadata* restrict md, int where)453 { 454 psList *mdList = NULL;455 psMetadataItem *entry = NULL;452 psMetadataItem* psMetadataGet(psMetadata* restrict md, int where) 453 { 454 psList* mdList = NULL; 455 psMetadataItem* entry = NULL; 456 456 457 457 … … 467 467 } 468 468 469 entry = (psMetadataItem *) psListGet(mdList, where);469 entry = (psMetadataItem* ) psListGet(mdList, where); 470 470 if (entry == NULL) { 471 471 psError(__func__, "Couldn't find metadata item with given index. Index: %d", where); … … 476 476 } 477 477 478 bool psMetadataSetIterator(psMetadata * restrict md, int where)479 { 480 psList *mdList = NULL;478 bool psMetadataSetIterator(psMetadata* restrict md, int where) 479 { 480 psList* mdList = NULL; 481 481 482 482 if (md == NULL) { … … 496 496 } 497 497 498 psMetadataItem *psMetadataGetNext(psMetadata* restrict md, const char *restrict match, int which)499 { 500 psList *mdList = NULL;501 psMetadataItem *entry = NULL;498 psMetadataItem* psMetadataGetNext(psMetadata* restrict md, const char *restrict match, int which) 499 { 500 psList* mdList = NULL; 501 psMetadataItem* entry = NULL; 502 502 503 503 mdList = md->list; … … 532 532 } 533 533 534 psMetadataItem *psMetadataGetPrevious(psMetadata* restrict md, const char *restrict match, int which)535 { 536 psList *mdList = NULL;537 psMetadataItem *entry = NULL;534 psMetadataItem* psMetadataGetPrevious(psMetadata* restrict md, const char *restrict match, int which) 535 { 536 psList* mdList = NULL; 537 psMetadataItem* entry = NULL; 538 538 539 539 mdList = md->list; … … 568 568 } 569 569 570 void psMetadataItemPrint(FILE * fd, const char *format, const psMetadataItem * restrict metadataItem)570 void psMetadataItemPrint(FILE * fd, const char *format, const psMetadataItem* restrict metadataItem) 571 571 { 572 572 psMetadataType type; … … 616 616 } 617 617 618 psMetadata *psMetadataFReadHeader(psMetadata* output, char *extName, int extNum, fitsfile * fd)618 psMetadata* psMetadataFReadHeader(psMetadata* output, char *extName, int extNum, fitsfile * fd) 619 619 { 620 620 bool tempBool; -
trunk/psLib/src/collections/psMetadata.h
r1426 r1440 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.1 7$ $Name: not supported by cvs2svn $14 * @date $Date: 2004-08-09 2 2:44:25$13 * @version $Revision: 1.18 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2004-08-09 23:34:57 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 66 66 } data; ///< Union for data types. 67 67 char *comment; ///< Optional comment ("", not NULL). 68 psList *restrict items; ///< List of psMetadataItems with same name.68 psList* restrict items; ///< List of psMetadataItems with same name. 69 69 } 70 70 psMetadataItem; … … 78 78 typedef struct psMetadata 79 79 { 80 psList *restrict list;81 psHash *restrict table;80 psList* restrict list; 81 psHash* restrict table; 82 82 } 83 83 psMetadata; … … 100 100 * specified size and type. 101 101 * 102 * @return psMetadataItem* : Pointer metadata item.103 */ 104 psMetadataItem *psMetadataItemAlloc(const char *name, ///< Name of metadata item.102 * @return psMetadataItem* : Pointer metadata item. 103 */ 104 psMetadataItem* psMetadataItemAlloc(const char *name, ///< Name of metadata item. 105 105 psMetadataType type, ///< Type of metadata item. 106 106 const char *comment, ///< Comment for metadata item. … … 119 119 * specified size and type. 120 120 * 121 * @return psMetadataItem* : Pointer metadata item.122 */ 123 psMetadataItem *psMetadataItemAllocV(const char *name, ///< Name of metadata item.121 * @return psMetadataItem* : Pointer metadata item. 122 */ 123 psMetadataItem* psMetadataItemAllocV(const char *name, ///< Name of metadata item. 124 124 psMetadataType type, ///< Type of metadata item. 125 125 const char *comment, ///< Comment for metadata item. … … 132 132 * Returns an empty metadata container with fully allocated internal metadata containers. 133 133 * 134 * @return psMetadata* : Pointer metadata.135 */ 136 psMetadata *psMetadataAlloc(void ///< Void.134 * @return psMetadata* : Pointer metadata. 135 */ 136 psMetadata* psMetadataAlloc(void ///< Void. 137 137 ); 138 138 … … 143 143 * @return bool: True for success, false for failure. 144 144 */ 145 bool psMetadataAddItem(psMetadata * restrict md, ///< Metadata collection to insert metadat item.145 bool psMetadataAddItem(psMetadata* restrict md, ///< Metadata collection to insert metadat item. 146 146 int where, ///< Location to be added. 147 psMetadataItem * restrict item ///< Metadata item to be added.147 psMetadataItem* restrict item ///< Metadata item to be added. 148 148 ); 149 149 … … 154 154 * @return bool: True for success, false for failure. 155 155 */ 156 bool psMetadataAdd(psMetadata * restrict md, ///< Metadata collection to insert metadat item.156 bool psMetadataAdd(psMetadata* restrict md, ///< Metadata collection to insert metadat item. 157 157 int where, ///< Location to be added. 158 158 const char *name, ///< Name of metadata item. … … 171 171 * @return bool: True for success, false for failure. 172 172 */ 173 bool psMetadataRemove(psMetadata * restrict md, ///< Metadata collection to insert metadat item.173 bool psMetadataRemove(psMetadata* restrict md, ///< Metadata collection to insert metadat item. 174 174 int where, ///< Location to be removed. 175 175 const char *restrict key ///< Name of metadata key. … … 181 181 * returned. If the item is not found, null is returned. 182 182 * 183 * @return psMetadataItem* : Pointer metadata item.184 */ 185 psMetadataItem *psMetadataLookup(psMetadata* restrict md, ///< Metadata collection to insert metadat183 * @return psMetadataItem* : Pointer metadata item. 184 */ 185 psMetadataItem* psMetadataLookup(psMetadata* restrict md, ///< Metadata collection to insert metadat 186 186 // item. 187 187 const char *restrict key ///< Name of metadata key. … … 192 192 * Items may be found in the metadata by their entry position in the list container. 193 193 * 194 * @return psMetadataItem* : Pointer metadata item.195 */ 196 psMetadataItem *psMetadataGet(psMetadata* restrict md, ///< Metadata collection to insert metadat item.194 * @return psMetadataItem* : Pointer metadata item. 195 */ 196 psMetadataItem* psMetadataGet(psMetadata* restrict md, ///< Metadata collection to insert metadat item. 197 197 int where ///< Location to be retrieved. 198 198 ); … … 204 204 * @return void: void. 205 205 */ 206 bool psMetadataSetIterator(psMetadata * restrict md, ///< Metadata collection to iterate.206 bool psMetadataSetIterator(psMetadata* restrict md, ///< Metadata collection to iterate. 207 207 int where ///< Location of iterator. 208 208 ); … … 212 212 * Get next metadata item in iterator list. 213 213 * 214 * @return psMetadataItem* : Pointer metadata item.215 */ 216 psMetadataItem *psMetadataGetNext(psMetadata* restrict md, ///< Metadata collection to iterate.214 * @return psMetadataItem* : Pointer metadata item. 215 */ 216 psMetadataItem* psMetadataGetNext(psMetadata* restrict md, ///< Metadata collection to iterate. 217 217 const char *restrict match, ///< Beginning of key name. 218 218 int which ///< Iterator to be used. … … 223 223 * Get previous metadata item in iterator list. 224 224 * 225 * @return psMetadataItem* : Pointer metadata item.226 */ 227 psMetadataItem *psMetadataGetPrevious(psMetadata* restrict md, ///< Metadata collection to iterate.225 * @return psMetadataItem* : Pointer metadata item. 226 */ 227 psMetadataItem* psMetadataGetPrevious(psMetadata* restrict md, ///< Metadata collection to iterate. 228 228 const char *restrict match, ///< Beginning of key name. 229 229 int which ///< Iterator to be used. … … 238 238 * metadata type is any other data type, printing is not allowed. 239 239 * 240 * @return psMetadataItem* : Pointer metadata item.240 * @return psMetadataItem* : Pointer metadata item. 241 241 */ 242 242 void psMetadataItemPrint(FILE * fd, ///< Pointer to file to write metadata item. 243 243 const char *format, ///< Format to print metadata item. 244 const psMetadataItem * restrict metadataItem ///< Metadata item to print.244 const psMetadataItem* restrict metadataItem ///< Metadata item to print. 245 245 ); 246 246 … … 250 250 * unimplemented. 251 251 * 252 * @return psMetadata* : Pointer metadata.253 */ 254 psMetadata *psMetadataReadHeader(psMetadata* output, ///< Resulting metadata from read.252 * @return psMetadata* : Pointer metadata. 253 */ 254 psMetadata* psMetadataReadHeader(psMetadata* output, ///< Resulting metadata from read. 255 255 char *extname, ///< File name extension string. 256 256 int extnum, ///< File name extension number. Starts at 1. … … 262 262 * Read a metadata header from file. If the file is not found, an error is reported. 263 263 * 264 * @return psMetadata* : Pointer metadata.265 */ 266 psMetadata *psMetadataFReadHeader(psMetadata* output, ///< Resulting metadata from read.264 * @return psMetadata* : Pointer metadata. 265 */ 266 psMetadata* psMetadataFReadHeader(psMetadata* output, ///< Resulting metadata from read. 267 267 char *extName, ///< File name extension string. 268 268 int extNum, ///< File name extension number. -
trunk/psLib/src/collections/psScalar.c
r1407 r1440 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1. 6$ $Name: not supported by cvs2svn $12 * @date $Date: 2004-08-0 7 00:06:06$11 * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-08-09 23:34:57 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 71 71 72 72 /*****************************************************************************/ 73 psScalar *psScalarAlloc(psC64 value, psElemType dataType)73 psScalar* psScalarAlloc(psC64 value, psElemType dataType) 74 74 { 75 psScalar *scalar = NULL;75 psScalar* scalar = NULL; 76 76 77 77 // Create scalar 78 scalar = (psScalar *) psAlloc(sizeof(psScalar));78 scalar = (psScalar* ) psAlloc(sizeof(psScalar)); 79 79 if (scalar == NULL) { 80 80 psAbort(__func__, " : Line %d - Failed to allocate memory", __LINE__); … … 128 128 } 129 129 130 void psScalarFree(psScalar * restrict scalar)130 void psScalarFree(psScalar* restrict scalar) 131 131 { 132 132 if (scalar == NULL) { -
trunk/psLib/src/collections/psScalar.h
r1426 r1440 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1. 5$ $Name: not supported by cvs2svn $14 * @date $Date: 2004-08-09 2 2:44:25$13 * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2004-08-09 23:34:57 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 62 62 * Accepts a complex 64 bit float for input value, as max size, but resizes according to 63 63 * correct type. 64 * @return psScalar* : Pointer to psScalar.64 * @return psScalar* : Pointer to psScalar. 65 65 * 66 66 */ 67 psScalar *psScalarAlloc(psC64 value, ///< Data to be put into psScalar.67 psScalar* psScalarAlloc(psC64 value, ///< Data to be put into psScalar. 68 68 psElemType dataType ///< Type of data to be held by psScalar. 69 69 ); … … 76 76 * 77 77 */ 78 void psScalarFree(psScalar * restrict scalar ///< Scalar to free.78 void psScalarFree(psScalar* restrict scalar ///< Scalar to free. 79 79 ); 80 80 -
trunk/psLib/src/collections/psVector.c
r1407 r1440 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.2 1$ $Name: not supported by cvs2svn $12 * @date $Date: 2004-08-0 7 00:06:06$11 * @version $Revision: 1.22 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-08-09 23:34:57 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 67 67 68 68 /*****************************************************************************/ 69 static void vectorFree(psVector * restrict psVec);69 static void vectorFree(psVector* restrict psVec); 70 70 71 71 /*****************************************************************************/ … … 74 74 75 75 /*****************************************************************************/ 76 psVector *psVectorAlloc(unsigned int nalloc, psElemType elemType)77 { 78 psVector *psVec = NULL;76 psVector* psVectorAlloc(unsigned int nalloc, psElemType elemType) 77 { 78 psVector* psVec = NULL; 79 79 int elementSize = 0; 80 80 … … 88 88 89 89 // Create vector struct 90 psVec = (psVector *) psAlloc(sizeof(psVector));90 psVec = (psVector* ) psAlloc(sizeof(psVector)); 91 91 p_psMemSetDeallocator(psVec, (psFreeFcn) vectorFree); 92 92 … … 102 102 } 103 103 104 psVector *psVectorRealloc(unsigned int nalloc, psVector* restrict in)104 psVector* psVectorRealloc(unsigned int nalloc, psVector* restrict in) 105 105 { 106 106 int elementSize = 0; … … 130 130 } 131 131 132 psVector *psVectorRecycle(psVector* restrict in, unsigned int nalloc, psElemType type)132 psVector* psVectorRecycle(psVector* restrict in, unsigned int nalloc, psElemType type) 133 133 { 134 134 psElemType elemType; … … 160 160 } 161 161 162 psVector *psVectorSort(psVector * restrict outVector, const psVector* restrict inVector)162 psVector* psVectorSort(psVector* restrict outVector, const psVector* restrict inVector) 163 163 { 164 164 int inN = 0; … … 261 261 } 262 262 263 psVector *psVectorSortIndex(psVector * restrict outVector, const psVector* restrict inVector)263 psVector* psVectorSortIndex(psVector* restrict outVector, const psVector* restrict inVector) 264 264 { 265 265 int inN = 0; … … 270 270 int *outVec = NULL; 271 271 double diff = 0.0f; 272 psVector *tmpVector = NULL;272 psVector* tmpVector = NULL; 273 273 psElemType inType = 0; 274 274 … … 348 348 } 349 349 350 static void vectorFree(psVector * restrict psVec)350 static void vectorFree(psVector* restrict psVec) 351 351 { 352 352 if (psVec == NULL) { -
trunk/psLib/src/collections/psVector.h
r1426 r1440 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.1 7$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-08-09 2 2:44:25$14 * @version $Revision: 1.18 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-08-09 23:34:57 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 38 38 39 39 union { 40 psU8 *U8; ///< Unsigned 8-bit integer data.41 psU16 *U16; ///< Unsigned 16-bit integer data.42 psU32 *U32; ///< Unsigned 32-bit integer data.43 psU64 *U64; ///< Unsigned 64-bit integer data.44 psS8 *S8; ///< Signed 8-bit integer data.45 psS16 *S16; ///< Signed 16-bit integer data.46 psS32 *S32; ///< Signed 32-bit integer data.47 psS64 *S64; ///< Signed 64-bit integer data.48 psF32 *F32; ///< Single-precision float data.49 psF64 *F64; ///< Double-precision float data.50 psC32 *C32; ///< Single-precision complex data.51 psC64 *C64; ///< Double-precision complex data.40 psU8* U8; ///< Unsigned 8-bit integer data. 41 psU16* U16; ///< Unsigned 16-bit integer data. 42 psU32* U32; ///< Unsigned 32-bit integer data. 43 psU64* U64; ///< Unsigned 64-bit integer data. 44 psS8* S8; ///< Signed 8-bit integer data. 45 psS16* S16; ///< Signed 16-bit integer data. 46 psS32* S32; ///< Signed 32-bit integer data. 47 psS64* S64; ///< Signed 64-bit integer data. 48 psF32* F32; ///< Single-precision float data. 49 psF64* F64; ///< Double-precision float data. 50 psC32* C32; ///< Single-precision complex data. 51 psC64* C64; ///< Double-precision complex data. 52 52 psPTR V; ///< Pointer to data. 53 53 } data; ///< Union for data types. … … 65 65 * Uses psLib memory allocation functions to create a vector collection of data as defined by the psType type. 66 66 * 67 * @return psVector* : Pointer to psVector.67 * @return psVector* : Pointer to psVector. 68 68 * 69 69 */ 70 psVector *psVectorAlloc(unsigned int nalloc, ///< Total number of elements to make available.70 psVector* psVectorAlloc(unsigned int nalloc, ///< Total number of elements to make available. 71 71 psElemType dataType ///< Type of data to be held by vector. 72 72 ); … … 77 77 * according to the psType type member contained within the vector. 78 78 * 79 * @return psVector* : Pointer to psVector.79 * @return psVector* : Pointer to psVector. 80 80 * 81 81 */ 82 psVector *psVectorRealloc(unsigned int nalloc, ///< Total number of elements to make available.83 psVector * restrict psVec ///< Vector to reallocate.82 psVector* psVectorRealloc(unsigned int nalloc, ///< Total number of elements to make available. 83 psVector* restrict psVec ///< Vector to reallocate. 84 84 ); 85 85 … … 89 89 * according to the psElemType type parameter. 90 90 * 91 * @return psVector* : Pointer to psVector.91 * @return psVector* : Pointer to psVector. 92 92 * 93 93 */ 94 psVector *psVectorRecycle(psVector* restrict psVec,94 psVector* psVectorRecycle(psVector* restrict psVec, 95 95 ///< Vector to recycle. If NULL, a new vector is created. No effort taken to 96 96 // preserve the values. … … 104 104 * all non-complex data types. 105 105 * 106 * @return psFloatArray* : Pointer to sorted psFloatArray.106 * @return psFloatArray* : Pointer to sorted psFloatArray. 107 107 */ 108 108 109 psVector *psVectorSort(psVector* restrict outVector, ///< the output vector to recycle, or NULL if new109 psVector* psVectorSort(psVector* restrict outVector, ///< the output vector to recycle, or NULL if new 110 110 // vector desired. 111 const psVector * restrict inVector ///< the vector to sort.111 const psVector* restrict inVector ///< the vector to sort. 112 112 ); 113 113 … … 117 117 * sorted float values based on pre-sort index positions. 118 118 * 119 * @return psIntArray* : Pointer to psIntArray of sorted indices.119 * @return psIntArray* : Pointer to psIntArray of sorted indices. 120 120 */ 121 121 122 psVector *psVectorSortIndex(psVector * restrict outVector, const psVector* restrict inVector);122 psVector* psVectorSortIndex(psVector* restrict outVector, const psVector* restrict inVector); 123 123 124 124 /// @}
Note:
See TracChangeset
for help on using the changeset viewer.
