.editorconfig .eslintrc.js .gitattributes .github/PULL_REQUEST_TEMPLATE.md .github/workflows/benchmark.yml .github/workflows/bundle.yml .github/workflows/cancel.yml .github/workflows/close_pull_requests.yml .github/workflows/examples.yml .github/workflows/productionize.yml .github/workflows/publish.yml .github/workflows/test.yml .github/workflows/test_bundles.yml .github/workflows/test_coverage.yml .github/workflows/test_install.yml .gitignore .npmignore .npmrc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md CONTRIBUTORS LICENSE Makefile NOTICE README.md benchmark/benchmark.js benchmark/c/Makefile benchmark/c/benchmark.c benchmark/c/cephes/Makefile benchmark/c/cephes/benchmark.c benchmark/julia/REQUIRE benchmark/julia/benchmark.jl benchmark/python/benchmark.py benchmark/r/DESCRIPTION benchmark/r/benchmark.R branches.md docs/img/equation_binary_logarithm.svg docs/repl.txt docs/types/index.d.ts docs/types/test.ts examples/index.js lib/index.js lib/klog.js lib/log2.js lib/polyval_p.js lib/polyval_q.js package.json scripts/evalpoly.js scripts/fixtures/julia/REQUIRE scripts/fixtures/julia/data.json scripts/fixtures/julia/runner.jl scripts/precision.js test/fixtures/julia/REQUIRE test/fixtures/julia/large_positive.json test/fixtures/julia/medium_positive.json test/fixtures/julia/runner.jl test/fixtures/julia/small_positive.json test/fixtures/julia/smaller.json test/fixtures/julia/subnormal.json test/fixtures/julia/tiny_positive.json test/fixtures/julia/very_large_positive.json test/test.js test/test.klog.js <<<<<< network # path=coverage.json {"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/index.js":{"path":"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/index.js","s":{"1":1,"2":1},"b":{},"f":{},"fnMap":{},"statementMap":{"1":{"start":{"line":50,"column":0},"end":{"line":50,"column":34}},"2":{"start":{"line":55,"column":0},"end":{"line":55,"column":22}}},"branchMap":{}},"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/log2.js":{"path":"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/log2.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":3506,"20":3506,"21":3506,"22":3506,"23":3506,"24":3506,"25":3506,"26":3506,"27":1,"28":3505,"29":3505,"30":3505,"31":3505,"32":3505,"33":505,"34":1,"35":504,"36":504,"37":504,"38":3504,"39":1,"40":3503,"41":3503,"42":3503,"43":3503,"44":3503,"45":3503,"46":3503,"47":3503,"48":3503,"49":3503,"50":1},"b":{"1":[1,3505],"2":[3506,3506],"3":[505,3000],"4":[1,504],"5":[1,3503]},"f":{"1":3506},"fnMap":{"1":{"name":"log2","line":104,"loc":{"start":{"line":104,"column":0},"end":{"line":104,"column":19}}}},"statementMap":{"1":{"start":{"line":37,"column":0},"end":{"line":37,"column":73}},"2":{"start":{"line":38,"column":0},"end":{"line":38,"column":73}},"3":{"start":{"line":39,"column":0},"end":{"line":39,"column":71}},"4":{"start":{"line":40,"column":0},"end":{"line":40,"column":64}},"5":{"start":{"line":41,"column":0},"end":{"line":41,"column":57}},"6":{"start":{"line":42,"column":0},"end":{"line":42,"column":64}},"7":{"start":{"line":43,"column":0},"end":{"line":43,"column":55}},"8":{"start":{"line":44,"column":0},"end":{"line":44,"column":34}},"9":{"start":{"line":49,"column":0},"end":{"line":49,"column":39}},"10":{"start":{"line":50,"column":0},"end":{"line":50,"column":41}},"11":{"start":{"line":51,"column":0},"end":{"line":51,"column":41}},"12":{"start":{"line":54,"column":0},"end":{"line":54,"column":41}},"13":{"start":{"line":57,"column":0},"end":{"line":57,"column":39}},"14":{"start":{"line":60,"column":0},"end":{"line":60,"column":39}},"15":{"start":{"line":63,"column":0},"end":{"line":63,"column":37}},"16":{"start":{"line":66,"column":0},"end":{"line":66,"column":28}},"17":{"start":{"line":69,"column":0},"end":{"line":69,"column":25}},"18":{"start":{"line":104,"column":0},"end":{"line":146,"column":1}},"19":{"start":{"line":105,"column":1},"end":{"line":105,"column":8}},"20":{"start":{"line":106,"column":1},"end":{"line":106,"column":8}},"21":{"start":{"line":107,"column":1},"end":{"line":107,"column":8}},"22":{"start":{"line":108,"column":1},"end":{"line":108,"column":8}},"23":{"start":{"line":109,"column":1},"end":{"line":109,"column":7}},"24":{"start":{"line":110,"column":1},"end":{"line":110,"column":7}},"25":{"start":{"line":111,"column":1},"end":{"line":111,"column":7}},"26":{"start":{"line":113,"column":1},"end":{"line":115,"column":2}},"27":{"start":{"line":114,"column":2},"end":{"line":114,"column":13}},"28":{"start":{"line":116,"column":1},"end":{"line":116,"column":21}},"29":{"start":{"line":117,"column":1},"end":{"line":117,"column":17}},"30":{"start":{"line":118,"column":1},"end":{"line":118,"column":17}},"31":{"start":{"line":119,"column":1},"end":{"line":119,"column":9}},"32":{"start":{"line":120,"column":1},"end":{"line":130,"column":2}},"33":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"34":{"start":{"line":123,"column":3},"end":{"line":123,"column":15}},"35":{"start":{"line":125,"column":2},"end":{"line":125,"column":12}},"36":{"start":{"line":128,"column":2},"end":{"line":128,"column":13}},"37":{"start":{"line":129,"column":2},"end":{"line":129,"column":24}},"38":{"start":{"line":131,"column":1},"end":{"line":133,"column":2}},"39":{"start":{"line":132,"column":2},"end":{"line":132,"column":15}},"40":{"start":{"line":134,"column":1},"end":{"line":134,"column":28}},"41":{"start":{"line":135,"column":1},"end":{"line":135,"column":29}},"42":{"start":{"line":136,"column":1},"end":{"line":136,"column":37}},"43":{"start":{"line":139,"column":1},"end":{"line":139,"column":48}},"44":{"start":{"line":140,"column":1},"end":{"line":140,"column":16}},"45":{"start":{"line":141,"column":1},"end":{"line":141,"column":15}},"46":{"start":{"line":142,"column":1},"end":{"line":142,"column":8}},"47":{"start":{"line":143,"column":1},"end":{"line":143,"column":25}},"48":{"start":{"line":144,"column":1},"end":{"line":144,"column":13}},"49":{"start":{"line":145,"column":1},"end":{"line":145,"column":68}},"50":{"start":{"line":151,"column":0},"end":{"line":151,"column":22}}},"branchMap":{"1":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":1},"end":{"line":113,"column":1}},{"start":{"line":113,"column":1},"end":{"line":113,"column":1}}]},"2":{"line":113,"type":"binary-expr","locations":[{"start":{"line":113,"column":6},"end":{"line":113,"column":16}},{"start":{"line":113,"column":20},"end":{"line":113,"column":27}}]},"3":{"line":120,"type":"if","locations":[{"start":{"line":120,"column":1},"end":{"line":120,"column":1}},{"start":{"line":120,"column":1},"end":{"line":120,"column":1}}]},"4":{"line":122,"type":"if","locations":[{"start":{"line":122,"column":2},"end":{"line":122,"column":2}},{"start":{"line":122,"column":2},"end":{"line":122,"column":2}}]},"5":{"line":131,"type":"if","locations":[{"start":{"line":131,"column":1},"end":{"line":131,"column":1}},{"start":{"line":131,"column":1},"end":{"line":131,"column":1}}]}}},"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/klog.js":{"path":"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/klog.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":3506,"8":3506,"9":3506,"10":3506,"11":3506,"12":3506,"13":3506,"14":3506,"15":3506,"16":3506,"17":3506,"18":3506,"19":3506,"20":3506,"21":1,"22":1,"23":0,"24":3505,"25":3505,"26":3505,"27":3505,"28":3505,"29":3505,"30":3505,"31":3505,"32":3505,"33":3505,"34":3505,"35":154,"36":154,"37":3351,"38":1},"b":{"1":[1,3505],"2":[1,0],"3":[154,3351]},"f":{"1":3506},"fnMap":{"1":{"name":"klog","line":60,"loc":{"start":{"line":60,"column":0},"end":{"line":60,"column":19}}}},"statementMap":{"1":{"start":{"line":37,"column":0},"end":{"line":37,"column":73}},"2":{"start":{"line":38,"column":0},"end":{"line":38,"column":43}},"3":{"start":{"line":39,"column":0},"end":{"line":39,"column":43}},"4":{"start":{"line":45,"column":0},"end":{"line":45,"column":41}},"5":{"start":{"line":48,"column":0},"end":{"line":48,"column":36}},"6":{"start":{"line":60,"column":0},"end":{"line":97,"column":1}},"7":{"start":{"line":61,"column":1},"end":{"line":61,"column":10}},"8":{"start":{"line":62,"column":1},"end":{"line":62,"column":8}},"9":{"start":{"line":63,"column":1},"end":{"line":63,"column":8}},"10":{"start":{"line":64,"column":1},"end":{"line":64,"column":8}},"11":{"start":{"line":65,"column":1},"end":{"line":65,"column":7}},"12":{"start":{"line":66,"column":1},"end":{"line":66,"column":7}},"13":{"start":{"line":67,"column":1},"end":{"line":67,"column":7}},"14":{"start":{"line":68,"column":1},"end":{"line":68,"column":7}},"15":{"start":{"line":69,"column":1},"end":{"line":69,"column":7}},"16":{"start":{"line":70,"column":1},"end":{"line":70,"column":7}},"17":{"start":{"line":71,"column":1},"end":{"line":71,"column":7}},"18":{"start":{"line":73,"column":1},"end":{"line":73,"column":23}},"19":{"start":{"line":74,"column":1},"end":{"line":74,"column":13}},"20":{"start":{"line":75,"column":1},"end":{"line":81,"column":2}},"21":{"start":{"line":77,"column":2},"end":{"line":79,"column":3}},"22":{"start":{"line":78,"column":3},"end":{"line":78,"column":14}},"23":{"start":{"line":80,"column":2},"end":{"line":80,"column":42}},"24":{"start":{"line":82,"column":1},"end":{"line":82,"column":21}},"25":{"start":{"line":83,"column":1},"end":{"line":83,"column":11}},"26":{"start":{"line":84,"column":1},"end":{"line":84,"column":29}},"27":{"start":{"line":85,"column":1},"end":{"line":85,"column":24}},"28":{"start":{"line":86,"column":1},"end":{"line":86,"column":11}},"29":{"start":{"line":87,"column":1},"end":{"line":87,"column":24}},"30":{"start":{"line":88,"column":1},"end":{"line":88,"column":24}},"31":{"start":{"line":89,"column":1},"end":{"line":89,"column":24}},"32":{"start":{"line":90,"column":1},"end":{"line":90,"column":8}},"33":{"start":{"line":91,"column":1},"end":{"line":91,"column":13}},"34":{"start":{"line":92,"column":1},"end":{"line":95,"column":2}},"35":{"start":{"line":93,"column":2},"end":{"line":93,"column":21}},"36":{"start":{"line":94,"column":2},"end":{"line":94,"column":33}},"37":{"start":{"line":96,"column":1},"end":{"line":96,"column":18}},"38":{"start":{"line":102,"column":0},"end":{"line":102,"column":22}}},"branchMap":{"1":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":1},"end":{"line":75,"column":1}},{"start":{"line":75,"column":1},"end":{"line":75,"column":1}}]},"2":{"line":77,"type":"if","locations":[{"start":{"line":77,"column":2},"end":{"line":77,"column":2}},{"start":{"line":77,"column":2},"end":{"line":77,"column":2}}]},"3":{"line":92,"type":"if","locations":[{"start":{"line":92,"column":1},"end":{"line":92,"column":1}},{"start":{"line":92,"column":1},"end":{"line":92,"column":1}}]}}},"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/polyval_p.js":{"path":"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/polyval_p.js","s":{"1":1,"2":3505,"3":0,"4":3505,"5":1},"b":{"1":[0,3505]},"f":{"1":3505},"fnMap":{"1":{"name":"evalpoly","line":38,"loc":{"start":{"line":38,"column":0},"end":{"line":38,"column":23}}}},"statementMap":{"1":{"start":{"line":38,"column":0},"end":{"line":43,"column":1}},"2":{"start":{"line":39,"column":1},"end":{"line":41,"column":2}},"3":{"start":{"line":40,"column":2},"end":{"line":40,"column":28}},"4":{"start":{"line":42,"column":1},"end":{"line":42,"column":85}},"5":{"start":{"line":48,"column":0},"end":{"line":48,"column":26}}},"branchMap":{"1":{"line":39,"type":"if","locations":[{"start":{"line":39,"column":1},"end":{"line":39,"column":1}},{"start":{"line":39,"column":1},"end":{"line":39,"column":1}}]}}},"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/polyval_q.js":{"path":"/home/runner/work/math-base-special-log2/math-base-special-log2/lib/polyval_q.js","s":{"1":1,"2":3505,"3":0,"4":3505,"5":1},"b":{"1":[0,3505]},"f":{"1":3505},"fnMap":{"1":{"name":"evalpoly","line":38,"loc":{"start":{"line":38,"column":0},"end":{"line":38,"column":23}}}},"statementMap":{"1":{"start":{"line":38,"column":0},"end":{"line":43,"column":1}},"2":{"start":{"line":39,"column":1},"end":{"line":41,"column":2}},"3":{"start":{"line":40,"column":2},"end":{"line":40,"column":28}},"4":{"start":{"line":42,"column":1},"end":{"line":42,"column":113}},"5":{"start":{"line":48,"column":0},"end":{"line":48,"column":26}}},"branchMap":{"1":{"line":39,"type":"if","locations":[{"start":{"line":39,"column":1},"end":{"line":39,"column":1}},{"start":{"line":39,"column":1},"end":{"line":39,"column":1}}]}}}}<<<<<< EOF # path=lcov.info TN: SF:/home/runner/work/math-base-special-log2/math-base-special-log2/lib/index.js FNF:0 FNH:0 DA:50,1 DA:55,1 LF:2 LH:2 BRF:0 BRH:0 end_of_record TN: SF:/home/runner/work/math-base-special-log2/math-base-special-log2/lib/log2.js FN:104,log2 FNF:1 FNH:1 FNDA:3506,log2 DA:37,1 DA:38,1 DA:39,1 DA:40,1 DA:41,1 DA:42,1 DA:43,1 DA:44,1 DA:49,1 DA:50,1 DA:51,1 DA:54,1 DA:57,1 DA:60,1 DA:63,1 DA:66,1 DA:69,1 DA:104,1 DA:105,3506 DA:106,3506 DA:107,3506 DA:108,3506 DA:109,3506 DA:110,3506 DA:111,3506 DA:113,3506 DA:114,1 DA:116,3505 DA:117,3505 DA:118,3505 DA:119,3505 DA:120,3505 DA:122,505 DA:123,1 DA:125,504 DA:128,504 DA:129,504 DA:131,3504 DA:132,1 DA:134,3503 DA:135,3503 DA:136,3503 DA:139,3503 DA:140,3503 DA:141,3503 DA:142,3503 DA:143,3503 DA:144,3503 DA:145,3503 DA:151,1 LF:50 LH:50 BRDA:113,1,0,1 BRDA:113,1,1,3505 BRDA:113,2,0,3506 BRDA:113,2,1,3506 BRDA:120,3,0,505 BRDA:120,3,1,3000 BRDA:122,4,0,1 BRDA:122,4,1,504 BRDA:131,5,0,1 BRDA:131,5,1,3503 BRF:10 BRH:10 end_of_record TN: SF:/home/runner/work/math-base-special-log2/math-base-special-log2/lib/klog.js FN:60,klog FNF:1 FNH:1 FNDA:3506,klog DA:37,1 DA:38,1 DA:39,1 DA:45,1 DA:48,1 DA:60,1 DA:61,3506 DA:62,3506 DA:63,3506 DA:64,3506 DA:65,3506 DA:66,3506 DA:67,3506 DA:68,3506 DA:69,3506 DA:70,3506 DA:71,3506 DA:73,3506 DA:74,3506 DA:75,3506 DA:77,1 DA:78,1 DA:80,0 DA:82,3505 DA:83,3505 DA:84,3505 DA:85,3505 DA:86,3505 DA:87,3505 DA:88,3505 DA:89,3505 DA:90,3505 DA:91,3505 DA:92,3505 DA:93,154 DA:94,154 DA:96,3351 DA:102,1 LF:38 LH:37 BRDA:75,1,0,1 BRDA:75,1,1,3505 BRDA:77,2,0,1 BRDA:77,2,1,0 BRDA:92,3,0,154 BRDA:92,3,1,3351 BRF:6 BRH:5 end_of_record TN: SF:/home/runner/work/math-base-special-log2/math-base-special-log2/lib/polyval_p.js FN:38,evalpoly FNF:1 FNH:1 FNDA:3505,evalpoly DA:38,1 DA:39,3505 DA:40,0 DA:42,3505 DA:48,1 LF:5 LH:4 BRDA:39,1,0,0 BRDA:39,1,1,3505 BRF:2 BRH:1 end_of_record TN: SF:/home/runner/work/math-base-special-log2/math-base-special-log2/lib/polyval_q.js FN:38,evalpoly FNF:1 FNH:1 FNDA:3505,evalpoly DA:38,1 DA:39,3505 DA:40,0 DA:42,3505 DA:48,1 LF:5 LH:4 BRDA:39,1,0,0 BRDA:39,1,1,3505 BRF:2 BRH:1 end_of_record <<<<<< EOF