/// Copy vector from builtin backend. static boost::shared_ptr<vector> copy_vector(typename builtin<value_type>::vector const &x, const params&) { boost::shared_ptr<vector> v = boost::make_shared<vector>(x.size()); ::viennacl::fast_copy(x, *v); return v; }
/// Copy vector from builtin backend. static boost::shared_ptr<vector> copy_vector(typename builtin<real>::vector const &x, const params&) { return boost::make_shared<vector>( Eigen::Map<const vector>(&x[0], x.size()) ); }
/// Copy vector from builtin backend. static std::shared_ptr<vector> copy_vector(typename builtin<real>::vector const &x, const params&) { auto v = std::make_shared<vector>(x.size(), &x[0]); return v; }