Lines Matching refs:p

471 static void ge_p3_to_p2(ge_p2 *r, const ge_p3 *p) {  in ge_p3_to_p2()  argument
472 fe_copy(&r->X, &p->X); in ge_p3_to_p2()
473 fe_copy(&r->Y, &p->Y); in ge_p3_to_p2()
474 fe_copy(&r->Z, &p->Z); in ge_p3_to_p2()
478 void x25519_ge_p3_to_cached(ge_cached *r, const ge_p3 *p) { in x25519_ge_p3_to_cached() argument
479 fe_add(&r->YplusX, &p->Y, &p->X); in x25519_ge_p3_to_cached()
480 fe_sub(&r->YminusX, &p->Y, &p->X); in x25519_ge_p3_to_cached()
481 fe_copy_lt(&r->Z, &p->Z); in x25519_ge_p3_to_cached()
482 fe_mul_ltt(&r->T2d, &p->T, &d2); in x25519_ge_p3_to_cached()
486 void x25519_ge_p1p1_to_p2(ge_p2 *r, const ge_p1p1 *p) { in x25519_ge_p1p1_to_p2() argument
487 fe_mul_tll(&r->X, &p->X, &p->T); in x25519_ge_p1p1_to_p2()
488 fe_mul_tll(&r->Y, &p->Y, &p->Z); in x25519_ge_p1p1_to_p2()
489 fe_mul_tll(&r->Z, &p->Z, &p->T); in x25519_ge_p1p1_to_p2()
493 void x25519_ge_p1p1_to_p3(ge_p3 *r, const ge_p1p1 *p) { in x25519_ge_p1p1_to_p3() argument
494 fe_mul_tll(&r->X, &p->X, &p->T); in x25519_ge_p1p1_to_p3()
495 fe_mul_tll(&r->Y, &p->Y, &p->Z); in x25519_ge_p1p1_to_p3()
496 fe_mul_tll(&r->Z, &p->Z, &p->T); in x25519_ge_p1p1_to_p3()
497 fe_mul_tll(&r->T, &p->X, &p->Y); in x25519_ge_p1p1_to_p3()
501 static void ge_p2_dbl(ge_p1p1 *r, const ge_p2 *p) { in ge_p2_dbl() argument
505 fe_sq_tt(&trX, &p->X); in ge_p2_dbl()
506 fe_sq_tt(&trZ, &p->Y); in ge_p2_dbl()
507 fe_sq2_tt(&trT, &p->Z); in ge_p2_dbl()
508 fe_add(&r->Y, &p->X, &p->Y); in ge_p2_dbl()
520 static void ge_p3_dbl(ge_p1p1 *r, const ge_p3 *p) { in ge_p3_dbl() argument
522 ge_p3_to_p2(&q, p); in ge_p3_dbl()
527 static void ge_madd(ge_p1p1 *r, const ge_p3 *p, const ge_precomp *q) { in ge_madd() argument
530 fe_add(&r->X, &p->Y, &p->X); in ge_madd()
531 fe_sub(&r->Y, &p->Y, &p->X); in ge_madd()
534 fe_mul_tlt(&trT, &q->xy2d, &p->T); in ge_madd()
535 fe_add(&r->T, &p->Z, &p->Z); in ge_madd()
544 static void ge_msub(ge_p1p1 *r, const ge_p3 *p, const ge_precomp *q) { in ge_msub() argument
547 fe_add(&r->X, &p->Y, &p->X); in ge_msub()
548 fe_sub(&r->Y, &p->Y, &p->X); in ge_msub()
551 fe_mul_tlt(&trT, &q->xy2d, &p->T); in ge_msub()
552 fe_add(&r->T, &p->Z, &p->Z); in ge_msub()
561 void x25519_ge_add(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q) { in x25519_ge_add() argument
564 fe_add(&r->X, &p->Y, &p->X); in x25519_ge_add()
565 fe_sub(&r->Y, &p->Y, &p->X); in x25519_ge_add()
568 fe_mul_tlt(&trT, &q->T2d, &p->T); in x25519_ge_add()
569 fe_mul_ttl(&trX, &p->Z, &q->Z); in x25519_ge_add()
579 void x25519_ge_sub(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q) { in x25519_ge_sub() argument
582 fe_add(&r->X, &p->Y, &p->X); in x25519_ge_sub()
583 fe_sub(&r->Y, &p->Y, &p->X); in x25519_ge_sub()
586 fe_mul_tlt(&trT, &q->T2d, &p->T); in x25519_ge_sub()
587 fe_mul_ttl(&trX, &p->Z, &q->Z); in x25519_ge_sub()