From 6a391de2909297665de269bcb6a424658de824ac Mon Sep 17 00:00:00 2001 From: "qing.zhang" Date: Fri, 24 Feb 2023 10:12:26 +0800 Subject: [PATCH] FIX: speed 0 on macOS 13.2 STUDIO-2265 Signed-off-by: qing.zhang Change-Id: Ia8d92f6a0f7d84c1216d9403793e5fa7671ee8de --- src/libslic3r/GCode/CoolingBuffer.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libslic3r/GCode/CoolingBuffer.cpp b/src/libslic3r/GCode/CoolingBuffer.cpp index fe14a9e492..863cf09630 100644 --- a/src/libslic3r/GCode/CoolingBuffer.cpp +++ b/src/libslic3r/GCode/CoolingBuffer.cpp @@ -244,22 +244,22 @@ float new_feedrate_to_reach_time_stretch( { float new_feedrate = min_feedrate; for (size_t iter = 0; iter < max_iter; ++ iter) { - float nomin = 0; - float denom = time_stretch; + double nomin = 0; + double denom = time_stretch; for (auto it = it_begin; it != it_end; ++ it) { assert((*it)->slow_down_min_speed < min_feedrate + EPSILON); for (size_t i = 0; i < (*it)->n_lines_adjustable; ++i) { const CoolingLine &line = (*it)->lines[i]; if (line.feedrate > min_feedrate) { - nomin += line.time * line.feedrate; - denom += line.time; + nomin += (double)line.time * (double)line.feedrate; + denom += (double)line.time; } } } assert(denom > 0); if (denom < 0) return min_feedrate; - new_feedrate = nomin / denom; + new_feedrate = (float)(nomin / denom); assert(new_feedrate > min_feedrate - EPSILON); if (new_feedrate < min_feedrate + EPSILON) goto finished;