0.1.0 • Published 2 years ago

round-preserving-sum v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

Round Preserving Sum

A small package to round an array of numbers, whilst still preserving the sum of all numbers.

Relevant reading:

Installation

npm install --save round-preserving-sum

Usage

const roundPreservingSum = require('round-preserving-sum')

console.log(roundPreservingSum([0.5, 0.5, 0.5, 0.5]))
// => [ 1, 1, 0, 0 ]

API

roundPreservingSum(input)

  • input (number[] | Float32Array | Float64Array, required)
  • returns number[] | Float32Array | Float64Array - a new array with the numbers rounded

Fuzzing

The library has been fuzzed to make sure that the following guarantees holds:

  • The rounded sum of the input numbers is always equal to the sum of the output numbers
  • Every value in the output is either the floored or ceiled value of the corresponding input
  • The accumulated rounding error is never more than half of the input length