/// <summary>Does an AND operation between two arbitrary-precision /// integer values.</summary> /// <param name='a'>The first arbitrary-precision integer.</param> /// <param name='b'>The second arbitrary-precision integer.</param> /// <returns>An arbitrary-precision integer in which each bit is set if /// the corresponding bits of the two integers are both set.</returns> /// <exception cref='ArgumentNullException'>The parameter <paramref /// name='a'/> or <paramref name='b'/> is null.</exception> /// <remarks>Each arbitrary-precision integer is treated as a /// two's-complement form (see /// <see cref='PeterO.Numbers.EDecimal'>"Forms of numbers"</see> ) for /// the purposes of this operator.</remarks> public static EInteger And(EInteger a, EInteger b) { if (a == null) { throw new ArgumentNullException(nameof(a)); } if (b == null) { throw new ArgumentNullException(nameof(b)); } return(a.And(b)); }