ParagonIE_Sodium_Core32_Int32::
fromInt(self::
$d[9
]) ) );
} /** @var ParagonIE_Sodium_Core32_Curve25519_Fe $d */
# fe_frombytes(h->Y,s);
# fe_1(h->Z);
$h =
new ParagonIE_Sodium_Core32_Curve25519_Ge_P3( self::
fe_0(),
self::
fe_frombytes($s),
self::
fe_1() );
# fe_sq(u,h->Y);
# fe_mul(v,u,d);
# fe_sub(u,u,h->Z); /* u = y^2-1 */
# fe_add(v,v,h->Z); /* v = dy^2+1 */
$u = self::
fe_sq($h->Y
);
/** @var ParagonIE_Sodium_Core32_Curve25519_Fe $d */
$v = self::
fe_mul($u,
$d);
$u = self::
fe_sub($u,
$h->Z
); /* u = y^2 - 1 */
$v = self::
fe_add($v,
$h->Z
); /* v = dy^2 + 1 */