IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 29, 2005, 3:14:13 PM (21 years ago)
Author:
drobbin
Message:

Implemented psMemCheckType functions and tests. Some testing remains unfinished.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/sys/psMemory.c

    r4877 r4898  
    88*  @author Robert Lupton, Princeton University
    99*
    10 *  @version $Revision: 1.61 $ $Name: not supported by cvs2svn $
    11 *  @date $Date: 2005-08-25 23:42:07 $
     10*  @version $Revision: 1.62 $ $Name: not supported by cvs2svn $
     11*  @date $Date: 2005-08-30 01:14:13 $
    1212*
    1313*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    2424#include "psAbort.h"
    2525#include "psLogMsg.h"
     26
     27#include "psBitSet.h"
     28//#include "psArray.h"
     29//#include "psImage.h"
     30//#include "psList.h"
     31//#include "psLookupTable.h"
     32//#include "psHash.h"
     33
     34//#include "psMetadata.h"
     35#include "psFits.h"
     36#include "psPixels.h"
     37//#include "psScalar.h"
     38//#include "psVector.h"
     39//#include "psFunctions.h"
     40//#include "psTime.h"
     41//#include "psCoord.h"
     42#include "psSphereOps.h"
     43//#include "psStats.h"
     44#include "psMinimize.h"
     45#include "psImageConvolve.h"
     46#include "psTime.h"
    2647
    2748#include "psErrorText.h"
     
    688709}
    689710
     711
     712bool psMemCheckType(psDataType type,
     713                    psPtr ptr)
     714{
     715    switch(type) {
     716    case PS_DATA_ARRAY:
     717        if ( psMemCheckArray(ptr) )
     718            return true;
     719        else {
     720            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     721            break;
     722        }
     723    case PS_DATA_BITSET:
     724        if ( psMemCheckBitSet(ptr) )
     725            return true;
     726        else {
     727            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     728            break;
     729        }
     730        /*    case PS_DATA_CELL:
     731                if ( psMemCheckCell(ptr) )
     732                    return true;
     733                else
     734                {
     735                    psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     736                    break;
     737                }
     738            case PS_DATA_CHIP:
     739                if ( psMemCheckChip(ptr) )
     740                    return true;
     741                else
     742                {
     743                    psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     744                    break;
     745                }
     746        */
     747    case PS_DATA_CUBE:
     748        if ( psMemCheckCube(ptr) )
     749            return true;
     750        else {
     751            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     752            break;
     753        }
     754
     755
     756    case PS_DATA_FITS:
     757        if ( psMemCheckFits(ptr) )
     758            return true;
     759        else {
     760            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     761            break;
     762        }
     763
     764    case PS_DATA_HASH:
     765        if ( psMemCheckHash(ptr) )
     766            return true;
     767        else {
     768            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     769            break;
     770        }
     771    case PS_DATA_HISTOGRAM:
     772        if ( psMemCheckHistogram(ptr) )
     773            return true;
     774        else {
     775            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     776            break;
     777        }
     778    case PS_DATA_IMAGE:
     779        if ( psMemCheckImage(ptr) )
     780            return true;
     781        else {
     782            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     783            break;
     784        }
     785    case PS_DATA_KERNEL:
     786        if ( psMemCheckKernel(ptr) )
     787            return true;
     788        else {
     789            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     790            break;
     791        }
     792    case PS_DATA_LIST:
     793        if ( psMemCheckList(ptr) )
     794            return true;
     795        else {
     796            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     797            break;
     798        }
     799    case PS_DATA_LOOKUPTABLE:
     800        if ( psMemCheckLookupTable(ptr) )
     801            return true;
     802        else {
     803            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     804            break;
     805        }
     806    case PS_DATA_METADATA:
     807        if ( psMemCheckMetadata(ptr) )
     808            return true;
     809        else {
     810            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     811            break;
     812        }
     813    case PS_DATA_METADATAITEM:
     814        if ( psMemCheckMetadataItem(ptr) )
     815            return true;
     816        else {
     817            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     818            break;
     819        }
     820    case PS_DATA_MINIMIZATION:
     821        if ( psMemCheckMinimization(ptr) )
     822            return true;
     823        else {
     824            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     825            break;
     826        }
     827    case PS_DATA_PIXELS:
     828        if ( psMemCheckPixels(ptr) )
     829            return true;
     830        else {
     831            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     832            break;
     833        }
     834    case PS_DATA_PLANE:
     835        if ( psMemCheckPlane(ptr) )
     836            return true;
     837        else {
     838            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     839            break;
     840        }
     841    case PS_DATA_PLANEDISTORT:
     842        if ( psMemCheckPlaneDistort(ptr) )
     843            return true;
     844        else {
     845            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     846            break;
     847        }
     848    case PS_DATA_PLANETRANSFORM:
     849        if ( psMemCheckPlaneTransform(ptr) )
     850            return true;
     851        else {
     852            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     853            break;
     854        }
     855    case PS_DATA_POLYNOMIAL1D:
     856        if ( psMemCheckPolynomial1D(ptr) )
     857            return true;
     858        else {
     859            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     860            break;
     861        }
     862    case PS_DATA_POLYNOMIAL2D:
     863        if ( psMemCheckPolynomial2D(ptr) )
     864            return true;
     865        else {
     866            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     867            break;
     868        }
     869    case PS_DATA_POLYNOMIAL3D:
     870        if ( psMemCheckPolynomial3D(ptr) )
     871            return true;
     872        else {
     873            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     874            break;
     875        }
     876    case PS_DATA_POLYNOMIAL4D:
     877        if ( psMemCheckPolynomial4D(ptr) )
     878            return true;
     879        else {
     880            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     881            break;
     882        }
     883    case PS_DATA_PROJECTION:
     884        if ( psMemCheckProjection(ptr) )
     885            return true;
     886        else {
     887            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     888            break;
     889        }
     890
     891        /*    case PS_DATA_READOUT:
     892                if ( psMemCheckReadout(ptr) )
     893                    return true;
     894                else
     895                {
     896                    psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     897                    break;
     898                }
     899         
     900        *//*    case PS_DATA_REGION:
     901                if ( psMemCheckRegion(ptr) )
     902                    return true;
     903                else
     904                {
     905                    psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     906                    break;
     907                }
     908        */
     909    case PS_DATA_SCALAR:
     910        if ( psMemCheckScalar(ptr) )
     911            return true;
     912        else {
     913            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     914            break;
     915        }
     916    case PS_DATA_SPHERE:
     917        if ( psMemCheckSphere(ptr) )
     918            return true;
     919        else {
     920            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     921            break;
     922        }
     923    case PS_DATA_SPHEREROT:
     924        if ( psMemCheckSphereRot(ptr) )
     925            return true;
     926        else {
     927            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     928            break;
     929        }
     930    case PS_DATA_SPLINE1D:
     931        if ( psMemCheckSpline1D(ptr) )
     932            return true;
     933        else {
     934            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     935            break;
     936        }
     937    case PS_DATA_STATS:
     938        if ( psMemCheckStats(ptr) )
     939            return true;
     940        else {
     941            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     942            break;
     943        }
     944    case PS_DATA_TIME:
     945        if ( psMemCheckTime(ptr) )
     946            return true;
     947        else {
     948            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     949            break;
     950        }
     951    case PS_DATA_VECTOR:
     952        if ( psMemCheckVector(ptr) )
     953            return true;
     954        else {
     955            psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Incorrect pointer.  Datatypes do not match.\n");
     956            break;
     957        }
     958    default:
     959        psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Invalid datatype specified.\n");
     960    }
     961    return false;
     962}
     963
     964
    690965bool p_psMemGetPersistent(psPtr vptr)
    691966{
Note: See TracChangeset for help on using the changeset viewer.