mirror of https://github.com/YosysHQ/yosys.git
Added Verilog $rtoi and $itor support
This commit is contained in:
parent
81bb952e5d
commit
dfb461fe52
|
@ -1864,7 +1864,8 @@ skip_dynamic_range_lvalue_expansion:;
|
||||||
if (str == "\\$ln" || str == "\\$log10" || str == "\\$exp" || str == "\\$sqrt" || str == "\\$pow" ||
|
if (str == "\\$ln" || str == "\\$log10" || str == "\\$exp" || str == "\\$sqrt" || str == "\\$pow" ||
|
||||||
str == "\\$floor" || str == "\\$ceil" || str == "\\$sin" || str == "\\$cos" || str == "\\$tan" ||
|
str == "\\$floor" || str == "\\$ceil" || str == "\\$sin" || str == "\\$cos" || str == "\\$tan" ||
|
||||||
str == "\\$asin" || str == "\\$acos" || str == "\\$atan" || str == "\\$atan2" || str == "\\$hypot" ||
|
str == "\\$asin" || str == "\\$acos" || str == "\\$atan" || str == "\\$atan2" || str == "\\$hypot" ||
|
||||||
str == "\\$sinh" || str == "\\$cosh" || str == "\\$tanh" || str == "\\$asinh" || str == "\\$acosh" || str == "\\$atanh")
|
str == "\\$sinh" || str == "\\$cosh" || str == "\\$tanh" || str == "\\$asinh" || str == "\\$acosh" || str == "\\$atanh" ||
|
||||||
|
str == "\\$rtoi" || str == "\\$itor")
|
||||||
{
|
{
|
||||||
bool func_with_two_arguments = str == "\\$pow" || str == "\\$atan2" || str == "\\$hypot";
|
bool func_with_two_arguments = str == "\\$pow" || str == "\\$atan2" || str == "\\$hypot";
|
||||||
double x = 0, y = 0;
|
double x = 0, y = 0;
|
||||||
|
@ -1901,6 +1902,9 @@ skip_dynamic_range_lvalue_expansion:;
|
||||||
y = children[1]->asReal(child_sign_hint);
|
y = children[1]->asReal(child_sign_hint);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (str == "\\$rtoi") {
|
||||||
|
newNode = AstNode::mkconst_int(x, true);
|
||||||
|
} else {
|
||||||
newNode = new AstNode(AST_REALVALUE);
|
newNode = new AstNode(AST_REALVALUE);
|
||||||
if (str == "\\$ln") newNode->realvalue = ::log(x);
|
if (str == "\\$ln") newNode->realvalue = ::log(x);
|
||||||
else if (str == "\\$log10") newNode->realvalue = ::log10(x);
|
else if (str == "\\$log10") newNode->realvalue = ::log10(x);
|
||||||
|
@ -1923,7 +1927,9 @@ skip_dynamic_range_lvalue_expansion:;
|
||||||
else if (str == "\\$asinh") newNode->realvalue = ::asinh(x);
|
else if (str == "\\$asinh") newNode->realvalue = ::asinh(x);
|
||||||
else if (str == "\\$acosh") newNode->realvalue = ::acosh(x);
|
else if (str == "\\$acosh") newNode->realvalue = ::acosh(x);
|
||||||
else if (str == "\\$atanh") newNode->realvalue = ::atanh(x);
|
else if (str == "\\$atanh") newNode->realvalue = ::atanh(x);
|
||||||
|
else if (str == "\\$itor") newNode->realvalue = x;
|
||||||
else log_abort();
|
else log_abort();
|
||||||
|
}
|
||||||
goto apply_newNode;
|
goto apply_newNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue