github.com/pavlo67/common@v0.5.3/common/mathlib/algebra/quadratic.go (about)

     1  package algebra
     2  
     3  import (
     4  	"math"
     5  )
     6  
     7  func QuadraticEquation(a, b, c float64) *[2]float64 {
     8  
     9  	discriminant := (b * b) - (4 * a * c)
    10  
    11  	if discriminant >= 0 {
    12  		return &[2]float64{(-b + math.Sqrt(discriminant)) / (2 * a), (-b - math.Sqrt(discriminant)) / (2 * a)}
    13  	}
    14  
    15  	// imaginary = math.Sqrt(-discriminant) / (2 * a)
    16  
    17  	return nil
    18  }