public static class MathExtensions
{
public static decimal Abs(this decimal value)
{
return Math.Abs(value);
}
public static double Abs(this double value)
{
return Math.Abs(value);
}
public static float Abs(this float value)
{
return Math.Abs(value);
}
public static int Abs(this int value)
{
return Math.Abs(value);
}
public static long Abs(this long value)
{
return Math.Abs(value);
}
public static sbyte Abs(this sbyte value)
{
return Math.Abs(value);
}
public static short Abs(this short value)
{
return Math.Abs(value);
}
public static double Acos(this double d)
{
return Math.Acos(d);
}
public static double Asin(this double d)
{
return Math.Asin(d);
}
public static double Atan(this double d)
{
return Math.Atan(d);
}
public static double Atan2(this double y, double x)
{
return Math.Atan2(y, x);
}
public static long BigMul(this int a, int b)
{
return Math.BigMul(a, b);
}
public static decimal Ceiling(this decimal d)
{
return Math.Ceiling(d);
}
public static double Ceiling(this double a)
{
return Math.Ceiling(a);
}
public static double Cos(this double d)
{
return Math.Cos(d);
}
public static double Cosh(this double value)
{
return Math.Cosh(value);
}
public static int DivRem(this int a, int b, out int result)
{
return Math.DivRem(a, b, out result);
}
public static long DivRem(this long a, long b, out long result)
{
return Math.DivRem(a, b, out result);
}
public static double Exp(this double d)
{
return Math.Exp(d);
}
public static decimal Floor(this decimal d)
{
return Math.Floor(d);
}
public static double Floor(this double d)
{
return Math.Floor(d);
}
public static double IEEERemainder(this double x, double y)
{
return Math.IEEERemainder(x, y);
}
public static double Log(this double d)
{
return Math.Log(d);
}
public static double Log(this double a, double newBase)
{
return Math.Log(a, newBase);
}
public static double Log10(this double d)
{
return Math.Log10(d);
}
public static byte Max(this byte val1, byte val2)
{
return Math.Max(val1, val2);
}
public static decimal Max(this decimal val1, decimal val2)
{
return Math.Max(val1, val2);
}
public static double Max(this double val1, double val2)
{
return Math.Max(val1, val2);
}
public static float Max(this float val1, float val2)
{
return Math.Max(val1, val2);
}
public static int Max(this int val1, int val2)
{
return Math.Max(val1, val2);
}
public static long Max(this long val1, long val2)
{
return Math.Max(val1, val2);
}
public static sbyte Max(this sbyte val1, sbyte val2)
{
return Math.Max(val1, val2);
}
public static short Max(this short val1, short val2)
{
return Math.Max(val1, val2);
}
public static uint Max(this uint val1, uint val2)
{
return Math.Max(val1, val2);
}
public static ulong Max(this ulong val1, ulong val2)
{
return Math.Max(val1, val2);
}
public static ushort Max(this ushort val1, ushort val2)
{
return Math.Max(val1, val2);
}
public static byte Min(this byte val1, byte val2)
{
return Math.Min(val1, val2);
}
public static decimal Min(this decimal val1, decimal val2)
{
return Math.Min(val1, val2);
}
public static double Min(this double val1, double val2)
{
return Math.Min(val1, val2);
}
public static float Min(this float val1, float val2)
{
return Math.Min(val1, val2);
}
public static int Min(this int val1, int val2)
{
return Math.Min(val1, val2);
}
public static long Min(this long val1, long val2)
{
return Math.Min(val1, val2);
}
public static sbyte Min(this sbyte val1, sbyte val2)
{
return Math.Min(val1, val2);
}
public static short Min(this short val1, short val2)
{
return Math.Min(val1, val2);
}
public static uint Min(this uint val1, uint val2)
{
return Math.Min(val1, val2);
}
public static ulong Min(this ulong val1, ulong val2)
{
return Math.Min(val1, val2);
}
public static ushort Min(this ushort val1, ushort val2)
{
return Math.Min(val1, val2);
}
public static double Pow(this double x, double y)
{
return Math.Pow(x, y);
}
public static decimal Round(this decimal d)
{
return Math.Round(d);
}
public static double Round(this double a)
{
return Math.Round(a);
}
public static decimal Round(this decimal d, int decimals)
{
return Math.Round(d, decimals);
}
public static decimal Round(this decimal d, MidpointRounding mode)
{
return Math.Round(d, mode);
}
public static double Round(this double value, int digits)
{
return Math.Round(value, digits);
}
public static double Round(this double value, MidpointRounding mode)
{
return Math.Round(value, mode);
}
public static decimal Round(this decimal d, int decimals, MidpointRounding mode)
{
return Math.Round(d, decimals, mode);
}
public static double Round(this double value, int digits, MidpointRounding mode)
{
return Math.Round(value, digits, mode);
}
public static int Sign(this decimal value)
{
return Math.Sign(value);
}
public static int Sign(this double value)
{
return Math.Sign(value);
}
public static int Sign(this float value)
{
return Math.Sign(value);
}
public static int Sign(this int value)
{
return Math.Sign(value);
}
public static int Sign(this long value)
{
return Math.Sign(value);
}
public static int Sign(this sbyte value)
{
return Math.Sign(value);
}
public static int Sign(this short value)
{
return Math.Sign(value);
}
public static double Sin(this double a)
{
return Math.Sin(a);
}
public static double Sinh(this double value)
{
return Math.Sinh(value);
}
public static double Sqrt(this double d)
{
return Math.Sqrt(d);
}
public static double Tan(this double a)
{
return Math.Tan(a);
}
public static double Tanh(this double value)
{
return Math.Tanh(value);
}
public static decimal Truncate(this decimal d)
{
return Math.Truncate(d);
}
public static double Truncate(this double d)
{
return Math.Truncate(d);
}
}
Some are more appropriate than others, in particular it would indeed be nice to have extension properties for single-parameter extension methods.