$p1 = self::
ristretto255_elligator($r1);
//ge25519_p3_to_cached(&p1_cached, &p1);
//ge25519_add_cached(&p_p1p1, &p0, &p1_cached);
$p_p1p1 = self::
ge_add( $p0,
self::
ge_p3_to_cached($p1) );
//ge25519_p1p1_to_p3(&p, &p_p1p1);
//ristretto255_p3_tobytes(s, &p);
return self::
ristretto255_p3_tobytes( self::
ge_p1p1_to_p3($p_p1p1) );
} /**
* @param string $p
* @return int
* @throws SodiumException
*/
public static function is_valid_point($p) {