From 023615069c94f99b50ce298d38170effaf61ecb7 Mon Sep 17 00:00:00 2001 From: CreepyCrafter24 <33260128+CreepyCrafter24@users.noreply.github.com> Date: Sat, 1 Feb 2020 21:16:45 +0100 Subject: [PATCH] Math extension methods --- Misc/MathEx.cs | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ Misc/Misc.csproj | 1 + 2 files changed, 60 insertions(+) create mode 100644 Misc/MathEx.cs diff --git a/Misc/MathEx.cs b/Misc/MathEx.cs new file mode 100644 index 0000000..126efca --- /dev/null +++ b/Misc/MathEx.cs @@ -0,0 +1,59 @@ +using System; + +namespace CC_Functions.Misc +{ + public static class MathEx + { + public static decimal Abs(this decimal value) => Math.Abs(value); + public static double Abs(this double value) => Math.Abs(value); + public static float Abs(this float value) => Math.Abs(value); + public static int Abs(this int value) => Math.Abs(value); + public static long Abs(this long value) => Math.Abs(value); + public static sbyte Abs(this sbyte value) => Math.Abs(value); + public static short Abs(this short value) => Math.Abs(value); + public static double Acos(this double d) => Math.Acos(d); + public static double Asin(this double d) => Math.Asin(d); + public static double Atan(this double d) => Math.Atan(d); + public static double Atan2(this double x, double y) => Math.Atan2(x, y); + public static decimal Ceiling(this decimal d) => Math.Ceiling(d); + public static double Ceiling(this double d) => Math.Ceiling(d); + public static double Cos(this double d) => Math.Cos(d); + public static double Cosh(this double value) => Math.Cosh(value); + public static double Exp(this double d) => Math.Exp(d); + public static decimal Floor(this decimal d) => Math.Floor(d); + public static double Floor(this double d) => Math.Floor(d); + public static double Log(this double d) => Math.Log(d); + public static double Log(this double d, double newBase) => Math.Log(d, newBase); + public static double Log10(this double d) => Math.Log10(d); + //Max + //Min + public static double Pow(this double x, double y) => Math.Pow(x, y); + public static double Root(this double value, double n) => Math.Pow(value, 1 / n); + public static decimal Round(this decimal d) => Math.Round(d); + public static decimal Round(this decimal d, MidpointRounding mode) => Math.Round(d, mode); + public static decimal Round(this decimal d, int decimals) => Math.Round(d, decimals); + public static decimal Round(this decimal d, int decimals, MidpointRounding mode) => Math.Round(d, decimals, mode); + public static double Round(this double a) => Math.Round(a); + public static double Round(this double value, MidpointRounding mode) => Math.Round(value, mode); + public static double Round(this double value, int digits) => Math.Round(value, digits); + public static double Round(this double value, int digits, MidpointRounding mode) => Math.Round(value, digits, mode); + public static int Sign(this decimal value) => Math.Sign(value); + public static int Sign(this double value) => Math.Sign(value); + public static int Sign(this float value) => Math.Sign(value); + public static int Sign(this int value) => Math.Sign(value); + public static int Sign(this long value) => Math.Sign(value); + public static int Sign(this sbyte value) => Math.Sign(value); + public static int Sign(this short value) => Math.Sign(value); + public static double Sin(this double a) => Math.Sin(a); + public static double Sinh(this double value) => Math.Sinh(value); + public static double Sqrt(this double d) => Math.Sqrt(d); + public static double Tan(this double a) => Math.Tan(a); + public static double Tanh(this double value) => Math.Tanh(value); + public static decimal Truncate(this decimal d) => Math.Truncate(d); + public static double Truncate(this double d) => Math.Truncate(d); + public static long BigMul(this int a, int b) => Math.BigMul(a, b); + public static int DivRem(this int a, int b, out int result) => Math.DivRem(a, b, out result); + public static long DivRem(this int a, int b, out long result) => Math.DivRem(a, b, out result); + public static double IEEERemainder(this double x, double y) => Math.IEEERemainder(x, y); + } +} \ No newline at end of file diff --git a/Misc/Misc.csproj b/Misc/Misc.csproj index ec5f059..f227746 100644 --- a/Misc/Misc.csproj +++ b/Misc/Misc.csproj @@ -60,6 +60,7 @@ + Component