예제 #1
0
 /// <summary>
 /// Multiplies this <see cref="BigNumber" /> with <paramref name="other"/>
 /// modulo <paramref name="modulo"/> and returns the result.
 ///
 /// Precisely, the returned value is <c>z = x * y % m</c>, where
 /// <c>x</c> is the value of this <see cref="BigNumber" /> instance,
 /// <c>y</c> the value of <paramref name="other"/> and <c>m</c> the
 /// value of <paramref name="modulo"/>.
 /// </summary>
 /// <param name="other">The number with which to multiply.</param>
 /// <param name="modulo">The modulo for the multiplication.</param>
 /// <returns>
 /// A <see cref="BigNumber" /> instance with value<c>z</c>.
 /// </returns>
 public BigNumber ModMul(BigNumber other, BigNumber modulo)
 {
     using (var ctx = BigNumberContextHandle.Create())
     {
         var result = new BigNumber();
         BigNumberHandle.ModMul(result.Handle, Handle, other.Handle, modulo.Handle, ctx);
         return(result);
     }
 }