clash-lib-1.0.0: prims/commonverilog/Clash_Class_Exp.json
[
{
"BlackBox": {
"name": "Clash.Class.Exp.expIndex#",
"kind": "Declaration",
"type": "expIndex# :: KnownNat m => Index m -> SNat n -> Index (m^n)",
"template": "assign ~RESULT = ~DEVNULL[~ARG[0]]$signed(~ARG[1] ** ~LIT[2]);",
"warning": "Exponentiation is only supported on relatively small constructs (< 32 bits). Ideally, Clash should have constant folded your expression. See https://github.com/clash-lang/clash-compiler/issues/593."
}
},
{
"BlackBox": {
"name": "Clash.Class.Exp.expSigned#",
"kind": "Declaration",
"type": "expSigned# :: KnownNat m => Signed m -> SNat n -> Signed (m*n)",
"template": "assign ~RESULT = ~DEVNULL[~ARG[0]]$signed(~ARG[1] ** ~LIT[2]);",
"warning": "Exponentiation is only supported on relatively small constructs (< 32 bits). Ideally, Clash should have constant folded your expression. See https://github.com/clash-lang/clash-compiler/issues/593."
}
},
{
"BlackBox": {
"name": "Clash.Class.Exp.expUnsigned#",
"kind": "Declaration",
"type": "expUnsigned# :: KnownNat m => Unsigned m -> SNat n -> Unsigned (m*n)",
"template": "assign ~RESULT = ~DEVNULL[~ARG[0]]$unsigned(~ARG[1] ** ~LIT[2]);",
"warning": "Exponentiation is only supported on relatively small constructs (< 32 bits). Ideally, Clash should have constant folded your expression. See https://github.com/clash-lang/clash-compiler/issues/593."
}
}
]