/* Conditional move of Q to P dependant on d */ public void cmove(ECP2 Q, int d) { x.cmove(Q.x, d); y.cmove(Q.y, d); z.cmove(Q.z, d); bool bd; if (d == 0) { bd = false; } else { bd = true; } INF ^= (INF ^ Q.INF) & bd; }
/* Conditional move of Q to P dependant on d */ public void cmove(ECP2 Q, int d) { x.cmove(Q.x, d); y.cmove(Q.y, d); z.cmove(Q.z, d); bool bd; if (d == 0) { bd = false; } else { bd = true; } INF ^= (INF ^ Q.INF) & bd; }