summaryrefslogtreecommitdiff
path: root/assets/trading-in-the-rain/Distributor.js
diff options
context:
space:
mode:
authorBrian Picciano <mediocregopher@gmail.com>2021-01-21 17:22:53 -0700
committerBrian Picciano <mediocregopher@gmail.com>2021-01-21 17:22:53 -0700
commitbcf9b230be6d74c71567fd0771b31d47d8dd39c7 (patch)
tree2d0fc16142d55bbd5876ac6b8174c2857883b40e /assets/trading-in-the-rain/Distributor.js
parentd57fd70640948cf20eeb41b56e8d4e23e616cec0 (diff)
build the blog with nix
Diffstat (limited to 'assets/trading-in-the-rain/Distributor.js')
-rw-r--r--assets/trading-in-the-rain/Distributor.js42
1 files changed, 0 insertions, 42 deletions
diff --git a/assets/trading-in-the-rain/Distributor.js b/assets/trading-in-the-rain/Distributor.js
deleted file mode 100644
index fa6e9f2..0000000
--- a/assets/trading-in-the-rain/Distributor.js
+++ /dev/null
@@ -1,42 +0,0 @@
-function distribute(val, minOld, maxOld, minNew, maxNew) {
- let scalar = (val - minOld) / (maxOld - minOld);
- return minNew + ((maxNew - minNew) * scalar);
-}
-
-function Distributor(capacity) {
- this.cap = capacity;
-
- this.reset = () => {
- this.arr = [];
- this.arrSorted = [];
- this.length = 0;
- };
- this.reset();
-
- // add adds the given value into the series, shifting off the oldest value if
- // the series is at capacity.
- this.add = (val) => {
- this.arr.push(val);
- if (this.arr.length >= this.cap) this.arr.shift();
- this.arrSorted = this.arr.slice(); // copy array
- this.arrSorted.sort();
- this.length = this.arr.length;
- };
-
- // distribute finds where the given value falls within the series, and then
- // scales that into the given range (inclusive).
- this.distribute = (val, min, max) => {
- if (this.length == 0) throw "cannot locate within empty Distributor";
-
- let idx = this.length;
- for (i in this.arrSorted) {
- if (val < this.arrSorted[i]) {
- idx = i;
- break;
- }
- }
-
- return distribute(idx, 0, this.length, min, max);
- };
-}
-