// Copyright (C) 2021 Intel Corporation // SPDX-License-Identifier: Apache-2.0 // #include #include "openvino/op/convert_like.hpp" #include "conversion.hpp" using namespace ov; using ConversionTypes = ngraph::helpers::ConversionTypes; namespace reference_tests { namespace ConversionOpsRefTestDefinitions { namespace { INSTANTIATE_TEST_SUITE_P( smoke_Conversion_With_Hardcoded_Refs, ReferenceConversionLayerTest, ::testing::Values( // destination boolean ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 3}, ov::element::u8, ov::element::boolean, std::vector {0, 12, 23, 0, std::numeric_limits::lowest(), std::numeric_limits::max()}, std::vector {0, 1, 1, 0, 0, 1}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 3}, ov::element::i32, ov::element::boolean, std::vector {0, -12, 23, 0, std::numeric_limits::lowest(), std::numeric_limits::max()}, std::vector {0, 1, 1, 0, 1, 1}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {3, 3}, ov::element::f32, ov::element::boolean, std::vector {0.f, 1.5745f, 0.12352f, 0.f, std::numeric_limits::lowest(), std::numeric_limits::max(), std::numeric_limits::min(), std::numeric_limits::infinity(), -std::numeric_limits::infinity()}, std::vector {0, 1, 1, 0, 1, 1, 1, 1, 1}), // destination bf16 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {1, 1, 3, 5}, ov::element::f32, ov::element::bf16, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {11}, ov::element::u8, ov::element::bf16, std::vector {0, 10, 15, 20, 43, 56, 78, 99, 102, 130, 142}, std::vector {0, 10, 15, 20, 43, 56, 78, 99, 102, 130, 142}), // destination f16 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {1, 1, 3, 5}, ov::element::f32, ov::element::f16, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {11}, ov::element::u8, ov::element::f16, std::vector {0, 10, 15, 20, 43, 56, 78, 99, 102, 130, 142}, std::vector {0, 10, 15, 20, 43, 56, 78, 99, 102, 130, 142}), // destination f32 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::u1, ov::element::f32, std::vector {0xA0}, std::vector {1.0f, 0.0f, 1.0f, 0.0f}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::u4, ov::element::f32, std::vector {0xFB, 0x0A}, std::vector {15.0f, 11.0f, 0.0f, 10.0f}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::u8, ov::element::f32, std::vector {255, 128, 32, 0}, std::vector {255.0f, 128.0f, 32.0f, 0.0f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::u16, ov::element::f32, std::vector {64000, 32000, 128, 0}, std::vector {64000.0f, 32000.0f, 128.0f, 0.0f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::u32, ov::element::f32, std::vector {4000000, 2000000, 128, 0}, std::vector {4000000.0f, 2000000.0f, 128.0f, 0.0f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::u64, ov::element::f32, std::vector {4000000, 2000000, 128, 0}, std::vector {4000000.0f, 2000000.0f, 128.0f, 0.0f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::i4, ov::element::f32, std::vector {0xFE, 0xF2}, std::vector {-1.0f, -2.0f, -1.0f, 2.0f}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::i8, ov::element::f32, std::vector {-127, -0, 0, 127}, std::vector {-127.0f, -0.0f, 0.0f, 127.0f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::i16, ov::element::f32, std::vector {-32000, -0, 0, 32000}, std::vector {-32000.0f, -0.0f, 0.0f, 32000.0f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::i32, ov::element::f32, std::vector {-64000, -0, 0, 64000}, std::vector {-64000.0f, -0.0f, 0.0f, 64000.0f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {2, 2}, ov::element::i64, ov::element::f32, std::vector {-64000, -0, 0, 64000}, std::vector {-64000.0f, -0.0f, 0.0f, 64000.0f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {1, 1, 3, 5}, ov::element::bf16, ov::element::f32, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {1, 1, 3, 5}, ov::element::f16, ov::element::f32, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {1, 1, 3, 5}, ov::element::f32, ov::element::f32, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}, std::vector {0.5f, 1.5f, 0.5f, 2.5f, 1.5f, 0.5f, 3.5f, 2.5f, 0.5f, 0.5f, 2.5f, 0.5f, 0.5f, 0.5f, 1.5f}), // destination i4 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u1, ov::element::i4, std::vector {0xA0}, std::vector {0x10, 0x10}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::i4, std::vector {0x12, 0x03}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::i4, std::vector {1, 2, 0, 3}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::i4, std::vector {1, 2, 0, 3}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::i4, std::vector {1, 2, 0, 3}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::i4, std::vector {1, 2, 0, 3}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::i4, std::vector {0xFE, 0x03}, std::vector {0xFE, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::i4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::i4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::i4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::i4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::i4, std::vector {-1, -2, 0, 3}, std::vector {0xFE, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::i4, std::vector {-1, -2, 0, 3}, std::vector {0xFE, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::i4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), // destination i8 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::i8, std::vector {0x81}, std::vector {1, 0, 0, 0, 0, 0, 0, 1}, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::i8, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::i8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::i8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::i8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::i8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::i8, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::i8, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::i8, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::i8, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::i8, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::i8, std::vector {-1, -2, 0, 3}, std::vector {-1, -2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::i8, std::vector {-1, -2, 0, 3}, std::vector {-1, -2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::i8, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), // destination i16 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::i16, std::vector {0x81}, std::vector {1, 0, 0, 0, 0, 0, 0, 1}, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::i16, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::i16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::i16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::i16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::i16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::i16, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::i16, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::i16, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::i16, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::i16, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::i16, std::vector {-1, -2, 0, 3}, std::vector {-1, -2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::i16, std::vector {-1, -2, 0, 3}, std::vector {-1, -2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::i16, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), // destination i32 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::i32, std::vector {0x81}, std::vector {1, 0, 0, 0, 0, 0, 0, 1}, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::i32, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::i32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::i32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::i32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::i32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::i32, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::i32, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::i32, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::i32, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::i32, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::i32, std::vector {-1, -2, 0, 3}, std::vector {-1, -2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::i32, std::vector {-1, -2, 0, 3}, std::vector {-1, -2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::i32, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), // destination i64 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::i64, std::vector {0x81}, std::vector {1, 0, 0, 0, 0, 0, 0, 1}, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::i64, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::i64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::i64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::i64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::i64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::i64, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::i64, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::i64, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::i64, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::i64, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::i64, std::vector {-1, -2, 0, 3}, std::vector {-1, -2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::i64, std::vector {-1, -2, 0, 3}, std::vector {-1, -2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::i64, std::vector {-1, -2, 2, 3}, std::vector {-1, -2, 2, 3}), // destination u1 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::u1, std::vector {0xA0}, std::vector {0xA0}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u4, ov::element::u1, std::vector {0x10, 0x01, 0x00, 0x00}, std::vector {0x90}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u8, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u16, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u32, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u64, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::i4, ov::element::u1, std::vector {0x10, 0x01, 0x00, 0x00}, std::vector {0x90}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::i8, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::i16, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::i32, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::i64, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::f16, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::bf16, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::f32, ov::element::u1, std::vector {1, 0, 1, 0, 0, 0, 0, 1}, std::vector {0xA1}, 8, 8), // destination u4 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u1, ov::element::u4, std::vector {0xA0}, std::vector {0x10, 0x10}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::u4, std::vector {0x12, 0x03}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::u4, std::vector {1, 2, 0, 3}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::u4, std::vector {1, 2, 0, 3}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::u4, std::vector {1, 2, 0, 3}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::u4, std::vector {1, 2, 0, 3}, std::vector {0x12, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::u4, std::vector {0xFE, 0x03}, std::vector {0xFE, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::u4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::u4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::u4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::u4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::u4, std::vector {-1, -2, 0, 3}, std::vector {0xFE, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::u4, std::vector {-1, -2, 0, 3}, std::vector {0xFE, 0x03}, 4, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::u4, std::vector {-1, -2, 2, 3}, std::vector {0xFE, 0x23}, 4, 4), // destination u8 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::u8, std::vector {0x81}, std::vector {1, 0, 0, 0, 0, 0, 0, 1}, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::u8, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::u8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::u8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::u8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::u8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::u8, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::u8, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::u8, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::u8, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::u8, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::u8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::u8, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::u8, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), // destination u16 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::u16, std::vector {0x81}, std::vector {1, 0, 0, 0, 0, 0, 0, 1}, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::u16, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::u16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::u16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::u16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::u16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::u16, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::u16, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::u16, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::u16, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::u16, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::u16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::u16, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::u16, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), // destination u32 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::u32, std::vector {0x81}, std::vector {1, 0, 0, 0, 0, 0, 0, 1}, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::u32, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::u32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::u32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::u32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::u32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::u32, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::u32, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::u32, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::u32, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::u32, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::u32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::u32, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::u32, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), // destination u64 ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {8}, ov::element::u1, ov::element::u64, std::vector {0x81}, std::vector {1, 0, 0, 0, 0, 0, 0, 1}, 8), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u4, ov::element::u64, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u8, ov::element::u64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u16, ov::element::u64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u32, ov::element::u64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::u64, ov::element::u64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i4, ov::element::u64, std::vector {0x21, 0x43}, std::vector {2, 1, 4, 3}, 4), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i8, ov::element::u64, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i16, ov::element::u64, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i32, ov::element::u64, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::i64, ov::element::u64, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f16, ov::element::u64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::bf16, ov::element::u64, std::vector {1, 2, 0, 3}, std::vector {1, 2, 0, 3}), ConvertParams(ConversionTypes::CONVERT_LIKE, ov::PartialShape {4}, ov::element::f32, ov::element::u64, std::vector {1, 2, 2, 3}, std::vector {1, 2, 2, 3})), ReferenceConversionLayerTest::getTestCaseName); } // namespace } // namespace ConversionOpsRefTestDefinitions } // namespace reference_tests