![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
@bignum/core
Advanced tools
Arbitrary-precision decimal arithmetic with BigInt.
npm install @bignum/core
import { BigNum } from "@bignum/core";
// Perform exact calculations using the arbitrary-precision arithmetic with BigInt.
console.log(BigNum.valueOf(0.2).add(BigNum.valueOf(0.1)).toString()); // 0.3
// (Using the JavaScript built-in number:)
console.log(0.2 + 0.1); // 0.30000000000000004
// Can handle very large numbers.
console.log(BigNum.valueOf(1.7976931348623157e308).add(12345).toString()); // 17976931348623157000...(Repeat `0` 281 times)...00012345
// Can handle very small numbers.
console.log(BigNum.valueOf(5e-324).subtract(12345).toString()); // -12344.999...(Repeat `9` 317 times)...9995
// Since the value is held as a rational number, no rounding errors occur due to division.
console.log(BigNum.valueOf(1).divide(3).multiply(3).toString()); // 1
// (However, if you convert an infinite decimal value into a string, a rounding error will occur.)
console.log(BigNum.valueOf(1).divide(3).toString()); // 0.33333333333333333333
Translates a value into a BigNum.
Numbers with decimals are first converted to strings and processed.
Note that numbers that have already lost precision are not handled well.
Translates a value into a BigNum.
Same as constructor, but if given a BigNum instance, that instance is returned.
Converts a string to a BigNum.
Returns a BigNum whose value is (this + augend).
Returns a BigNum whose value is (this - subtrahend).
Returns a BigNum whose value is (this * multiplicand).
Returns a BigNum whose value is (this / divisor).
Returns a BigNum whose value is (this % divisor).
Returns a BigNum whose value is (-this).
Returns a BigNum whose value is (this ** n).
An object can be given as an option. This is used in negative, or fraction pows. See MathOption.
Returns a BigNum whose value is (this * 10 ** n).
Returns an approximation to the square root of this BigNum.
An object can be given as an option. See MathOption.
If this BigNum is a negative number, returns a BigNum instance indicating NaN
.
Note that x.nthRoot(2)
and x.sqrt()
behave differently.
x.nthRoot(2)
imitates x ** (1/2)
, while x.sqrt()
imitates Math.sqrt(x)
.
Returns an approximation to the n
th root of this BigNum.
An object can be given as an option. See MathOption.
If this BigNum is a negative finite number, returns a BigNum instance indicating NaN
.
Note that x.nthRoot(2)
and x.sqrt()
behave differently.
x.nthRoot(2)
imitates x ** (1/2)
, while x.sqrt()
imitates Math.sqrt(x)
.
Returns a BigNum whose value is the absolute value of this BigNum.
Returns a BigNum that is the integral part of this BigNum, with removing any fractional digits.
Returns this BigNum rounded to the nearest integer.
Returns the greatest integer less than or equal to this BigNum.
Returns the smallest integer greater than or equal to this BigNum.
Returns a number indicating the sign.
Compares this BigNum with the specified BigNum.
Returns true
if this is NaN.
Returns true
if this is finite number.
Options:
Name | Type | Description |
---|---|---|
overflow | (context)=>boolean | You can specify an overflow test function. By default, if there are decimals and the number of precisions exceeds 20, it is considered an overflow. |
roundingMode | RoundingMode.trunc | Specifies a rounding behavior for numerical operations capable of discarding precision. |
context
parameter
An object that contains the following properties:
Name | Type | Description |
---|---|---|
scale | bigint | The number of decimal places. |
precision | bigint | The number of precision. |
The following enumerated values are available:
RoundingMode.trunc
RoundingMode.round
RoundingMode.floor
RoundingMode.ceil
import { BigNumBasic } from "@bignum/core";
If you want something smaller, use BigNumBasic.
It supports four arithmetic APIs and a basic API, which can be reduced to just 4kb with tree shaking and minification.
However, the API it provides is still experimental.
FAQs
Arbitrary-precision decimal arithmetic with BigInt.
The npm package @bignum/core receives a total of 55 weekly downloads. As such, @bignum/core popularity was classified as not popular.
We found that @bignum/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.