pub fn ec_sub_unequal<F: BigPrimeField, FC: FieldChip<F>>(
chip: &FC,
ctx: &mut Context<F>,
P: impl Into<ComparableEcPoint<F, FC>>,
Q: impl Into<ComparableEcPoint<F, FC>>,
is_strict: bool,
) -> EcPoint<F, FC::FieldPoint>Expand description
If is_strict = true, then this function constrains that P.x != Q.x.
If you are calling this with is_strict = false, you must ensure that P.x != Q.x by some external logic (such
as a mathematical theorem).
ยงAssumptions
- Neither
PnorQis the point at infinity (undefined behavior otherwise)