short_fir_state(const univector<const T, N>& taps) : taps(widen<tapcount>(read<N>(taps.data()), T(0))), delayline(0) { }
inline std::string repr(const univector<T, Tag>& v) { return repr(v.data(), v.size()); }