Yf. Tsai et Rt. Farouki, Algorithm 812: BPOLY: An object-oriented library of numerical algorithms for polynomials in Bernstein form, ACM T MATH, 27(2), 2001, pp. 267-296
The design, implementation, and testing of a C++ software library for univa
riate polynomials in Bernstein form is described. By invoking the class env
ironment and operator overloading, each polynomial in an expression is inte
rpreted as an object compatible with the arithmetic operations and other co
mmon functions (subdivision, degree elevation, differentiation and integrat
ion, composition, greatest common divisor, real-root solving, etc.) for pol
ynomials in Bernstein form. The library allows compact and intuitive implem
entation of lengthy manipulations of Bernstein-form polynomials, which ofte
n arise in computer graphics and computer-aided design and manufacturing ap
plications. A series of empirical tests indicates that the library function
s are typically very accurate and reliable, even for polynomials of surpris
ingly high degree.