diff --git a/.gitignore b/.gitignore index 98fde21..37d0d9b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ pom.xml.asc .lein-repl-history .nrepl-port .DS_Store +.idea +*.iml diff --git a/project.clj b/project.clj index 823d551..93b5fbf 100644 --- a/project.clj +++ b/project.clj @@ -1,9 +1,18 @@ -(defproject com.stuartsierra/frequencies "0.1.1-SNAPSHOT" +(defproject com.troy-west/frequencies "0.1.2-SNAPSHOT" :description "Basic statistical computations on frequency maps (histograms)" :url "https://github.com/stuartsierra/frequencies" :license {:name "The MIT License" :url "http://opensource.org/licenses/MIT"} - :profiles {:dev {:dependencies [[org.clojure/clojure "1.5.1"] - [reiddraper/simple-check "0.5.3"]]} - :clj1.4 {:dependencies [[org.clojure/clojure "1.4.0"] - [reiddraper/simple-check "0.5.3"]]}}) + :profiles {:dev {:dependencies [[org.clojure/clojure "1.10.0"] + [reiddraper/simple-check "0.5.6"]]}} + + :deploy-repositories [["releases" {:url "https://clojars.org/repo/" :creds :gpg}]] + + :release-tasks [["vcs" "assert-committed"] + ["change" "version" "leiningen.release/bump-version" "release"] + ["vcs" "commit"] + ["vcs" "tag"] + ["deploy"] + ["change" "version" "leiningen.release/bump-version"] + ["vcs" "commit"] + ["vcs" "push"]]) \ No newline at end of file diff --git a/src/com/stuartsierra/frequencies.clj b/src/com/stuartsierra/frequencies.cljc similarity index 96% rename from src/com/stuartsierra/frequencies.clj rename to src/com/stuartsierra/frequencies.cljc index 2c1dd63..8f03e83 100644 --- a/src/com/stuartsierra/frequencies.clj +++ b/src/com/stuartsierra/frequencies.cljc @@ -83,7 +83,8 @@ (let [rank (long (Math/ceil (* k (/ (double sample-count) q))))] (loop [m (seq sorted-freq-map) lower 0 - prev-value Double/NEGATIVE_INFINITY] + prev-value #?(:clj Double/NEGATIVE_INFINITY + :cljs (.-NEGATIVE_INFINITY js/Number))] (if-let [entry (first m)] (let [[value freq] entry upper (+ lower freq)] @@ -115,7 +116,7 @@ instead of computed, and the frequency map must already be sorted." [sorted-freq-map percentiles sample-count] (reduce (fn [m k] - (assoc m k (quantile* sorted-freq-map k 100.0 sample-count))) + (assoc m (keyword (str "p" k)) (quantile* sorted-freq-map k 100.0 sample-count))) (sorted-map) percentiles)) @@ -180,7 +181,7 @@ percentiles (percentiles* sorted-freq-map percentiles sample-count) - median (or (get percentiles 50) + median (or (get percentiles :p50) (quantile* sorted-freq-map 1 2 sample-count))] (array-map :mean mean