diff options
Diffstat (limited to 'general/FracMatrix.h')
-rw-r--r-- | general/FracMatrix.h | 97 |
1 files changed, 47 insertions, 50 deletions
diff --git a/general/FracMatrix.h b/general/FracMatrix.h index 3becd3dc..8d884910 100644 --- a/general/FracMatrix.h +++ b/general/FracMatrix.h @@ -26,64 +26,61 @@ #include "Frac.h" #include "Matrix.h" -namespace PokeGen +class FracMatrix : public Matrix<Frac> { - class FracMatrix : public Matrix<Frac> - { - public: - FracMatrix() : - Matrix<Frac>() + public: + FracMatrix() : + Matrix<Frac>() + { + } + FracMatrix(const unsigned w, const unsigned h, const Frac &d = Frac()) : + Matrix<Frac>(w, h, d) + { + } + FracMatrix(const QString& fname) + { + load(fname); + } + + void load(const QString& fname) + { + Ini ini(fname); + ini.getValue("width", Matrix<Frac>::width, 0); + ini.getValue("height", Matrix<Frac>::height, 0); + if (!(Matrix<Frac>::width && Matrix<Frac>::height)) + return; + Matrix<Frac>::matrix.resize(Matrix<Frac>::width); + Matrix<Frac>::matrix.fill(QVector<Frac>(Matrix<Frac>::height, Frac(1, 1))); + for (unsigned i = 0; i < Matrix<Frac>::width; ++i) { - } - FracMatrix(const unsigned w, const unsigned h, const Frac &d = Frac()) : - Matrix<Frac>(w, h, d) - { - } - FracMatrix(const QString& fname) - { - load(fname); - } - - void load(const QString& fname) - { - Ini ini(fname); - ini.getValue("width", Matrix<Frac>::width, 0); - ini.getValue("height", Matrix<Frac>::height, 0); - if (!(Matrix<Frac>::width && Matrix<Frac>::height)) - return; - Matrix<Frac>::matrix.resize(Matrix<Frac>::width); - Matrix<Frac>::matrix.fill(QVector<Frac>(Matrix<Frac>::height, Frac(1, 1))); - for (unsigned i = 0; i < Matrix<Frac>::width; ++i) + for (unsigned j = 0; j < Matrix<Frac>::height; ++j) { - for (unsigned j = 0; j < Matrix<Frac>::height; ++j) - { - unsigned k; - unsigned l; - bool m; - ini.getValue(QString("Element-%1-%2-n").arg(i).arg(j), k, 0); - ini.getValue(QString("Element-%1-%2-d").arg(i).arg(j), l, 0); - ini.getValue(QString("Element-%1-%2-t").arg(i).arg(j), m, 0); - Matrix<Frac>::matrix[i][j].set(k, l, m); - } + unsigned k; + unsigned l; + bool m; + ini.getValue(QString("Element-%1-%2-n").arg(i).arg(j), k, 0); + ini.getValue(QString("Element-%1-%2-d").arg(i).arg(j), l, 0); + ini.getValue(QString("Element-%1-%2-t").arg(i).arg(j), m, 0); + Matrix<Frac>::matrix[i][j].set(k, l, m); } } - void save(const QString& fname) const + } + void save(const QString& fname) const + { + Ini ini; + ini.addField("height", Matrix<Frac>::height); + ini.addField("width", Matrix<Frac>::width); + for (unsigned i = 0; i < Matrix<Frac>::width; ++i) { - Ini ini; - ini.addField("height", Matrix<Frac>::height); - ini.addField("width", Matrix<Frac>::width); - for (unsigned i = 0; i < Matrix<Frac>::width; ++i) + for (unsigned j = 0; j < Matrix<Frac>::height; ++j) { - for (unsigned j = 0; j < Matrix<Frac>::height; ++j) - { - ini.addField(QString("Element-%1-%2-t").arg(i).arg(j), Matrix<Frac>::matrix[i][j].getType()); - ini.addField(QString("Element-%1-%2-n").arg(i).arg(j), Matrix<Frac>::matrix[i][j].getNum()); - ini.addField(QString("Element-%1-%2-d").arg(i).arg(j), Matrix<Frac>::matrix[i][j].getDenom()); - } + ini.addField(QString("Element-%1-%2-t").arg(i).arg(j), Matrix<Frac>::matrix[i][j].getType()); + ini.addField(QString("Element-%1-%2-n").arg(i).arg(j), Matrix<Frac>::matrix[i][j].getNum()); + ini.addField(QString("Element-%1-%2-d").arg(i).arg(j), Matrix<Frac>::matrix[i][j].getDenom()); } - ini.save(fname); } - }; -} + ini.save(fname); + } +}; #endif |