#include "ge.h" /* r = p + q */ void ge_add(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) { fe t0; fe_add(r->X,p->Y,p->X); fe_sub(r->Y,p->Y,p->X); fe_mul(r->Z,r->X,q->YplusX); fe_mul(r->Y,r->Y,q->YminusX); fe_mul(r->T,q->T2d,p->T); fe_mul(r->X,p->Z,q->Z); fe_add(t0,r->X,r->X); fe_sub(r->X,r->Z,r->Y); fe_add(r->Y,r->Z,r->Y); fe_add(r->Z,t0,r->T); fe_sub(r->T,t0,r->T); }