Index: trunk/src/globals.h
===================================================================
--- trunk/src/globals.h	(revision 87)
+++ trunk/src/globals.h	(revision 89)
@@ -96,7 +96,7 @@
  * \return \c true if \a x countains an integer, oherwise \c false.
  */
-inline bool isInteger(qreal x)
+inline bool isInteger(double x)
 {
-qreal i;
+double i;
 	return (modf(x, &i) == 0.0);
 }
Index: trunk/src/mainwindow.cpp
===================================================================
--- trunk/src/mainwindow.cpp	(revision 87)
+++ trunk/src/mainwindow.cpp	(revision 89)
@@ -383,5 +383,5 @@
 {
 TMatrix matrix;
-QList<qreal> row;
+QList<double> row;
 int n = spinCities->value();
 bool ok;
@@ -389,5 +389,5 @@
 		row.clear();
 		for (int c = 0; c < n; c++) {
-			row.append(tspmodel->index(r,c).data(Qt::UserRole).toReal(&ok));
+			row.append(tspmodel->index(r,c).data(Qt::UserRole).toDouble(&ok));
 			if (!ok) {
 				QMessageBox(QMessageBox::Critical,tr("Data error"),tr("Error in cell [Row %1; Column %2]: Invalid data format.").arg(r + 1).arg(c + 1),QMessageBox::Ok,this).exec();
Index: trunk/src/tspmodel.cpp
===================================================================
--- trunk/src/tspmodel.cpp	(revision 87)
+++ trunk/src/tspmodel.cpp	(revision 89)
@@ -281,5 +281,5 @@
 		for (int c = 0; c < nCities; c++)
 			if (r != c) {
-				ds << static_cast<double>(table[r][c]); // We cast to double because qreal may be float on some platforms and we store double values in file
+				ds << static_cast<double>(table[r][c]); // We cast to double because double may be float on some platforms and we store double values in file
 				if (f.error() != QFile::NoError) {
 					f.close();
@@ -312,5 +312,5 @@
 		else {
 bool ok;
-qreal tmp = value.toReal(&ok);
+double tmp = value.toDouble(&ok);
 			if (!ok || tmp < 0)
 				return false;
@@ -399,5 +399,5 @@
 	}
 
-double x; // We need this as qreal may be float on some platforms and we store double values in file
+double x; // We need this as double may be float on some platforms and we store double values in file
 	// Travel costs
 	for (int r = 0; r < size; r++)
@@ -447,5 +447,5 @@
 	}
 	// Travel costs
-qreal val;
+double val;
 	for (int r = 0; r < 5; r++)
 		for (int c = 0; c < 5; c++)
@@ -469,12 +469,12 @@
 }
 
-inline qreal CTSPModel::rand(int min, int max) const
-{
-qreal r;
+inline double CTSPModel::rand(int min, int max) const
+{
+double r;
 	if (settings->value("Task/FractionalRandom", DEF_FRACTIONAL_RANDOM).toBool()) {
-qreal x = qPow(10, settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt());
-		r = (qreal)qRound((qreal)qrand() / RAND_MAX * (max - min) * x) / x;
+double x = qPow(10, settings->value("Task/FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt());
+		r = (double)qRound((double)qrand() / RAND_MAX * (max - min) * x) / x;
 	} else
-		r = qRound((qreal)qrand() / RAND_MAX * (max - min));
+		r = qRound((double)qrand() / RAND_MAX * (max - min));
 	return min + r;
 }
Index: trunk/src/tspmodel.h
===================================================================
--- trunk/src/tspmodel.h	(revision 87)
+++ trunk/src/tspmodel.h	(revision 89)
@@ -64,10 +64,10 @@
 private:
 	QSettings *settings;
-	QVector<QVector<qreal> > table;
+	QVector<QVector<double> > table;
 	quint16 nCities;
 	bool loadError(QDataStream::Status);
 	bool loadTSPT(QDataStream *);
 	bool loadZKT(QDataStream *);
-	qreal rand(int, int) const;
+	double rand(int, int) const;
 };
 
Index: trunk/src/tspsolver.cpp
===================================================================
--- trunk/src/tspsolver.cpp	(revision 87)
+++ trunk/src/tspsolver.cpp	(revision 89)
@@ -106,5 +106,5 @@
 int nRow, nCol;
 bool firstStep = true;
-qreal check;
+double check;
 	while (this->route.size() < nCities) {
 //		forbidden.clear();
@@ -188,8 +188,8 @@
 /* Privates **********************************************************/
 
-qreal CTSPSolver::align(TMatrix &matrix)
-{
-qreal r = 0;
-qreal min;
+double CTSPSolver::align(TMatrix &matrix)
+{
+double r = 0;
+double min;
 	for (int k = 0; k < nCities; k++) {
 		min = findMinInRow(k,matrix);
@@ -240,6 +240,6 @@
 QList<SCandidate> alts;
 SCandidate cand;
-qreal h = -1;
-qreal sum;
+double h = -1;
+double sum;
 	for (int r = 0; r < nCities; r++)
 		for (int c = 0; c < nCities; c++)
@@ -261,7 +261,7 @@
 }
 
-qreal CTSPSolver::findMinInCol(int nCol, const TMatrix &matrix, int exr) const
-{
-qreal min = INFINITY;
+double CTSPSolver::findMinInCol(int nCol, const TMatrix &matrix, int exr) const
+{
+double min = INFINITY;
 	for (int k = 0; k < nCities; k++)
 		if ((k != exr) && (min > matrix.at(k).at(nCol)))
@@ -270,7 +270,7 @@
 }
 
-qreal CTSPSolver::findMinInRow(int nRow, const TMatrix &matrix, int exc) const
-{
-qreal min = INFINITY;
+double CTSPSolver::findMinInRow(int nRow, const TMatrix &matrix, int exc) const
+{
+double min = INFINITY;
 	for (int k = 0; k < nCities; k++)
 		if (((k != exc)) && (min > matrix.at(nRow).at(k)))
@@ -293,5 +293,5 @@
 }
 
-void CTSPSolver::subCol(TMatrix &matrix, int nCol, qreal val)
+void CTSPSolver::subCol(TMatrix &matrix, int nCol, double val)
 {
 	for (int k = 0; k < nCities; k++)
@@ -300,5 +300,5 @@
 }
 
-void CTSPSolver::subRow(TMatrix &matrix, int nRow, qreal val)
+void CTSPSolver::subRow(TMatrix &matrix, int nRow, double val)
 {
 	for (int k = 0; k < nCities; k++)
Index: trunk/src/tspsolver.h
===================================================================
--- trunk/src/tspsolver.h	(revision 87)
+++ trunk/src/tspsolver.h	(revision 89)
@@ -34,5 +34,5 @@
 
 //! A matrix of city-to-city travel costs.
-typedef QList<QList<qreal> > TMatrix;
+typedef QList<QList<double> > TMatrix;
 
 /*!
@@ -60,5 +60,5 @@
 struct SStep {
 	TMatrix matrix; //!< This step's matrix
-	qreal price; //!< The price of travel to this step
+	double price; //!< The price of travel to this step
 	SCandidate candidate; //!< A candiadate for branching in the current matrix
 	QList<SCandidate> alts; //!< A list of alternative branching candidates
@@ -98,13 +98,13 @@
 //	QHash<int,int> forbidden;
 
-	qreal align(TMatrix &matrix);
+	double align(TMatrix &matrix);
 	void cleanup();
 	void deleteNode(SStep *&node);
 	QList<SCandidate> findCandidate(const TMatrix &matrix, int &nRow, int &nCol) const;
-	qreal findMinInCol(int nCol, const TMatrix &matrix, int exr = -1) const;
-	qreal findMinInRow(int nRow, const TMatrix &matrix, int exc = -1) const;
+	double findMinInCol(int nCol, const TMatrix &matrix, int exr = -1) const;
+	double findMinInRow(int nRow, const TMatrix &matrix, int exc = -1) const;
 	bool hasSubCycles(int nRow, int nCol) const;
-	void subCol(TMatrix &matrix, int nCol, qreal val);
-	void subRow(TMatrix &matrix, int nRow, qreal val);
+	void subCol(TMatrix &matrix, int nCol, double val);
+	void subRow(TMatrix &matrix, int nRow, double val);
 };
 
