edScalarMult function
Implementation
EdPoint edScalarMult(BigInt k, EdPoint point) {
if (k == BigInt.zero) return EdPoint.infinity();
if (k == BigInt.one) return point;
var result = EdPoint.infinity();
var addend = point;
var tempK = k % ed25519L;
while (tempK > BigInt.zero) {
if (tempK.isOdd) {
result = edPointAdd(result, addend);
}
addend = edPointAdd(addend, addend);
tempK >>= 1;
}
return result;
}