From cc5f91fa3e6e39bbba00e6bac8db3700d23ff9e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Rey?= Date: Wed, 18 Jun 2014 13:46:24 +0200 Subject: [PATCH 1/2] Corrected misplaced docstrings (found by eastwood). --- src/loom/alg.clj | 3 ++- src/loom/alg_generic.clj | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/loom/alg.clj b/src/loom/alg.clj index 6368262..aae67bb 100644 --- a/src/loom/alg.clj +++ b/src/loom/alg.clj @@ -545,9 +545,10 @@ can use these functions." nbrs)] (recur g src target heur q explored))))) -(defn astar-dist [g src target heur] +(defn astar-dist "Return the length of the shortest path between src and target using the A* algorithm" + [g src target heur] (let [path (astar-path g src target heur) dist (reduce (fn [c [u v]] (if (nil? v) diff --git a/src/loom/alg_generic.clj b/src/loom/alg_generic.clj index 99140c3..5aa860f 100644 --- a/src/loom/alg_generic.clj +++ b/src/loom/alg_generic.clj @@ -404,17 +404,19 @@ (def ^Long bits-per-long (long (Long/SIZE))) -(defn ^Long bm-longs [bits] +(defn ^Long bm-longs "Return the number of longs required to store bits count bits in a bitmap." + [bits] (long (Math/ceil (/ bits bits-per-long)))) -(defn ^longs bm-new [] +(defn ^longs bm-new "Create new empty bitmap." + [] (long-array 1)) (defn ^longs bm-set - [^longs bitmap idx] "Set boolean state of bit in 'bitmap at 'idx to true." + [^longs bitmap idx] (let [size (max (count bitmap) (bm-longs (inc idx))) new-bitmap (Arrays/copyOf bitmap ^Long size) chunk (quot idx bits-per-long) From 621f0519eae11044b82a6f7a73cc1102289bfca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Rey?= Date: Wed, 18 Jun 2014 16:12:52 +0200 Subject: [PATCH 2/2] Corrected misplaced type hint (caught by eastwood). --- src/loom/alg_generic.clj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/loom/alg_generic.clj b/src/loom/alg_generic.clj index 5aa860f..9b18ad2 100644 --- a/src/loom/alg_generic.clj +++ b/src/loom/alg_generic.clj @@ -409,14 +409,14 @@ [bits] (long (Math/ceil (/ bits bits-per-long)))) -(defn ^longs bm-new +(defn bm-new "Create new empty bitmap." - [] + ^longs [] (long-array 1)) -(defn ^longs bm-set +(defn bm-set "Set boolean state of bit in 'bitmap at 'idx to true." - [^longs bitmap idx] + ^longs [^longs bitmap idx] (let [size (max (count bitmap) (bm-longs (inc idx))) new-bitmap (Arrays/copyOf bitmap ^Long size) chunk (quot idx bits-per-long) @@ -438,9 +438,9 @@ masked-value (bit-and value mask)] (not (zero? masked-value))))) -(defn ^longs bm-or +(defn bm-or "Logically OR 'bitmaps together." - [& bitmaps] + ^longs [& bitmaps] (if (empty? bitmaps) (bm-new) (let [size (apply max (map count bitmaps))