diff options
Diffstat (limited to 'Software/Visual_Studio/SideChains/Colourful/Implementation/Utils/MathUtils.cs')
| -rw-r--r-- | Software/Visual_Studio/SideChains/Colourful/Implementation/Utils/MathUtils.cs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Software/Visual_Studio/SideChains/Colourful/Implementation/Utils/MathUtils.cs b/Software/Visual_Studio/SideChains/Colourful/Implementation/Utils/MathUtils.cs new file mode 100644 index 000000000..dfe396808 --- /dev/null +++ b/Software/Visual_Studio/SideChains/Colourful/Implementation/Utils/MathUtils.cs @@ -0,0 +1,62 @@ +using System; + +namespace Colourful.Implementation +{ + /// <summary> + /// Math helper functions + /// </summary> + internal static class MathUtils + { + /// <summary> + /// Compute x^2 + /// </summary> + /// <param name="x">Base</param> + /// <returns>Result of the exponentiation</returns> + public static double Pow2(double x) => x * x; + + /// <summary> + /// Compute x^3 + /// </summary> + /// <param name="x">Base</param> + /// <returns>Result of the exponentiation</returns> + public static double Pow3(double x) => x * x * x; + + /// <summary> + /// Compute x^4 + /// </summary> + /// <param name="x">Base</param> + /// <returns>Result of the exponentiation</returns> + public static double Pow4(double x) => x * x * (x * x); + + /// <summary> + /// Compute x^7 + /// </summary> + /// <param name="x">Base</param> + /// <returns>Result of the exponentiation</returns> + public static double Pow7(double x) => x * x * x * (x * x * x) * x; + + /// <summary> + /// Compute sine of angle in degrees + /// </summary> + /// <param name="x">Given angle</param> + /// <returns></returns> + public static double SinDeg(double x) + { + var x_rad = Angle.DegreeToRadian(x); + var y = Math.Sin(x_rad); + return y; + } + + /// <summary> + /// Compute cosine of angle in degrees + /// </summary> + /// <param name="x">Given angle</param> + /// <returns></returns> + public static double CosDeg(double x) + { + var x_rad = Angle.DegreeToRadian(x); + var y = Math.Cos(x_rad); + return y; + } + } +}
\ No newline at end of file |
