Narwhals Playing Mahjong

    test_pkg_dummy
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.1 • Public • Published

    NPM registryBuild StatusNPM license

    Work in progress


    WebAssembly fixed length big numbers written on AssemblyScript

    Provide wide numeric types such as u128, u256, i128, i256 and fixed points and also its arithmetic operations.

    Namespace safe contain equivalents with overflow/underflow traps.

    All kind of types pretty useful for economical and cryptographic usages and provide deterministic behavior.

    Install

    yarn add as-bignum

    or

    npm i as-bignum

    Usage via AssemblyScript

    import { u128 } from "as-bignum";
    
    declare function logF64(value: f64): void;
    declare function logU128(hi: u64, lo: u64): void;
    
    var a = u128.One;
    var b = u128.from(-32); // same as u128.from<i32>(-32)
    var c = new u128(0x1, -0xF);
    var d = u128.from(0x0123456789ABCDEF); // same as u128.from<i64>(0x0123456789ABCDEF)
    var e = u128.from('0x0123456789ABCDEF01234567');
    var f = u128.fromString('11100010101100101', 2); // same as u128.from('0b11100010101100101')
    var r = d / c + (b << 5) + e;
    
    logF64(r.as<f64>());
    logU128(r.hi, r.lo);

    Usage via JavaScript/Typescript

    TODO

    List of types

    • [x] u128 unsigned type (tested)
    • [ ] u256 unsigned type (very basic)
    • [ ] i128 signed type
    • [ ] i256 signed type

    • [x] safe.u128 unsigned type (tested)
    • [ ] safe.u256 unsigned type
    • [ ] safe.i128 signed type
    • [ ] safe.i256 signed type

    • [ ] fp128<Q> generic fixed point signed type٭ (very basic for now)
    • [ ] fp256<Q> generic fixed point signed type٭

    • [ ] safe.fp128<Q> generic fixed point signed type٭
    • [ ] safe.fp256<Q> generic fixed point signed type٭

    ٭ typename Q is a type representing count of fractional bits

    Install

    npm i test_pkg_dummy

    DownloadsWeekly Downloads

    1

    Version

    0.1.1

    License

    Apache-2.0

    Unpacked Size

    1.04 MB

    Total Files

    35

    Last publish

    Collaborators

    • ashutoshvarma