当前位置: 首页>>代码示例>>C++>>正文


C++ A0::leading_size方法代码示例

本文整理汇总了C++中A0::leading_size方法的典型用法代码示例。如果您正苦于以下问题:C++ A0::leading_size方法的具体用法?C++ A0::leading_size怎么用?C++ A0::leading_size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在A0的用法示例。


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

示例1: operator

 BOOST_FORCEINLINE result_type operator()( A0& a, A1& b, A2& alpha, A3& beta, A4& vr, A5& vl) const
 {
   result_type info = 0;
   char jobvr = 'V';
   char jobvl = 'V';
   details::workspace<typename A0::value_type> wk;
   nt2_la_int n = nt2::width(a);
   BOOST_ASSERT_MSG(  (n == nt2_la_int(nt2::height(a)))
                      &&(n == nt2_la_int(nt2::height(b))) , "inputs must be square");
   nt2_la_int lda  = nt2::max(a.leading_size(), One<size_t>());
   nt2_la_int ldb  = nt2::max(b.leading_size(), One<size_t>());
   nt2_la_int ldvl = n;
   nt2_la_int ldvr = n;
   NT2_F77NAME(zggev) ( &jobvl, &jobvr
                      , &n
                      , 0 /*a*/, &lda
                      , 0 /*b*/, &ldb
                      , 0/*alpha*/
                      , 0/*beta*/
                      , 0/*vl*/, &ldvl
                      , 0/*vr*/, &ldvr
                      , wk.main(), details::query()
                      , wk.reals()
                      , &info);
   info = nt2::ggev_wvrvl(a, b, alpha, beta, vr, vl, wk);
   return info;
 }
开发者ID:JanVogelgesang,项目名称:nt2,代码行数:27,代码来源:ggev_wvrvl.hpp

示例2: eval

 //==========================================================================
 /// INTERNAL ONLY - X = LINSOLVE(A,B) -- symmetric shape
 BOOST_FORCEINLINE
 void eval ( A0 const& a0, A1 const& a1 , A2 const& a2 ,boost::mpl::long_<1> const
           , nt2::symmetric_ const&) const
 {
   type_t rcond;
   nt2::container::table<nt2_la_int> piv = nt2::zeros(a0.leading_size(), 1
                                         , nt2::meta::as_<nt2_la_int>() );
   boost::proto::child_c<0>(a2).resize(nt2::of_size(a0.leading_size(),1));
   NT2_AS_TERMINAL_IN(desired_semantic1,a,a0);
   NT2_AS_TERMINAL_IN(desired_semantic,b,a1);
   nt2_la_int iter = nt2::sysvx( boost::proto::value(a),boost::proto::value(piv)
                              , boost::proto::value(b)
                              , boost::proto::value(boost::proto::child_c<0>(a2))
                              , rcond);
   boost::ignore_unused(iter);
 }
开发者ID:JanVogelgesang,项目名称:nt2,代码行数:18,代码来源:plinsolve.hpp

示例3: operator

    BOOST_FORCEINLINE result_type operator()( A0& a0, A1& s, A2& u,A3 &vt, A4 const jobu
            , A5 const jobvt) const
    {
        result_type that;
        details::workspace<typename A0::value_type> w;
        nt2_la_int  m  = nt2::height(a0);
        nt2_la_int  n  = nt2::width(a0);
        nt2_la_int  ld = a0.leading_size();
        nt2_la_int ldu = u.leading_size() > 1 ? u.leading_size() : 1 ;
        nt2_la_int ldvt= vt.leading_size() > 1 ? vt.leading_size() : 1 ;
        nt2_la_int lwork_query = -1;

        char c = std::toupper(jobu);
        magma_vec_t magma_jobu  = c == 'A' ? MagmaAllVec : c == 'S' ? MagmaSomeVec : c == 'O' ? MagmaOverwriteVec : c == 'N' ? MagmaNoVec : (magma_vec_t)0;
        c = std::toupper(jobvt);
        magma_vec_t magma_jobvt = c == 'A' ? MagmaAllVec : c == 'S' ? MagmaSomeVec : c == 'O' ? MagmaOverwriteVec : c == 'N' ? MagmaNoVec : (magma_vec_t)0;

        magma_sgesvd(magma_jobu,magma_jobvt,m, n, 0, ld, 0, 0, ldu
                     , 0, ldvt, w.main()
                     , lwork_query, &that
                    );

        w.prepare_main();
        nt2::gesvd(a0,s,u,vt,jobu,jobvt,w);

        return that;
    }
开发者ID:psiha,项目名称:nt2,代码行数:27,代码来源:gesvd.hpp

示例4: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1 const& a1) const
     {
        result_type that;
        nt2_la_int n   = nt2::width(a0);
        nt2_la_int lda = a0.leading_size();

        NT2_F77NAME(zpotrf) (&a1,&n,a0.raw(),&lda,&that);

        return that;
     }
开发者ID:LuisBL,项目名称:pythran,代码行数:10,代码来源:potrf.hpp

示例5: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1 const a1) const
     {
        result_type that;
        nt2_la_int n   = nt2::width(a0);
        nt2_la_int lda = a0.leading_size();

        magma_zpotrf(a1,n,(cuDoubleComplex*)a0.raw(),lda,&that);

        return that;
     }
开发者ID:atyuwen,项目名称:nt2,代码行数:10,代码来源:potrf.hpp

示例6: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1) const
     {
        result_type that;
        nt2_la_int  m  = nt2::height(a0);
        nt2_la_int  n  = nt2::width(a0);
        nt2_la_int  ld = a0.leading_size();

        a1.resize( nt2::of_size(std::min(n, m), 1) );

        magma_cgetrf(m, n, (cuFloatComplex*)a0.data(), ld, a1.data(), &that);
        return that;
     }
开发者ID:aminiussi,项目名称:nt2,代码行数:12,代码来源:getrf.hpp

示例7: operator

 BOOST_FORCEINLINE result_type operator()( A0& a, A1& scale
                                         , A2& ilo, A3& ihi, C0 job) const
 {
    result_type info;
    nt2_la_int  n   = nt2::width(a);
    BOOST_ASSERT_MSG(n == nt2_la_int(nt2::height(a)), "input must be square");
    nt2_la_int  lda = nt2::max(a.leading_size(), One<size_t>());
    NT2_F77NAME(cgebal) (&job, &n
                        , a.raw(), &lda
                        , &ilo, &ihi
                        , scale.raw(), &info);
    return info;
 }
开发者ID:gilbert0571,项目名称:nt2,代码行数:13,代码来源:gebal.hpp

示例8: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1) const
     {
        result_type that;
        nt2_la_int  n  = nt2::width(a0);
        nt2_la_int  ld = a0.leading_size();
        nt2_la_int  ldb = a1.leading_size();
        nt2_la_int  nhrs = nt2::width(a1);
        char uplo = 'L';

        NT2_F77NAME(zposv) ( &uplo, &n, &nhrs, a0.data(), &ld, a1.data(), &ldb
                           , &that
                            );

        return that;
     }
开发者ID:JanVogelgesang,项目名称:nt2,代码行数:15,代码来源:posv.hpp

示例9: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1, A2& a2) const
     {
        result_type that;
        details::workspace<typename A0::value_type> w;
        nt2_la_int  m  = nt2::height(a0);
        nt2_la_int  n  = nt2::width(a0);
        nt2_la_int  ld = a0.leading_size();

        NT2_F77NAME(sgeqp3) (&m, &n, 0, &ld, 0, 0, w.main()
                            , details::query(), &that
                            );

          w.prepare_main();
          nt2::geqp3(a0,a1,a2,w);

        return that;
     }
开发者ID:atyuwen,项目名称:nt2,代码行数:17,代码来源:geqp3.hpp

示例10: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1, A2& a2) const
     {
        result_type that;
        details::workspace<typename A0::value_type> w;
        nt2_la_int  m  = nt2::height(a0);
        nt2_la_int  n  = nt2::width(a0);
        nt2_la_int  ld = a0.leading_size();
        nt2_la_int lwork_query = -1;

        magma_sgeqp3 (m, n, 0, ld, 0, 0, w.main()
                            , lwork_query, &that
                            );
          w.prepare_main();
          nt2::geqp3(a0,a1,a2,w);

        return that;
     }
开发者ID:atyuwen,项目名称:nt2,代码行数:17,代码来源:geqp3.hpp

示例11: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1& a1,A2& a2) const
     {
        result_type that;
        details::workspace<typename A2::value_type> w;
        nt2_la_int  m  = nt2::height(a0);
        nt2_la_int  ld = a0.leading_size();
        nt2_la_int  k  = a1.leading_size();
        char side  = 'L';
        char trans = 'N';

        NT2_F77NAME(sormqr) (&side,&trans,&m, &m, &k, 0, &ld, 0, 0, &m, w.main()
                            , details::query(), &that
                            );
        w.prepare_main();

        nt2::mqr(a0,a1,a2,w);

        return that;
     }
开发者ID:gilbert0571,项目名称:nt2,代码行数:19,代码来源:mqr.hpp

示例12: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1& s, A2& u,A3 &vt, A4 jobu, A5 jobvt) const
     {
        result_type that;
        details::workspace<typename A0::value_type> w;
        nt2_la_int  m  = nt2::height(a0);
        nt2_la_int  n  = nt2::width(a0);
        nt2_la_int  ld = a0.leading_size();
        nt2_la_int ldu = u.leading_size() > 1 ? u.leading_size() : 1 ;
        nt2_la_int ldvt= vt.leading_size() > 1 ? vt.leading_size() : 1 ;

        NT2_F77NAME(sgesvd) (&jobu,&jobvt,&m, &n, 0, &ld, 0, 0, &ldu
                            , 0, &ldvt, w.main()
                            , details::query(), &that
                            );

        w.resize_main(5*nt2::max(m, n));
        nt2::gesvd(a0,s,u,vt,jobu,jobvt,w);

        return that;
     }
开发者ID:syntheticpp,项目名称:nt2,代码行数:20,代码来源:gesvd.hpp

示例13: operator

     BOOST_FORCEINLINE result_type operator()(A0& a0, A1& s) const
     {
        result_type info;
        details::workspace<typename A0::value_type> w;
        nt2_la_int  m  = nt2::height(a0);
        nt2_la_int  n  = nt2::width(a0);
        nt2_la_int  ld = a0.leading_size();
        nt2_la_int ldu = 1 ;
        nt2_la_int ldvt= 1 ;
        char job =  'N';

        NT2_F77NAME(sgesvd) (&job, &job, &m, &n, 0, &ld, 0, 0, &ldu
                            , 0, &ldvt, w.main()
                            , details::query(), &info
                            );

        w.prepare_main();
        w.resize_main(5*nt2::max(m, n));
        nt2::gesvd_w(a0,s,w);

        return info;
     }
开发者ID:LuisBL,项目名称:pythran,代码行数:22,代码来源:gesvd_w.hpp

示例14: operator

     BOOST_FORCEINLINE result_type operator()( A0& a0, A1& s) const
     {
        result_type that;
        details::workspace<typename A0::value_type> w;
        nt2_la_int  m  = nt2::height(a0);
        nt2_la_int  n  = nt2::width(a0);
        nt2_la_int  ld = a0.leading_size();
        nt2_la_int ldu = 1;
        nt2_la_int ldvt= 1;
        nt2_la_int lwork_query = -1;
        magma_vec_t magma_jobu  = MagmaNoVec ;

        magma_sgesvd(magma_jobu,magma_jobu,m, n, 0, ld, 0, 0, ldu
                            , 0, ldvt, w.main()
                            , lwork_query, &that
                            );

        w.prepare_main();
        nt2::gesvd_w(a0,s,w);

        return that;
     }
开发者ID:kevinushey,项目名称:nt2,代码行数:22,代码来源:gesvd_w.hpp

示例15: operator

 BOOST_FORCEINLINE result_type operator()( A0& a, A1& w) const
 {
   char jobvl = 'N';
   char jobvr = 'N';
   result_type info = 0;
   details::workspace<typename A0::value_type> wk;
   nt2_la_int n = nt2::width(a);
   BOOST_ASSERT_MSG(n == nt2_la_int(nt2::height(a)), "input must be square");
   nt2_la_int lda  = nt2::max(a.leading_size(), One<size_t>());
   nt2_la_int ldvl = 1;
   nt2_la_int ldvr = 1;
   NT2_F77NAME(cgeev) ( &jobvl, &jobvr
                      , &n
                      , 0 /*a*/, &lda
                      , 0 /*w*/
                      , 0 /*vl*/, &ldvl
                      , 0 /*vr*/, &ldvr
                      , wk.main(), details::query()
                      , wk.reals()
                      , &info);
  info = nt2::geev_w(a, w, wk);
   return info;
  }
开发者ID:JanVogelgesang,项目名称:nt2,代码行数:23,代码来源:geev_w.hpp


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