sqrtAlt method
Returns (isSquare, sqrtValue)
Implementation
FieldSqrtResult<F> sqrtAlt(F u) {
final v = u.powByTMinus1Over2();
final uv = u * v;
final res = sqrtCommon(uv, v);
final sq = res.square();
final isSquare = (sq - u).isZero();
final isNonSquare = (sq - rootOfUnity * u).isZero();
// Sanity check (optional, only for debug)
assert(u.isZero() || (isSquare ^ isNonSquare));
return FieldSqrtResult(res, isSquare);
}