Skip to content

Commit 202cb3e

Browse files
authored
[core] Deprecate redundant f16, bf16 functions (#32337)
### Details: - In classes `ov::float16`, `ov::bfloat16`, deprecate `to_string()` and `size()` member functions, which can be replace by std functions. ### Tickets: - CVS-128856 Signed-off-by: Raasz, Pawel <[email protected]>
1 parent 5a9461d commit 202cb3e

File tree

4 files changed

+44
-14
lines changed

4 files changed

+44
-14
lines changed

src/core/include/openvino/core/type/bfloat16.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <vector>
1414

1515
#include "openvino/core/core_visibility.hpp"
16+
#include "openvino/core/deprecated.hpp"
1617

1718
#define ROUND_MODE_TO_NEAREST_EVEN
1819

@@ -37,8 +38,12 @@ class OPENVINO_API bfloat16 {
3738
template <typename I>
3839
explicit bfloat16(I value) : m_value{bfloat16{static_cast<float>(value)}.m_value} {}
3940

41+
OPENVINO_DEPRECATED("This type is deprecated and will be removed in 2026.0. Use `std::to_string` instead.")
4042
std::string to_string() const;
43+
44+
OPENVINO_DEPRECATED("This type is deprecated and will be removed in 2026.0. Use `sizeof` instead.")
4145
size_t size() const;
46+
4247
template <typename T>
4348
bool operator==(const T& other) const;
4449
template <typename T>

src/core/include/openvino/core/type/float16.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <vector>
1414

1515
#include "openvino/core/core_visibility.hpp"
16+
#include "openvino/core/deprecated.hpp"
1617

1718
#define ROUND_MODE_TO_NEAREST_EVEN
1819

@@ -33,8 +34,12 @@ class OPENVINO_API float16 {
3334
template <typename I>
3435
explicit float16(I value) : m_value{float16{static_cast<float>(value)}.m_value} {}
3536

37+
OPENVINO_DEPRECATED("This type is deprecated and will be removed in 2026.0. Use `std::to_string` instead.")
3638
std::string to_string() const;
39+
40+
OPENVINO_DEPRECATED("This type is deprecated and will be removed in 2026.0. Use `sizeof` instead.")
3741
size_t size() const;
42+
3843
template <typename T>
3944
bool operator==(const T& other) const;
4045
template <typename T>

src/core/tests/bfloat16.cpp

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
#include "openvino/runtime/aligned_buffer.hpp"
1414
#include "openvino/util/log.hpp"
1515

16-
using namespace std;
17-
using namespace ov;
16+
namespace ov::test {
1817

1918
template <typename T>
2019
std::string to_hex(T value) {
@@ -125,18 +124,18 @@ TEST(bfloat16, to_float) {
125124
}
126125

127126
TEST(bfloat16, numeric_limits) {
128-
bfloat16 infinity = numeric_limits<bfloat16>::infinity();
129-
bfloat16 neg_infinity = -numeric_limits<bfloat16>::infinity();
130-
bfloat16 quiet_nan = numeric_limits<bfloat16>::quiet_NaN();
131-
bfloat16 signaling_nan = numeric_limits<bfloat16>::signaling_NaN();
127+
bfloat16 infinity = std::numeric_limits<bfloat16>::infinity();
128+
bfloat16 neg_infinity = -std::numeric_limits<bfloat16>::infinity();
129+
bfloat16 quiet_nan = std::numeric_limits<bfloat16>::quiet_NaN();
130+
bfloat16 signaling_nan = std::numeric_limits<bfloat16>::signaling_NaN();
132131

133132
// Would be nice if we could have bfloat16 overloads for these, but it would require adding
134133
// overloads into ::std. So we just cast to float here. We can't rely on an implicit cast
135134
// because it fails with some versions of AppleClang.
136-
EXPECT_TRUE(isinf(static_cast<float>(infinity)));
137-
EXPECT_TRUE(isinf(static_cast<float>(neg_infinity)));
138-
EXPECT_TRUE(isnan(static_cast<float>(quiet_nan)));
139-
EXPECT_TRUE(isnan(static_cast<float>(signaling_nan)));
135+
EXPECT_TRUE(std::isinf(static_cast<float>(infinity)));
136+
EXPECT_TRUE(std::isinf(static_cast<float>(neg_infinity)));
137+
EXPECT_TRUE(std::isnan(static_cast<float>(quiet_nan)));
138+
EXPECT_TRUE(std::isnan(static_cast<float>(signaling_nan)));
140139
}
141140

142141
TEST(benchmark, bfloat16) {
@@ -222,3 +221,14 @@ TEST(bfloat16, operators) {
222221
ASSERT_TRUE(a * b == d);
223222
ASSERT_TRUE(a == d / b);
224223
}
224+
225+
TEST(bfloat16, to_string) {
226+
const bfloat16 bf16{1.5f};
227+
EXPECT_EQ(std::to_string(bf16), std::to_string(1.5f));
228+
}
229+
230+
TEST(bfloat16, size) {
231+
const bfloat16 bf16{10.12f};
232+
EXPECT_EQ(sizeof(bf16), 2);
233+
}
234+
} // namespace ov::test

src/core/tests/float16.cpp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111

1212
#include "common_test_utils/float_util.hpp"
1313

14-
using namespace std;
15-
using namespace ov;
14+
namespace ov::test {
1615

1716
TEST(float16, conversions) {
1817
float16 f16;
@@ -85,8 +84,8 @@ TEST(float16, values) {
8584
EXPECT_EQ(static_cast<float16>(1.25 / (128.0 * 65536.0)).to_bits(), float16(0, 0, 2).to_bits());
8685
EXPECT_EQ(static_cast<float16>(std::numeric_limits<float>::infinity()).to_bits(), float16(0, 0x1F, 0).to_bits());
8786
EXPECT_EQ(static_cast<float16>(-std::numeric_limits<float>::infinity()).to_bits(), float16(1, 0x1F, 0).to_bits());
88-
EXPECT_TRUE(isnan(static_cast<float16>(std::numeric_limits<float>::quiet_NaN())));
89-
EXPECT_TRUE(isnan(static_cast<float16>(std::numeric_limits<float>::signaling_NaN())));
87+
EXPECT_TRUE(std::isnan(static_cast<float16>(std::numeric_limits<float>::quiet_NaN())));
88+
EXPECT_TRUE(std::isnan(static_cast<float16>(std::numeric_limits<float>::signaling_NaN())));
9089
EXPECT_EQ(static_cast<float16>(2.73786e-05).to_bits(), 459);
9190
EXPECT_EQ(static_cast<float16>(3.87722e-05).to_bits(), 650);
9291
EXPECT_EQ(static_cast<float16>(-0.0223043).to_bits(), 42422);
@@ -100,3 +99,14 @@ TEST(float16, values) {
10099
EXPECT_EQ(static_cast<float16>(65519.0).to_bits(), 0x7bff);
101100
EXPECT_EQ(static_cast<float16>(65520.0).to_bits(), 0x7c00);
102101
}
102+
103+
TEST(float16, to_string) {
104+
const float16 f16{1.5f};
105+
EXPECT_EQ(std::to_string(f16), std::to_string(1.5f));
106+
}
107+
108+
TEST(float16, size) {
109+
const float16 f16{10.12f};
110+
EXPECT_EQ(sizeof(f16), 2);
111+
}
112+
} // namespace ov::test

0 commit comments

Comments
 (0)