Changeset 493 for trunk/psLib/src/collections/psArray.c
- Timestamp:
- Apr 21, 2004, 8:53:10 AM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/collections/psArray.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/collections/psArray.c
r486 r493 8 8 * @author Ross Harman, MHPCC 9 9 * 10 * @version $Revision: 1. 3$ $Name: not supported by cvs2svn $11 * @date $Date: 2004-04-21 00:40:32$10 * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2004-04-21 18:53:10 $ 12 12 * 13 13 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 179 179 p_psFree(psArr, __FILE__, __LINE__); 180 180 } 181 182 psComplexArray* psComplexArrayAlloc(int nalloc) 183 { 184 psComplexArray *psArr = (psComplexArray*)p_psAlloc(sizeof(psComplexArray), __FILE__, __LINE__); 185 psArr->type.dimen = PS_DIMEN_VECTOR; 186 psArr->type.type = PS_TYPE_COMPLEX; 187 psArr->nalloc = nalloc; 188 psArr->n = 0; 189 190 if(nalloc == 0) { 191 psArr->arr = NULL; 192 } else { 193 psArr->arr = p_psAlloc(nalloc*sizeof(complex float), __FILE__, __LINE__); 194 } 195 196 return psArr; 197 } 198 199 psComplexArray *psComplexArrayRealloc(psComplexArray *psArr, int nalloc) 200 { 201 if(psArr == NULL) { 202 return psComplexArrayAlloc(nalloc); 203 } 204 if(nalloc <= psArr->nalloc) { 205 if (psArr->n < nalloc) { 206 psArr->n = nalloc; 207 } 208 } else { 209 psArr->arr = p_psRealloc(psArr->arr, nalloc*sizeof(complex float), __FILE__, __LINE__); 210 psArr->nalloc = nalloc; 211 } 212 return psArr; 213 } 214 215 void psComplexArrayFree(psComplexArray *restrict psArr) 216 { 217 if (psArr == NULL) { 218 return; 219 } 220 p_psFree(psArr->arr, __FILE__, __LINE__); 221 p_psFree(psArr, __FILE__, __LINE__); 222 } 223 224 psVoidPtrArray* psVoidPtrArrayAlloc(int nalloc) 225 { 226 psVoidPtrArray *psArr = (psVoidPtrArray*)p_psAlloc(sizeof(psVoidPtrArray), __FILE__, __LINE__); 227 psArr->type.dimen = PS_DIMEN_VECTOR; 228 psArr->type.type = PS_TYPE_OTHER; 229 psArr->nalloc = nalloc; 230 psArr->n = 0; 231 232 if(nalloc == 0) { 233 psArr->arr = NULL; 234 } else { 235 psArr->arr = p_psAlloc(nalloc*sizeof(void*), __FILE__, __LINE__); 236 } 237 238 return psArr; 239 } 240 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; 255 } 256 257 void psVoidPtrArrayFree(psVoidPtrArray *restrict psArr, void (*elemFree)(void *)) 258 { 259 if (psArr == NULL) { 260 return; 261 } 262 p_psFree(psArr->arr, __FILE__, __LINE__); 263 p_psFree(psArr, __FILE__, __LINE__); 264 }
Note:
See TracChangeset
for help on using the changeset viewer.
