[Libreoffice-commits] core.git: include/o3tl

Mike Kaganski (via logerrit) logerrit at kemper.freedesktop.org
Tue Mar 30 08:12:29 UTC 2021


 include/o3tl/unit_conversion.hxx |   20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

New commits:
commit 852c4f8cded79435bd69675e9e9a10034b385219
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Tue Mar 30 09:02:12 2021 +0200
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Tue Mar 30 10:11:45 2021 +0200

    Simplify prepareMDArray
    
    Change-Id: I1b8c0dead67b48c25ddcc02e83c3305cf93ebd5b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113288
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/include/o3tl/unit_conversion.hxx b/include/o3tl/unit_conversion.hxx
index 434f2e50c1c8..4c76375737a2 100644
--- a/include/o3tl/unit_conversion.hxx
+++ b/include/o3tl/unit_conversion.hxx
@@ -128,19 +128,15 @@ template <int N> constexpr auto prepareMDArray(const m_and_d (&mdBase)[N])
     std::array<std::array<sal_Int64, N>, N> a{};
     for (int i = 0; i < N; ++i)
     {
-        for (int j = 0; j <= i; ++j)
+        a[i][i] = 1;
+        for (int j = 0; j < i; ++j)
         {
-            if (i == j)
-                a[i][j] = 1;
-            else
-            {
-                assert(mdBase[i].m < SAL_MAX_INT64 / mdBase[j].d);
-                assert(mdBase[i].d < SAL_MAX_INT64 / mdBase[j].m);
-                const sal_Int64 m = mdBase[i].m * mdBase[j].d, d = mdBase[i].d * mdBase[j].m;
-                const sal_Int64 g = std::gcd(m, d);
-                a[i][j] = m / g;
-                a[j][i] = d / g;
-            }
+            assert(mdBase[i].m < SAL_MAX_INT64 / mdBase[j].d);
+            assert(mdBase[i].d < SAL_MAX_INT64 / mdBase[j].m);
+            const sal_Int64 m = mdBase[i].m * mdBase[j].d, d = mdBase[i].d * mdBase[j].m;
+            const sal_Int64 g = std::gcd(m, d);
+            a[i][j] = m / g;
+            a[j][i] = d / g;
         }
     }
     return a;


More information about the Libreoffice-commits mailing list