boost::numeric::functional::promote
template<typename To, typename From, typename ToTag, typename FromTag> struct promote : public boost::numeric::functional::promote_base< To, From, void > { };