$h->X = self::
fe_mul( $h->X,
ParagonIE_Sodium_Core32_Curve25519_Fe::
fromIntArray(self::
$sqrtm1) );
} # if (fe_isnegative(h->X) == (s[31] >> 7)) {
# fe_neg(h->X,h->X);
# }
$i = self::
chrToInt($s[31
]);
if (self::
fe_isnegative($h->X
) === ($i >> 7
)) { $h->X = self::
fe_neg($h->X
);
} # fe_mul(h->T,h->X,h->Y);
$h->T = self::
fe_mul($h->X,
$h->Y
);
return $h;
} /**
* @internal You should not use this directly from another application
*
* @param ParagonIE_Sodium_Core32_Curve25519_Ge_P1p1 $R
* @param ParagonIE_Sodium_Core32_Curve25519_Ge_P3 $p
* @param ParagonIE_Sodium_Core32_Curve25519_Ge_Precomp $q
* @return ParagonIE_Sodium_Core32_Curve25519_Ge_P1p1
* @throws SodiumException
* @throws TypeError
*/