本文整理汇总了C++中Scanner::print方法的典型用法代码示例。如果您正苦于以下问题:C++ Scanner::print方法的具体用法?C++ Scanner::print怎么用?C++ Scanner::print使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Scanner
的用法示例。
在下文中一共展示了Scanner::print方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
}
}
Scanner A = Scanner(dataA, true, dimension, dimension, dimension, dimension);
Scanner B = Scanner(dataB, false, dimension, dimension, dimension, dimension);
double prevTime = DBL_MAX;
unsigned int bestPoint = -1;
unsigned int crossPoint = 8;
while (crossPoint < dimension)
{
double runtime = 0;
clock_t t = clock();
matmath.strassensWrapper(A, B, crossPoint);
matmath.unload();
runtime = (double) (clock() - t) / CLOCKS_PER_SEC * 1000;
std::cout << "Crosspoint: " << crossPoint << std::endl;
std::cout << "Runtime: " << runtime << std::endl;
if (prevTime > runtime)
{
bestPoint = crossPoint;
prevTime = runtime;
}
crossPoint *= 2;
}
std::cout << "Best crossover point: " << bestPoint << std::endl;
free(dataA);
free(dataB);
return 0;
}
// used for determining average runtime for 3 trials
case 2:
{
MatrixOps matmath = MatrixOps();
for (unsigned int i = 2; i <= 4096; i *= 2)
{
int * dataA = new int[i * i + 1];
for (unsigned int j = 0; j < i; ++j)
{
for (unsigned int k = 0; k < i; ++k)
{
dataA[j * i + k] = rand() % 3 - 1;
}
}
int * dataB = new int[i*i+1];
for (unsigned int j = 0; j < i; ++j)
{
for (unsigned int k = 0; k < i; ++k)
{
dataB[j * i + k] = rand() % 3 - 1;
}
}
Scanner A = Scanner(dataA, true, i, i, i, i);
Scanner B = Scanner(dataB, false, i, i, i, i);
double averageTime = 0;
for (unsigned int j = 0; j < 3; ++j)
{
double runtime = 0;
clock_t t = clock();
matmath.strassensWrapper(A, B);
matmath.unload();
runtime = (double) (clock() - t) / CLOCKS_PER_SEC * 1000 / 3;
averageTime += runtime;
}
std::cout << "Dimension: " << i << std::endl;
std::cout << "Average runtime: " << averageTime << std::endl;
free(dataA);
free(dataB);
}
return 0;
}
case 3:
{
MatrixOps matmath = MatrixOps();
int * dataA = new int[dimension*dimension+1];
for (unsigned int i = 0; i < dimension; ++i)
{
for (unsigned int j = 0; j < dimension; ++j)
{
dataA[i * dimension + j] = j;
}
}
int * dataB = new int[dimension*dimension+1];
for (unsigned int i = 0; i < dimension; ++i)
{
for (unsigned int j = 0; j < dimension; ++j)
{
dataB[i * dimension + j] = j;
}
}
Scanner A = Scanner(dataA, true, dimension, dimension, dimension, dimension);
Scanner B = Scanner(dataB, false, dimension, dimension, dimension, dimension);
Scanner C = matmath.strassensWrapper(A, B, 4);
C.print();
free(dataA);
free(dataB);
return 0;
}
}
}