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; }