예제 #1
0
void MeasureTime(Polynomial& p)
{
	//p.Print();
	//cout << p.NumberOfRoots(Number(-100), Number(100)) << endl;
	auto begin = chrono::high_resolution_clock::now();
	p = p.PolynomialAfterEliminationOfMultipleRoots();
	//p.Print();
	Number a = MAX_NEGATIVE_VALUE;
	Number b = MAX_VALUE;
	cout << "changes in a = " << p.NumberOfChangesSign(a) << endl;
	cout << "changes in b = " << p.NumberOfChangesSign(b) << endl;
	p.PrintRoots(Number(-100), Number(100));
	//p.FindRoots(Number(-100), Number(100));
	auto end = chrono::high_resolution_clock::now();
	auto durationInMs = chrono::duration_cast<chrono::nanoseconds>(end - begin).count();
	cout << durationInMs / 1000000 << endl;
	//cout << durationInNs / 1000000000 << "s ~= " << durationInNs/1000000 << "ms " << endl;
}