-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmainwindow.h
More file actions
35 lines (28 loc) · 795 Bytes
/
mainwindow.h
File metadata and controls
35 lines (28 loc) · 795 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QFuture>
#include <QtConcurrent>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void onStartClicked();
void onStopClicked();
void onCalculationFinished(int number, int length, long long duration);
void onErrorMessage(const QString &message);
private:
Ui::MainWindow *ui;
bool running;
QFuture<void> future;
void startCalculation(int maxNumber, int numThreads);
void stopCalculation();
int collatzLength(long long n);
int findLongestCollatz(int maxNumber, int numThreads);
};
#endif // MAINWINDOW_H