Apache C++ Standard Library User's Guide

## 20.3 Example Program: Roots of a Polynomial

> NOTE -- This program is in the file complx.cpp.

The roots of a polynomial are given by the formula:

The following function takes as input three double precision numbers, and returns the complex roots as a pair of values.

    typedef std::complex<double> dcomplex;

    std::pair<dcomplex, dcomplex> quadratic
          (dcomplex a, dcomplex b, dcomplex c)
    // return the roots of a quadratic equation
    {
       dcomplex root = std::sqrt(b * b - 4.0 * a * c);
       a *= 2.0;
       return std::make_pair( (-b + root)/a,
                              (-b - root)/a );
    }