fromP3 method
This is not optimised for speed; fixed-base tables should be precomputed.
Implementation
void fromP3(Point q) {
// Goal: points[i] = (i+1)*Q, i.e., Q, 2Q, ..., 8Q
// This allows lookup of -8Q, ..., -Q, 0, Q, ..., 8Q
points[0].fromP3(q);
final Point tmpP3 = Point.zero();
final projP1xP1 tmpP1xP1 = projP1xP1.zero();
for (int i = 0; i < 7; i++) {
// Compute (i+1)*Q as Q + i*Q and convert to AffineCached
points[i + 1].fromP3(tmpP3..fromP1xP1(tmpP1xP1..addAffine(q, points[i])));
}
}