]> git.scottworley.com Git - inverse-tax/commitdiff
Bounds are closed intervals
authorScott Worley <scottworley@scottworley.com>
Thu, 23 May 2019 21:39:08 +0000 (14:39 -0700)
committerScott Worley <scottworley@scottworley.com>
Thu, 23 May 2019 21:39:08 +0000 (14:39 -0700)
tax.js
tax.test.js

diff --git a/tax.js b/tax.js
index cd0027a1475930802935b28e34cba14597ea5fa5..f3d2406cce017d7fbb7b9056d2be507b7b3f5990 100644 (file)
--- a/tax.js
+++ b/tax.js
@@ -84,7 +84,7 @@ function invert(table) {
   });
   return function(net) {
     for (const [start, end, m, b] of inverse_table) {
   });
   return function(net) {
     for (const [start, end, m, b] of inverse_table) {
-      if (start < net && net < end) {
+      if (start <= net && net <= end) {
         return (net - b) / m;
       }
     }
         return (net - b) / m;
       }
     }
index 27767fedc6912d48eb7be731be102919c02bd874..58995ef74db6ba1541d7eccc10bde6430870c4bd 100644 (file)
@@ -60,4 +60,5 @@ test("invert", () => {
   assert.strictEqual(invert([[10, Infinity, .1]])( 9),  9);
   assert.strictEqual(invert([[0, 100, .1], [100, Infinity, .2]])(170), 200);
   assert.strictEqual(invert([[0, 100, .1], [100, Infinity, .2]])(112), 127.5);
   assert.strictEqual(invert([[10, Infinity, .1]])( 9),  9);
   assert.strictEqual(invert([[0, 100, .1], [100, Infinity, .2]])(170), 200);
   assert.strictEqual(invert([[0, 100, .1], [100, Infinity, .2]])(112), 127.5);
+  assert.strictEqual(invert([[6, 90, 0.75], [90, Infinity, 0.12]])(27), 90);
 });
 });