Skip to content

Commit

Permalink
v4.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
paullinator committed Dec 16, 2022
1 parent 568f5ad commit 798ccf7
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 19 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# biggystring

## 4.1.0 (2022-12-16)

- add: floor, ceil, round functions
- change: Modernize testing workflow
50 changes: 32 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,46 @@ Floating point big number library using only strings as inputs and outputs

### Basic Math

console.log(bs.add('32', '10') // => '42'
console.log(bs.sub('32', '10') // => '22'
console.log(bs.mul('32', '10') // => '320'
console.log(bs.div('32', '10') // => '3' Truncates remainder
bs.add('32', '10') // => '42'
bs.sub('32', '10') // => '22'
bs.mul('32', '10') // => '320'
bs.div('32', '10') // => '3' Truncates remainder

### Hex

console.log(bs.add('0xa', '10') // => '20'
console.log(bs.add('0xa', '0x20') // => '42'
console.log(bs.add('10', '0x10') // => '26'
bs.add('0xa', '10') // => '20'
bs.add('0xa', '0x20') // => '42'
bs.add('10', '0x10') // => '26'

### Comparisons

console.log(bs.gt('32', '10') // => True
console.log(bs.lt('32', '10') // => False
console.log(bs.gte('32', '32') // => True
console.log(bs.lte('32', '10') // => False
console.log(bs.eq('32', '10') // => False
console.log(bs.eq('32', '32') // => True
bs.gt('32', '10') // => True
bs.lt('32', '10') // => False
bs.gte('32', '32') // => True
bs.lte('32', '10') // => False
bs.eq('32', '10') // => False
bs.eq('32', '32') // => True

### Floating point operations (base 10 only)

console.log(bs.add('3.2', '1.3') // => '4.5'
console.log(bs.sub('3.2', '1.3') // => '1.9'
console.log(bs.mul('3.2', '1.3') // => '4.16'
bs.add('3.2', '1.3') // => '4.5'
bs.sub('3.2', '1.3') // => '1.9'
bs.mul('3.2', '1.3') // => '4.16'

// For `div`, 3rd arg is decimal precision, 4th arg is base
console.log(bs.div('10', '3.0', 5, 10) // => '3.33333'
console.log(bs.div('1.23', '3.3', 5, 10) // => '0.37272'
bs.div('10', '3.0', 5, 10) // => '3.33333'
bs.div('1.23', '3.3', 5, 10) // => '0.37272'

### Rounding functions (base 10 only)

bs.floor('123.456', 0) => '123'
bs.floor('123.456', 1) => '120'
bs.floor('123.456', -1) => '123.4'

bs.ceil('123.456', 0) => '124'
bs.ceil('123.456', 1) => '130'
bs.ceil('123.456', -1) => '123.5'

bs.round('123.456', 0) => '123'
bs.round('125.456', 1) => '130'
bs.round('123.456', -1) => '123.5'
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "biggystring",
"version": "4.0.0",
"version": "4.1.0",
"description": "Full floating point big number library using regular Javascript string",
"keywords": [
"big",
Expand Down

0 comments on commit 798ccf7

Please sign in to comment.