本文整理汇总了C++中viennacl::matrix::internal_size方法的典型用法代码示例。如果您正苦于以下问题:C++ matrix::internal_size方法的具体用法?C++ matrix::internal_size怎么用?C++ matrix::internal_size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类viennacl::matrix
的用法示例。
在下文中一共展示了matrix::internal_size方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: diff
NumericT diff(std::vector<std::vector<NumericT> > const & A1, viennacl::matrix<NumericT> const & A2)
{
std::vector<NumericT> host_values(A2.internal_size());
for (std::size_t i=0; i<A2.size1(); ++i)
for (std::size_t j=0; j<A2.size2(); ++j)
host_values[i*A2.internal_size2() + j] = A1[i][j];
std::vector<NumericT> device_values(A2.internal_size());
viennacl::fast_copy(A2, &device_values[0]);
viennacl::vector<NumericT> vcl_device_values(A2.internal_size()); // workaround to avoid code duplication
viennacl::copy(device_values, vcl_device_values);
return diff(host_values, vcl_device_values);
}
示例2: init_random
void init_random(viennacl::matrix<T, F> & M)
{
std::vector<T> cM(M.internal_size());
for (std::size_t i = 0; i < M.size1(); ++i)
for (std::size_t j = 0; j < M.size2(); ++j)
cM[F::mem_index(i, j, M.internal_size1(), M.internal_size2())] = T(rand())/T(RAND_MAX);
viennacl::fast_copy(&cM[0],&cM[0] + cM.size(),M);
}
示例3: matrix_compare
float matrix_compare(viennacl::matrix<ScalarType>& res,
viennacl::matrix<ScalarType>& ref)
{
std::vector<ScalarType> res_std(res.internal_size());
std::vector<ScalarType> ref_std(ref.internal_size());
viennacl::fast_copy(res, &res_std[0]);
viennacl::fast_copy(ref, &ref_std[0]);
float diff = 0.0;
float mx = 0.0;
for(std::size_t i = 0; i < res_std.size(); i++) {
diff = std::max(diff, std::abs(res_std[i] - ref_std[i]));
mx = std::max(mx, res_std[i]);
}
return diff / mx;
}
示例4: sharedVector
viennacl::vector_range<viennacl::vector_base<T> > sharedVector(){
viennacl::vector_base<T> tmp(ptr_matrix->handle(), ptr_matrix->internal_size(), 0, 1);
viennacl::vector_range<viennacl::vector_base<T> > v_sub(tmp, r);
return v_sub;
}