two-product
Multiplies two floating point numbers together producing a non-overlapping increasing sequence of floats
Last updated 11 years ago by mikolalysenko .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install two-product 
SYNC missed versions from official npm registry.

two-product

Computes the product of two floating point numbers as a 2-term nonoverlapping increasing sequence.

Install

npm install two-product

Example

var twoProduct = require("two-product")

console.log(twoProduct(1 + Math.pow(2, -52), Math.pow(2, 52) + 1))

Output:

[ 2.220446049250313e-16, 4503599627370498 ]

API

require("two-product")(a, b[, result])

Multiplies a and b and returns the product as a non-overlapping sequence. result is an optional length 2 array that stores the result.

  • a is a number
  • b is a number
  • result is an optional length 2 array that gets the result of multiplying a and b

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.

Note This algorithm does not work correctly with denormalized numbers.

Credits

JavaScript implementation (c) 2013-2014 Mikola Lysenko. Based on ideas from Jonathan Shewchuk's robust adaptive geometric predicates.

Current Tags

  • 1.0.2                                ...           latest (11 years ago)

5 Versions

  • 1.0.2                                ...           11 years ago
  • 1.0.1                                ...           11 years ago
  • 1.0.0                                ...           11 years ago
  • 0.0.1                                ...           11 years ago
  • 0.0.0                                ...           11 years ago
Maintainers (1)
Downloads
Total 4
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE