v0.18.1: new avg semantics on empty inputs (emits nil)
This commit is contained in:
parent
445419effb
commit
0410484f90
3 changed files with 6 additions and 5 deletions
|
|
@ -40,7 +40,7 @@ In `net.cgrand.xforms.io`:
|
||||||
Add this dependency to your project:
|
Add this dependency to your project:
|
||||||
|
|
||||||
```clj
|
```clj
|
||||||
[net.cgrand/xforms "0.16.0"]
|
[net.cgrand/xforms "0.18.1"]
|
||||||
```
|
```
|
||||||
|
|
||||||
```clj
|
```clj
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
(defproject net.cgrand/xforms "0.18.0"
|
(defproject net.cgrand/xforms "0.18.1"
|
||||||
:description "Extra transducers for Clojure"
|
:description "Extra transducers for Clojure"
|
||||||
:url "https://github.com/cgrand/xforms"
|
:url "https://github.com/cgrand/xforms"
|
||||||
:license {:name "Eclipse Public License"
|
:license {:name "Eclipse Public License"
|
||||||
|
|
|
||||||
|
|
@ -59,9 +59,10 @@
|
||||||
([^doubles acc] (when acc (/ (aget acc 1) (aget acc 0))))
|
([^doubles acc] (when acc (/ (aget acc 1) (aget acc 0))))
|
||||||
([acc x] (avg acc x 1))
|
([acc x] (avg acc x 1))
|
||||||
([^doubles acc x w] ; weighted mean
|
([^doubles acc x w] ; weighted mean
|
||||||
(doto (or acc #?(:clj (double-array 3) :cljs #js [0.0 0.0]))
|
(let [acc (or acc #?(:clj (double-array 3) :cljs #js [0.0 0.0]))]
|
||||||
(aset 0 (+ (aget acc 0) w))
|
(doto acc
|
||||||
(aset 1 (+ (aget acc 1) (* w x))))))
|
(aset 0 (+ (aget acc 0) w))
|
||||||
|
(aset 1 (+ (aget acc 1) (* w x)))))))
|
||||||
|
|
||||||
(defn sd
|
(defn sd
|
||||||
"Reducing fn to compute the standard deviation. Returns 0 if no or only one item."
|
"Reducing fn to compute the standard deviation. Returns 0 if no or only one item."
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue