From fee9e5dcf1b13484cc1f44be145bb52eec5b7123 Mon Sep 17 00:00:00 2001
From: Lionel GUEZ <guez@lmd.ens.fr>
Date: Wed, 28 Feb 2024 23:01:54 +0100
Subject: [PATCH] Optimize: shift `e1%out_cont%polyline`

Optimize: shift `e1%out_cont%polyline` instead of shifting
`e2%speed_cont%polyline` and `e2%out%polyline`. This can save one call
to `copy_shift`.
---
 Overlap/overlap.f90 | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/Overlap/overlap.f90 b/Overlap/overlap.f90
index 423d9b04..8c9cc3ef 100644
--- a/Overlap/overlap.f90
+++ b/Overlap/overlap.f90
@@ -81,14 +81,12 @@ contains
 
               if (e1%speed_cont%n_points == 0 &
                    .and. e2%speed_cont%n_points /= 0) then
-                 p_shifted = copy_shift(e2%speed_cont%polyline, delta_long)
-                 assoc_eddies = inters_lines(e1%out_cont%polyline, p_shifted, &
-                      min_inters_speed)
-                 if (.not. assoc_eddies) then
-                    p_shifted = copy_shift(e2%out%polyline, delta_long)
-                    assoc_eddies = inters_lines(e1%out_cont%polyline, &
-                         p_shifted, min_inters_out)
-                 end if
+                 p_shifted = copy_shift(e1%out_cont%polyline, - delta_long)
+                 assoc_eddies = inters_lines(p_shifted, &
+                      e2%speed_cont%polyline, min_inters_speed)
+                 if (.not. assoc_eddies) assoc_eddies &
+                      = inters_lines(p_shifted, e2%out_cont%polyline, &
+                      min_inters_out)
               elseif (e1%speed_cont%n_points /= 0 &
                    .and. e2%speed_cont%n_points == 0) then
                  p_shifted = copy_shift(e2%out_cont%polyline, delta_long)
-- 
GitLab