From 097f297f513c0eef6d7646e4cc0ca587b5c5f105 Mon Sep 17 00:00:00 2001
From: Guyslain <guyslain.naves@lis-lab.fr>
Date: Fri, 22 Dec 2023 10:57:47 +0100
Subject: [PATCH] =?UTF-8?q?ajout=20dans=20l'algo=20de=20copoint=20d'un=20t?=
 =?UTF-8?q?est=20de=20compatibilit=C3=A9=20en=20fin=20d'algo?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/copoint/imperativeCCNP.ml | 4 +++-
 lib/copoint/robinsonCCNP.ml   | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/copoint/imperativeCCNP.ml b/lib/copoint/imperativeCCNP.ml
index 0a7ce9a..9759777 100644
--- a/lib/copoint/imperativeCCNP.ml
+++ b/lib/copoint/imperativeCCNP.ml
@@ -160,6 +160,8 @@ let find_compatible_order (type elt) diss =
   let module D = struct type t = elt let d = diss.d end in 
   let module M = Make(D) in 
   try 
-    Some (M.find_compatible_order (Array.of_list diss.elements))
+    let order = M.find_compatible_order (Array.of_list diss.elements) in 
+    if Dissimilarity.is_compatible_order diss (Array.to_list order) then Some order
+    else None 
   with 
     | M.Not_Robinson -> None 
diff --git a/lib/copoint/robinsonCCNP.ml b/lib/copoint/robinsonCCNP.ml
index e879adf..a4b2202 100644
--- a/lib/copoint/robinsonCCNP.ml
+++ b/lib/copoint/robinsonCCNP.ml
@@ -175,6 +175,8 @@ let find_compatible_order (type elt) diss =
   in 
   let module M = Make(D) in 
   try
-    Some (M.find_compatible_order diss.elements)
+    let order = M.find_compatible_order diss.elements in 
+    if Dissimilarity.is_compatible_order diss order then Some order
+    else None 
   with 
   | M.Not_Robinson -> None
-- 
GitLab