def _scalarMultiply(P, a, n, relicScalarMult):
<EOL>a = coerceBigInt(a)<EOL>if not a:<EOL><INDENT>return NotImplemented<EOL><DEDENT>a %= n<EOL>result = type(P)()<EOL>relicScalarMult(byref(result), byref(P), byref(a))<EOL>return result<EOL>
Performs scalar multiplication between point P \in G, scalar a \in Z, 
using the function @relicScalarMult. @n is the order of the group G.