• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ detail::workspace1类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中detail::workspace1的典型用法代码示例。如果您正苦于以下问题:C++ workspace1类的具体用法?C++ workspace1怎么用?C++ workspace1使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了workspace1类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: invoke

 static std::ptrdiff_t invoke( MatrixA& a, VectorIPIV& ipiv, MatrixB& b,
         detail::workspace1< WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     typedef typename result_of::uplo_tag< MatrixA >::type uplo;
     BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixA >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixB >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< MatrixA >::type >::type,
             typename remove_const< typename bindings::value_type<
             MatrixB >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorIPIV >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixB >::value) );
     BOOST_ASSERT( bindings::size(work.select(value_type())) >=
             min_size_work());
     BOOST_ASSERT( bindings::size_column(a) >= 0 );
     BOOST_ASSERT( bindings::size_column(b) >= 0 );
     BOOST_ASSERT( bindings::size_minor(a) == 1 ||
             bindings::stride_minor(a) == 1 );
     BOOST_ASSERT( bindings::size_minor(b) == 1 ||
             bindings::stride_minor(b) == 1 );
     BOOST_ASSERT( bindings::stride_major(a) >= std::max< std::ptrdiff_t >(1,
             bindings::size_column(a)) );
     BOOST_ASSERT( bindings::stride_major(b) >= std::max< std::ptrdiff_t >(1,
             bindings::size_column(a)) );
     return detail::hesv( uplo(), bindings::size_column(a),
             bindings::size_column(b), bindings::begin_value(a),
             bindings::stride_major(a), bindings::begin_value(ipiv),
             bindings::begin_value(b), bindings::stride_major(b),
             bindings::begin_value(work.select(value_type())),
             bindings::size(work.select(value_type())) );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:32,代码来源:hesv.hpp


示例2: invoke

 static std::ptrdiff_t invoke( const fortran_int_t itype,
         const char jobz, MatrixAP& ap, MatrixBP& bp, VectorW& w,
         MatrixZ& z, detail::workspace1< WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
     BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixZ >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< MatrixAP >::type >::type,
             typename remove_const< typename bindings::value_type<
             MatrixBP >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< MatrixAP >::type >::type,
             typename remove_const< typename bindings::value_type<
             VectorW >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< MatrixAP >::type >::type,
             typename remove_const< typename bindings::value_type<
             MatrixZ >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixAP >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixBP >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorW >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixZ >::value) );
     BOOST_ASSERT( bindings::size(work.select(real_type())) >=
             min_size_work( bindings::size_column(ap) ));
     BOOST_ASSERT( bindings::size_column(ap) >= 0 );
     BOOST_ASSERT( bindings::size_minor(z) == 1 ||
             bindings::stride_minor(z) == 1 );
     BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
     return detail::spgv( itype, jobz, uplo(), bindings::size_column(ap),
             bindings::begin_value(ap), bindings::begin_value(bp),
             bindings::begin_value(w), bindings::begin_value(z),
             bindings::stride_major(z),
             bindings::begin_value(work.select(real_type())) );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:34,代码来源:spgv.hpp


示例3: invoke

 static std::ptrdiff_t invoke( const Side side, const char uplo,
         const VectorAP& ap, const VectorTAU& tau, MatrixC& c,
         detail::workspace1< WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     typedef tag::column_major order;
     typedef typename result_of::trans_tag< VectorAP, order >::type trans;
     BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixC >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< VectorAP >::type >::type,
             typename remove_const< typename bindings::value_type<
             VectorTAU >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< VectorAP >::type >::type,
             typename remove_const< typename bindings::value_type<
             MatrixC >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixC >::value) );
     BOOST_ASSERT( bindings::size(work.select(real_type())) >=
             min_size_work( side, bindings::size_row(c),
             bindings::size_column(c) ));
     BOOST_ASSERT( bindings::size_column(c) >= 0 );
     BOOST_ASSERT( bindings::size_minor(c) == 1 ||
             bindings::stride_minor(c) == 1 );
     BOOST_ASSERT( bindings::size_row(c) >= 0 );
     BOOST_ASSERT( bindings::stride_major(c) >= std::max< std::ptrdiff_t >(1,
             bindings::size_row(c)) );
     return detail::opmtr( side, uplo, trans(), bindings::size_row(c),
             bindings::size_column(c), bindings::begin_value(ap),
             bindings::begin_value(tau), bindings::begin_value(c),
             bindings::stride_major(c),
             bindings::begin_value(work.select(real_type())) );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:31,代码来源:opmtr.hpp


示例4: invoke

 static std::ptrdiff_t invoke( MatrixA& a, VectorTAU& tau,
         detail::workspace1< WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixA >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< MatrixA >::type >::type,
             typename remove_const< typename bindings::value_type<
             VectorTAU >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixA >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorTAU >::value) );
     BOOST_ASSERT( bindings::size(tau) >= std::min<
             std::ptrdiff_t >(bindings::size_row(a),
             bindings::size_column(a)) );
     BOOST_ASSERT( bindings::size(work.select(value_type())) >=
             min_size_work( bindings::size_column(a) ));
     BOOST_ASSERT( bindings::size_column(a) >= 0 );
     BOOST_ASSERT( bindings::size_minor(a) == 1 ||
             bindings::stride_minor(a) == 1 );
     BOOST_ASSERT( bindings::size_row(a) >= 0 );
     BOOST_ASSERT( bindings::stride_major(a) >= std::max< std::ptrdiff_t >(1,
             bindings::size_row(a)) );
     return detail::geqrf( bindings::size_row(a), bindings::size_column(a),
             bindings::begin_value(a), bindings::stride_major(a),
             bindings::begin_value(tau),
             bindings::begin_value(work.select(value_type())),
             bindings::size(work.select(value_type())) );
 }
开发者ID:CQMP,项目名称:scripts,代码行数:27,代码来源:geqrf.hpp


示例5: invoke

 static void invoke( char const vect, char const side, char const trans,
         integer_t const k, MatrixA& a, VectorTAU& tau, MatrixC& c,
         integer_t& info, detail::workspace1< WORK > work ) {
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorTAU >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::matrix_traits<
             MatrixC >::value_type >::value) );
     BOOST_ASSERT( vect == 'Q' || vect == 'P' );
     BOOST_ASSERT( side == 'L' || side == 'R' );
     BOOST_ASSERT( trans == 'N' || trans == 'T' );
     BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
     BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
     BOOST_ASSERT( k >= 0 );
     BOOST_ASSERT( traits::vector_size(tau) >= std::min(?NQ,k) );
     BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
             traits::matrix_num_rows(c)) );
     BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
             min_size_work( side, traits::matrix_num_rows(c),
             traits::matrix_num_columns(c) ));
     detail::ormbr( vect, side, trans, traits::matrix_num_rows(c),
             traits::matrix_num_columns(c), k, traits::matrix_storage(a),
             traits::leading_dimension(a), traits::vector_storage(tau),
             traits::matrix_storage(c), traits::leading_dimension(c),
             traits::vector_storage(work.select(real_type())),
             traits::vector_size(work.select(real_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:28,代码来源:ormbr.hpp


示例6: invoke

 static void invoke( MatrixA& a, VectorD& d, VectorE& e, VectorTAU& tau,
         integer_t& info, detail::workspace1< WORK > work ) {
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
             VectorD >::value_type, typename traits::vector_traits<
             VectorE >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorTAU >::value_type >::value) );
     BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
             traits::matrix_uplo_tag(a) == 'L' );
     BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
     BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
             traits::matrix_num_columns(a)) );
     BOOST_ASSERT( traits::vector_size(d) >=
             traits::matrix_num_columns(a) );
     BOOST_ASSERT( traits::vector_size(tau) >=
             traits::matrix_num_columns(a)-1 );
     BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
             min_size_work(  ));
     detail::hetrd( traits::matrix_uplo_tag(a),
             traits::matrix_num_columns(a), traits::matrix_storage(a),
             traits::leading_dimension(a), traits::vector_storage(d),
             traits::vector_storage(e), traits::vector_storage(tau),
             traits::vector_storage(work.select(value_type())),
             traits::vector_size(work.select(value_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:26,代码来源:hetrd.hpp


示例7: invoke

 static std::ptrdiff_t invoke( const char compz, VectorD& d, VectorE& e,
         MatrixZ& z, detail::workspace1< WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixZ >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< VectorD >::type >::type,
             typename remove_const< typename bindings::value_type<
             VectorE >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename remove_const<
             typename bindings::value_type< VectorD >::type >::type,
             typename remove_const< typename bindings::value_type<
             MatrixZ >::type >::type >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorD >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorE >::value) );
     BOOST_STATIC_ASSERT( (bindings::is_mutable< MatrixZ >::value) );
     BOOST_ASSERT( bindings::size(d) >= bindings::size(d) );
     BOOST_ASSERT( bindings::size(d) >= 0 );
     BOOST_ASSERT( bindings::size(e) >= bindings::size(d)-1 );
     BOOST_ASSERT( bindings::size(work.select(real_type())) >=
             min_size_work( bindings::size(d) ));
     BOOST_ASSERT( bindings::size_minor(z) == 1 ||
             bindings::stride_minor(z) == 1 );
     BOOST_ASSERT( compz == 'N' || compz == 'V' || compz == 'I' );
     return detail::pteqr( compz, bindings::size(d),
             bindings::begin_value(d), bindings::begin_value(e),
             bindings::begin_value(z), bindings::stride_major(z),
             bindings::begin_value(work.select(real_type())) );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:28,代码来源:pteqr.hpp


示例8: invoke

 static void invoke( char const job, integer_t const n, MatrixA& a,
         MatrixB& b, integer_t& ilo, integer_t& ihi, VectorLSCALE& lscale,
         VectorRSCALE& rscale, integer_t& info, detail::workspace1<
         WORK > work ) {
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::matrix_traits<
             MatrixB >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorLSCALE >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorRSCALE >::value_type >::value) );
     BOOST_ASSERT( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
     BOOST_ASSERT( n >= 0 );
     BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
     BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
     BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
             min_size_work( $CALL_MIN_SIZE ));
     detail::ggbal( job, n, traits::matrix_storage(a),
             traits::leading_dimension(a), traits::matrix_storage(b),
             traits::leading_dimension(b), ilo, ihi,
             traits::vector_storage(lscale),
             traits::vector_storage(rscale),
             traits::vector_storage(work.select(real_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:26,代码来源:ggbal.hpp


示例9: invoke

 static std::ptrdiff_t invoke( const char norm, const MatrixAP& ap,
         detail::workspace1< WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
     BOOST_ASSERT( bindings::size(work.select(real_type())) >=
             min_size_work( norm, bindings::size_column(ap) ));
     BOOST_ASSERT( bindings::size_column(ap) >= 0 );
     return detail::lanhp( norm, uplo(), bindings::size_column(ap),
             bindings::begin_value(ap),
             bindings::begin_value(work.select(real_type())) );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:11,代码来源:lanhp.hpp


示例10: invoke

 static std::ptrdiff_t invoke( const fortran_int_t n, VectorX& x,
         real_type& est, fortran_int_t& kase, detail::workspace1<
         V > work ) {
     namespace bindings = ::boost::numeric::bindings;
     BOOST_STATIC_ASSERT( (bindings::is_mutable< VectorX >::value) );
     BOOST_ASSERT( bindings::size(work.select(value_type())) >=
             min_size_v( n ));
     BOOST_ASSERT( n >= 1 );
     return detail::lacon( n,
             bindings::begin_value(work.select(value_type())),
             bindings::begin_value(x), est, kase );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:12,代码来源:lacon.hpp


示例11: invoke

 static std::ptrdiff_t invoke( const MatrixAP& ap, const VectorIPIV& ipiv,
         const real_type anorm, real_type& rcond, detail::workspace1<
         WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     typedef typename result_of::uplo_tag< MatrixAP >::type uplo;
     BOOST_ASSERT( bindings::size(ipiv) >= bindings::size_column(ap) );
     BOOST_ASSERT( bindings::size(work.select(value_type())) >=
             min_size_work( bindings::size_column(ap) ));
     BOOST_ASSERT( bindings::size_column(ap) >= 0 );
     return detail::hpcon( uplo(), bindings::size_column(ap),
             bindings::begin_value(ap), bindings::begin_value(ipiv), anorm,
             rcond, bindings::begin_value(work.select(value_type())) );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:13,代码来源:hpcon.hpp


示例12: invoke

 static std::ptrdiff_t invoke( const VectorD& d, const VectorE& e,
         const real_type anorm, real_type& rcond, detail::workspace1<
         RWORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     BOOST_ASSERT( bindings::size(d) >= bindings::size(d) );
     BOOST_ASSERT( bindings::size(d) >= 0 );
     BOOST_ASSERT( bindings::size(e) >= bindings::size(d)-1 );
     BOOST_ASSERT( bindings::size(work.select(real_type())) >=
             min_size_rwork( bindings::size(d) ));
     return detail::ptcon( bindings::size(d), bindings::begin_value(d),
             bindings::begin_value(e), anorm, rcond,
             bindings::begin_value(work.select(real_type())) );
 }
开发者ID:CQMP,项目名称:scripts,代码行数:13,代码来源:ptcon.hpp


示例13: invoke

 static void invoke( MatrixA& a, VectorIPIV& ipiv, integer_t& info,
         detail::workspace1< WORK > work ) {
     BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
             traits::matrix_uplo_tag(a) == 'L' );
     BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
     BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
             traits::matrix_num_columns(a)) );
     BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
             min_size_work( $CALL_MIN_SIZE ));
     detail::sytrf( traits::matrix_uplo_tag(a),
             traits::matrix_num_columns(a), traits::matrix_storage(a),
             traits::leading_dimension(a), traits::vector_storage(ipiv),
             traits::vector_storage(work.select(real_type())),
             traits::vector_size(work.select(real_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:15,代码来源:sytrf.hpp


示例14: invoke

 static std::ptrdiff_t invoke( const char norm, const MatrixA& a,
         detail::workspace1< WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     typedef typename result_of::uplo_tag< MatrixA >::type uplo;
     BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixA >::value) );
     BOOST_ASSERT( bindings::size(work.select(real_type())) >=
             min_size_work( norm, bindings::size_column(a) ));
     BOOST_ASSERT( bindings::size_column(a) >= 0 );
     BOOST_ASSERT( bindings::size_minor(a) == 1 ||
             bindings::stride_minor(a) == 1 );
     BOOST_ASSERT( bindings::stride_major(a) >= std::max<
             std::ptrdiff_t >(bindings::size_column(a),1) );
     return detail::lansy( norm, uplo(), bindings::size_column(a),
             bindings::begin_value(a), bindings::stride_major(a),
             bindings::begin_value(work.select(real_type())) );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:16,代码来源:lansy.hpp


示例15: invoke

 static void invoke( char const vect, integer_t const m, integer_t const n,
         integer_t const k, MatrixA& a, VectorTAU& tau, integer_t& info,
         detail::workspace1< WORK > work ) {
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorTAU >::value_type >::value) );
     BOOST_ASSERT( vect == 'Q' || vect == 'P' );
     BOOST_ASSERT( m >= 0 );
     BOOST_ASSERT( k >= 0 );
     BOOST_ASSERT( traits::leading_dimension(a) >= m );
     BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
             min_size_work( m, n ));
     detail::ungbr( vect, m, n, k, traits::matrix_storage(a),
             traits::leading_dimension(a), traits::vector_storage(tau),
             traits::vector_storage(work.select(value_type())),
             traits::vector_size(work.select(value_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:17,代码来源:ungbr.hpp


示例16: invoke

 static std::ptrdiff_t invoke( const char norm, const MatrixAB& ab,
         detail::workspace1< WORK > work ) {
     namespace bindings = ::boost::numeric::bindings;
     BOOST_STATIC_ASSERT( (bindings::is_column_major< MatrixAB >::value) );
     BOOST_ASSERT( bindings::bandwidth_lower(ab) >= 0 );
     BOOST_ASSERT( bindings::bandwidth_upper(ab) >= 0 );
     BOOST_ASSERT( bindings::size(work.select(real_type())) >=
             min_size_work( norm, bindings::size_column(ab) ));
     BOOST_ASSERT( bindings::size_column(ab) >= 0 );
     BOOST_ASSERT( bindings::size_minor(ab) == 1 ||
             bindings::stride_minor(ab) == 1 );
     BOOST_ASSERT( bindings::stride_major(ab) >=
             bindings::bandwidth_lower(ab)+bindings::bandwidth_upper(ab)+
             1 );
     return detail::langb( norm, bindings::size_column(ab),
             bindings::bandwidth_lower(ab), bindings::bandwidth_upper(ab),
             bindings::begin_value(ab), bindings::stride_major(ab),
             bindings::begin_value(work.select(real_type())) );
 }
开发者ID:AntonDV235,项目名称:OMCompiler,代码行数:19,代码来源:langb.hpp


示例17: invoke

 static void invoke( MatrixA& a, VectorTAU& tau, integer_t& info,
         detail::workspace1< WORK > work ) {
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorTAU >::value_type >::value) );
     BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
     BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
     BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
             traits::matrix_num_rows(a)) );
     BOOST_ASSERT( traits::vector_size(tau) >=
             std::min(traits::matrix_num_rows(a),
             traits::matrix_num_columns(a)) );
     BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
             min_size_work( $CALL_MIN_SIZE ));
     detail::geqrf( traits::matrix_num_rows(a),
             traits::matrix_num_columns(a), traits::matrix_storage(a),
             traits::leading_dimension(a), traits::vector_storage(tau),
             traits::vector_storage(work.select(real_type())),
             traits::vector_size(work.select(real_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:20,代码来源:geqrf.hpp


示例18: invoke

 static void invoke( MatrixA& a, VectorD& d, VectorE& e, VectorTAUQ& tauq,
         VectorTAUP& taup, integer_t& info, detail::workspace1<
         WORK > work ) {
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorD >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorE >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorTAUQ >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixA >::value_type, typename traits::vector_traits<
             VectorTAUP >::value_type >::value) );
     BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
     BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
     BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
             traits::matrix_num_rows(a)) );
     BOOST_ASSERT( traits::vector_size(d) >=
             std::min(traits::matrix_num_rows(a),
             traits::matrix_num_columns(a)) );
     BOOST_ASSERT( traits::vector_size(tauq) >=
             std::min(traits::matrix_num_rows(a),
             traits::matrix_num_columns(a)) );
     BOOST_ASSERT( traits::vector_size(taup) >=
             std::min(traits::matrix_num_rows(a),
             traits::matrix_num_columns(a)) );
     BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
             min_size_work( traits::matrix_num_rows(a),
             traits::matrix_num_columns(a) ));
     detail::gebrd( traits::matrix_num_rows(a),
             traits::matrix_num_columns(a), traits::matrix_storage(a),
             traits::leading_dimension(a), traits::vector_storage(d),
             traits::vector_storage(e), traits::vector_storage(tauq),
             traits::vector_storage(taup),
             traits::vector_storage(work.select(real_type())),
             traits::vector_size(work.select(real_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:39,代码来源:gebrd.hpp


示例19: invoke

 static void invoke( char const jobz, integer_t const n,
         integer_t const kd, MatrixAB& ab, VectorW& w, MatrixZ& z,
         integer_t& info, detail::workspace1< WORK > work ) {
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixAB >::value_type, typename traits::vector_traits<
             VectorW >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixAB >::value_type, typename traits::matrix_traits<
             MatrixZ >::value_type >::value) );
     BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
     BOOST_ASSERT( traits::matrix_uplo_tag(ab) == 'U' ||
             traits::matrix_uplo_tag(ab) == 'L' );
     BOOST_ASSERT( n >= 0 );
     BOOST_ASSERT( kd >= 0 );
     BOOST_ASSERT( traits::leading_dimension(ab) >= kd );
     BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
             min_size_work( n ));
     detail::sbev( jobz, traits::matrix_uplo_tag(ab), n, kd,
             traits::matrix_storage(ab), traits::leading_dimension(ab),
             traits::vector_storage(w), traits::matrix_storage(z),
             traits::leading_dimension(z),
             traits::vector_storage(work.select(real_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:23,代码来源:sbev.hpp


示例20: invoke

 static void invoke( char const vect, integer_t const n,
         integer_t const kd, MatrixAB& ab, VectorD& d, VectorE& e,
         MatrixQ& q, integer_t& info, detail::workspace1< WORK > work ) {
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::vector_traits<
             VectorD >::value_type, typename traits::vector_traits<
             VectorE >::value_type >::value) );
     BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
             MatrixAB >::value_type, typename traits::matrix_traits<
             MatrixQ >::value_type >::value) );
     BOOST_ASSERT( vect == 'N' || vect == 'V' || vect == 'U' );
     BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
             traits::matrix_uplo_tag(a) == 'L' );
     BOOST_ASSERT( n >= 0 );
     BOOST_ASSERT( kd >= 0 );
     BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
     BOOST_ASSERT( traits::vector_size(d) >= n );
     BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
             min_size_work( n ));
     detail::hbtrd( vect, traits::matrix_uplo_tag(a), n, kd,
             traits::matrix_storage(ab), traits::leading_dimension(ab),
             traits::vector_storage(d), traits::vector_storage(e),
             traits::matrix_storage(q), traits::leading_dimension(q),
             traits::vector_storage(work.select(value_type())), info );
 }
开发者ID:fluxdark,项目名称:jflib,代码行数:24,代码来源:hbtrd.hpp



注:本文中的detail::workspace1类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ devs::ExternalEventList类代码示例发布时间:2022-05-31
下一篇:
C++ detail::moved_object类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap