clash-lib-1.0.0: prims/vhdl/Clash_Promoted_Nat.json
[ { "BlackBox" :
{ "name" : "Clash.Promoted.Nat.flogBaseSNat"
, "workInfo" : "Never"
, "kind" : "Expression"
, "type" : "Clash.Promoted.Nat.flogBaseSNat :: (2 <= base, 1 <= x)
=> SNat base -- ARG[2]
-> SNat x -- ARG[3]
-> SNat (FLog base x)"
, "template" : "integer(floor(log(real(~LIT[3]),real(~LIT[2]))))"
}
}
, { "BlackBox" :
{ "name" : "Clash.Promoted.Nat.clogBaseSNat"
, "workInfo" : "Never"
, "kind" : "Expression"
, "type" : "Clash.Promoted.Nat.clogBaseSNat :: (2 <= base, 1 <= x)
=> SNat base -- ARG[2]
-> SNat x -- ARG[3]
-> SNat (CLog base x)"
, "template" : "integer(ceiling(log(real(~LIT[3]),real(~LIT[2]))))"
}
}
, { "BlackBox" :
{ "name" : "Clash.Promoted.Nat.logBaseSNat"
, "workInfo" : "Never"
, "kind" : "Expression"
, "type" : "Clash.Promoted.Nat.logBaseSNat :: (FLog base x ~ CLog base x)
=> SNat base -- ARG[1]
-> SNat x -- ARG[2]
-> SNat (Log base x)"
, "template" : "integer(ceiling(log(real(~LIT[2]),real(~LIT[1]))))"
}
}
]