IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 42003


Ignore:
Timestamp:
Jan 26, 2022, 2:17:54 PM (4 years ago)
Author:
eugene
Message:

add F32 support, fix missing keys

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20211108/ippTests/ippCheck/src/ippCheckKeys.c

    r41990 r42003  
    5858        if (!item_2) {
    5959            // fprintf (stdout, "key %s in 1 not in 2\n", item_1->name);
    60             psMetadataItem *newItem = psMetadataItemCopy(item_2); // Copied item
     60            psMetadataItem *newItem = psMetadataItemCopy(item_1); // Copied item
    6161            psMetadataAddItem (missing, newItem, PS_LIST_TAIL, PS_META_REPLACE);
    6262            continue;
     
    6868        if (item_1->type != item_2->type) {
    6969            // fprintf (stdout, "key %s type mismatch: %s vs %s\n", item_1->name, type_1, type_2);
    70             psMetadataItem *newItem = psMetadataItemCopy(item_2); // Copied item
     70            psMetadataItem *newItem = psMetadataItemCopy(item_1); // Copied item
    7171            psMetadataAddItem (badtype, newItem, PS_LIST_TAIL, PS_META_REPLACE);
    7272            continue;
     
    107107            if (item_1->data.S32 != item_2->data.S32) {
    108108                // fprintf (stdout, "key %s value mismatch: %d vs %d\n", item_1->name, item_1->data.S32, item_2->data.S32);
    109                 int delta = (item_1->data.S32 - item_2->data.S32);
     109                psS32 delta = (item_1->data.S32 - item_2->data.S32);
    110110                float ratio = delta / (float) item_1->data.S32;
    111111                SAVE_ITEM_TWO;
     
    115115          case PS_DATA_S64:
    116116            if (item_1->data.S64 != item_2->data.S64) {
    117                 long int delta = (item_1->data.S64 - item_2->data.S64);
     117                psS64 delta = (item_1->data.S64 - item_2->data.S64);
    118118                float ratio = delta / (float) item_1->data.S64;
     119                SAVE_ITEM_TWO;
     120            }
     121            break;
     122               
     123          case PS_DATA_F32:
     124            if (item_1->data.F32 != item_2->data.F32) {
     125                psF32 delta = (item_1->data.F32 - item_2->data.F32);
     126                psF32 ratio = delta / (float) item_1->data.F32;
    119127                SAVE_ITEM_TWO;
    120128            }
     
    123131          case PS_DATA_F64:
    124132            if (item_1->data.F64 != item_2->data.F64) {
    125                 double delta = (item_1->data.F64 - item_2->data.F64);
    126                 double ratio = delta / (float) item_1->data.F64;
     133                psF64 delta = (item_1->data.F64 - item_2->data.F64);
     134                psF64 ratio = delta / (float) item_1->data.F64;
    127135                SAVE_ITEM_TWO;
    128136            }
     
    172180}
    173181
    174 // we only need to support 4 types: BOOL, STRING, S32, S64, F64:
     182// we only need to support 4 types: BOOL, STRING, S32, S64, F32, F64:
    175183bool PrintMismatchedKeys (psMetadata *list, psMetadata *v1, psMetadata *v2) {
    176184
     
    187195
    188196        int longName = (strlen(item->name) > 8);
    189 
     197        longName = true;
     198       
    190199        switch (i1->type) {
    191200          case PS_DATA_BOOL:
    192201            if (longName) {
    193               fprintf (stdout, " %32s : %12c vs %12c\n", item->name, (i1->data.B ? 'T' : 'F'), (i2->data.B ? 'T' : 'F'));
     202                fprintf (stdout, " %32s : %12c vs %12c\n", item->name, (i1->data.B ? 'T' : 'F'), (i2->data.B ? 'T' : 'F'));
    194203            } else {
    195               fprintf (stdout, " %8s : %12c vs %12c\n", item->name, (i1->data.B ? 'T' : 'F'), (i2->data.B ? 'T' : 'F'));
     204                fprintf (stdout, " %8s : %12c vs %12c\n", item->name, (i1->data.B ? 'T' : 'F'), (i2->data.B ? 'T' : 'F'));
    196205            }
    197206            break;
    198207          case PS_DATA_S32: {
    199             int delta = i1->data.S32 - i2->data.S32;
    200             float ratio = delta / (float) i1->data.S32;
    201             if (longName) {
    202               fprintf (stdout, " %32s : %12d vs %12d : %12.5g\n", item->name, i1->data.S32, i2->data.S32, ratio);
    203             } else {
    204               fprintf (stdout, " %8s : %12d vs %12d : %12.5g\n", item->name, i1->data.S32, i2->data.S32, ratio);
    205             }
    206             break; }
     208              psS32 delta = i1->data.S32 - i2->data.S32;
     209              float ratio = delta / (float) i1->data.S32;
     210              if (longName) {
     211                  fprintf (stdout, " %32s : %12d vs %12d : %12.5g\n", item->name, i1->data.S32, i2->data.S32, ratio);
     212              } else {
     213                  fprintf (stdout, " %8s : %12d vs %12d : %12.5g\n", item->name, i1->data.S32, i2->data.S32, ratio);
     214              }
     215              break; }
    207216          case PS_DATA_S64: {
    208             int delta = i1->data.S64 - i2->data.S64;
    209             float ratio = delta / (float) i1->data.S64;
    210             if (longName) {
    211               fprintf (stdout, " %32s : %12ld vs %12ld : %12.5g\n", item->name, i1->data.S64, i2->data.S64, ratio);
    212             } else {
    213               fprintf (stdout, " %8s : %12ld vs %12ld : %12.5g\n", item->name, i1->data.S64, i2->data.S64, ratio);
    214             }
    215             break; }
     217              psS64 delta = i1->data.S64 - i2->data.S64;
     218              float ratio = delta / (float) i1->data.S64;
     219              if (longName) {
     220                  fprintf (stdout, " %32s : %12ld vs %12ld : %12.5g\n", item->name, i1->data.S64, i2->data.S64, ratio);
     221              } else {
     222                  fprintf (stdout, " %8s : %12ld vs %12ld : %12.5g\n", item->name, i1->data.S64, i2->data.S64, ratio);
     223              }
     224              break; }
     225          case PS_DATA_F32: {
     226              double delta = i1->data.F32 - i2->data.F32;
     227              double ratio = delta / (double) i1->data.F32;
     228              if (longName) {
     229                  fprintf (stdout, " %32s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F32, i2->data.F32, ratio);
     230              } else {
     231                  fprintf (stdout, " %8s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F32, i2->data.F32, ratio);
     232              }
     233              break; }
    216234          case PS_DATA_F64: {
    217             double delta = i1->data.F64 - i2->data.F64;
    218             double ratio = delta / (double) i1->data.F64;
    219             if (longName) {
    220               fprintf (stdout, " %32s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F64, i2->data.F64, ratio);
    221             } else {
    222               fprintf (stdout, " %8s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F64, i2->data.F64, ratio);
    223             }
    224             break; }
     235              psF64 delta = i1->data.F64 - i2->data.F64;
     236              psF64 ratio = delta / (psF64) i1->data.F64;
     237              if (longName) {
     238                  fprintf (stdout, " %32s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F64, i2->data.F64, ratio);
     239              } else {
     240                  fprintf (stdout, " %8s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F64, i2->data.F64, ratio);
     241              }
     242              break; }
    225243          case PS_DATA_STRING:
    226244            if (longName) {
    227               fprintf (stdout, " %32s : %60s vs %60s\n", item->name, i1->data.str, i2->data.str);
     245                fprintf (stdout, " %32s : %60s vs %60s\n", item->name, i1->data.str, i2->data.str);
    228246            } else {
    229               fprintf (stdout, " %8s : %60s vs %60s\n", item->name, i1->data.str, i2->data.str);
     247                fprintf (stdout, " %8s : %60s vs %60s\n", item->name, i1->data.str, i2->data.str);
    230248            }
    231249            break;
Note: See TracChangeset for help on using the changeset viewer.