$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [Review] Polynomial library review begins today
From: dherring_at_[hidden]
Date: 2009-03-11 11:49:33
I haven't been able to evaluate this properly, but here were some quick 
thoughts:
- Rename evaluate() to horner() and provide evaluate() as an inline call 
  to horner().
- Rename evaluate_faithfully() to compensated_horner().
- Things that say "Be careful about this" generally need fixing.
- It would be nice to have operator* and operator/ as well as *= and /=.
- Considering they share the same core algorithm, it might be nice to have 
  a function that could do division and return the remainder at the same 
  time.  Something like
  poly::divide(P &divisor, P "ient, P &remainer)
- FFTs are good for multiplying polynomials above a certain size, but they 
  are rather heavy for small polynomials and can lead to unexpected 
  crosstalk between terms.  There should be an option for * that doesn't 
  use the FFT, and it should be the default for small polynomials.
- operator/= has a hardcoded "std::vector<double> new_coefficients" that 
  later gets rounded??  Maybe that works.
Later,
Daniel