MPSolve 3.2.1
Loading...
Searching...
No Matches
polynomialsolver.h
1#ifndef POLYNOMIALSOLVER_H
2#define POLYNOMIALSOLVER_H
3
4#include <QObject>
5#include "root.h"
6#include "mpsolveworker.h"
7#include "rootsmodel.h"
8#include "monomial.h"
9#include <mps/mps.h>
10#include <stdio.h>
11
12namespace xmpsolve {
13
21class PolynomialSolver : public QObject
22{
23 Q_OBJECT
24
25public:
26
27 explicit PolynomialSolver(QObject *parent = 0);
29
30public slots:
31
37 int solvePoly(mps_polynomial * poly, PolynomialBasis basis = MONOMIAL,
38 mps_algorithm selected_algorithm = MPS_ALGORITHM_SECULAR_GA,
39 int required_digits = 16, mps_output_goal goal = MPS_OUTPUT_GOAL_APPROXIMATE);
40
46 int solvePolFile(QString selectedFile, mps_algorithm selected_algorithm = MPS_ALGORITHM_SECULAR_GA,
47 int required_digits = 16, mps_output_goal goal = MPS_OUTPUT_GOAL_APPROXIMATE);
48
56 int solvePolFileFromContent(QString content,
57 mps_algorithm selected_algorithm,
58 int required_digits,
59 mps_output_goal goal = MPS_OUTPUT_GOAL_APPROXIMATE);
60
66 int solvePoly(QString inputString, PolynomialBasis basis = xmpsolve::MONOMIAL,
67 mps_algorithm = MPS_ALGORITHM_SECULAR_GA,
68 int required_digits = 16,
69 mps_output_goal goal = MPS_OUTPUT_GOAL_APPROXIMATE);
70
76 QString errorMessage();
77
83 unsigned long int CPUTime();
84
91
95 void abortComputations();
96
98 void workerExited();
99
100private:
101 MPSolveWorker m_worker;
102 mps_context * m_mpsContext;
103 mps_polynomial * m_currentPoly;
104 QString m_errorMessage;
105
106 RootsModel m_rootsModel;
107
108signals:
110 void solved();
111
112};
113
114} // Namespace xmpsolve
115
116#endif // POLYNOMIALSOLVER_H
Definition: mpsolveworker.h:10
The PolynomialSolver class aims to solve a polynomial given its coefficients or the content of the li...
Definition: polynomialsolver.h:22
void abortComputations()
abortComputations kills every current computation.
Definition: polynomialsolver.cpp:223
unsigned long int CPUTime()
CPUTime can be used to access the CPU time consumed by the last polynomial solved....
Definition: polynomialsolver.cpp:229
void solved()
Signal emitted when the computation ends.
Definition: polynomialsolver_moc.cpp:245
QString errorMessage()
errorMessage can be used to access the last error message, if solvePoly() returns -1.
Definition: polynomialsolver.cpp:170
int solvePoly(mps_polynomial *poly, PolynomialBasis basis=MONOMIAL, mps_algorithm selected_algorithm=MPS_ALGORITHM_SECULAR_GA, int required_digits=16, mps_output_goal goal=MPS_OUTPUT_GOAL_APPROXIMATE)
Solve a polynomial.
Definition: polynomialsolver.cpp:95
void workerExited()
Called when the thread solving the polynomial exits.
Definition: polynomialsolver.cpp:176
RootsModel * rootsModel()
rootsModel returns a pointer to the internal rootsModel that holds the approximations computed by the...
Definition: polynomialsolver.cpp:234
int solvePolFile(QString selectedFile, mps_algorithm selected_algorithm=MPS_ALGORITHM_SECULAR_GA, int required_digits=16, mps_output_goal goal=MPS_OUTPUT_GOAL_APPROXIMATE)
Solve a polynomial specified by a .pol file.
Definition: polynomialsolver.cpp:33
int solvePolFileFromContent(QString content, mps_algorithm selected_algorithm, int required_digits, mps_output_goal goal=MPS_OUTPUT_GOAL_APPROXIMATE)
solvePolFileFromContent solves a .pol file given its ontent
Definition: polynomialsolver.cpp:64
Definition: rootsmodel.h:10
Header file for libmps.
this struct holds the state of the mps computation
Definition: context.h:55
Struct that represents an abstract polynomial. All the other real polynomial implementations (such as...
Definition: polynomial.h:111