typedef struct
{
giant x;
giant y;
giant z;
} point_struct_proj;
typedef point_struct_proj *point_proj;
point_proj
new_point_proj(int shorts);
void
free_point_proj(point_proj pt);
void
ptop_proj(point_proj pt1, point_proj pt2);
void
init_ell_proj(int shorts);
void
ell_double_proj(point_proj pt, giant a, giant p);
void
ell_add_proj(point_proj pt0, point_proj pt1, giant a, giant p);
void
ell_neg_proj(point_proj pt, giant p);
void
ell_sub_proj(point_proj pt0, point_proj pt1, giant a, giant p);
void
ell_mul_proj(point_proj pt0, point_proj pt1, giant k, giant a, giant p);
void
normalize_proj(point_proj pt, giant p);
void
find_point_proj(point_proj pt, giant seed, giant a, giant b, giant p);