MCPcopy Create free account
hub / github.com/catboost/catboost / Y_UNIT_TEST_SUITE

Function Y_UNIT_TEST_SUITE

library/cpp/float16/float16_ut.cpp:16–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14using namespace NFloat16Impl;
15
16Y_UNIT_TEST_SUITE(Conversations) {
17 Y_UNIT_TEST(32To16) {
18 UNIT_ASSERT_NO_DIFF(
19 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(0)),
20 TStringBuilder{} << Bin(ui16(0))
21 );
22 UNIT_ASSERT_NO_DIFF(
23 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(1)),
24 TStringBuilder{} << Bin(ui16(0b0011110000000000))
25 );
26 UNIT_ASSERT_NO_DIFF(
27 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(-2)),
28 TStringBuilder{} << Bin(ui16(0b1100000000000000))
29 );
30 UNIT_ASSERT_NO_DIFF(
31 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(-2)),
32 TStringBuilder{} << Bin(ui16(0b1100000000000000))
33 );
34 UNIT_ASSERT_NO_DIFF(
35 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(65504)),
36 TStringBuilder{} << Bin(ui16(0b0111101111111111))
37 );
38 UNIT_ASSERT_NO_DIFF(
39 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(1e5)),
40 TStringBuilder{} << Bin(ui16(0b0111110000000000))
41 );
42 UNIT_ASSERT_NO_DIFF(
43 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(-1e5)),
44 TStringBuilder{} << Bin(ui16(0b1111110000000000))
45 );
46 UNIT_ASSERT_NO_DIFF(
47 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(0.5)),
48 TStringBuilder{} << Bin(ui16(0b0011100000000000))
49 );
50 UNIT_ASSERT_NO_DIFF(
51 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(1e-100)),
52 TStringBuilder{} << Bin(ui16(0))
53 );
54 UNIT_ASSERT_NO_DIFF(
55 TStringBuilder{} << Bin(ConvertFloat32IntoFloat16Auto(-1e-100)),
56 TStringBuilder{} << Bin(ui16(0b1000000000000000))
57 );
58 }
59
60 Y_UNIT_TEST(16To32) {
61 UNIT_ASSERT_NO_DIFF(
62 TStringBuilder{} << Bin(ReintrepretFloat(0.f)),
63 TStringBuilder{} << Bin(ReintrepretFloat(ConvertFloat16IntoFloat32Auto(0)))
64 );
65 UNIT_ASSERT_NO_DIFF(
66 TStringBuilder{} << Bin(ReintrepretFloat(1.f)),
67 TStringBuilder{} << Bin(ReintrepretFloat(ConvertFloat16IntoFloat32Auto(0b0011110000000000)))
68 );
69 UNIT_ASSERT_NO_DIFF(
70 TStringBuilder{} << Bin(ReintrepretFloat(-2.f)),
71 TStringBuilder{} << Bin(ReintrepretFloat(ConvertFloat16IntoFloat32Auto(0b1100000000000000)))
72 );
73 UNIT_ASSERT_NO_DIFF(

Callers

nothing calls this directly

Calls 3

BinFunction · 0.85
ReintrepretFloatFunction · 0.85
Y_UNIT_TESTFunction · 0.70

Tested by

no test coverage detected