Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikolalysenko/two-sum
Computes the sum of two floats
https://github.com/mikolalysenko/two-sum
Last synced: about 2 months ago
JSON representation
Computes the sum of two floats
- Host: GitHub
- URL: https://github.com/mikolalysenko/two-sum
- Owner: mikolalysenko
- License: mit
- Created: 2013-09-18T15:57:06.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2017-04-05T04:11:27.000Z (over 7 years ago)
- Last Synced: 2024-10-20T14:28:22.375Z (2 months ago)
- Language: JavaScript
- Size: 7.81 KB
- Stars: 4
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
two-sum
=======
Computes the sum of two floating point numbers as a non-overlapping sequence using Knuth's method.* D.E. Knuth. "The Art of Computer Programming: Seminumerical Algorithms". Volume 2. 1981
[![testling badge](https://ci.testling.com/mikolalysenko/two-sum.png)](https://ci.testling.com/mikolalysenko/two-sum)
[![build status](https://secure.travis-ci.org/mikolalysenko/two-sum.png)](http://travis-ci.org/mikolalysenko/two-sum)
## Install
Using npm:npm install two-sum
## Example
```javascript
var twoSum = require("two-sum")//Add two wildly different sized floats
var result = twoSum(1e64, 1e-64)
console.log(result)//Prints:
// [1e-64, 1e64]
```## API
### `require("two-sum")(a, b[, result])`
Computes a non-overlapping sequence representing the sum of a and b.* `a` is a number
* `b` is a number
* `result` is an optional length 2 array encoding the result of the sum of `a` and `b`**Returns** A length 2 array representing the non-overlapping sequence encoding the sum of a and b. The first term has smaller magnitude than the second.
## Credits
Based on an idea from JRS robust geometric predicates paper.Implementation (c) 2013 Mikola Lysenko. MIT License