3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-05-26 11:56:23 +00:00
This commit is contained in:
nella 2026-05-12 17:06:21 +02:00 committed by nella
parent c6c44c5c9d
commit d55f4daae2
4 changed files with 14 additions and 21 deletions

View file

@ -615,6 +615,15 @@ int RTLIL::Const::as_int_saturating(bool is_signed) const
return as_int(is_signed);
}
void RTLIL::Const::tag_bare_integer_const(const std::string &value)
{
if (value.empty() || value.find('\'') != std::string::npos)
return;
size_t start = (value[0] == '-' || value[0] == '+') ? 1 : 0;
if (start < value.size() && std::all_of(value.begin() + start, value.end(), ::isdigit))
flags |= RTLIL::CONST_FLAG_SIGNED;
}
int RTLIL::Const::get_min_size(bool is_signed) const
{
if (empty()) return 0;

View file

@ -1091,6 +1091,8 @@ public:
// over/underflow, otherwise the max/min value for int depending on the sign.
int as_int_saturating(bool is_signed = false) const;
void tag_bare_integer_const(const std::string &value);
std::string as_string(const char* any = "-") const;
static Const from_string(const std::string &str);
std::vector<RTLIL::State> to_bits() const;