Changeset 495
- Timestamp:
- Apr 21, 2004, 11:05:39 AM (22 years ago)
- Location:
- trunk/psLib/src
- Files:
-
- 4 edited
-
collections/psArray.c (modified) (3 diffs)
-
collections/psArray.h (modified) (4 diffs)
-
types/psArray.c (modified) (3 diffs)
-
types/psArray.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/collections/psArray.c
r493 r495 8 8 * @author Ross Harman, MHPCC 9 9 * 10 * @version $Revision: 1. 4$ $Name: not supported by cvs2svn $11 * @date $Date: 2004-04-21 18:53:10$10 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2004-04-21 21:05:39 $ 12 12 * 13 13 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 48 48 /*****************************************************************************/ 49 49 50 // None 50 static psVoidPtrArray *p_psVoidPtrArrayRealloc(psVoidPtrArray *restrict psArr, int nalloc) 51 { 52 if(psArr == NULL) { 53 return psVoidPtrArrayAlloc(nalloc); 54 } 55 if(nalloc <= psArr->nalloc) { 56 if (psArr->n < nalloc) { 57 psArr->n = nalloc; 58 } 59 } else { 60 psArr->arr = p_psRealloc(psArr->arr, nalloc*sizeof(void*), __FILE__, __LINE__); 61 psArr->nalloc = nalloc; 62 } 63 return psArr; 64 } 65 66 static void p_psVoidPtrArrayFree(psVoidPtrArray *restrict psArr) 67 { 68 if (psArr == NULL) { 69 return; 70 } 71 p_psFree(psArr->arr, __FILE__, __LINE__); 72 p_psFree(psArr, __FILE__, __LINE__); 73 } 51 74 52 75 /*****************************************************************************/ … … 239 262 } 240 263 241 psVoidPtrArray *psVoidPtrArrayRealloc(psVoidPtrArray *psArr, int nalloc) 242 { 243 if(psArr == NULL) { 244 return psVoidPtrArrayAlloc(nalloc); 245 } 246 if(nalloc <= psArr->nalloc) { 247 if (psArr->n < nalloc) { 248 psArr->n = nalloc; 249 } 250 } else { 251 psArr->arr = p_psRealloc(psArr->arr, nalloc*sizeof(void*), __FILE__, __LINE__); 252 psArr->nalloc = nalloc; 253 } 254 return psArr; 264 psVoidPtrArray *psVoidPtrArrayRealloc(psVoidPtrArray *restrict psArr, int nalloc, void (*elemFree)(void *)) 265 { 266 int i = 0; 267 268 if(psArr == NULL) { 269 return psArr; 270 } 271 272 for (i = nalloc; i < psArr->n; i++) { 273 if(elemFree == NULL) { 274 psMemDecrRefCounter(psArr->arr[i]); 275 } else { 276 elemFree(psMemDecrRefCounter(psArr->arr[i])); 277 } 278 } 279 280 return p_psVoidPtrArrayRealloc(psArr, nalloc); 255 281 } 256 282 257 283 void psVoidPtrArrayFree(psVoidPtrArray *restrict psArr, void (*elemFree)(void *)) 258 284 { 259 if (psArr == NULL) { 260 return; 261 } 262 p_psFree(psArr->arr, __FILE__, __LINE__); 263 p_psFree(psArr, __FILE__, __LINE__); 264 } 285 int i = 0; 286 287 if(psArr == NULL) { 288 return; 289 } 290 291 for(i = 0; i < psArr->nalloc; i++) { 292 if(elemFree == NULL) { 293 psMemDecrRefCounter(psArr->arr[i]); 294 } else { 295 elemFree(psMemDecrRefCounter(psArr->arr[i])); 296 } 297 } 298 p_psVoidPtrArrayFree(psArr); 299 } 300 -
trunk/psLib/src/collections/psArray.h
r493 r495 8 8 * @author Ross Harman, MHPCC 9 9 * 10 * @version $Revision: 1. 4$ $Name: not supported by cvs2svn $11 * @date $Date: 2004-04-21 18:53:10$10 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2004-04-21 21:05:39 $ 12 12 * 13 13 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 198 198 */ 199 199 psFloatArray *psFloatArrayRealloc( 200 psFloatArray *psArr, ///< Array to reallocate.200 psFloatArray *psArr, ///< Array to reallocate. 201 201 int nalloc ///< Total number of elements to make available. 202 202 ); … … 229 229 */ 230 230 psDoubleArray *psDoubleArrayRealloc( 231 psDoubleArray *psArr, ///< Array to reallocate.231 psDoubleArray *psArr, ///< Array to reallocate. 232 232 int nalloc ///< Total number of elements to make available. 233 233 ); … … 290 290 */ 291 291 psVoidPtrArray *psVoidPtrArrayRealloc( 292 psVoidPtrArray *psArr, ///< Array to reallocate. 293 int nalloc ///< Number of elements. 292 psVoidPtrArray *restrict psArr, ///< Array to reallocate. 293 int nalloc, ///< Number of elements. 294 void (*elemFree)(void *) ///< Callback function responsible for removing array data. 294 295 ); 295 296 -
trunk/psLib/src/types/psArray.c
r493 r495 8 8 * @author Ross Harman, MHPCC 9 9 * 10 * @version $Revision: 1. 4$ $Name: not supported by cvs2svn $11 * @date $Date: 2004-04-21 18:53:10$10 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2004-04-21 21:05:39 $ 12 12 * 13 13 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 48 48 /*****************************************************************************/ 49 49 50 // None 50 static psVoidPtrArray *p_psVoidPtrArrayRealloc(psVoidPtrArray *restrict psArr, int nalloc) 51 { 52 if(psArr == NULL) { 53 return psVoidPtrArrayAlloc(nalloc); 54 } 55 if(nalloc <= psArr->nalloc) { 56 if (psArr->n < nalloc) { 57 psArr->n = nalloc; 58 } 59 } else { 60 psArr->arr = p_psRealloc(psArr->arr, nalloc*sizeof(void*), __FILE__, __LINE__); 61 psArr->nalloc = nalloc; 62 } 63 return psArr; 64 } 65 66 static void p_psVoidPtrArrayFree(psVoidPtrArray *restrict psArr) 67 { 68 if (psArr == NULL) { 69 return; 70 } 71 p_psFree(psArr->arr, __FILE__, __LINE__); 72 p_psFree(psArr, __FILE__, __LINE__); 73 } 51 74 52 75 /*****************************************************************************/ … … 239 262 } 240 263 241 psVoidPtrArray *psVoidPtrArrayRealloc(psVoidPtrArray *psArr, int nalloc) 242 { 243 if(psArr == NULL) { 244 return psVoidPtrArrayAlloc(nalloc); 245 } 246 if(nalloc <= psArr->nalloc) { 247 if (psArr->n < nalloc) { 248 psArr->n = nalloc; 249 } 250 } else { 251 psArr->arr = p_psRealloc(psArr->arr, nalloc*sizeof(void*), __FILE__, __LINE__); 252 psArr->nalloc = nalloc; 253 } 254 return psArr; 264 psVoidPtrArray *psVoidPtrArrayRealloc(psVoidPtrArray *restrict psArr, int nalloc, void (*elemFree)(void *)) 265 { 266 int i = 0; 267 268 if(psArr == NULL) { 269 return psArr; 270 } 271 272 for (i = nalloc; i < psArr->n; i++) { 273 if(elemFree == NULL) { 274 psMemDecrRefCounter(psArr->arr[i]); 275 } else { 276 elemFree(psMemDecrRefCounter(psArr->arr[i])); 277 } 278 } 279 280 return p_psVoidPtrArrayRealloc(psArr, nalloc); 255 281 } 256 282 257 283 void psVoidPtrArrayFree(psVoidPtrArray *restrict psArr, void (*elemFree)(void *)) 258 284 { 259 if (psArr == NULL) { 260 return; 261 } 262 p_psFree(psArr->arr, __FILE__, __LINE__); 263 p_psFree(psArr, __FILE__, __LINE__); 264 } 285 int i = 0; 286 287 if(psArr == NULL) { 288 return; 289 } 290 291 for(i = 0; i < psArr->nalloc; i++) { 292 if(elemFree == NULL) { 293 psMemDecrRefCounter(psArr->arr[i]); 294 } else { 295 elemFree(psMemDecrRefCounter(psArr->arr[i])); 296 } 297 } 298 p_psVoidPtrArrayFree(psArr); 299 } 300 -
trunk/psLib/src/types/psArray.h
r493 r495 8 8 * @author Ross Harman, MHPCC 9 9 * 10 * @version $Revision: 1. 4$ $Name: not supported by cvs2svn $11 * @date $Date: 2004-04-21 18:53:10$10 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2004-04-21 21:05:39 $ 12 12 * 13 13 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 198 198 */ 199 199 psFloatArray *psFloatArrayRealloc( 200 psFloatArray *psArr, ///< Array to reallocate.200 psFloatArray *psArr, ///< Array to reallocate. 201 201 int nalloc ///< Total number of elements to make available. 202 202 ); … … 229 229 */ 230 230 psDoubleArray *psDoubleArrayRealloc( 231 psDoubleArray *psArr, ///< Array to reallocate.231 psDoubleArray *psArr, ///< Array to reallocate. 232 232 int nalloc ///< Total number of elements to make available. 233 233 ); … … 290 290 */ 291 291 psVoidPtrArray *psVoidPtrArrayRealloc( 292 psVoidPtrArray *psArr, ///< Array to reallocate. 293 int nalloc ///< Number of elements. 292 psVoidPtrArray *restrict psArr, ///< Array to reallocate. 293 int nalloc, ///< Number of elements. 294 void (*elemFree)(void *) ///< Callback function responsible for removing array data. 294 295 ); 295 296
Note:
See TracChangeset
for help on using the changeset viewer.
