strict
object strict
A policy that supports all standard operations, but does not support operations that involve any implicit conversions of either units or value types. For example, one may add two quantities having the same unit and value type, but not quantities differing in either their value type or unit.
Explicit conversions such as q.toUnit
or q.toValue
are allowed.
import coulomb.*
import coulomb.policy.strict.given
import algebra.instances.all.given
import coulomb.ops.algebra.all.given
- Source:
- policy.scala
Exports
Defined exports
given ctx_add_1V1U[VL, UL, VR, UR](using eqv: VR =:= VL, equ: UR =:= UL, alg: AdditiveSemigroup[VL])
given ctx_add_1V2U[VL, UL, VR, UR](using eqv: VR =:= VL, neu: NotGiven[UR =:= UL], icr: Conversion[Quantity[VR, UR], Quantity[VL, UL]], alg: AdditiveSemigroup[VL])
given ctx_add_2V1U[VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], equ: UR =:= UL, vres: ValueResolution[VL, VR], icl: Conversion[Quantity[VL, UL], Quantity[VO, UL]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UL]], alg: AdditiveSemigroup[VO])
given ctx_add_2V2U[VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], neu: NotGiven[UR =:= UL], vres: ValueResolution[VL, VR], icl: Conversion[Quantity[VL, UL], Quantity[VO, UL]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UL]], alg: AdditiveSemigroup[VO])
given ctx_deltaaddq_1V1U[B, VL, UL, VR, UR](using eqv: VR =:= VL, equ: UR =:= UL, alg: AdditiveSemigroup[VL])
Exported from all
- Source:
- deltaaddq.scala
given ctx_deltaaddq_1V2U[B, VL, UL, VR, UR](using eqv: VR =:= VL, neu: NotGiven[UR =:= UL], icr: Conversion[Quantity[VR, UR], Quantity[VL, UL]], alg: AdditiveSemigroup[VL])
Exported from all
- Source:
- deltaaddq.scala
given ctx_deltaaddq_2V1U[B, VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], equ: UR =:= UL, vres: ValueResolution[VL, VR], icl: Conversion[DeltaQuantity[VL, UL, B], DeltaQuantity[VO, UL, B]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UL]], alg: AdditiveSemigroup[VO])
Exported from all
- Source:
- deltaaddq.scala
given ctx_deltaaddq_2V2U[B, VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], neu: NotGiven[UR =:= UL], vres: ValueResolution[VL, VR], icl: Conversion[DeltaQuantity[VL, UL, B], DeltaQuantity[VO, UL, B]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UL]], alg: AdditiveSemigroup[VO])
Exported from all
- Source:
- deltaaddq.scala
given ctx_deltaord_1V2U[B, VL, UL, VR, UR](using eqv: VR =:= VL, neu: NotGiven[UR =:= UL], icr: Conversion[DeltaQuantity[VR, UR, B], DeltaQuantity[VL, UL, B]], ord: Order[VL])
Exported from all
- Source:
- deltaord.scala
given ctx_deltaord_2V1U[B, VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], equ: UR =:= UL, vres: ValueResolution[VL, VR], icl: Conversion[DeltaQuantity[VL, UL, B], DeltaQuantity[VO, UL, B]], icr: Conversion[DeltaQuantity[VR, UR, B], DeltaQuantity[VO, UL, B]], ord: Order[VO])
Exported from all
- Source:
- deltaord.scala
given ctx_deltaord_2V2U[B, VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], neu: NotGiven[UR =:= UL], vres: ValueResolution[VL, VR], icl: Conversion[DeltaQuantity[VL, UL, B], DeltaQuantity[VO, UL, B]], icr: Conversion[DeltaQuantity[VR, UR, B], DeltaQuantity[VO, UL, B]], ord: Order[VO])
Exported from all
- Source:
- deltaord.scala
given ctx_deltasub_1V1U[B, VL, UL, VR, UR](using eqv: VR =:= VL, equ: UR =:= UL, alg: AdditiveGroup[VL])
Exported from all
- Source:
- deltasub.scala
given ctx_deltasub_1V2U[B, VL, UL, VR, UR](using eqv: VR =:= VL, neu: NotGiven[UR =:= UL], icr: Conversion[DeltaQuantity[VR, UR, B], DeltaQuantity[VL, UL, B]], alg: AdditiveGroup[VL])
Exported from all
- Source:
- deltasub.scala
given ctx_deltasub_2V1U[B, VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], equ: UR =:= UL, vres: ValueResolution[VL, VR], icl: Conversion[DeltaQuantity[VL, UL, B], DeltaQuantity[VO, UL, B]], icr: Conversion[DeltaQuantity[VR, UR, B], DeltaQuantity[VO, UL, B]], alg: AdditiveGroup[VO])
Exported from all
- Source:
- deltasub.scala
given ctx_deltasub_2V2U[B, VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], neu: NotGiven[UR =:= UL], vres: ValueResolution[VL, VR], icl: Conversion[DeltaQuantity[VL, UL, B], DeltaQuantity[VO, UL, B]], icr: Conversion[DeltaQuantity[VR, UR, B], DeltaQuantity[VO, UL, B]], alg: AdditiveGroup[VO])
Exported from all
- Source:
- deltasub.scala
given ctx_deltasubq_1V1U[B, VL, UL, VR, UR](using eqv: VR =:= VL, equ: UR =:= UL, alg: AdditiveGroup[VL])
Exported from all
- Source:
- deltasubq.scala
given ctx_deltasubq_1V2U[B, VL, UL, VR, UR](using eqv: VR =:= VL, neu: NotGiven[UR =:= UL], icr: Conversion[Quantity[VR, UR], Quantity[VL, UL]], alg: AdditiveGroup[VL])
Exported from all
- Source:
- deltasubq.scala
given ctx_deltasubq_2V1U[B, VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], equ: UR =:= UL, vres: ValueResolution[VL, VR], icl: Conversion[DeltaQuantity[VL, UL, B], DeltaQuantity[VO, UL, B]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UL]], alg: AdditiveGroup[VO])
Exported from all
- Source:
- deltasubq.scala
given ctx_deltasubq_2V2U[B, VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], neu: NotGiven[UR =:= UL], vres: ValueResolution[VL, VR], icl: Conversion[DeltaQuantity[VL, UL, B], DeltaQuantity[VO, UL, B]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UL]], alg: AdditiveGroup[VO])
Exported from all
- Source:
- deltasubq.scala
given ctx_div_1V2U[VL, UL, VR, UR](using eqv: VR =:= VL, alg: MultiplicativeGroup[VL], su: SimplifiedUnit[UL / UR])
given ctx_div_2V2U[VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], vres: ValueResolution[VL, VR], icl: Conversion[Quantity[VL, UL], Quantity[VO, UL]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UR]], alg: MultiplicativeGroup[VO], su: SimplifiedUnit[UL / UR])
given ctx_mul_1V2U[VL, UL, VR, UR](using eqv: VR =:= VL, alg: MultiplicativeSemigroup[VL], su: SimplifiedUnit[UL * UR])
given ctx_mul_2V2U[VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], vres: ValueResolution[VL, VR], icl: Conversion[Quantity[VL, UL], Quantity[VO, UL]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UR]], alg: MultiplicativeSemigroup[VO], su: SimplifiedUnit[UL * UR])
given ctx_sub_1V2U[VL, UL, VR, UR](using eqv: VR =:= VL, neu: NotGiven[UR =:= UL], icr: Conversion[Quantity[VR, UR], Quantity[VL, UL]], alg: AdditiveGroup[VL])
given ctx_sub_2V1U[VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], equ: UR =:= UL, vres: ValueResolution[VL, VR], icl: Conversion[Quantity[VL, UL], Quantity[VO, UL]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UL]], alg: AdditiveGroup[VO])
given ctx_sub_2V2U[VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], neu: NotGiven[UR =:= UL], vres: ValueResolution[VL, VR], icl: Conversion[Quantity[VL, UL], Quantity[VO, UL]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UL]], alg: AdditiveGroup[VO])
given ctx_tquot_1V2U[VL, UL, VR, UR](using eqv: VR =:= VL, alg: TruncatedDivision[VL], su: SimplifiedUnit[UL / UR])
Exported from all
- Source:
- tquot.scala
given ctx_tquot_2V2U[VL, UL, VR, UR](using nev: NotGiven[VR =:= VL], vres: ValueResolution[VL, VR], icl: Conversion[Quantity[VL, UL], Quantity[VO, UL]], icr: Conversion[Quantity[VR, UR], Quantity[VO, UR]], alg: TruncatedDivision[VO], su: SimplifiedUnit[UL / UR])
Exported from all
- Source:
- tquot.scala