IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 22, 2005, 11:52:49 AM (21 years ago)
Author:
desonia
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/collections/psVector.c

    r3407 r3476  
    99*  @author Robert DeSonia, MHPCC
    1010*
    11 *  @version $Revision: 1.35 $ $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 $
    1313*
    1414*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3737    }
    3838
    39     psFree(psVec->data.V);
     39    psFree(psVec->data.U8);
    4040}
    4141
     
    5959
    6060    // Create vector data array
    61     psVec->data.V = psAlloc(nalloc * elementSize);
     61    psVec->data.U8 = psAlloc(nalloc * elementSize);
    6262
    6363    return psVec;
     
    8080        }
    8181        // 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);
    8383        in->nalloc = nalloc;
    8484    }
     
    107107    // need to increase data buffer?
    108108    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);
    110110        in->nalloc = n;
    111111    }
     
    235235    inType = inVector->type.type;
    236236    N = inVector->n;
    237     inVec = inVector->data.V;
     237    inVec = (psPtr)inVector->data.U8;
    238238    elSize = PSELEMTYPE_SIZEOF(inType);
    239239
     
    249249    }
    250250    outVector->n = N;
    251     outVec = outVector->data.V;
     251    outVec = outVector->data.U8;
    252252
    253253    if (N == 0) {
     
    496496}
    497497
     498psF64 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.