summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp
index 8541410a56f..75d571877a9 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/Matrix.cpp
@@ -2,7 +2,7 @@
** Matrix.cpp **
** **
** This file is part of dvisvgm -- a fast DVI to SVG converter **
-** Copyright (C) 2005-2019 Martin Gieseking <martin.gieseking@uos.de> **
+** Copyright (C) 2005-2020 Martin Gieseking <martin.gieseking@uos.de> **
** **
** This program is free software; you can redistribute it and/or **
** modify it under the terms of the GNU General Public License as **
@@ -169,7 +169,7 @@ Matrix& Matrix::rotate (double deg) {
Matrix& Matrix::xskewByAngle (double deg) {
- if (fmod(fabs(deg)-90, 180) != 0)
+ if (fmod(abs(deg)-90, 180) != 0)
return xskewByRatio(tan(deg2rad(deg)));
return *this;
}
@@ -186,7 +186,7 @@ Matrix& Matrix::xskewByRatio (double xyratio) {
Matrix& Matrix::yskewByAngle (double deg) {
- if (fmod(fabs(deg)-90, 180) != 0)
+ if (fmod(abs(deg)-90, 180) != 0)
return yskewByRatio(tan(deg2rad(deg)));
return *this;
}
@@ -246,17 +246,17 @@ Matrix& Matrix::lmultiply (const Matrix &tm) {
Matrix& Matrix::invert () {
Matrix ret;
- if (double denom = det(*this)) {
- for (int i=0; i < 3; ++i) {
- for (int j=0; j < 3; ++j) {
- ret._values[i][j] = det(*this, i, j)/denom;
- if ((i+j)%2 != 0)
- ret._values[i][j] *= -1;
- }
+ double denom = det(*this);
+ if (abs(denom) < 1e-12)
+ throw exception();
+ for (int i=0; i < 3; ++i) {
+ for (int j=0; j < 3; ++j) {
+ ret._values[j][i] = det(*this, i, j)/denom;
+ if ((i+j)%2 != 0)
+ ret._values[j][i] *= -1;
}
- return *this = ret;
}
- throw exception();
+ return *this = ret;
}