]> git.scottworley.com Git - inverse-tax/commitdiff
Handle the fully-deductible case
authorScott Worley <scottworley@scottworley.com>
Thu, 23 May 2019 21:37:46 +0000 (14:37 -0700)
committerScott Worley <scottworley@scottworley.com>
Thu, 23 May 2019 21:37:46 +0000 (14:37 -0700)
tax.js
tax.test.js

diff --git a/tax.js b/tax.js
index 7f32f74717a01386caaa937ead3f1d8443b3f610..d9bd34c15b03849b0440ce574469afc2db8f44f6 100644 (file)
--- a/tax.js
+++ b/tax.js
@@ -53,8 +53,6 @@ function merge_tax_tables(t1, t2) {
 }
 
 function invert(table) {
 }
 
 function invert(table) {
-  if (table.length == 0) return x => x;
-
   // Here we solve
   //   net = m * gross + b
   // for gross:
   // Here we solve
   //   net = m * gross + b
   // for gross:
@@ -90,5 +88,6 @@ function invert(table) {
         return (net - b) / m;
       }
     }
         return (net - b) / m;
       }
     }
+    return net;
   };
 }
   };
 }
index 14c48c04481eddd4bb8c30809412d62ae1fdeda5..125cc2091cccd1587c27d9687e10271864f20066 100644 (file)
@@ -57,5 +57,6 @@ test("invert", () => {
   assert.strictEqual(invert([                  ])(10), 10);
   assert.strictEqual(invert([[ 0, Infinity, .1]])( 9), 10);
   assert.strictEqual(invert([[10, Infinity, .1]])(19), 20);
   assert.strictEqual(invert([                  ])(10), 10);
   assert.strictEqual(invert([[ 0, Infinity, .1]])( 9), 10);
   assert.strictEqual(invert([[10, Infinity, .1]])(19), 20);
+  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]])(170), 200);
 });