IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 20, 2004, 2:40:32 PM (22 years ago)
Author:
harman
Message:

Added double array

File:
1 edited

Legend:

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

    r485 r486  
    88 *  @author Ross Harman, MHPCC
    99 *   
    10  *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
    11  *  @date $Date: 2004-04-21 00:18:05 $
     10 *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
     11 *  @date $Date: 2004-04-21 00:40:32 $
    1212 *
    1313 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    1919#include "psMemory.h"
    2020#include "psArray.h"
    21 #include "psLogMsg.h"
    2221
    2322/******************************************************************************/
     
    5453/* FUNCTION IMPLEMENTATION - PUBLIC                                          */
    5554/*****************************************************************************/
     55
     56psIntArray* psIntArrayAlloc(int nalloc)
     57{
     58    psIntArray *psArr = (psIntArray*)p_psAlloc(sizeof(psIntArray), __FILE__, __LINE__);
     59    psArr->type.dimen = PS_DIMEN_VECTOR;
     60    psArr->type.type = PS_TYPE_INT;
     61    psArr->nalloc = nalloc;
     62    psArr->n = 0;
     63
     64    if(nalloc == 0) {
     65        psArr->arr = NULL;
     66    } else {
     67        psArr->arr = p_psAlloc(nalloc*sizeof(int), __FILE__, __LINE__);
     68    }
     69
     70    return psArr;
     71}
     72
     73psIntArray *psIntArrayRealloc(psIntArray *psArr, int nalloc)
     74{
     75    if(psArr == NULL) {
     76        return psIntArrayAlloc(nalloc);
     77    }
     78    if(nalloc <= psArr->nalloc) {
     79        if (psArr->n < nalloc) {
     80            psArr->n = nalloc;
     81        }
     82    } else {
     83        psArr->arr = p_psRealloc(psArr->arr, nalloc*sizeof(int), __FILE__, __LINE__);
     84        psArr->nalloc = nalloc;
     85    }
     86    return psArr;
     87}
     88
     89void psIntArrayFree(psIntArray *restrict psArr)
     90{
     91    if (psArr == NULL) {
     92        return;
     93    }
     94    p_psFree(psArr->arr, __FILE__, __LINE__);
     95    p_psFree(psArr, __FILE__, __LINE__);
     96}
    5697
    5798psFloatArray* psFloatArrayAlloc(int nalloc)
     
    97138}
    98139
    99 psIntArray* psIntArrayAlloc(int nalloc)
     140psDoubleArray* psDoubleArrayAlloc(int nalloc)
    100141{
    101     psIntArray *psArr = (psIntArray*)p_psAlloc(sizeof(psIntArray), __FILE__, __LINE__);
     142    psDoubleArray *psArr = (psDoubleArray*)p_psAlloc(sizeof(psDoubleArray), __FILE__, __LINE__);
    102143    psArr->type.dimen = PS_DIMEN_VECTOR;
    103     psArr->type.type = PS_TYPE_INT;
     144    psArr->type.type = PS_TYPE_DOUBLE;
    104145    psArr->nalloc = nalloc;
    105146    psArr->n = 0;
     
    108149        psArr->arr = NULL;
    109150    } else {
    110         psArr->arr = p_psAlloc(nalloc*sizeof(int), __FILE__, __LINE__);
     151        psArr->arr = p_psAlloc(nalloc*sizeof(double), __FILE__, __LINE__);
    111152    }
    112153
     
    114155}
    115156
    116 psIntArray *psIntArrayRealloc(psIntArray *psArr, int nalloc)
     157psDoubleArray *psDoubleArrayRealloc(psDoubleArray *psArr, int nalloc)
    117158{
    118159    if(psArr == NULL) {
    119         return psIntArrayAlloc(nalloc);
     160        return psDoubleArrayAlloc(nalloc);
    120161    }
    121162    if(nalloc <= psArr->nalloc) {
     
    124165        }
    125166    } else {
    126         psArr->arr = p_psRealloc(psArr->arr, nalloc*sizeof(int), __FILE__, __LINE__);
     167        psArr->arr = p_psRealloc(psArr->arr, nalloc*sizeof(double), __FILE__, __LINE__);
    127168        psArr->nalloc = nalloc;
    128169    }
     
    130171}
    131172
    132 void psIntArrayFree(psIntArray *restrict psArr)
     173void psDoubleArrayFree(psDoubleArray *restrict psArr)
    133174{
    134175    if (psArr == NULL) {
Note: See TracChangeset for help on using the changeset viewer.