From ba94bc94b6e37ab4d67baec7fffef765d37f77eb Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 27 Aug 2019 21:57:25 +0200 Subject: [PATCH] less aggressive gcd in archimedean -- steps needs to divide by all f's --- archimedean.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/archimedean.cpp b/archimedean.cpp index 18a6e699..ab3b1037 100644 --- a/archimedean.cpp +++ b/archimedean.cpp @@ -1314,11 +1314,9 @@ bool archimedean_tiling::get_step_values(int& steps, int& single_step) { for(int f: arcm::current.faces) { if(int(denom*f)/f != denom) { steps = 0; single_step = 0; return false; } - nom = nom * f + (f-2) * denom; - denom = denom * f; - int g = gcd(nom, denom); - nom /= g; - denom /= g; + int g = gcd(denom, f); + nom = nom * (f/g) + (f-2) * (denom/g); + denom = denom/g * f; } steps = 2 * abs(denom);