3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-09-14 05:31:29 +00:00

Fast path for Const::operator==

This commit is contained in:
Robert O'Callahan 2025-08-29 03:29:44 +00:00
parent 60099e5005
commit ec52d6c649
2 changed files with 23 additions and 0 deletions

View file

@ -204,6 +204,24 @@ namespace RTLIL {
EXPECT_EQ(c, Const(0xe, 4));
}
TEST_F(KernelRtlilTest, ConstEqualStr) {
EXPECT_EQ(Const("abc"), Const("abc"));
EXPECT_NE(Const("abc"), Const("def"));
}
TEST_F(KernelRtlilTest, ConstEqualBits) {
std::vector<State> v1 = {S0, S1};
std::vector<State> v2 = {S1, S0};
EXPECT_EQ(Const(v1), Const(v1));
EXPECT_NE(Const(v1), Const(v2));
}
TEST_F(KernelRtlilTest, ConstEqualStrBits) {
std::vector<State> v1 = {S0, S0, S0, S0, S0, S1, S0, S0};
EXPECT_EQ(Const(v1), Const(" "));
EXPECT_NE(Const(v1), Const("a"));
}
class WireRtlVsHdlIndexConversionTest :
public KernelRtlilTest,
public testing::WithParamInterface<std::tuple<bool, int, int>>