Improve conv3d validation

Improve validation of cpu conv3d and add validation test.
Align Size3D to Size3D comparison with how Size2D implements it.
Remove print statement in MaxUnpooling validation tests.

Signed-off-by: Freddie Liardet <frederick.liardet@arm.com>
Change-Id: I17048d56b08704cdbf1ad978af02009e57f3aa83
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6512
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/core/Size3D.h b/arm_compute/core/Size3D.h
index 1d8febe..148bd17 100644
--- a/arm_compute/core/Size3D.h
+++ b/arm_compute/core/Size3D.h
@@ -78,29 +78,21 @@
         return depth;
     }
 
+    bool operator!=(const Size3D &other) const
+    {
+        return !(*this == other);
+    }
+
+    bool operator==(const Size3D &other) const
+    {
+        return (width == other.width) && (height == other.height) && (depth == other.depth);
+    }
+
 public:
     size_t width  = {}; /**< Width of the 3D shape or object */
     size_t height = {}; /**< Height of the 3D shape or object */
     size_t depth  = {}; /**< Depth of the 3D shape or object */
 };
 
-/** Operator to compare two Size3D objects to be equal
- *
- * @param[in] lhs Left-hand side Size3D object.
- * @param[in] rhs Right-hand side Size3D object.
- *
- * @return True if two instances have the same width, height and depth
- */
-bool operator==(const Size3D &lhs, const Size3D &rhs);
-
-/** Operator to compare two Size3D objects to be different
- *
- * @param[in] lhs Left-hand side Size3D object.
- * @param[in] rhs Right-hand side Size3D object.
- *
- * @return True if two instances have a difference in width, height or depth
- */
-bool operator!=(const Size3D &lhs, const Size3D &rhs);
-
 } // namespace arm_compute
 #endif /* ARM_COMPUTE_SIZE3D_H */