0.16.0-alpha.3 • Published 9 months ago

@encointer/util v0.16.0-alpha.3

Weekly downloads
38
License
MIT
Repository
github
Last release
9 months ago

@encointer/util

Utilities for Encointer App and Explorer. Contains methods to work with substrate-based Encointer node.

Installation

yarn add @encointer/util

Fixed-point numbers

Package contains parser from fixed-point number representation created with substrate-fixed crate into floating-point Number. Conversion from floating-point to fixed-point also supported. Several bit-length for decimal and fractional parts supported out of the box: 4, 8, 16, 32, 64.

Usage

To decode number with 64 bits of decimal part and 64 bits of fractional part use parseI64F64. To encode number as fixed point with 4 bits for decimal and fractional use functions toI16F16 (returns fixed-point as BigNum) and encodeFloatToI4F4 (returns Uint8Array).

import { parseI32F32, toI16F16 } from '@encointer/util'
import BN from 'bn.js'

/// Got fixed-point encoded number
const balanceFixPoint = new BN('110000000000000000000000000000001', 2)
console.log(balanceFixPoint)          // -> <BN: 180000001>

/// Parse to Number
const balance = parseI32F32(balanceFixPoint)
console.log(balance)                  // -> 1.5000000002328306

/// Convert to smaller word size
const balance32bit = toI16F16(balance)
console.log(balance32bit)             // -> <BN: 18000>
console.log(balance32bit.toString(2)) // -> 11000000000000000

Various bit-length support

Function parserFixPoint used to produce function converting fixed-point to Number. For example to decode decimal 2 bits and fractional 6 bits use this function to create new parser.

Parameters: upper: 0..128 - number of bits in decimal part lower: 0..128 - number of bits in fractional part

Produced function parameters: raw: substrate_fixed::types::IF as I<upper+lower> precision: 0..lower number bits in fractional part to process

const parseI2F6 = parserFixPoint(2, 6);
0.16.0-alpha.1

9 months ago

0.16.0-alpha.0

9 months ago

0.16.0-alpha.3

9 months ago

0.16.0-alpha.2

9 months ago

0.15.2

9 months ago

0.15.2-alpha.1

9 months ago

0.15.1

9 months ago

0.15.2-alpha.0

9 months ago

0.14.1

1 year ago

0.14.2

1 year ago

0.15.1-alpha.0

9 months ago

0.15.1-alpha.1

9 months ago

0.14.2-alpha.0

1 year ago

0.15.0

10 months ago

0.15.0-alpha.11

10 months ago

0.15.0-alpha.10

10 months ago

0.15.0-alpha.0

10 months ago

0.15.0-alpha.7

10 months ago

0.15.0-alpha.8

10 months ago

0.15.0-alpha.5

10 months ago

0.15.0-alpha.6

10 months ago

0.15.0-alpha.3

10 months ago

0.15.0-alpha.4

10 months ago

0.15.0-alpha.1

10 months ago

0.15.0-alpha.2

10 months ago

0.15.0-alpha.9

10 months ago

0.14.0

1 year ago

0.14.0-alpha.0

1 year ago

0.13.1

1 year ago

0.12.6

1 year ago

0.13.0-alpha.0

1 year ago

0.12.5-alpha.9

1 year ago

0.12.5

1 year ago

0.12.5-alpha.5

1 year ago

0.12.5-alpha.6

1 year ago

0.12.5-alpha.7

1 year ago

0.12.5-alpha.8

1 year ago

0.12.5-alpha.3

1 year ago

0.12.5-alpha.4

1 year ago

0.12.5-alpha.1

1 year ago

0.12.5-alpha.2

1 year ago

0.12.5-alpha.0

1 year ago

0.12.3-alpha.0

1 year ago

0.12.4-alpha.0

1 year ago

0.12.4

1 year ago

0.12.2-alpha.0

1 year ago

0.12.1

1 year ago

0.12.0

1 year ago

0.12.0-alpha.13

1 year ago

0.12.0-alpha.11

1 year ago

0.12.0-alpha.12

1 year ago

0.12.0-alpha.10

1 year ago

0.12.0-alpha.8

1 year ago

0.12.0-alpha.9

1 year ago

0.12.0-alpha.5

1 year ago

0.12.0-alpha.6

1 year ago

0.12.0-alpha.7

1 year ago

0.12.0-alpha.0

1 year ago

0.12.0-alpha.1

1 year ago

0.12.0-alpha.2

1 year ago

0.12.0-alpha.4

1 year ago

0.10.0-alpha.0

2 years ago

0.11.0

2 years ago

0.10.0

2 years ago

0.8.7

3 years ago

0.8.7-alpha.0

3 years ago

0.9.0-alpha.2

3 years ago

0.9.0-alpha.3

3 years ago

0.8.6

3 years ago

0.8.6-alpha.0

3 years ago

0.8.5

3 years ago

0.6.6

3 years ago

0.7.2-alpha.0

3 years ago

0.6.0-2

3 years ago

0.6.0-1

3 years ago

0.6.4-alpha.1

3 years ago

0.5.1-alpha.0

4 years ago

0.6.6-alpha.5

3 years ago

0.6.6-alpha.0

3 years ago

0.7.2

3 years ago

0.7.1

3 years ago

0.5.0

4 years ago

0.6.6-alpha.3

3 years ago

0.7.0

3 years ago

0.6.6-alpha.1

3 years ago

0.5.1

4 years ago

0.6.0-alpha.1

4 years ago

0.6.0-alpha.2

4 years ago

0.6.0-alpha.0

4 years ago

0.6.0-alpha.7

4 years ago

0.6.0-alpha.8

4 years ago

0.6.0-alpha.5

4 years ago

0.6.0-alpha.6

4 years ago

0.6.0-alpha.3

4 years ago

0.6.0-alpha.4

4 years ago

0.6.5-alpha.0

3 years ago

0.6.5-alpha.1

3 years ago

0.6.3-alpha.0

3 years ago

0.6.3

3 years ago

0.5.0-alpha.7

4 years ago

0.6.2

3 years ago

0.5.0-alpha.6

4 years ago

0.6.5

3 years ago

0.6.4

3 years ago

0.6.1

3 years ago

0.6.0

4 years ago

0.5.0-alpha.3

4 years ago

0.5.0-alpha.2

4 years ago

0.5.0-alpha.1

4 years ago

0.5.0-alpha.0

4 years ago

0.5.0-alpha.4

4 years ago

0.4.3

4 years ago

0.4.2

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.4

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.2.0-alpha.0

4 years ago

0.3.0

4 years ago

0.2.0

4 years ago

0.1.2

4 years ago

0.1.2-next.1

4 years ago

0.1.2-next.0

4 years ago

0.1.0

4 years ago