IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 7472


Ignore:
Timestamp:
Jun 9, 2006, 4:28:17 PM (20 years ago)
Author:
drobbin
Message:

Added support for psU64 and psS64 in datatype, metadata, metadataItem, etc.

Location:
trunk/psLib
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/sys/psType.h

    r6920 r7472  
    1010*  @author Ross Harman, MHPCC
    1111*
    12 *  @version $Revision: 1.49 $ $Name: not supported by cvs2svn $
    13 *  @date $Date: 2006-04-20 03:32:14 $
     12*  @version $Revision: 1.50 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2006-06-10 02:28:17 $
    1414*
    1515*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    101101    PS_DATA_S16  = PS_TYPE_S16,        ///< psS16
    102102    PS_DATA_S32  = PS_TYPE_S32,        ///< psS32
     103    PS_DATA_S64  = PS_TYPE_S64,        ///< psS64
    103104    PS_DATA_U8   = PS_TYPE_U8,         ///< psU8
    104105    PS_DATA_U16  = PS_TYPE_U16,        ///< psU16
    105106    PS_DATA_U32  = PS_TYPE_U32,        ///< psU32
     107    PS_DATA_U64  = PS_TYPE_U64,        ///< psU64
    106108    PS_DATA_F32  = PS_TYPE_F32,        ///< psF32
    107109    PS_DATA_F64  = PS_TYPE_F64,        ///< psF64
  • trunk/psLib/src/types/psMetadata.c

    r7448 r7472  
    1212 *  @author Ross Harman, MHPCC
    1313 *
    14  *  @version $Revision: 1.109 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2006-06-09 01:25:42 $
     14 *  @version $Revision: 1.110 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2006-06-10 02:28:17 $
    1616 *
    1717 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    184184METADATAITEM_ALLOC_TYPE(S16,psS16,PS_DATA_S16)
    185185METADATAITEM_ALLOC_TYPE(S32,psS32,PS_DATA_S32)
     186METADATAITEM_ALLOC_TYPE(S64,psS64,PS_DATA_S64)
    186187METADATAITEM_ALLOC_TYPE(U8,psU8,PS_DATA_U8)
    187188METADATAITEM_ALLOC_TYPE(U16,psU16,PS_DATA_U16)
    188189METADATAITEM_ALLOC_TYPE(U32,psU32,PS_DATA_U32)
     190METADATAITEM_ALLOC_TYPE(U64,psU64,PS_DATA_U64)
    189191METADATAITEM_ALLOC_TYPE(Bool,psBool,PS_DATA_BOOL)
    190192
     
    247249        metadataItem->data.S32 = (psS32)va_arg(argPtr, psS32);
    248250        break;
     251    case PS_DATA_S64:
     252        metadataItem->data.S64 = (psS64)va_arg(argPtr, psS64);
     253        break;
    249254    case PS_DATA_U8:
    250255        metadataItem->data.U8 = (psU8)va_arg(argPtr, psU32);
     
    255260    case PS_DATA_U32:
    256261        metadataItem->data.U32 = (psU32)va_arg(argPtr, psU32);
     262        break;
     263    case PS_DATA_U64:
     264        metadataItem->data.U64 = (psU64)va_arg(argPtr, psU64);
    257265        break;
    258266    case PS_DATA_F32:
     
    360368        PS_METADATA_ITEM_COPY_CASE(S16,S16);
    361369        PS_METADATA_ITEM_COPY_CASE(S32,S32);
     370        PS_METADATA_ITEM_COPY_CASE(S64,S64);
    362371        PS_METADATA_ITEM_COPY_CASE(U8,U8);
    363372        PS_METADATA_ITEM_COPY_CASE(U16,U16);
    364373        PS_METADATA_ITEM_COPY_CASE(U32,U32);
     374        PS_METADATA_ITEM_COPY_CASE(U64,U64);
    365375        PS_METADATA_ITEM_COPY_CASE(F32,F32);
    366376        PS_METADATA_ITEM_COPY_CASE(F64,F64);
     
    614624METADATA_ADD_TYPE(S16,psS16,PS_DATA_S16)
    615625METADATA_ADD_TYPE(S32,psS32,PS_DATA_S32)
     626METADATA_ADD_TYPE(S64,psS64,PS_DATA_S64)
    616627METADATA_ADD_TYPE(U8,psU8,PS_DATA_U8)
    617628METADATA_ADD_TYPE(U16,psU16,PS_DATA_U16)
    618629METADATA_ADD_TYPE(U32,psU32,PS_DATA_U32)
     630METADATA_ADD_TYPE(U64,psU64,PS_DATA_U64)
    619631METADATA_ADD_TYPE(F32,psF32,PS_DATA_F32)
    620632METADATA_ADD_TYPE(F64,psF64,PS_DATA_F64)
     
    825837        value = (ps##TYPE)metadataItem->data.S32; \
    826838        break; \
     839    case PS_DATA_S64: \
     840        value = (ps##TYPE)metadataItem->data.S64; \
     841        break; \
    827842    case PS_DATA_U8: \
    828843        value = (ps##TYPE)metadataItem->data.U8; \
     
    833848    case PS_DATA_U32: \
    834849        value = (ps##TYPE)metadataItem->data.U32; \
     850        break; \
     851    case PS_DATA_U64: \
     852        value = (ps##TYPE)metadataItem->data.U64; \
    835853        break; \
    836854    case PS_DATA_F32: \
     
    862880psMetadataLookupNumTYPE(S16)
    863881psMetadataLookupNumTYPE(S32)
     882psMetadataLookupNumTYPE(S64)
    864883psMetadataLookupNumTYPE(U8)
    865884psMetadataLookupNumTYPE(U16)
    866885psMetadataLookupNumTYPE(U32)
     886psMetadataLookupNumTYPE(U64)
    867887psMetadataLookupNumTYPE(Bool)
    868888
     
    10961116
    10971117
    1098 void psMetadataPrint(FILE *fd,
     1118bool psMetadataPrint(FILE *fd,
    10991119                     psMetadata *md,
    11001120                     int level)
    11011121{
    1102     PS_ASSERT_PTR_NON_NULL(md,);
     1122    PS_ASSERT_PTR_NON_NULL(md,false);
    11031123    if (fd == NULL) {
    11041124        fd = stdout;
     
    11071127            psError(PS_ERR_IO, true,
    11081128                    "Invalid file pointer in psMetadataPrint.  Could not write to fd.\n");
    1109             return;
     1129            return false;
    11101130        }
    11111131    }
     
    11421162            fprintf(fd, "%d", item->data.S32);
    11431163            break;
     1164        case PS_DATA_S64:
     1165            fprintf(fd, "%ld", item->data.S64);
     1166            break;
    11441167        case PS_DATA_U8:
    11451168            fprintf(fd, "%u", item->data.U8);
     
    11501173        case PS_DATA_U32:
    11511174            fprintf(fd, "%u", item->data.U32);
     1175            break;
     1176        case PS_DATA_U64:
     1177            fprintf(fd, "%lu", item->data.U64);
    11521178            break;
    11531179        case PS_DATA_F32:
     
    12011227                    }
    12021228                    break;
    1203                     /*            case PS_DATA_U64:
    1204                                     fprintf(fd, "U64  ");
    1205                                     for (int i = 0; i < vector->n; i++) {
    1206                                         fprintf(fd, "%u ", vector->data.U64[i]);
    1207                                     }
    1208                                     break;
    1209                     */
     1229                case PS_DATA_U64:
     1230                    fprintf(fd, "U64  ");
     1231                    for (int i = 0; i < vector->n; i++) {
     1232                        fprintf(fd, "%lu ", vector->data.U64[i]);
     1233                    }
     1234                    break;
    12101235                case PS_DATA_S8:
    12111236                    fprintf(fd, "S8  ");
     
    12261251                    }
    12271252                    break;
    1228                     /*            case PS_DATA_S64:
    1229                                     fprintf(fd, "S64  ");
    1230                                     for (int i = 0; i < vector->n; i++) {
    1231                                         fprintf(fd, "%ld ", vector->data.S64[i]);
    1232                                     }
    1233                                     break;
    1234                     */
     1253                case PS_DATA_S64:
     1254                    fprintf(fd, "S64  ");
     1255                    for (int i = 0; i < vector->n; i++) {
     1256                        fprintf(fd, "%ld ", vector->data.S64[i]);
     1257                    }
     1258                    break;
    12351259                case PS_DATA_F32:
    12361260                    fprintf(fd, "F32 ");
     
    12491273                    psError(PS_ERR_BAD_PARAMETER_VALUE, true,
    12501274                            PS_ERRORTEXT_psMetadata_METATYPE_INVALID, vector->type.type);
    1251                     return;
     1275                    return false;
    12521276                }
    12531277                break;
     
    12611285    psFree(iter);
    12621286
    1263     return;
     1287    return true;
    12641288}
    12651289
  • trunk/psLib/src/types/psMetadata.h

    r7448 r7472  
    1111*  @author Ross Harman, MHPCC
    1212*
    13 *  @version $Revision: 1.78 $ $Name: not supported by cvs2svn $
    14 *  @date $Date: 2006-06-09 01:25:42 $
     13*  @version $Revision: 1.79 $ $Name: not supported by cvs2svn $
     14*  @date $Date: 2006-06-10 02:28:17 $
    1515*
    1616*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    3636 TYPE == PS_DATA_S16 || \
    3737 TYPE == PS_DATA_S32 || \
     38 TYPE == PS_DATA_S64 || \
    3839 TYPE == PS_DATA_U8 || \
    3940 TYPE == PS_DATA_U16 || \
    4041 TYPE == PS_DATA_U32 || \
     42 TYPE == PS_DATA_U64 || \
    4143 TYPE == PS_DATA_F32 || \
    4244 TYPE == PS_DATA_F64 || \
     
    4547#define PS_DATA_PRIMITIVE_TYPE(DATATYPE) ( \
    4648        (DATATYPE==PS_DATA_S8 || DATATYPE==PS_DATA_S16 || \
    47          DATATYPE==PS_DATA_S32 || DATATYPE==PS_DATA_U8 || \
    48          DATATYPE==PS_DATA_U16 || DATATYPE==PS_DATA_U32 || DATATYPE==PS_DATA_F32 || \
    49          DATATYPE==PS_DATA_F64 || DATATYPE==PS_DATA_BOOL) ? DATATYPE : 0)
     49         DATATYPE==PS_DATA_S32 || DATATYPE==PS_DATA_S64 || DATATYPE==PS_DATA_U8 || \
     50         DATATYPE==PS_DATA_U16 || DATATYPE==PS_DATA_U32 || DATATYPE==PS_DATA_U64 || \
     51         DATATYPE==PS_DATA_F32 || DATATYPE==PS_DATA_F64 || DATATYPE==PS_DATA_BOOL) ? DATATYPE : 0)
    5052
    5153
     
    108110        psS16 S16;                     ///< Signed 16-bit integer data.
    109111        psS32 S32;                     ///< Signed 32-bit integer data.
     112        psS64 S64;                     ///< Signed 64-bit integer data.
    110113        psU8 U8;                       ///< Unsigned 8-bit integer data.
    111114        psU16 U16;                     ///< Unsigned 16-bit integer data.
    112115        psU32 U32;                     ///< Unsigned 32-bit integer data.
     116        psU64 U64;                     ///< Unsigned 64-bit integer data.
    113117        psF32 F32;                     ///< Single-precision float data.
    114118        psF64 F64;                     ///< Double-precision float data.
     
    233237);
    234238
     239/** Create a metadata item with specified psS64 data.
     240 *
     241 *  Returns a fill psMetadataItem ready for insertion into the psMetadata
     242 *  struct.
     243 *
     244 * @return psMetadataItem* : Pointer metadata item.
     245 */
     246psMetadataItem* psMetadataItemAllocS64(
     247    const char* name,                  ///< Name of metadata item.
     248    const char* comment,               ///< Comment for metadata item.
     249    psS64 value                        ///< the value of the metadata item.
     250);
     251
    235252/** Create a metadata item with specified psU8 data.
    236253 *
     
    270287    const char* comment,               ///< Comment for metadata item.
    271288    psU32 value                        ///< the value of the metadata item.
     289);
     290
     291/** Create a metadata item with specified psU64 data.
     292 *
     293 *  Returns a fill psMetadataItem ready for insertion into the psMetadata
     294 *  struct.
     295 *
     296 * @return psMetadataItem* : Pointer metadata item.
     297 */
     298psMetadataItem* psMetadataItemAllocU64(
     299    const char* name,                  ///< Name of metadata item.
     300    const char* comment,               ///< Comment for metadata item.
     301    psU64 value                        ///< the value of the metadata item.
    272302);
    273303
     
    351381);
    352382
    353 /** Creates a new copy of all the psMetadataItems in the psMetadata collection, in, and
     383/** Create a copy of an existing psMetadata collection.
     384 *
     385 *  Creates a new copy of all the psMetadataItems in the psMetadata collection, in, and
    354386 *  returns them in out, or creates a new container if out is NULL.
    355387 *
     
    361393);
    362394
    363 // Copy a metadata item from one psMetadata to another
    364 bool psMetadataItemTransfer(psMetadata *out, // Destination: copy is placed here
    365                             const psMetadata *in, // Source: item comes from here
    366                             const char *key // key to identify the metadata item
    367                            );
     395/** Copy a metadata item from one psMetadata to another.
     396 *
     397 *  Creates a copy of a psMetadataItem from in and appends it to out.  If out is NULL,
     398 *  a new container is created.
     399 *
     400 *  @return bool:       True if successful, otherwise false.
     401 */
     402bool psMetadataItemTransfer(
     403    psMetadata *out,                   ///< output Metadata container for copying.
     404    const psMetadata *in,              ///< Metadata collection from which to copy.
     405    const char *key                    ///< key to identify the metadata item for copying.
     406);
    368407
    369408/** Add existing metadata item to metadata collection.
     
    465504);
    466505
     506/** Add a psS64 value to metadata collection.
     507 *
     508 *  @return bool:  True for success, False for failure.
     509 */
     510bool psMetadataAddS64(
     511    psMetadata* md,                    ///< Metadata collection to insert metadata item
     512    long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
     513    const char* name,                  ///< Name of metadata item
     514    int format,                        ///< psMetadataFlag options/flags
     515    const char* comment,               ///< Comment for metadata item
     516    psS64 value                        ///< Value for metadata item data
     517);
     518
    467519/** Add a psU8 value to metadata collection.
    468520 *
     
    502554    const char* comment,               ///< Comment for metadata item
    503555    psU32 value                        ///< Value for metadata item data
     556);
     557
     558/** Add a psU64 value to metadata collection.
     559 *
     560 *  @return bool:  True for success, False for failure.
     561 */
     562bool psMetadataAddU64(
     563    psMetadata* md,                    ///< Metadata collection to insert metadata item
     564    long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
     565    const char* name,                  ///< Name of metadata item
     566    int format,                        ///< psMetadataFlag options/flags
     567    const char* comment,               ///< Comment for metadata item
     568    psU64 value                        ///< Value for metadata item data
    504569);
    505570
     
    796861 *  returned.
    797862 *
     863 * @return psS64 : Value of metadata item.
     864 */
     865psS64 psMetadataLookupS64(
     866    bool *status,                      ///< Status of lookup.
     867    const psMetadata *md,              ///< Metadata collection to lookup metadata item.
     868    const char *key                    ///< Name of metadata key.
     869);
     870
     871/** Find an item in the metadata collection based on key name and return its integer value.
     872 *
     873 *  Items may be found in the metadata by providing a key. If the key is
     874 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     875 *  returned.
     876 *
    798877 * @return psU8 : Value of metadata item.
    799878 */
     
    827906 */
    828907psU32 psMetadataLookupU32(
     908    bool *status,                      ///< Status of lookup.
     909    const psMetadata *md,              ///< Metadata collection to lookup metadata item.
     910    const char *key                    ///< Name of metadata key.
     911);
     912
     913/** Find an item in the metadata collection based on key name and return its integer value.
     914 *
     915 *  Items may be found in the metadata by providing a key. If the key is
     916 *  non-unique, the value of the first item is returned. If the item is not found, zero is
     917 *  returned.
     918 *
     919 * @return psU64 : Value of metadata item.
     920 */
     921psU64 psMetadataLookupU64(
    829922    bool *status,                      ///< Status of lookup.
    830923    const psMetadata *md,              ///< Metadata collection to lookup metadata item.
     
    9511044 *  Metadata contents are printed to a valid file descriptor if one exists.  Otherwise,
    9521045 *  fd should be NULL and the contents are printed to the screen (stdout).
     1046 *
     1047 *  @return bool:           True if successful, otherwise false.
    9531048*/
    954 void psMetadataPrint(
     1049bool psMetadataPrint(
    9551050    FILE *fd,                          ///< File Descriptor or NULL
    9561051    psMetadata *md,                    ///< Metadata collection to print.
  • trunk/psLib/src/types/psMetadataConfig.c

    r7468 r7472  
    1010*  @author Eric Van Alst, MHPCC
    1111*
    12 *  @version $Revision: 1.60 $ $Name: not supported by cvs2svn $
    13 *  @date $Date: 2006-06-10 01:27:52 $
     12*  @version $Revision: 1.61 $ $Name: not supported by cvs2svn $
     13*  @date $Date: 2006-06-10 02:28:17 $
    1414*
    1515*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    484484            fprintf(fd,format,(FORMAT_TYPE)  item->data.S32); \
    485485            break; \
     486        case PS_DATA_S64: \
     487            fprintf(fd,format,(FORMAT_TYPE)  item->data.S64); \
     488            break; \
    486489        case PS_DATA_U8: \
    487490            fprintf(fd,format,(FORMAT_TYPE)  item->data.U8); \
     
    492495        case PS_DATA_U32: \
    493496            fprintf(fd,format,(FORMAT_TYPE)  item->data.U32); \
     497            break; \
     498        case PS_DATA_U64: \
     499            fprintf(fd,format,(FORMAT_TYPE)  item->data.U64); \
    494500            break; \
    495501        case PS_DATA_F32: \
     
    15331539            psStringAppend(&content, " \n");
    15341540            break;
     1541        case PS_DATA_S64:
     1542            psStringAppend(&content, "%s S64  ", item->name);
     1543            psStringAppend(&content, "%ld ", item->data.S64);
     1544            if ( strncmp(item->comment,"",2) ) {
     1545                psStringAppend(&content, " #%s", item->comment);
     1546            }
     1547            psStringAppend(&content, " \n");
     1548            break;
    15351549        case PS_DATA_U8:
    15361550            psStringAppend(&content, "%s U8  ", item->name);
    1537             psStringAppend(&content, "%d ", item->data.U8);
     1551            psStringAppend(&content, "%u ", item->data.U8);
    15381552            if ( strncmp(item->comment,"",2) ) {
    15391553                psStringAppend(&content, " #%s", item->comment);
     
    15431557        case PS_DATA_U16:
    15441558            psStringAppend(&content, "%s U16  ", item->name);
    1545             psStringAppend(&content, "%d ", item->data.U16);
     1559            psStringAppend(&content, "%u ", item->data.U16);
    15461560            if ( strncmp(item->comment,"",2) ) {
    15471561                psStringAppend(&content, " #%s", item->comment);
     
    15511565        case PS_DATA_U32:
    15521566            psStringAppend(&content, "%s U32  ", item->name);
    1553             psStringAppend(&content, "%d ", item->data.U32);
     1567            psStringAppend(&content, "%u ", item->data.U32);
     1568            if ( strncmp(item->comment,"",2) ) {
     1569                psStringAppend(&content, " #%s", item->comment);
     1570            }
     1571            psStringAppend(&content, " \n");
     1572            break;
     1573        case PS_DATA_U64:
     1574            psStringAppend(&content, "%s U64  ", item->name);
     1575            psStringAppend(&content, "%lu ", item->data.U64);
    15541576            if ( strncmp(item->comment,"",2) ) {
    15551577                psStringAppend(&content, " #%s", item->comment);
     
    16371659                psStringAppend(&content, "U8 ");
    16381660                for (int i = 0; i < vector->n; i++) {
    1639                     psStringAppend(&content, "%d ", vector->data.U8[i]);
     1661                    psStringAppend(&content, "%u ", vector->data.U8[i]);
    16401662                }
    16411663                break;
     
    16431665                psStringAppend(&content, "U16 ");
    16441666                for (int i = 0; i < vector->n; i++) {
    1645                     psStringAppend(&content, "%d ", vector->data.U16[i]);
     1667                    psStringAppend(&content, "%u ", vector->data.U16[i]);
    16461668                }
    16471669                break;
     
    16491671                psStringAppend(&content, "U32 ");
    16501672                for (int i = 0; i < vector->n; i++) {
    1651                     psStringAppend(&content, "%d ", vector->data.U32[i]);
     1673                    psStringAppend(&content, "%u ", vector->data.U32[i]);
     1674                }
     1675                break;
     1676            case PS_DATA_U64:
     1677                psStringAppend(&content, "U64 ");
     1678                for (int i = 0; i < vector->n; i++) {
     1679                    psStringAppend(&content, "%lu ", vector->data.U64[i]);
    16521680                }
    16531681                break;
     
    16681696                for (int i = 0; i < vector->n; i++) {
    16691697                    psStringAppend(&content, "%d ", vector->data.S32[i]);
     1698                }
     1699                break;
     1700            case PS_DATA_S64:
     1701                psStringAppend(&content, "S64 ");
     1702                for (int i = 0; i < vector->n; i++) {
     1703                    psStringAppend(&content, "%ld ", vector->data.S64[i]);
    16701704                }
    16711705                break;
  • trunk/psLib/test/types/tst_psMetadata_01.c

    r7448 r7472  
    55*  @author  dRob, MHPCC
    66*
    7 *  @version $Revision: 1.7 $  $Name: not supported by cvs2svn $
    8 *  @date  $Date: 2006-06-09 01:25:42 $
     7*  @version $Revision: 1.8 $  $Name: not supported by cvs2svn $
     8*  @date  $Date: 2006-06-10 02:28:17 $
    99*
    1010*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    126126    psMetadataAddU16(md, PS_LIST_TAIL, "item9", 0, "I am U16", 666);
    127127    psMetadataAddU32(md, PS_LIST_TAIL, "item10", 0, "I am U32", 666);
     128    psMetadataAddS64(md, PS_LIST_TAIL, "item11", 0, "I am S64", 666);
     129    psMetadataAddU64(md, PS_LIST_TAIL, "item12", 0, "I am U64", 666);
    128130
    129131    psMetadataAddS32(newMD, PS_LIST_TAIL, "ITEM01", 0, NULL, 666);
  • trunk/psLib/test/types/verified/tst_psMetadata_01.stdout

    r7448 r7472  
    1111item9 (I am U16): 666
    1212item10 (I am U32): 666
     13item11 (I am S64): 666
     14item12 (I am U64): 666
    1315metadata7 (I am a metadata):
    1416  ITEM01: 666
Note: See TracChangeset for help on using the changeset viewer.