/**
* Return the even polynomial.
*/
_Polynomial
even() const;
/**
* Return the odd polynomial.
*/
_Polynomial
odd() const;
Underneath you should have:
_Polynomial
thing(int stride, int offset) const;
Conversely, an
eval(int stride, int offset, x)
would be a smart underpinning for eval_even/eval_odd.