T operator()( const vex::multivector<T, N> &x ) const { auto max = detail::vexcl_reductor<T>(x.queue_list()); // Reducing a multivector results in std::array<T, N>: auto m = max( fabs(x) ); // We will need to reduce it even further: return *std::max_element(m.begin(), m.end()); }
static bool same_size( const vex::multivector< T , N , own > &x1 , const vex::multivector< T , N , own > &x2 ) { return x1.size() == x2.size(); }
static void resize( vex::multivector< T , N , own > &x1 , const vex::multivector< T , N , own > &x2 ) { x1.resize( x2.queue_list() , x2.size() ); }