Index: /branches/eam_branches/ipp-20211108/ippTests/ippCheck/src/ippCheckKeys.c
===================================================================
--- /branches/eam_branches/ipp-20211108/ippTests/ippCheck/src/ippCheckKeys.c	(revision 42002)
+++ /branches/eam_branches/ipp-20211108/ippTests/ippCheck/src/ippCheckKeys.c	(revision 42003)
@@ -58,5 +58,5 @@
 	if (!item_2) {
 	    // fprintf (stdout, "key %s in 1 not in 2\n", item_1->name);
-	    psMetadataItem *newItem = psMetadataItemCopy(item_2); // Copied item
+	    psMetadataItem *newItem = psMetadataItemCopy(item_1); // Copied item
 	    psMetadataAddItem (missing, newItem, PS_LIST_TAIL, PS_META_REPLACE);
 	    continue;
@@ -68,5 +68,5 @@
 	if (item_1->type != item_2->type) {
 	    // fprintf (stdout, "key %s type mismatch: %s vs %s\n", item_1->name, type_1, type_2);
-	    psMetadataItem *newItem = psMetadataItemCopy(item_2); // Copied item
+	    psMetadataItem *newItem = psMetadataItemCopy(item_1); // Copied item
 	    psMetadataAddItem (badtype, newItem, PS_LIST_TAIL, PS_META_REPLACE);
 	    continue;
@@ -107,5 +107,5 @@
 	    if (item_1->data.S32 != item_2->data.S32) {
 		// fprintf (stdout, "key %s value mismatch: %d vs %d\n", item_1->name, item_1->data.S32, item_2->data.S32);
-		int delta = (item_1->data.S32 - item_2->data.S32);
+		psS32 delta = (item_1->data.S32 - item_2->data.S32);
 		float ratio = delta / (float) item_1->data.S32;
 		SAVE_ITEM_TWO;
@@ -115,6 +115,14 @@
 	  case PS_DATA_S64:
 	    if (item_1->data.S64 != item_2->data.S64) {
-		long int delta = (item_1->data.S64 - item_2->data.S64);
+		psS64 delta = (item_1->data.S64 - item_2->data.S64);
 		float ratio = delta / (float) item_1->data.S64;
+		SAVE_ITEM_TWO;
+	    }
+	    break;
+		
+	  case PS_DATA_F32:
+	    if (item_1->data.F32 != item_2->data.F32) {
+		psF32 delta = (item_1->data.F32 - item_2->data.F32);
+		psF32 ratio = delta / (float) item_1->data.F32;
 		SAVE_ITEM_TWO;
 	    }
@@ -123,6 +131,6 @@
 	  case PS_DATA_F64:
 	    if (item_1->data.F64 != item_2->data.F64) {
-		double delta = (item_1->data.F64 - item_2->data.F64);
-		double ratio = delta / (float) item_1->data.F64;
+		psF64 delta = (item_1->data.F64 - item_2->data.F64);
+		psF64 ratio = delta / (float) item_1->data.F64;
 		SAVE_ITEM_TWO;
 	    }
@@ -172,5 +180,5 @@
 }
 
-// we only need to support 4 types: BOOL, STRING, S32, S64, F64:
+// we only need to support 4 types: BOOL, STRING, S32, S64, F32, F64:
 bool PrintMismatchedKeys (psMetadata *list, psMetadata *v1, psMetadata *v2) {
 
@@ -187,45 +195,55 @@
 
 	int longName = (strlen(item->name) > 8);
-
+	longName = true;
+	
 	switch (i1->type) {
 	  case PS_DATA_BOOL:
 	    if (longName) {
-	      fprintf (stdout, " %32s : %12c vs %12c\n", item->name, (i1->data.B ? 'T' : 'F'), (i2->data.B ? 'T' : 'F'));
+		fprintf (stdout, " %32s : %12c vs %12c\n", item->name, (i1->data.B ? 'T' : 'F'), (i2->data.B ? 'T' : 'F'));
 	    } else {
-	      fprintf (stdout, " %8s : %12c vs %12c\n", item->name, (i1->data.B ? 'T' : 'F'), (i2->data.B ? 'T' : 'F'));
+		fprintf (stdout, " %8s : %12c vs %12c\n", item->name, (i1->data.B ? 'T' : 'F'), (i2->data.B ? 'T' : 'F'));
 	    }
 	    break;
 	  case PS_DATA_S32: {
-	    int delta = i1->data.S32 - i2->data.S32;
-	    float ratio = delta / (float) i1->data.S32;
-	    if (longName) {
-	      fprintf (stdout, " %32s : %12d vs %12d : %12.5g\n", item->name, i1->data.S32, i2->data.S32, ratio);
-	    } else {
-	      fprintf (stdout, " %8s : %12d vs %12d : %12.5g\n", item->name, i1->data.S32, i2->data.S32, ratio);
-	    }
-	    break; }
+	      psS32 delta = i1->data.S32 - i2->data.S32;
+	      float ratio = delta / (float) i1->data.S32;
+	      if (longName) {
+		  fprintf (stdout, " %32s : %12d vs %12d : %12.5g\n", item->name, i1->data.S32, i2->data.S32, ratio);
+	      } else {
+		  fprintf (stdout, " %8s : %12d vs %12d : %12.5g\n", item->name, i1->data.S32, i2->data.S32, ratio);
+	      }
+	      break; }
 	  case PS_DATA_S64: {
-	    int delta = i1->data.S64 - i2->data.S64;
-	    float ratio = delta / (float) i1->data.S64;
-	    if (longName) {
-	      fprintf (stdout, " %32s : %12ld vs %12ld : %12.5g\n", item->name, i1->data.S64, i2->data.S64, ratio);
-	    } else {
-	      fprintf (stdout, " %8s : %12ld vs %12ld : %12.5g\n", item->name, i1->data.S64, i2->data.S64, ratio);
-	    }
-	    break; }
+	      psS64 delta = i1->data.S64 - i2->data.S64;
+	      float ratio = delta / (float) i1->data.S64;
+	      if (longName) {
+		  fprintf (stdout, " %32s : %12ld vs %12ld : %12.5g\n", item->name, i1->data.S64, i2->data.S64, ratio);
+	      } else {
+		  fprintf (stdout, " %8s : %12ld vs %12ld : %12.5g\n", item->name, i1->data.S64, i2->data.S64, ratio);
+	      }
+	      break; }
+	  case PS_DATA_F32: {
+	      double delta = i1->data.F32 - i2->data.F32;
+	      double ratio = delta / (double) i1->data.F32;
+	      if (longName) {
+		  fprintf (stdout, " %32s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F32, i2->data.F32, ratio);
+	      } else {
+		  fprintf (stdout, " %8s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F32, i2->data.F32, ratio);
+	      }
+	      break; }
 	  case PS_DATA_F64: {
-	    double delta = i1->data.F64 - i2->data.F64;
-	    double ratio = delta / (double) i1->data.F64;
-	    if (longName) {
-	      fprintf (stdout, " %32s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F64, i2->data.F64, ratio);
-	    } else {
-	      fprintf (stdout, " %8s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F64, i2->data.F64, ratio);
-	    }
-	    break; }
+	      psF64 delta = i1->data.F64 - i2->data.F64;
+	      psF64 ratio = delta / (psF64) i1->data.F64;
+	      if (longName) {
+		  fprintf (stdout, " %32s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F64, i2->data.F64, ratio);
+	      } else {
+		  fprintf (stdout, " %8s : %12.5g vs %12.5g : %12.5g\n", item->name, i1->data.F64, i2->data.F64, ratio);
+	      }
+	      break; }
 	  case PS_DATA_STRING:
 	    if (longName) {
-	      fprintf (stdout, " %32s : %60s vs %60s\n", item->name, i1->data.str, i2->data.str); 
+		fprintf (stdout, " %32s : %60s vs %60s\n", item->name, i1->data.str, i2->data.str); 
 	    } else {
-	      fprintf (stdout, " %8s : %60s vs %60s\n", item->name, i1->data.str, i2->data.str); 
+		fprintf (stdout, " %8s : %60s vs %60s\n", item->name, i1->data.str, i2->data.str); 
 	    }
 	    break;
