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 <<(shift: Exact[W])(using dfc: DFC): DFValTP[DFXInt[S, W, N], P | shift.tc.OutP]
def >>(shift: Exact[W])(using dfc: DFC): DFValTP[DFXInt[S, W, N], P | shift.tc.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 <: Int](lhs: L)
def **[P](shift: DFValTP[DFInt32, P])(using dfc: DFC): DFValTP[DFInt32, P]
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 <<[P](shift: DFValTP[DFInt32, P])(using dfc: DFC): DFValTP[DFInt32, P]
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 >>[P](shift: DFValTP[DFInt32, P])(using dfc: DFC): DFValTP[DFInt32, CONST | P]
extension [L <: DFValAny, LS <: Boolean, LW <: IntP, LN <: NativeType, LP, R, RS <: Boolean, RW <: IntP, RN <: NativeType, RP](lhs: L)(using icL: Aux[L, LS, LW, LN, LP])
def %(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: ArithCheck[LS, LW, LN, RS, RW, RN, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def *(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: ArithCheck[LS, LW, LN, RS, RW, RN, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def *^(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: SignCheck[LS, RS, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, LW + RW, BitAccurate], LP | RP]
def +(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: ArithCheck[LS, LW, LN, RS, RW, RN, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def +^(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: SignCheck[LS, RS, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, Max[LW, RW] + 1, BitAccurate], LP | RP]
def -(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: ArithCheck[LS, LW, LN, RS, RW, RN, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def -^(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: SignCheck[LS, RS, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, Max[LW, RW] + 1, BitAccurate], LP | RP]
def /(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: ArithCheck[LS, LW, LN, RS, RW, RN, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def max(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: ArithCheck[LS, LW, LN, RS, RW, RN, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def min(rhs: ExactAux[R])(using dfc: DFC, icR: Aux[R, RS, RW, RN, RP])(using check: ArithCheck[LS, LW, LN, RS, RW, RN, icR.IsScalaInt, false]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
extension [L <: Int, LE, LS <: Boolean, LW <: IntP, LN <: NativeType, LP, RS <: Boolean, RW <: IntP, RN <: NativeType, RP](lhs: L)
def %(rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using dfc: DFC, sL: Aux[L, lhs.type, LE])(using icL: Aux[LE, LS, LW, LN, LP])(using check: ArithCheck[RS, RW, RN, LS, LW, LN, icL.IsScalaInt, true]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def *(rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using dfc: DFC, sL: Aux[L, lhs.type, LE])(using icL: Aux[LE, LS, LW, LN, LP])(using check: ArithCheck[RS, RW, RN, LS, LW, LN, icL.IsScalaInt, true]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def +(rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using dfc: DFC, sL: Aux[L, lhs.type, LE])(using icL: Aux[LE, LS, LW, LN, LP])(using check: ArithCheck[RS, RW, RN, LS, LW, LN, icL.IsScalaInt, true]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def -(rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using dfc: DFC, sL: Aux[L, lhs.type, LE])(using icL: Aux[LE, LS, LW, LN, LP])(using check: ArithCheck[RS, RW, RN, LS, LW, LN, icL.IsScalaInt, true]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def /(rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using dfc: DFC, sL: Aux[L, lhs.type, LE])(using icL: Aux[LE, LS, LW, LN, LP])(using check: ArithCheck[RS, RW, RN, LS, LW, LN, icL.IsScalaInt, true]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def max(rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using dfc: DFC, sL: Aux[L, lhs.type, LE])(using icL: Aux[LE, LS, LW, LN, LP])(using check: ArithCheck[RS, RW, RN, LS, LW, LN, icL.IsScalaInt, true]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def max(rhs: Int): Int
def min(rhs: DFValTP[DFXInt[RS, RW, RN], RP])(using dfc: DFC, sL: Aux[L, lhs.type, LE])(using icL: Aux[LE, LS, LW, LN, LP])(using check: ArithCheck[RS, RW, RN, LS, LW, LN, icL.IsScalaInt, true]): DFValTP[DFXInt[LS, LW, LN], LP | RP]
def min(rhs: Int): Int
extension [L <: Int](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: 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: 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: SignCheck[RS, icL.OutS, icL.IsScalaInt, true]): DFValTP[DFXInt[icL.OutS, Max[icL.OutW, RW] + 1, BitAccurate], icL.OutP | RP]