From cfeb614a5aed24ab733bd5f7a38f1ffa8d20693d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicol=C3=A1s=20Dimov?= Date: Thu, 4 Dec 2003 17:33:26 +0000 Subject: [PATCH] La Division ahora anda bien en todos los casos --- Model/src/splitter.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Model/src/splitter.cpp b/Model/src/splitter.cpp index 38742f6..cf8804a 100644 --- a/Model/src/splitter.cpp +++ b/Model/src/splitter.cpp @@ -34,13 +34,18 @@ void Splitter::recieve_msg(int msg, IConector *who, void *data) } // Me preguntan por el flujo máximo. // Primero me actualizo, y luego respondo - actual_flow = *((float *)data); + float tmp = *((float *)data); + + if (tmp < actual_flow) actual_flow = tmp; if (max_flow < actual_flow) actual_flow = max_flow; if (out_on_zero == 0) actual_flow /= 2.0f; + if (actual_flow == 0) { + out_ready = 2; + } send_msg(OUT, MSG_QUERY_MAX_FLOW_OUT, &actual_flow); // Listo, mi flujo ahora es el doble de lo que me pueden @@ -52,6 +57,7 @@ void Splitter::recieve_msg(int msg, IConector *who, void *data) break; case MSG_RESPONSE_MAX_FLOW: { float max = *((float *)data); + if (out_ready == 2) break; #ifdef DEBUG std::cout << name << ":Split " << max << std::endl; #endif -- 2.43.0