IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 26, 2005, 11:13:36 AM (21 years ago)
Author:
desonia
Message:

changed PS_META* datatypes to more generic PS_DATA* datatypes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/fits/psFits.c

    r5099 r5136  
    1 /** @file  psFits.c
     1/** @file  psFits.cr
    22 *
    33 *  @brief Contains Fits I/O routines
     
    77 *  @author Robert DeSonia, MHPCC
    88 *
    9  *  @version $Revision: 1.45 $ $Name: not supported by cvs2svn $
    10  *  @date $Date: 2005-09-22 23:19:38 $
     9 *  @version $Revision: 1.46 $ $Name: not supported by cvs2svn $
     10 *  @date $Date: 2005-09-26 21:13:22 $
    1111 *
    1212 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    156156}
    157157
    158 static bool convertMetadataTypeToBinaryTForm(psMetadataType type, char** fitsType)
     158static bool convertMetadataTypeToBinaryTForm(psDataType type, char** fitsType)
    159159{
    160160    switch (type) {
    161     case PS_META_BOOL:
     161    case PS_DATA_BOOL:
    162162        *fitsType = psStringCopy("1L");
    163163        break;
    164     case PS_META_S32:
     164    case PS_DATA_S32:
    165165        *fitsType = psStringCopy("1J");
    166166        break;
    167     case PS_META_F32:
     167    case PS_DATA_F32:
    168168        *fitsType = psStringCopy("1E");
    169169        break;
    170     case PS_META_F64:
     170    case PS_DATA_F64:
    171171        *fitsType = psStringCopy("1D");
    172172        break;
    173     case PS_META_STR:
     173    case PS_DATA_STRING:
    174174        *fitsType = psStringCopy("1A");
    175175        break;
     
    510510                                        PS_LIST_TAIL,
    511511                                        keyName,
    512                                         PS_META_S32 | PS_META_DUPLICATE_OK,
     512                                        PS_DATA_S32 | PS_META_DUPLICATE_OK,
    513513                                        keyComment,
    514514                                        atoi(keyValue));
     
    520520                                        PS_LIST_TAIL,
    521521                                        keyName,
    522                                         PS_META_F64 | PS_META_DUPLICATE_OK,
     522                                        PS_DATA_F64 | PS_META_DUPLICATE_OK,
    523523                                        keyComment,
    524524                                        atof(keyValue));
     
    531531                                            PS_LIST_TAIL,
    532532                                            keyName,
    533                                             PS_META_STR | PS_META_DUPLICATE_OK,
     533                                            PS_DATA_STRING | PS_META_DUPLICATE_OK,
    534534                                            keyComment,
    535535                                            keyValue+1);
     
    538538                                            PS_LIST_TAIL,
    539539                                            keyName,
    540                                             PS_META_STR | PS_META_DUPLICATE_OK,
     540                                            PS_DATA_STRING | PS_META_DUPLICATE_OK,
    541541                                            keyComment,
    542542                                            keyValue);
     
    548548                                        PS_LIST_TAIL,
    549549                                        keyName,
    550                                         PS_META_BOOL | PS_META_DUPLICATE_OK,
     550                                        PS_DATA_BOOL | PS_META_DUPLICATE_OK,
    551551                                        keyComment,
    552552                                        tempBool);
     
    10531053    while ( (item=psListGetAndIncrement(iter)) != NULL ) {
    10541054        switch (item->type) {
    1055         case PS_META_BOOL: {
     1055        case PS_DATA_BOOL: {
    10561056                int value = item->data.B;
    10571057                fits_update_key(fits->fd,
     
    10631063                break;
    10641064            }
    1065         case PS_META_S32:
     1065        case PS_DATA_S32:
    10661066            fits_update_key(fits->fd,
    10671067                            TINT,
     
    10711071                            &status);
    10721072            break;
    1073         case PS_META_F32:
     1073        case PS_DATA_F32:
    10741074            fits_update_key(fits->fd,
    10751075                            TFLOAT,
     
    10791079                            &status);
    10801080            break;
    1081         case PS_META_F64:
     1081        case PS_DATA_F64:
    10821082            fits_update_key(fits->fd,
    10831083                            TDOUBLE,
     
    10871087                            &status);
    10881088            break;
    1089         case PS_META_STR:
     1089        case PS_DATA_STRING:
    10901090            fits_update_key(fits->fd,
    10911091                            TSTRING,
     
    11921192                        col, name, typecode, repeat, (double)value); \
    11931193                psMetadataAdd(data,PS_LIST_TAIL, name, \
    1194                               PS_META_##TYPE, \
     1194                              PS_DATA_##TYPE, \
    11951195                              "", (ps##TYPE)value); \
    11961196                break; \
     
    12141214                    if (anynul == 0) {
    12151215                        psMetadataAdd(data,PS_LIST_TAIL, name,
    1216                                       PS_META_STR,
     1216                                      PS_DATA_STRING,
    12171217                                      "", value);
    12181218                    }
     
    14941494                                   PS_LIST_HEAD,true);
    14951495            while ( (item=psListGetAndIncrement(iter)) != NULL) {
    1496                 if (PS_META_IS_PRIMITIVE(item->type) || item->type == PS_META_STR) {
     1496                if (PS_DATA_IS_PRIMITIVE(item->type) || item->type == PS_DATA_STRING) {
    14971497                    bool found = false;
    14981498                    psMetadataItem* fItem = NULL;
     
    15061506                    if (! found) {
    15071507                        psArrayAdd(columns, columns->nalloc, item);
    1508                     } else if (item->type == PS_META_STR &&
     1508                    } else if (item->type == PS_DATA_STRING &&
    15091509                               strlen(fItem->data.V) > strlen(item->data.V)) {
    15101510                        // got to keep the longest string value as to know what size to create the table column
     
    15671567        int row;
    15681568        item = columns->data[n];
    1569         if (PS_META_IS_PRIMITIVE(item->type)) {
     1569        if (PS_DATA_IS_PRIMITIVE(item->type)) {
    15701570            psVector* col = NULL;
    15711571            psArray* colArray = NULL;
    15721572            switch (item->type) {
    1573             case PS_META_S32:
     1573            case PS_DATA_S32:
    15741574                col = psVectorAlloc(table->n, PS_TYPE_S32);
    15751575                for (row = 0; row < table->n; row++) {
     
    15871587                break;
    15881588
    1589             case PS_META_F32:
     1589            case PS_DATA_F32:
    15901590                col = psVectorAlloc(table->n, PS_TYPE_F32);
    15911591                for (row = 0; row < table->n; row++) {
     
    16031603                break;
    16041604
    1605             case PS_META_F64:
     1605            case PS_DATA_F64:
    16061606                col = psVectorAlloc(table->n, PS_TYPE_F64);
    16071607                for (row = 0; row < table->n; row++) {
     
    16191619                break;
    16201620
    1621             case PS_META_BOOL:
     1621            case PS_DATA_BOOL:
    16221622                col = psVectorAlloc(table->n, PS_TYPE_BOOL);
    16231623                for (row = 0; row < table->n; row++) {
     
    16351635                break;
    16361636
    1637             case PS_META_STR:
     1637            case PS_DATA_STRING:
    16381638                colArray = psArrayAlloc(table->n);
    16391639                for (row = 0; row < table->n; row++) {
     
    16561656            }
    16571657            psFree(col);
    1658         } else if (item->type == PS_META_STR) {
     1658        } else if (item->type == PS_DATA_STRING) {
    16591659            psArray* col = psArrayAlloc(table->n);
    16601660            for (row = 0; row < table->n; row++) {
     
    17161716
    17171717    while ( (item=psMetadataGetAndIncrement(iter)) != NULL) {
    1718         if (PS_META_IS_PRIMITIVE(item->type)) {
    1719             // operating on primitive data type, i.e., not a complex object
     1718        if (PS_DATA_IS_PRIMITIVE(item->type) || item->type == PS_DATA_STRING) {
     1719            // operating on primitive data type or string, i.e., not a complex object
    17201720            int colnum = 0;
    17211721
    17221722            if ( fits_get_colnum(fits->fd, CASESEN, item->name, &colnum, &status) == 0) {
    17231723                // cooresponding column found in table
    1724                 int dataType = 0;
    1725                 convertPsTypeToFits(item->type, NULL, NULL, &dataType);
     1724                int dataType = TSTRING; // assume string unless it is a primative type
     1725                if (PS_DATA_IS_PRIMITIVE(item->type)) {
     1726                    convertPsTypeToFits(item->type, NULL, NULL, &dataType);
     1727                }
    17261728
    17271729                if (fits_write_col(fits->fd, dataType, colnum, row+1, 1, 1, &item->data,&status) != 0) {
Note: See TracChangeset for help on using the changeset viewer.