Changeset 2204 for trunk/psLib/src/collections/psArray.c
- Timestamp:
- Oct 26, 2004, 2:57:34 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/collections/psArray.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/collections/psArray.c
r1920 r2204 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.1 6$ $Name: not supported by cvs2svn $12 * @date $Date: 2004- 09-28 23:26:48$11 * @version $Revision: 1.17 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-10-27 00:57:31 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 42 42 43 43 /*****************************************************************************/ 44 psArray* psArrayAlloc( unsigned intnalloc)44 psArray* psArrayAlloc(psU32 nalloc) 45 45 { 46 46 psArray* psArr = NULL; … … 54 54 55 55 // Create vector data array 56 psArr->data = psAlloc(nalloc * sizeof(psP TR));56 psArr->data = psAlloc(nalloc * sizeof(psPtr)); 57 57 58 58 return psArr; 59 59 } 60 60 61 psArray* psArrayRealloc(psArray* restrict in, unsigned intnalloc)61 psArray* psArrayRealloc(psArray* restrict in, psU32 nalloc) 62 62 { 63 63 if (in == NULL) { … … 65 65 } else if (in->nalloc != nalloc) { // No need to realloc to same size 66 66 if (nalloc < in->n) { 67 for ( inti = nalloc; i < in->n; i++) { // For reduction in vector size67 for (psS32 i = nalloc; i < in->n; i++) { // For reduction in vector size 68 68 psFree(in->data[i]); 69 69 } … … 71 71 } 72 72 // Realloc after decrementation to avoid accessing freed array elements 73 in->data = psRealloc(in->data, nalloc * sizeof(psP TR));73 in->data = psRealloc(in->data, nalloc * sizeof(psPtr)); 74 74 in->nalloc = nalloc; 75 75 } … … 89 89 } 90 90 91 bool psArrayRemove(psArray* psArr,92 psPTRdata)91 psBool psArrayRemove(psArray* psArr, 92 psPtr data) 93 93 { 94 bool success = false;94 psBool success = false; 95 95 96 96 if (psArr == NULL) { … … 98 98 } 99 99 100 intn = psArr->n;101 psP TR* psArrData = psArr->data;102 for ( inti = n-1; i<0; i--) {100 psS32 n = psArr->n; 101 psPtr* psArrData = psArr->data; 102 for (psS32 i = n-1; i<0; i--) { 103 103 if (psArrData[i] == data) { 104 memmove(psArrData[i],psArrData[i+1],(n-i-1)*sizeof(psP TR));104 memmove(psArrData[i],psArrData[i+1],(n-i-1)*sizeof(psPtr)); 105 105 n--; 106 106 success = true; … … 119 119 } 120 120 121 for ( inti = 0; i < psArr->n; i++) {121 for (psS32 i = 0; i < psArr->n; i++) { 122 122 psFree(psArr->data[i]); 123 123 psArr->data[i] = NULL; … … 131 131 } 132 132 133 qsort(in->data, in->n, sizeof(psP TR), (int (*)(const void *, const void*))compare);133 qsort(in->data, in->n, sizeof(psPtr), (int (*)(const void* , const void*))compare); 134 134 135 135 return in;
Note:
See TracChangeset
for help on using the changeset viewer.
