pub fn ec_add_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
P
norQ
is the point at infinity (undefined behavior otherwise)