Ops

dfhdl.core.DFDecimal$package.DFXInt.Val.Ops
object Ops

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Ops.type

Members list

Value members

Concrete methods

def clog2[P, S <: Boolean, W <: IntP, N <: NativeType](dfVal: DFValTP[DFXInt[S, W, N], P])(using DFC, ConstCheck[P]): DFValTP[DFXInt[S, W, N], P]

Extensions

Extensions

extension [P, S <: Boolean, W <: IntP, N <: NativeType](lhs: DFValTP[DFXInt[S, W, N], P])
def toScalaBigInt(using DFC, ConstCheck[P]): BigInt
def toScalaInt(using DFC, ConstCheck[P]): Int
extension [L <: DFValAny](lhs: L)(using icL: Candidate[L])
def <[R](rhs: Exact[R])(using dfc: DFC, op: Compare[DFXInt[icL.OutS, icL.OutW, icL.OutN], R, <.type, false]): DFValOf[DFBool]
def <=[R](rhs: Exact[R])(using dfc: DFC, op: Compare[DFXInt[icL.OutS, icL.OutW, icL.OutN], R, <=.type, false]): DFValOf[DFBool]
def >[R](rhs: Exact[R])(using dfc: DFC, op: Compare[DFXInt[icL.OutS, icL.OutW, icL.OutN], R, >.type, false]): DFValOf[DFBool]
def >=[R](rhs: Exact[R])(using dfc: DFC, op: Compare[DFXInt[icL.OutS, icL.OutW, icL.OutN], R, >=.type, false]): DFValOf[DFBool]
extension [S <: Boolean, W <: IntP, N <: NativeType, P](lhs: DFValTP[DFXInt[S, W, N], P])
def <<[R](shift: Exact[R])(using c: UBArg[W, R], dfc: DFC): DFValTP[DFXInt[S, W, N], P | c.OutP]
def >>[R](shift: Exact[R])(using c: UBArg[W, R], dfc: DFC): DFValTP[DFXInt[S, W, N], P | c.OutP]
def resize[RW <: IntP](updatedWidth: IntParam[RW])(using dfc: DFC, check: CheckNUB[S, RW]): DFValTP[DFXInt[S, RW, BitAccurate], P]
def truncate(using DFC): DFValTP[DFXInt[S, Int, N], P]
extension [L](lhs: L)
def <[RS <: Boolean, RW <: Int, RN <: NativeType](rhs: DFValOf[DFXInt[RS, RW, RN]])(using es: Summon[L, lhs.type])(using dfc: DFC, op: Compare[DFXInt[RS, RW, RN], es.Out, <.type, true]): DFValOf[DFBool]
def <=[RS <: Boolean, RW <: Int, RN <: NativeType](rhs: DFValOf[DFXInt[RS, RW, RN]])(using es: Summon[L, lhs.type])(using dfc: DFC, op: Compare[DFXInt[RS, RW, RN], es.Out, <=.type, true]): DFValOf[DFBool]
def >[RS <: Boolean, RW <: Int, RN <: NativeType](rhs: DFValOf[DFXInt[RS, RW, RN]])(using es: Summon[L, lhs.type])(using dfc: DFC, op: Compare[DFXInt[RS, RW, RN], es.Out, >.type, true]): DFValOf[DFBool]
def >=[RS <: Boolean, RW <: Int, RN <: NativeType](rhs: DFValOf[DFXInt[RS, RW, RN]])(using es: Summon[L, lhs.type])(using dfc: DFC, op: Compare[DFXInt[RS, RW, RN], es.Out, >=.type, true]): DFValOf[DFBool]
extension [L <: DFValAny](lhs: L)(using icL: Candidate[L])
def %[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: ArithCheck[icL.OutS, icL.OutW, icL.OutN, icR.OutS, icR.OutW, icR.OutN, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | icR.OutP]
def *[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: ArithCheck[icL.OutS, icL.OutW, icL.OutN, icR.OutS, icR.OutW, icR.OutN, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | icR.OutP]
def *^[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: SignCheck[icL.OutS, icR.OutS, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, icL.OutW + icR.OutW, BitAccurate], icL.OutP | icR.OutP]
def +[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: ArithCheck[icL.OutS, icL.OutW, icL.OutN, icR.OutS, icR.OutW, icR.OutN, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | icR.OutP]
def +^[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: SignCheck[icL.OutS, icR.OutS, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, Max[icL.OutW, icR.OutW] + 1, BitAccurate], icL.OutP | icR.OutP]
def -[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: ArithCheck[icL.OutS, icL.OutW, icL.OutN, icR.OutS, icR.OutW, icR.OutN, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | icR.OutP]
def -^[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: SignCheck[icL.OutS, icR.OutS, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, Max[icL.OutW, icR.OutW] + 1, BitAccurate], icL.OutP | icR.OutP]
def /[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: ArithCheck[icL.OutS, icL.OutW, icL.OutN, icR.OutS, icR.OutW, icR.OutN, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | icR.OutP]
def max[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: ArithCheck[icL.OutS, icL.OutW, icL.OutN, icR.OutS, icR.OutW, icR.OutN, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | icR.OutP]
def min[R](rhs: Exact[R])(using icR: Candidate[R])(using dfc: DFC, check: ArithCheck[icL.OutS, icL.OutW, icL.OutN, icR.OutS, icR.OutW, icR.OutN, icR.IsScalaInt, false]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | icR.OutP]
extension [L](lhs: L)
def %[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: ArithCheck[RS, RW, RN, icL.OutS, icL.OutW, icL.OutN, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | RP]
def *[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: ArithCheck[RS, RW, RN, icL.OutS, icL.OutW, icL.OutN, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | RP]
def *^[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: SignCheck[RS, icL.OutS, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, icL.OutW + RW, BitAccurate], icL.OutP | RP]
def +[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: ArithCheck[RS, RW, RN, icL.OutS, icL.OutW, icL.OutN, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | RP]
def +^[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: SignCheck[RS, icL.OutS, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, Max[icL.OutW, RW] + 1, BitAccurate], icL.OutP | RP]
def -[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: ArithCheck[RS, RW, RN, icL.OutS, icL.OutW, icL.OutN, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | RP]
def -^[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: SignCheck[RS, icL.OutS, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, Max[icL.OutW, RW] + 1, BitAccurate], icL.OutP | RP]
def /[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: ArithCheck[RS, RW, RN, icL.OutS, icL.OutW, icL.OutN, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | RP]
def max[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: ArithCheck[RS, RW, RN, icL.OutS, icL.OutW, icL.OutN, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | RP]
def min[RS <: Boolean, RW <: IntP, RN <: NativeType, RP](rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using sL: Summon[L, lhs.type])(using icL: Candidate[sL.Out])(using dfc: DFC, check: ArithCheck[RS, RW, RN, icL.OutS, icL.OutW, icL.OutN, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, icL.OutW, icL.OutN], icL.OutP | RP]