Math in C# using the Quadratic Formula

Microsoft .NET
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
namespace QuadraticFunc
{
    using System;
    using System.Diagnostics;
 
    class Program
    {
        static void Main(string[] args)
        {
            Action<object> Print = (obj) => { Debug.WriteLine(obj.ToString()); };
 
            // Returns Quadratic (+,-)
            Func<double, double, double, Tuple<double, double>> Quadratic = (a, b, c) => {
                double x1 = (-b + Math.Sqrt((b * b) - ((4 * a) * c))) / (2 * a);
                double x2 = (-b - Math.Sqrt((b * b) - ((4 * a) * c))) / (2 * a);
                return new Tuple<double, double>(x1, x2);
            };
 
            Print(Quadratic(1, 3, -4));     // (1, -4)
            Print(Quadratic(2, -4, -3));    // (2.58113883008419, -0.58113883008419)
            Print(Quadratic(0, 0, 0));      // (NaN, NaN)
 
            Tuple<double, double> result = Quadratic(1, 3, -4);
            Print(result.Item1);
            Print(result.Item2);
        }
    }
}

Simple enough. If you want to ensure exact order translate the local variable function Func(Of double,double,double,Tuple(Of double,double)) to an actual member function or static function.

Leave a Comment