本文整理汇总了C++中matrix_base::row_major方法的典型用法代码示例。如果您正苦于以下问题:C++ matrix_base::row_major方法的具体用法?C++ matrix_base::row_major怎么用?C++ matrix_base::row_major使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matrix_base
的用法示例。
在下文中一共展示了matrix_base::row_major方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: inplace_solve
void inplace_solve(matrix_base<NumericT> const & mat,
vector_base<NumericT> & vec,
SolverTagT)
{
typedef NumericT value_type;
value_type const * data_A = detail::extract_raw_pointer<value_type>(mat);
value_type * data_v = detail::extract_raw_pointer<value_type>(vec);
vcl_size_t A_start1 = viennacl::traits::start1(mat);
vcl_size_t A_start2 = viennacl::traits::start2(mat);
vcl_size_t A_inc1 = viennacl::traits::stride1(mat);
vcl_size_t A_inc2 = viennacl::traits::stride2(mat);
vcl_size_t A_size2 = viennacl::traits::size2(mat);
vcl_size_t A_internal_size1 = viennacl::traits::internal_size1(mat);
vcl_size_t A_internal_size2 = viennacl::traits::internal_size2(mat);
vcl_size_t start1 = viennacl::traits::start(vec);
vcl_size_t inc1 = viennacl::traits::stride(vec);
if (mat.row_major())
{
detail::matrix_array_wrapper<value_type const, row_major, false> wrapper_A(data_A, A_start1, A_start2, A_inc1, A_inc2, A_internal_size1, A_internal_size2);
detail::vector_array_wrapper<value_type> wrapper_v(data_v, start1, inc1);
detail::inplace_solve_vector(wrapper_A, wrapper_v, A_size2, SolverTagT());
}
else
{
detail::matrix_array_wrapper<value_type const, column_major, false> wrapper_A(data_A, A_start1, A_start2, A_inc1, A_inc2, A_internal_size1, A_internal_size2);
detail::vector_array_wrapper<value_type> wrapper_v(data_v, start1, inc1);
detail::inplace_solve_vector(wrapper_A, wrapper_v, A_size2, SolverTagT());
}
}
示例2: row_major
bool row_major(matrix_base<NumericT> const & A) { return A.row_major(); }
示例3: nld
vcl_size_t nld(matrix_base<NumericT> const & mat)
{
if (mat.row_major())
return mat.stride2();
return mat.stride1();
}
示例4: ld
vcl_size_t ld(matrix_base<NumericT> const & mat)
{
if (mat.row_major())
return mat.internal_size2();
return mat.internal_size1();
}