Changeset 3476 for trunk/psLib/src/collections/psVector.c
- Timestamp:
- Mar 22, 2005, 11:52:49 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/collections/psVector.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/collections/psVector.c
r3407 r3476 9 9 * @author Robert DeSonia, MHPCC 10 10 * 11 * @version $Revision: 1.3 5$ $Name: not supported by cvs2svn $12 * @date $Date: 2005-03- 11 20:38:56$11 * @version $Revision: 1.36 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2005-03-22 21:52:49 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 37 37 } 38 38 39 psFree(psVec->data. V);39 psFree(psVec->data.U8); 40 40 } 41 41 … … 59 59 60 60 // Create vector data array 61 psVec->data. V= psAlloc(nalloc * elementSize);61 psVec->data.U8 = psAlloc(nalloc * elementSize); 62 62 63 63 return psVec; … … 80 80 } 81 81 // Realloc after decrementation to avoid accessing freed array elements 82 in->data. V = psRealloc(in->data.V, nalloc * elementSize);82 in->data.U8 = psRealloc(in->data.U8, nalloc * elementSize); 83 83 in->nalloc = nalloc; 84 84 } … … 107 107 // need to increase data buffer? 108 108 if (byteSize > in->nalloc*PSELEMTYPE_SIZEOF(in->type.type)) { 109 in->data. V = psRealloc(in->data.V, byteSize);109 in->data.U8 = psRealloc(in->data.U8, byteSize); 110 110 in->nalloc = n; 111 111 } … … 235 235 inType = inVector->type.type; 236 236 N = inVector->n; 237 inVec = inVector->data.V;237 inVec = (psPtr)inVector->data.U8; 238 238 elSize = PSELEMTYPE_SIZEOF(inType); 239 239 … … 249 249 } 250 250 outVector->n = N; 251 outVec = outVector->data. V;251 outVec = outVector->data.U8; 252 252 253 253 if (N == 0) { … … 496 496 } 497 497 498 psF64 p_psVectorGetElementF64(psVector* vector, 499 int position) 500 { 501 if (vector == NULL) { 502 return NAN; 503 } 504 if (position < 0 || position >= vector->n) { 505 return NAN; 506 } 507 508 switch (vector->type.type) { 509 case PS_TYPE_U8: 510 return vector->data.U8[position]; 511 break; 512 case PS_TYPE_U16: 513 return vector->data.U16[position]; 514 break; 515 case PS_TYPE_U32: 516 return vector->data.U32[position]; 517 break; 518 case PS_TYPE_U64: 519 return vector->data.U64[position]; 520 break; 521 case PS_TYPE_S8: 522 return vector->data.S8[position]; 523 break; 524 case PS_TYPE_S16: 525 return vector->data.S16[position]; 526 break; 527 case PS_TYPE_S32: 528 return vector->data.S32[position]; 529 break; 530 case PS_TYPE_S64: 531 return vector->data.S64[position]; 532 break; 533 case PS_TYPE_F32: 534 return vector->data.F32[position]; 535 break; 536 case PS_TYPE_F64: 537 return vector->data.F64[position]; 538 default: 539 return NAN; 540 } 541 }
Note:
See TracChangeset
for help on using the changeset viewer.
