/// <summary> /// Gets the modulus of the given values. /// </summary> /// <typeparam name="TLeft">The type of the left hand side.</typeparam> /// <typeparam name="TRight">The type of the right hand side.</typeparam> /// <typeparam name="TResult">The result type.</typeparam> /// <param name="left">The left hand side parameter.</param> /// <param name="right">The right hand side parameter.</param> /// <returns>The modulus.</returns> internal static TResult Modulo <TLeft, TRight, TResult>(TLeft left, TRight right) => ModuloImplementation <TLeft, TRight, TResult> .Invoke(left, right);
/// <summary> /// Gets the modulus of the given values. /// </summary> /// <typeparam name="T">The type of the operation (left hand side, right hand side, and result).</typeparam> /// <param name="left">The left hand side parameter.</param> /// <param name="right">The right hand side parameter.</param> /// <returns>The modulus.</returns> internal static T Modulo <T>(T left, T right) => ModuloImplementation <T, T, T> .Invoke(left, right);