{"_id":"two-product","_rev":"13-35aef1a4face05eaed8a89a0fbad88c8","name":"two-product","description":"Multiplies two floating point numbers together producing a non-overlapping increasing sequence of floats","dist-tags":{"latest":"1.0.2"},"versions":{"0.0.0":{"name":"two-product","version":"0.0.0","description":"Multiplies two floating point numbers together producing a non-overlapping increasing sequence of floats","main":"two-product.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tape":"~1.1.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/two-product.git"},"keywords":["robust","float","multiply","product","shewchuk"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/two-product/issues"},"_id":"two-product@0.0.0","dist":{"shasum":"3afb0e1546d5d1a2c50d03c422bb512327e6741e","tarball":"https://registry.npmjs.org/two-product/-/two-product-0.0.0.tgz","integrity":"sha512-dP3v7r3m/DAIMSYPsGKnFVMlT+Ou1WgShdJjeUMIfrhQU9ReqzsyCGCKmzINBNh0YTlR3gA+UUdxscL5tSMk/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4KCfyXA1s67ikweZCf2Sv8V/XZom4DS4pqtos89TtygIgajA1Vd746M9o6zHa1KgV4WtO3RwYaGTUl9Uqta3Ypko="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}]},"0.0.1":{"name":"two-product","version":"0.0.1","description":"Multiplies two floating point numbers together producing a non-overlapping increasing sequence of floats","main":"two-product.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tape":"~1.1.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/two-product.git"},"keywords":["robust","float","multiply","product","shewchuk"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/two-product/issues"},"_id":"two-product@0.0.1","dist":{"shasum":"ee2f962c4ac9eabfab5e18025ab7517d95be2960","tarball":"https://registry.npmjs.org/two-product/-/two-product-0.0.1.tgz","integrity":"sha512-akpFx1uCcHigzo0i1aUWLkLEQKD+jZVUbamjb4NyW1vyUoiN8UklxeAsLTv669eRSYFXGrNRZ9G7eArAChtyOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIApIhvcZpnqvUgtkseWppx4ZX211rT/+16tHmutNb3RuAiBcEzI2BeJcMAxJ+iXXfwsfmW+YP6zLIRsSsoLgEVxIpQ=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}]},"1.0.0":{"name":"two-product","version":"1.0.0","description":"Multiplies two floating point numbers together producing a non-overlapping increasing sequence of floats","main":"two-product.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tape":"~1.1.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/two-product.git"},"keywords":["robust","float","multiply","product","shewchuk"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/two-product/issues"},"homepage":"https://github.com/mikolalysenko/two-product","_id":"two-product@1.0.0","dist":{"shasum":"8668fe3f17d936b068479594919a5a7623be1708","tarball":"https://registry.npmjs.org/two-product/-/two-product-1.0.0.tgz","integrity":"sha512-852lSA9MohaWQT17EcRLJnecgJ0WhhzEDLuZso+Dw1UARLDen08o0ct4xzW9FMHiSiKse11AC7mwL3eBBjEncA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFtS6OL+3IaGgS8MB8RqKhmLMjjYeReqpo+xzD09Eo4CAiAtDw+0/3iJiSsRuExmYFzMiwuFMWgzx6TEsJYUCJ79TQ=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}]},"1.0.1":{"name":"two-product","version":"1.0.1","description":"Multiplies two floating point numbers together producing a non-overlapping increasing sequence of floats","main":"two-product.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tape":"^2.12.3","test-float-overlap":"^1.0.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/two-product.git"},"keywords":["robust","float","multiply","product","shewchuk"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/two-product/issues"},"homepage":"https://github.com/mikolalysenko/two-product","_id":"two-product@1.0.1","dist":{"shasum":"0c82780aabb2277bb56810a9077ccd488cefb44f","tarball":"https://registry.npmjs.org/two-product/-/two-product-1.0.1.tgz","integrity":"sha512-dg1skCiEVCFrYk+q8IakgGOc5rnM39F+9+1Qal/xvvY3+Kn+KaEWDtFr8M7OgkUHIUu4FFUYzfA+/VWL4WirVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGCntlwXK2NmCHCyCSR/0VPJ37K0ZDmdHIvSENFnm3sXAiAbXOPsw6HdNuZ9/eUMJx3hqApTJpRP4LrrEDThcZT/0Q=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}]},"1.0.2":{"name":"two-product","version":"1.0.2","description":"Multiplies two floating point numbers together producing a non-overlapping increasing sequence of floats","main":"two-product.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tape":"^2.12.3","test-float-overlap":"^1.0.3","bn.js":"^0.3.1","double-bits":"^1.1.0"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/two-product.git"},"keywords":["robust","float","multiply","product","shewchuk"],"author":{"name":"Mikola Lysenko"},"license":"MIT","bugs":{"url":"https://github.com/mikolalysenko/two-product/issues"},"homepage":"https://github.com/mikolalysenko/two-product","_id":"two-product@1.0.2","dist":{"shasum":"67d95d4b257a921e2cb4bd7af9511f9088522eaa","tarball":"https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz","integrity":"sha512-vOyrqmeYvzjToVM08iU52OFocWT6eB/I5LUWYnxeAPGXAhAxXYU/Yr/R2uY5/5n4bvJQL9AQulIuxpIsMoT8XQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpErAukNtla62mnNhmnDAo7sFEIN9QB2pHBWwIXhe/BQIgaiwi5HSXOtk0Ic/9bHe1+yp1KNELov2rf/fLY17GmaY="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}]}},"readme":"two-product\n===========\nComputes the product of two floating point numbers as a 2-term nonoverlapping increasing sequence.\n\n## Install\n\n```\nnpm install two-product\n```\n\t\t\n## Example\n\n```javascript\nvar twoProduct = require(\"two-product\")\n\nconsole.log(twoProduct(1 + Math.pow(2, -52), Math.pow(2, 52) + 1))\n```\n\nOutput:\n\n```javascript\n[ 2.220446049250313e-16, 4503599627370498 ]\n```\n\n## API\n\n### `require(\"two-product\")(a, b[, result])`\nMultiplies `a` and `b` and returns the product as a non-overlapping sequence.  `result` is an optional length 2 array that stores the result.\n\n* `a` is a number\n* `b` is a number\n* `result` is an optional length 2 array that gets the result of multiplying `a` and `b`\n\n**Returns** A length 2 array representing the product of `a` and `b` as an expansion.  The first entry is the lower order bits, and the second entry is the upper order bits.\n\n**Note** This algorithm does not work correctly with denormalized numbers.\n\n## Credits\nJavaScript implementation (c) 2013-2014 Mikola Lysenko.  Based on ideas from Jonathan Shewchuk's [robust adaptive geometric predicates](http://www.cs.cmu.edu/~quake/robust.html).","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"time":{"modified":"2022-06-28T00:28:00.972Z","created":"2013-09-18T18:02:41.799Z","0.0.0":"2013-09-18T18:03:17.844Z","0.0.1":"2013-10-23T16:04:40.815Z","1.0.0":"2014-04-27T15:02:23.057Z","1.0.1":"2014-05-01T14:01:25.897Z","1.0.2":"2014-05-05T15:56:32.931Z"},"author":{"name":"Mikola Lysenko"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/two-product.git"},"homepage":"https://github.com/mikolalysenko/two-product","keywords":["robust","float","multiply","product","shewchuk"],"bugs":{"url":"https://github.com/mikolalysenko/two-product/issues"},"license":"MIT","readmeFilename":"README.md"}