pub fn ec_add_unequal<F: PrimeField, 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 nor Q is the point at infinity (undefined behavior otherwise)