private static void InitMin() { Min = GenericMethod.Get("Min", "Min"); Min.Add <byte, byte>((a, b) => Math.Min(a, b)); Min.Add <sbyte, sbyte>((a, b) => Math.Min(a, b)); Min.Add <char, char>((a, b) => (char)Math.Min(a, b)); Min.Add <short, short>((a, b) => Math.Min(a, b)); Min.Add <ushort, ushort>((a, b) => Math.Min(a, b)); Min.Add <int, int>((a, b) => Math.Min(a, b)); Min.Add <uint, uint>((a, b) => Math.Min(a, b)); Min.Add <long, long>((a, b) => Math.Min(a, b)); Min.Add <ulong, ulong>((a, b) => Math.Min(a, b)); Min.Add <decimal, decimal>((a, b) => Math.Min(a, b)); Min.Add <float, float>((a, b) => Math.Min(a, b)); Min.Add <double, double>((a, b) => Math.Min(a, b)); }
private static void InitSign() { Sign = GenericMethod.Get("Sign", "Sign"); Sign.Add <byte>(a => Math.Sign(a)); Sign.Add <sbyte>(a => Math.Sign(a)); Sign.Add <char>(a => Math.Sign(a)); Sign.Add <short>(a => Math.Sign(a)); Sign.Add <ushort>(a => Math.Sign(a)); Sign.Add <int>(a => Math.Sign(a)); Sign.Add <uint>(a => Math.Sign(a)); Sign.Add <long>(a => Math.Sign(a)); //Sign.Add<ulong>(a => Math.Sign(a)); Sign.Add <decimal>(a => Math.Sign(a)); Sign.Add <float>(a => Math.Sign(a)); Sign.Add <double>(a => Math.Sign(a)); }
private static void InitAbs() { Abs = GenericMethod.Get("Abs", "Abs"); Abs.Add <byte>(a => (byte)Math.Abs(a)); Abs.Add <sbyte>(a => Math.Abs(a)); Abs.Add <char>(a => (char)Math.Abs(a)); Abs.Add <short>(a => Math.Abs(a)); Abs.Add <ushort>(a => (ushort)Math.Abs(a)); Abs.Add <int>(a => Math.Abs(a)); Abs.Add <uint>(a => (uint)Math.Abs(a)); Abs.Add <long>(a => Math.Abs(a)); //Abs.Add<ulong>(a => (ulong)Math.Abs(a)); Abs.Add <decimal>(a => Math.Abs(a)); Abs.Add <float>(a => Math.Abs(a)); Abs.Add <double>(a => Math.Abs(a)); }
private static void InitSqrt() { Sqrt = GenericMethod.Get("Sqrt", "Sqrt"); Sqrt.Add <byte>(a => (byte)Math.Sqrt(a)); Sqrt.Add <sbyte>(a => (sbyte)Math.Sqrt(a)); Sqrt.Add <char>(a => (char)Math.Sqrt(a)); Sqrt.Add <short>(a => (short)Math.Sqrt(a)); Sqrt.Add <ushort>(a => (ushort)Math.Sqrt(a)); Sqrt.Add <int>(a => (int)Math.Sqrt(a)); Sqrt.Add <uint>(a => (uint)Math.Sqrt(a)); Sqrt.Add <long>(a => (long)Math.Sqrt(a)); Sqrt.Add <ulong>(a => (ulong)Math.Sqrt(a)); //Sqrt.Add<decimal>(a => (decimal)Math.Sqrt(a)); Sqrt.Add <float>(a => (float)Math.Sqrt(a)); Sqrt.Add <double>(a => Math.Sqrt(a)); }
private static void InitZero() { Zero = GenericMethod.Get("Zero", "Zero"); Zero.AddValue(false); Zero.AddValue <byte>(0); Zero.AddValue <sbyte>(0); Zero.AddValue('\0'); Zero.AddValue <short>(0); Zero.AddValue <ushort>(0); Zero.AddValue(0); Zero.AddValue(0U); Zero.AddValue(0L); Zero.AddValue(0UL); Zero.AddValue(0.0M); Zero.AddValue(0.0F); Zero.AddValue(0.0); }
private static void InitNegative() { Negative = GenericMethod.Get("Negative", "Negative", "op_UnaryNegation"); Negative.Add <bool>(a => !a); Negative.Add <byte>(a => (byte)-a); Negative.Add <sbyte>(a => (sbyte)-a); Negative.Add <char>(a => (char)-a); Negative.Add <short>(a => (short)-a); Negative.Add <ushort>(a => (ushort)-a); Negative.Add <int>(a => - a); Negative.Add <uint>(a => (uint)-a); Negative.Add <long>(a => - a); //Negative.Add<ulong>(a => (ulong)-a); Negative.Add <decimal>(a => - a); Negative.Add <float>(a => - a); Negative.Add <double>(a => - a); }
private static void InitOne() { One = GenericMethod.Get("One", "One"); One.AddValue(true); One.AddValue <byte>(1); One.AddValue <sbyte>(1); One.AddValue('\x01'); One.AddValue <short>(1); One.AddValue <ushort>(1); One.AddValue(1); One.AddValue(1U); One.AddValue(1L); One.AddValue(1UL); One.AddValue(1.0M); One.AddValue(1.0F); One.AddValue(1.0); }
private static void InitMultiply() { Multiply = GenericMethod.Get("Multiply", "Multiply", "op_Multiply"); Multiply.Add <bool, bool>((a, b) => a && b); Multiply.Add <byte, byte>((a, b) => a * b); Multiply.Add <byte, sbyte>((a, b) => a * b); Multiply.Add <byte, char>((a, b) => a * b); Multiply.Add <byte, short>((a, b) => a * b); Multiply.Add <byte, ushort>((a, b) => a * b); Multiply.Add <byte, int>((a, b) => a * b); Multiply.Add <byte, uint>((a, b) => a * b); Multiply.Add <byte, long>((a, b) => a * b); Multiply.Add <byte, ulong>((a, b) => a * b); Multiply.Add <byte, decimal>((a, b) => a * b); Multiply.Add <byte, float>((a, b) => a * b); Multiply.Add <byte, double>((a, b) => a * b); Multiply.Add <sbyte, byte>((a, b) => a * b); Multiply.Add <sbyte, sbyte>((a, b) => a * b); Multiply.Add <sbyte, char>((a, b) => a * b); Multiply.Add <sbyte, short>((a, b) => a * b); Multiply.Add <sbyte, ushort>((a, b) => a * b); Multiply.Add <sbyte, int>((a, b) => a * b); Multiply.Add <sbyte, uint>((a, b) => a * b); Multiply.Add <sbyte, long>((a, b) => a * b); //Multiply.Add<sbyte, ulong>((a, b) => a * b); Multiply.Add <sbyte, decimal>((a, b) => a * b); Multiply.Add <sbyte, float>((a, b) => a * b); Multiply.Add <sbyte, double>((a, b) => a * b); Multiply.Add <char, byte>((a, b) => a * b); Multiply.Add <char, sbyte>((a, b) => a * b); Multiply.Add <char, char>((a, b) => a * b); Multiply.Add <char, short>((a, b) => a * b); Multiply.Add <char, ushort>((a, b) => a * b); Multiply.Add <char, int>((a, b) => a * b); Multiply.Add <char, uint>((a, b) => a * b); Multiply.Add <char, long>((a, b) => a * b); Multiply.Add <char, ulong>((a, b) => a * b); Multiply.Add <char, decimal>((a, b) => a * b); Multiply.Add <char, float>((a, b) => a * b); Multiply.Add <char, double>((a, b) => a * b); Multiply.Add <short, byte>((a, b) => a * b); Multiply.Add <short, sbyte>((a, b) => a * b); Multiply.Add <short, char>((a, b) => a * b); Multiply.Add <short, short>((a, b) => a * b); Multiply.Add <short, ushort>((a, b) => a * b); Multiply.Add <short, int>((a, b) => a * b); Multiply.Add <short, uint>((a, b) => a * b); Multiply.Add <short, long>((a, b) => a * b); //Multiply.Add<short, ulong>((a, b) => a * b); Multiply.Add <short, decimal>((a, b) => a * b); Multiply.Add <short, float>((a, b) => a * b); Multiply.Add <short, double>((a, b) => a * b); Multiply.Add <ushort, byte>((a, b) => a * b); Multiply.Add <ushort, sbyte>((a, b) => a * b); Multiply.Add <ushort, char>((a, b) => a * b); Multiply.Add <ushort, short>((a, b) => a * b); Multiply.Add <ushort, ushort>((a, b) => a * b); Multiply.Add <ushort, int>((a, b) => a * b); Multiply.Add <ushort, uint>((a, b) => a * b); Multiply.Add <ushort, long>((a, b) => a * b); Multiply.Add <ushort, ulong>((a, b) => a * b); Multiply.Add <ushort, decimal>((a, b) => a * b); Multiply.Add <ushort, float>((a, b) => a * b); Multiply.Add <ushort, double>((a, b) => a * b); Multiply.Add <int, byte>((a, b) => a * b); Multiply.Add <int, sbyte>((a, b) => a * b); Multiply.Add <int, char>((a, b) => a * b); Multiply.Add <int, short>((a, b) => a * b); Multiply.Add <int, ushort>((a, b) => a * b); Multiply.Add <int, int>((a, b) => a * b); Multiply.Add <int, uint>((a, b) => a * b); Multiply.Add <int, long>((a, b) => a * b); //Multiply.Add<int, ulong>((a, b) => a * b); Multiply.Add <int, decimal>((a, b) => a * b); Multiply.Add <int, float>((a, b) => a * b); Multiply.Add <int, double>((a, b) => a * b); Multiply.Add <uint, byte>((a, b) => a * b); Multiply.Add <uint, sbyte>((a, b) => a * b); Multiply.Add <uint, char>((a, b) => a * b); Multiply.Add <uint, short>((a, b) => a * b); Multiply.Add <uint, ushort>((a, b) => a * b); Multiply.Add <uint, int>((a, b) => a * b); Multiply.Add <uint, uint>((a, b) => a * b); Multiply.Add <uint, long>((a, b) => a * b); Multiply.Add <uint, ulong>((a, b) => a * b); Multiply.Add <uint, decimal>((a, b) => a * b); Multiply.Add <uint, float>((a, b) => a * b); Multiply.Add <uint, double>((a, b) => a * b); Multiply.Add <long, byte>((a, b) => a * b); Multiply.Add <long, sbyte>((a, b) => a * b); Multiply.Add <long, char>((a, b) => a * b); Multiply.Add <long, short>((a, b) => a * b); Multiply.Add <long, ushort>((a, b) => a * b); Multiply.Add <long, int>((a, b) => a * b); Multiply.Add <long, uint>((a, b) => a * b); Multiply.Add <long, long>((a, b) => a * b); //Multiply.Add<long, ulong>((a, b) => a * b); Multiply.Add <long, decimal>((a, b) => a * b); Multiply.Add <long, float>((a, b) => a * b); Multiply.Add <long, double>((a, b) => a * b); Multiply.Add <ulong, byte>((a, b) => a * b); //Multiply.Add<ulong, sbyte>((a, b) => a * b); Multiply.Add <ulong, char>((a, b) => a * b); //Multiply.Add<ulong, short>((a, b) => a * b); Multiply.Add <ulong, ushort>((a, b) => a * b); //Multiply.Add<ulong, int>((a, b) => a * b); Multiply.Add <ulong, uint>((a, b) => a * b); //Multiply.Add<ulong, long>((a, b) => a * b); Multiply.Add <ulong, ulong>((a, b) => a * b); Multiply.Add <ulong, decimal>((a, b) => a * b); Multiply.Add <ulong, float>((a, b) => a * b); Multiply.Add <ulong, double>((a, b) => a * b); Multiply.Add <decimal, byte>((a, b) => a * b); Multiply.Add <decimal, sbyte>((a, b) => a * b); Multiply.Add <decimal, char>((a, b) => a * b); Multiply.Add <decimal, short>((a, b) => a * b); Multiply.Add <decimal, ushort>((a, b) => a * b); Multiply.Add <decimal, int>((a, b) => a * b); Multiply.Add <decimal, uint>((a, b) => a * b); Multiply.Add <decimal, long>((a, b) => a * b); Multiply.Add <decimal, ulong>((a, b) => a * b); Multiply.Add <decimal, decimal>((a, b) => a * b); //Multiply.Add<decimal, float>((a, b) => a * b); //Multiply.Add<decimal, double>((a, b) => a * b); Multiply.Add <float, byte>((a, b) => a * b); Multiply.Add <float, sbyte>((a, b) => a * b); Multiply.Add <float, char>((a, b) => a * b); Multiply.Add <float, short>((a, b) => a * b); Multiply.Add <float, ushort>((a, b) => a * b); Multiply.Add <float, int>((a, b) => a * b); Multiply.Add <float, uint>((a, b) => a * b); Multiply.Add <float, long>((a, b) => a * b); Multiply.Add <float, ulong>((a, b) => a * b); //Multiply.Add<float, decimal>((a, b) => a * b); Multiply.Add <float, float>((a, b) => a * b); Multiply.Add <float, double>((a, b) => a * b); Multiply.Add <double, byte>((a, b) => a * b); Multiply.Add <double, sbyte>((a, b) => a * b); Multiply.Add <double, char>((a, b) => a * b); Multiply.Add <double, short>((a, b) => a * b); Multiply.Add <double, ushort>((a, b) => a * b); Multiply.Add <double, int>((a, b) => a * b); Multiply.Add <double, uint>((a, b) => a * b); Multiply.Add <double, long>((a, b) => a * b); Multiply.Add <double, ulong>((a, b) => a * b); //Multiply.Add<double, decimal>((a, b) => a * b); Multiply.Add <double, float>((a, b) => a * b); Multiply.Add <double, double>((a, b) => a * b); }
private static void InitAdd() { Add = GenericMethod.Get("Add", "Add", "op_Addition"); Add.Add <bool, bool>((a, b) => a || b); Add.Add <byte, byte>((a, b) => a + b); Add.Add <byte, sbyte>((a, b) => a + b); Add.Add <byte, char>((a, b) => a + b); Add.Add <byte, short>((a, b) => a + b); Add.Add <byte, ushort>((a, b) => a + b); Add.Add <byte, int>((a, b) => a + b); Add.Add <byte, uint>((a, b) => a + b); Add.Add <byte, long>((a, b) => a + b); Add.Add <byte, ulong>((a, b) => a + b); Add.Add <byte, decimal>((a, b) => a + b); Add.Add <byte, float>((a, b) => a + b); Add.Add <byte, double>((a, b) => a + b); Add.Add <sbyte, byte>((a, b) => a + b); Add.Add <sbyte, sbyte>((a, b) => a + b); Add.Add <sbyte, char>((a, b) => a + b); Add.Add <sbyte, short>((a, b) => a + b); Add.Add <sbyte, ushort>((a, b) => a + b); Add.Add <sbyte, int>((a, b) => a + b); Add.Add <sbyte, uint>((a, b) => a + b); Add.Add <sbyte, long>((a, b) => a + b); //Add.Add<sbyte, ulong>((a, b) => a + b); Add.Add <sbyte, decimal>((a, b) => a + b); Add.Add <sbyte, float>((a, b) => a + b); Add.Add <sbyte, double>((a, b) => a + b); Add.Add <char, byte>((a, b) => a + b); Add.Add <char, sbyte>((a, b) => a + b); Add.Add <char, char>((a, b) => a + b); Add.Add <char, short>((a, b) => a + b); Add.Add <char, ushort>((a, b) => a + b); Add.Add <char, int>((a, b) => a + b); Add.Add <char, uint>((a, b) => a + b); Add.Add <char, long>((a, b) => a + b); Add.Add <char, ulong>((a, b) => a + b); Add.Add <char, decimal>((a, b) => a + b); Add.Add <char, float>((a, b) => a + b); Add.Add <char, double>((a, b) => a + b); Add.Add <short, byte>((a, b) => a + b); Add.Add <short, sbyte>((a, b) => a + b); Add.Add <short, char>((a, b) => a + b); Add.Add <short, short>((a, b) => a + b); Add.Add <short, ushort>((a, b) => a + b); Add.Add <short, int>((a, b) => a + b); Add.Add <short, uint>((a, b) => a + b); Add.Add <short, long>((a, b) => a + b); //Add.Add<short, ulong>((a, b) => a + b); Add.Add <short, decimal>((a, b) => a + b); Add.Add <short, float>((a, b) => a + b); Add.Add <short, double>((a, b) => a + b); Add.Add <ushort, byte>((a, b) => a + b); Add.Add <ushort, sbyte>((a, b) => a + b); Add.Add <ushort, char>((a, b) => a + b); Add.Add <ushort, short>((a, b) => a + b); Add.Add <ushort, ushort>((a, b) => a + b); Add.Add <ushort, int>((a, b) => a + b); Add.Add <ushort, uint>((a, b) => a + b); Add.Add <ushort, long>((a, b) => a + b); Add.Add <ushort, ulong>((a, b) => a + b); Add.Add <ushort, decimal>((a, b) => a + b); Add.Add <ushort, float>((a, b) => a + b); Add.Add <ushort, double>((a, b) => a + b); Add.Add <int, byte>((a, b) => a + b); Add.Add <int, sbyte>((a, b) => a + b); Add.Add <int, char>((a, b) => a + b); Add.Add <int, short>((a, b) => a + b); Add.Add <int, ushort>((a, b) => a + b); Add.Add <int, int>((a, b) => a + b); Add.Add <int, uint>((a, b) => a + b); Add.Add <int, long>((a, b) => a + b); // Add.Add<int, ulong>((a, b) => a + b); Add.Add <int, decimal>((a, b) => a + b); Add.Add <int, float>((a, b) => a + b); Add.Add <int, double>((a, b) => a + b); Add.Add <uint, byte>((a, b) => a + b); Add.Add <uint, sbyte>((a, b) => a + b); Add.Add <uint, char>((a, b) => a + b); Add.Add <uint, short>((a, b) => a + b); Add.Add <uint, ushort>((a, b) => a + b); Add.Add <uint, int>((a, b) => a + b); Add.Add <uint, uint>((a, b) => a + b); Add.Add <uint, long>((a, b) => a + b); Add.Add <uint, ulong>((a, b) => a + b); Add.Add <uint, decimal>((a, b) => a + b); Add.Add <uint, float>((a, b) => a + b); Add.Add <uint, double>((a, b) => a + b); Add.Add <long, byte>((a, b) => a + b); Add.Add <long, sbyte>((a, b) => a + b); Add.Add <long, char>((a, b) => a + b); Add.Add <long, short>((a, b) => a + b); Add.Add <long, ushort>((a, b) => a + b); Add.Add <long, int>((a, b) => a + b); Add.Add <long, uint>((a, b) => a + b); Add.Add <long, long>((a, b) => a + b); //Add.Add<long, ulong>((a, b) => a + b); Add.Add <long, decimal>((a, b) => a + b); Add.Add <long, float>((a, b) => a + b); Add.Add <long, double>((a, b) => a + b); Add.Add <ulong, byte>((a, b) => a + b); //Add.Add<ulong, sbyte>((a, b) => a + b); Add.Add <ulong, char>((a, b) => a + b); //Add.Add<ulong, short>((a, b) => a + b); Add.Add <ulong, ushort>((a, b) => a + b); //Add.Add<ulong, int>((a, b) => a + b); Add.Add <ulong, uint>((a, b) => a + b); //Add.Add<ulong, long>((a, b) => a + b); Add.Add <ulong, ulong>((a, b) => a + b); Add.Add <ulong, decimal>((a, b) => a + b); Add.Add <ulong, float>((a, b) => a + b); Add.Add <ulong, double>((a, b) => a + b); Add.Add <decimal, byte>((a, b) => a + b); Add.Add <decimal, sbyte>((a, b) => a + b); Add.Add <decimal, char>((a, b) => a + b); Add.Add <decimal, short>((a, b) => a + b); Add.Add <decimal, ushort>((a, b) => a + b); Add.Add <decimal, int>((a, b) => a + b); Add.Add <decimal, uint>((a, b) => a + b); Add.Add <decimal, long>((a, b) => a + b); Add.Add <decimal, ulong>((a, b) => a + b); Add.Add <decimal, decimal>((a, b) => a + b); //Add.Add<decimal, float>((a, b) => a + b); //Add.Add<decimal, double>((a, b) => a + b); Add.Add <float, byte>((a, b) => a + b); Add.Add <float, sbyte>((a, b) => a + b); Add.Add <float, char>((a, b) => a + b); Add.Add <float, short>((a, b) => a + b); Add.Add <float, ushort>((a, b) => a + b); Add.Add <float, int>((a, b) => a + b); Add.Add <float, uint>((a, b) => a + b); Add.Add <float, long>((a, b) => a + b); Add.Add <float, ulong>((a, b) => a + b); //Add.Add<float, decimal>((a, b) => a + b); Add.Add <float, float>((a, b) => a + b); Add.Add <float, double>((a, b) => a + b); Add.Add <double, byte>((a, b) => a + b); Add.Add <double, sbyte>((a, b) => a + b); Add.Add <double, char>((a, b) => a + b); Add.Add <double, short>((a, b) => a + b); Add.Add <double, ushort>((a, b) => a + b); Add.Add <double, int>((a, b) => a + b); Add.Add <double, uint>((a, b) => a + b); Add.Add <double, long>((a, b) => a + b); Add.Add <double, ulong>((a, b) => a + b); //Add.Add<double, decimal>((a, b) => a + b); Add.Add <double, float>((a, b) => a + b); Add.Add <double, double>((a, b) => a + b); }
private static void InitDivide() { Divide = GenericMethod.Get("Divide", "Divide", "op_Division"); Divide.Add <byte, byte>((a, b) => a / b); Divide.Add <byte, sbyte>((a, b) => a / b); Divide.Add <byte, char>((a, b) => a / b); Divide.Add <byte, short>((a, b) => a / b); Divide.Add <byte, ushort>((a, b) => a / b); Divide.Add <byte, int>((a, b) => a / b); Divide.Add <byte, uint>((a, b) => a / b); Divide.Add <byte, long>((a, b) => a / b); Divide.Add <byte, ulong>((a, b) => a / b); Divide.Add <byte, decimal>((a, b) => a / b); Divide.Add <byte, float>((a, b) => a / b); Divide.Add <byte, double>((a, b) => a / b); Divide.Add <sbyte, byte>((a, b) => a / b); Divide.Add <sbyte, sbyte>((a, b) => a / b); Divide.Add <sbyte, char>((a, b) => a / b); Divide.Add <sbyte, short>((a, b) => a / b); Divide.Add <sbyte, ushort>((a, b) => a / b); Divide.Add <sbyte, int>((a, b) => a / b); Divide.Add <sbyte, uint>((a, b) => a / b); Divide.Add <sbyte, long>((a, b) => a / b); //Divide.Add<sbyte, ulong>((a, b) => a / b); Divide.Add <sbyte, decimal>((a, b) => a / b); Divide.Add <sbyte, float>((a, b) => a / b); Divide.Add <sbyte, double>((a, b) => a / b); Divide.Add <char, byte>((a, b) => a / b); Divide.Add <char, sbyte>((a, b) => a / b); Divide.Add <char, char>((a, b) => a / b); Divide.Add <char, short>((a, b) => a / b); Divide.Add <char, ushort>((a, b) => a / b); Divide.Add <char, int>((a, b) => a / b); Divide.Add <char, uint>((a, b) => a / b); Divide.Add <char, long>((a, b) => a / b); Divide.Add <char, ulong>((a, b) => a / b); Divide.Add <char, decimal>((a, b) => a / b); Divide.Add <char, float>((a, b) => a / b); Divide.Add <char, double>((a, b) => a / b); Divide.Add <short, byte>((a, b) => a / b); Divide.Add <short, sbyte>((a, b) => a / b); Divide.Add <short, char>((a, b) => a / b); Divide.Add <short, short>((a, b) => a / b); Divide.Add <short, ushort>((a, b) => a / b); Divide.Add <short, int>((a, b) => a / b); Divide.Add <short, uint>((a, b) => a / b); Divide.Add <short, long>((a, b) => a / b); //Divide.Add<short, ulong>((a, b) => a / b); Divide.Add <short, decimal>((a, b) => a / b); Divide.Add <short, float>((a, b) => a / b); Divide.Add <short, double>((a, b) => a / b); Divide.Add <ushort, byte>((a, b) => a / b); Divide.Add <ushort, sbyte>((a, b) => a / b); Divide.Add <ushort, char>((a, b) => a / b); Divide.Add <ushort, short>((a, b) => a / b); Divide.Add <ushort, ushort>((a, b) => a / b); Divide.Add <ushort, int>((a, b) => a / b); Divide.Add <ushort, uint>((a, b) => a / b); Divide.Add <ushort, long>((a, b) => a / b); Divide.Add <ushort, ulong>((a, b) => a / b); Divide.Add <ushort, decimal>((a, b) => a / b); Divide.Add <ushort, float>((a, b) => a / b); Divide.Add <ushort, double>((a, b) => a / b); Divide.Add <int, byte>((a, b) => a / b); Divide.Add <int, sbyte>((a, b) => a / b); Divide.Add <int, char>((a, b) => a / b); Divide.Add <int, short>((a, b) => a / b); Divide.Add <int, ushort>((a, b) => a / b); Divide.Add <int, int>((a, b) => a / b); Divide.Add <int, uint>((a, b) => a / b); Divide.Add <int, long>((a, b) => a / b); //Divide.Add<int, ulong>((a, b) => a / b); Divide.Add <int, decimal>((a, b) => a / b); Divide.Add <int, float>((a, b) => a / b); Divide.Add <int, double>((a, b) => a / b); Divide.Add <uint, byte>((a, b) => a / b); Divide.Add <uint, sbyte>((a, b) => a / b); Divide.Add <uint, char>((a, b) => a / b); Divide.Add <uint, short>((a, b) => a / b); Divide.Add <uint, ushort>((a, b) => a / b); Divide.Add <uint, int>((a, b) => a / b); Divide.Add <uint, uint>((a, b) => a / b); Divide.Add <uint, long>((a, b) => a / b); Divide.Add <uint, ulong>((a, b) => a / b); Divide.Add <uint, decimal>((a, b) => a / b); Divide.Add <uint, float>((a, b) => a / b); Divide.Add <uint, double>((a, b) => a / b); Divide.Add <long, byte>((a, b) => a / b); Divide.Add <long, sbyte>((a, b) => a / b); Divide.Add <long, char>((a, b) => a / b); Divide.Add <long, short>((a, b) => a / b); Divide.Add <long, ushort>((a, b) => a / b); Divide.Add <long, int>((a, b) => a / b); Divide.Add <long, uint>((a, b) => a / b); Divide.Add <long, long>((a, b) => a / b); //Divide.Add<long, ulong>((a, b) => a / b); Divide.Add <long, decimal>((a, b) => a / b); Divide.Add <long, float>((a, b) => a / b); Divide.Add <long, double>((a, b) => a / b); Divide.Add <ulong, byte>((a, b) => a / b); //Divide.Add<ulong, sbyte>((a, b) => a / b); Divide.Add <ulong, char>((a, b) => a / b); //Divide.Add<ulong, short>((a, b) => a / b); Divide.Add <ulong, ushort>((a, b) => a / b); //Divide.Add<ulong, int>((a, b) => a / b); Divide.Add <ulong, uint>((a, b) => a / b); //Divide.Add<ulong, long>((a, b) => a / b); Divide.Add <ulong, ulong>((a, b) => a / b); Divide.Add <ulong, decimal>((a, b) => a / b); Divide.Add <ulong, float>((a, b) => a / b); Divide.Add <ulong, double>((a, b) => a / b); Divide.Add <decimal, byte>((a, b) => a / b); Divide.Add <decimal, sbyte>((a, b) => a / b); Divide.Add <decimal, char>((a, b) => a / b); Divide.Add <decimal, short>((a, b) => a / b); Divide.Add <decimal, ushort>((a, b) => a / b); Divide.Add <decimal, int>((a, b) => a / b); Divide.Add <decimal, uint>((a, b) => a / b); Divide.Add <decimal, long>((a, b) => a / b); Divide.Add <decimal, ulong>((a, b) => a / b); Divide.Add <decimal, decimal>((a, b) => a / b); //Divide.Add<decimal, float>((a, b) => a / b); //Divide.Add<decimal, double>((a, b) => a / b); Divide.Add <float, byte>((a, b) => a / b); Divide.Add <float, sbyte>((a, b) => a / b); Divide.Add <float, char>((a, b) => a / b); Divide.Add <float, short>((a, b) => a / b); Divide.Add <float, ushort>((a, b) => a / b); Divide.Add <float, int>((a, b) => a / b); Divide.Add <float, uint>((a, b) => a / b); Divide.Add <float, long>((a, b) => a / b); Divide.Add <float, ulong>((a, b) => a / b); //Divide.Add<float, decimal>((a, b) => a / b); Divide.Add <float, float>((a, b) => a / b); Divide.Add <float, double>((a, b) => a / b); Divide.Add <double, byte>((a, b) => a / b); Divide.Add <double, sbyte>((a, b) => a / b); Divide.Add <double, char>((a, b) => a / b); Divide.Add <double, short>((a, b) => a / b); Divide.Add <double, ushort>((a, b) => a / b); Divide.Add <double, int>((a, b) => a / b); Divide.Add <double, uint>((a, b) => a / b); Divide.Add <double, long>((a, b) => a / b); Divide.Add <double, ulong>((a, b) => a / b); //Divide.Add<double, decimal>((a, b) => a / b); Divide.Add <double, float>((a, b) => a / b); Divide.Add <double, double>((a, b) => a / b); }
private static void InitSubtract() { Subtract = GenericMethod.Get("Subtract", "Subtract", "op_Subtraction"); Subtract.Add <bool, bool>((a, b) => a ^ b); Subtract.Add <byte, byte>((a, b) => a - b); Subtract.Add <byte, sbyte>((a, b) => a - b); Subtract.Add <byte, char>((a, b) => a - b); Subtract.Add <byte, short>((a, b) => a - b); Subtract.Add <byte, ushort>((a, b) => a - b); Subtract.Add <byte, int>((a, b) => a - b); Subtract.Add <byte, uint>((a, b) => a - b); Subtract.Add <byte, long>((a, b) => a - b); Subtract.Add <byte, ulong>((a, b) => a - b); Subtract.Add <byte, decimal>((a, b) => a - b); Subtract.Add <byte, float>((a, b) => a - b); Subtract.Add <byte, double>((a, b) => a - b); Subtract.Add <sbyte, byte>((a, b) => a - b); Subtract.Add <sbyte, sbyte>((a, b) => a - b); Subtract.Add <sbyte, char>((a, b) => a - b); Subtract.Add <sbyte, short>((a, b) => a - b); Subtract.Add <sbyte, ushort>((a, b) => a - b); Subtract.Add <sbyte, int>((a, b) => a - b); Subtract.Add <sbyte, uint>((a, b) => a - b); Subtract.Add <sbyte, long>((a, b) => a - b); //Subtract.Add<sbyte, ulong>((a, b) => a - b); Subtract.Add <sbyte, decimal>((a, b) => a - b); Subtract.Add <sbyte, float>((a, b) => a - b); Subtract.Add <sbyte, double>((a, b) => a - b); Subtract.Add <char, byte>((a, b) => a - b); Subtract.Add <char, sbyte>((a, b) => a - b); Subtract.Add <char, char>((a, b) => a - b); Subtract.Add <char, short>((a, b) => a - b); Subtract.Add <char, ushort>((a, b) => a - b); Subtract.Add <char, int>((a, b) => a - b); Subtract.Add <char, uint>((a, b) => a - b); Subtract.Add <char, long>((a, b) => a - b); Subtract.Add <char, ulong>((a, b) => a - b); Subtract.Add <char, decimal>((a, b) => a - b); Subtract.Add <char, float>((a, b) => a - b); Subtract.Add <char, double>((a, b) => a - b); Subtract.Add <short, byte>((a, b) => a - b); Subtract.Add <short, sbyte>((a, b) => a - b); Subtract.Add <short, char>((a, b) => a - b); Subtract.Add <short, short>((a, b) => a - b); Subtract.Add <short, ushort>((a, b) => a - b); Subtract.Add <short, int>((a, b) => a - b); Subtract.Add <short, uint>((a, b) => a - b); Subtract.Add <short, long>((a, b) => a - b); //Subtract.Add<short, ulong>((a, b) => a - b); Subtract.Add <short, decimal>((a, b) => a - b); Subtract.Add <short, float>((a, b) => a - b); Subtract.Add <short, double>((a, b) => a - b); Subtract.Add <ushort, byte>((a, b) => a - b); Subtract.Add <ushort, sbyte>((a, b) => a - b); Subtract.Add <ushort, char>((a, b) => a - b); Subtract.Add <ushort, short>((a, b) => a - b); Subtract.Add <ushort, ushort>((a, b) => a - b); Subtract.Add <ushort, int>((a, b) => a - b); Subtract.Add <ushort, uint>((a, b) => a - b); Subtract.Add <ushort, long>((a, b) => a - b); Subtract.Add <ushort, ulong>((a, b) => a - b); Subtract.Add <ushort, decimal>((a, b) => a - b); Subtract.Add <ushort, float>((a, b) => a - b); Subtract.Add <ushort, double>((a, b) => a - b); Subtract.Add <int, byte>((a, b) => a - b); Subtract.Add <int, sbyte>((a, b) => a - b); Subtract.Add <int, char>((a, b) => a - b); Subtract.Add <int, short>((a, b) => a - b); Subtract.Add <int, ushort>((a, b) => a - b); Subtract.Add <int, int>((a, b) => a - b); Subtract.Add <int, uint>((a, b) => a - b); Subtract.Add <int, long>((a, b) => a - b); //Subtract.Add<int, ulong>((a, b) => a - b); Subtract.Add <int, decimal>((a, b) => a - b); Subtract.Add <int, float>((a, b) => a - b); Subtract.Add <int, double>((a, b) => a - b); Subtract.Add <uint, byte>((a, b) => a - b); Subtract.Add <uint, sbyte>((a, b) => a - b); Subtract.Add <uint, char>((a, b) => a - b); Subtract.Add <uint, short>((a, b) => a - b); Subtract.Add <uint, ushort>((a, b) => a - b); Subtract.Add <uint, int>((a, b) => a - b); Subtract.Add <uint, uint>((a, b) => a - b); Subtract.Add <uint, long>((a, b) => a - b); Subtract.Add <uint, ulong>((a, b) => a - b); Subtract.Add <uint, decimal>((a, b) => a - b); Subtract.Add <uint, float>((a, b) => a - b); Subtract.Add <uint, double>((a, b) => a - b); Subtract.Add <long, byte>((a, b) => a - b); Subtract.Add <long, sbyte>((a, b) => a - b); Subtract.Add <long, char>((a, b) => a - b); Subtract.Add <long, short>((a, b) => a - b); Subtract.Add <long, ushort>((a, b) => a - b); Subtract.Add <long, int>((a, b) => a - b); Subtract.Add <long, uint>((a, b) => a - b); Subtract.Add <long, long>((a, b) => a - b); //Subtract.Add<long, ulong>((a, b) => a - b); Subtract.Add <long, decimal>((a, b) => a - b); Subtract.Add <long, float>((a, b) => a - b); Subtract.Add <long, double>((a, b) => a - b); Subtract.Add <ulong, byte>((a, b) => a - b); //Subtract.Add<ulong, sbyte>((a, b) => a - b); Subtract.Add <ulong, char>((a, b) => a - b); //Subtract.Add<ulong, short>((a, b) => a - b); Subtract.Add <ulong, ushort>((a, b) => a - b); //Subtract.Add<ulong, int>((a, b) => a - b); Subtract.Add <ulong, uint>((a, b) => a - b); //Subtract.Add<ulong, long>((a, b) => a - b); Subtract.Add <ulong, ulong>((a, b) => a - b); Subtract.Add <ulong, decimal>((a, b) => a - b); Subtract.Add <ulong, float>((a, b) => a - b); Subtract.Add <ulong, double>((a, b) => a - b); Subtract.Add <decimal, byte>((a, b) => a - b); Subtract.Add <decimal, sbyte>((a, b) => a - b); Subtract.Add <decimal, char>((a, b) => a - b); Subtract.Add <decimal, short>((a, b) => a - b); Subtract.Add <decimal, ushort>((a, b) => a - b); Subtract.Add <decimal, int>((a, b) => a - b); Subtract.Add <decimal, uint>((a, b) => a - b); Subtract.Add <decimal, long>((a, b) => a - b); Subtract.Add <decimal, ulong>((a, b) => a - b); Subtract.Add <decimal, decimal>((a, b) => a - b); //Subtract.Add<decimal, float>((a, b) => a - b); //Subtract.Add<decimal, double>((a, b) => a - b); Subtract.Add <float, byte>((a, b) => a - b); Subtract.Add <float, sbyte>((a, b) => a - b); Subtract.Add <float, char>((a, b) => a - b); Subtract.Add <float, short>((a, b) => a - b); Subtract.Add <float, ushort>((a, b) => a - b); Subtract.Add <float, int>((a, b) => a - b); Subtract.Add <float, uint>((a, b) => a - b); Subtract.Add <float, long>((a, b) => a - b); Subtract.Add <float, ulong>((a, b) => a - b); //Subtract.Add<float, decimal>((a, b) => a - b); Subtract.Add <float, float>((a, b) => a - b); Subtract.Add <float, double>((a, b) => a - b); Subtract.Add <double, byte>((a, b) => a - b); Subtract.Add <double, sbyte>((a, b) => a - b); Subtract.Add <double, char>((a, b) => a - b); Subtract.Add <double, short>((a, b) => a - b); Subtract.Add <double, ushort>((a, b) => a - b); Subtract.Add <double, int>((a, b) => a - b); Subtract.Add <double, uint>((a, b) => a - b); Subtract.Add <double, long>((a, b) => a - b); Subtract.Add <double, ulong>((a, b) => a - b); //Subtract.Add<double, decimal>((a, b) => a - b); Subtract.Add <double, float>((a, b) => a - b); Subtract.Add <double, double>((a, b) => a - b); }