emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] externals/caml 432e972 081/197: duh


From: Stefan Monnier
Subject: [nongnu] externals/caml 432e972 081/197: duh
Date: Sat, 21 Nov 2020 01:19:42 -0500 (EST)

branch: externals/caml
commit 432e97209ba967cf7cc7ec508d66be57c9927b12
Author: Damien Doligez <damien.doligez-inria.fr>
Commit: Damien Doligez <damien.doligez-inria.fr>

    duh
    
    
    git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5741 
f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
---
 caml-types.el | 26 +++++++++-----------------
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/caml-types.el b/caml-types.el
index a89a041..b0f1e27 100644
--- a/caml-types.el
+++ b/caml-types.el
@@ -231,24 +231,16 @@ See `caml-types-location-re' for annotation file format.
 
 ; trouve le premier fils qui commence apres la position
 ; ou (length node) si tous commencent avant
-;(defun caml-types-search (node pos)
-;  (let ((min 3)
-;        (max (length node))
-;        med)
-;    (while (< min max)
-;      (setq med (/ (+ min max) 2))
-;      (if (caml-types-pos<= (elt (elt node med) 0) pos)
-;          (setq min (1+ med))
-;        (setq max med)))
-;    min))
-
-; a remplacer par une dichotomie
 (defun caml-types-search (node pos)
-  (let ((i 3))
-    (while (and (< i (length node))
-                (caml-types-pos<= (elt (elt node i) 0) targ-pos))
-      (setq i (1+ i)))
-    i))
+  (let ((min 3)
+        (max (length node))
+        med)
+    (while (< min max)
+      (setq med (/ (+ min max) 2))
+      (if (caml-types-pos<= (elt (elt node med) 0) pos)
+          (setq min (1+ med))
+        (setq max med)))
+    min))
 
 (defun caml-types-pos-inside (pos node)
   (let ((left-pos (elt node 0))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]