本文整理汇总了C++中Blackbox::unpackingApply方法的典型用法代码示例。如果您正苦于以下问题:C++ Blackbox::unpackingApply方法的具体用法?C++ Blackbox::unpackingApply怎么用?C++ Blackbox::unpackingApply使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Blackbox
的用法示例。
在下文中一共展示了Blackbox::unpackingApply方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: stressTest
void stressTest (Blackbox & A)
{
//Note that the rowdim/coldim of A must be 30000
typedef typename Blackbox::MatrixDomain Dom;
typedef typename Dom::Block Block;
Dom MD = A.domain();
size_t m = 30000;
size_t n = 2000;
LinBox::UserTimer timer;
Block B(m,n), C(m,n);
MD.random(B);
cout << "Test: 30000x30000 matrix multiplied by 30000x2000 matrix\nblock size = 2048\n\n";
timer.clear(); timer.start();
A.unpackingApply(C,B,2048);
timer.stop();
cout << "unpacking apply time: " << timer << endl;
Block D(m,m); MD.random(D);
timer.clear(); timer.start();
MD.mul(C,D,B);
timer.stop();
cout << "domain mul time: " << timer << endl;
cout << endl;
} //end stressTest()
示例2: blockSizeTimingTest
void blockSizeTimingTest(Blackbox & A, size_t size)
{
typedef typename Blackbox::MatrixDomain Dom;
typedef typename Dom::Block Block;
Dom MD = A.domain();
size_t m = A.rowdim();
LinBox::UserTimer timer;
Block B(m,m), C(m,m), D(m,m);
MD.random(B); MD.random(D);
cout << size << " " << m << " ";
timer.clear(); timer.start();
A.unpackingApply(C,B,size);
timer.stop();
cout << timer << " ";
timer.clear(); timer.start();
A.unpackingApplyTranspose(C,B,size);
timer.stop();
cout << timer << " ";
timer.clear(); timer.start();
MD.mul(C,D,B);
timer.stop();
cout << timer << " ";
cout << endl;
} //blockSizeTimingTest()
示例3: largeTest
void largeTest (Blackbox & A)
{
//Use for large blackboxes
typedef typename Blackbox::MatrixDomain Dom;
typedef typename Dom::Block Block;
Dom MD = A.domain();
size_t m = A.coldim();
size_t n = 2000;
LinBox::UserTimer timer;
Block B(m,n), C(m,n);
MD.random(B);
cout << "Test: " << A.rowdim() << "x" << m << "blackbox multiplied by " << m << "x" << n << "block\nblock size: 2048\n\n";
timer.clear(); timer.start();
A.unpackingApply(C,B,2048);
timer.stop();
cout << "unpacking apply time: " << timer << endl;
} //end largeTest