1875 {
1876 if (typeof(T) == typeof(byte))
1877 {
1878 return (T)(object)(byte)((byte)(object)left * (byte)(object)right);
1879 }
1880 if (typeof(T) == typeof(sbyte))
1881 {
1882 return (T)(object)(sbyte)((sbyte)(object)left * (sbyte)(object)right);
1883 }
1884 if (typeof(T) == typeof(ushort))
1885 {
1886 return (T)(object)(ushort)((ushort)(object)left * (ushort)(object)right);
1887 }
1888 if (typeof(T) == typeof(short))
1889 {
1890 return (T)(object)(
short)((
short)(
object)left * (
short)(
object)right);
1891 }
1892 if (typeof(T) == typeof(uint))
1893 {
1894 return (T)(object)((uint)(object)left * (uint)(object)right);
1895 }
1896 if (typeof(T) == typeof(int))
1897 {
1898 return (T)(object)((int)(object)left * (int)(object)right);
1899 }
1900 if (typeof(T) == typeof(ulong))
1901 {
1902 return (T)(object)((ulong)(object)left * (ulong)(object)right);
1903 }
1904 if (typeof(T) == typeof(long))
1905 {
1906 return (T)(object)((long)(object)left * (long)(object)right);
1907 }
1908 if (typeof(T) == typeof(float))
1909 {
1910 return (T)(object)((float)(object)left * (float)(object)right);
1911 }
1912 if (typeof(T) == typeof(double))
1913 {
1914 return (T)(object)((double)(object)left * (double)(object)right);
1915 }
1916 if (typeof(T) == typeof(UIntPtr))
1917 {
1918 return (T)(object)(nuint)((nint)(nuint)(
UIntPtr)(
object)left * (nint)(nuint)(
UIntPtr)(
object)right);
1919 }
1920 if (typeof(T) == typeof(IntPtr))
1921 {
1922 return (T)(object)((nint)(
IntPtr)(
object)left * (nint)(IntPtr)(object)right);
1923 }
1924 throw new NotSupportedException(SR.Arg_TypeNotSupported);
1925 }