From baf84265b8627e6f868bc92ea6422e4e78dacb9c Mon Sep 17 00:00:00 2001 From: Taylor Howell Date: Fri, 9 May 2025 04:12:17 -0700 Subject: [PATCH] Improve wrap_circle. PiperOrigin-RevId: 756704385 Change-Id: Id44ba317c6072790763a958f4227a76278d3ab74 --- src/engine/engine_util_misc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/engine/engine_util_misc.c b/src/engine/engine_util_misc.c index b7f06601..03435f48 100644 --- a/src/engine/engine_util_misc.c +++ b/src/engine/engine_util_misc.c @@ -107,12 +107,12 @@ static mjtNum wrap_circle(mjtNum pnt[4], const mjtNum end[4], const mjtNum* side return -1; } + mjtNum sqrt0 = mju_sqrt(sqlen0 - sqrad); + mjtNum sqrt1 = mju_sqrt(sqlen1 - sqrad); + // construct the two solutions, compute goodness mjtNum sol[2][2][2], good[2]; for (int i=0; i < 2; i++) { - mjtNum sqrt0 = mju_sqrt(sqlen0 - sqrad); - mjtNum sqrt1 = mju_sqrt(sqlen1 - sqrad); - int sgn = (i == 0 ? 1 : -1); sol[i][0][0] = (end[0]*sqrad + sgn*radius*end[1]*sqrt0)/sqlen0;