- simple util for Uint24Array | Uint40Array | Uint48Array | Uint56Array
- compress using
const x = require("nv-buf-3567");
var u24a = x.creat_u24a(3)
u24a.set(0,65536)
u24a.set(1,255)
u24a.set(2,2**24-1)
/*
> u24a
Uint24Array [ArrayBuffer] {
[Uint8Contents]: <01 00 00 00 00 ff ff ff ff>,
byteLength: 9
}
*/
u24a.get(0)
//65536
u24a.get(1)
//255
u24a.get(2)
//16777215
//> 2**24 -1
//16777215
var u48a = x.creat_u48a(3);
u48a.set(0,2**48-1);
u48a.set(1,2**32);
u48a.set(2,1);
/*
> u48a.get(0)
281474976710655
>
> u48a.get(1)
4294967296
> u48a.get(2)
1
> 2**48-1
281474976710655
>
*/
var u56a = x.creat_u56a(3); // this need using bigint to set
u56a.set(0,2n**56n-1n);
u56a.set(1,2n**48n);
u56a.set(2,1n);
/*
> u56a.ary()
[ 72057594037927935n, 281474976710656n, 1n ]
> 2n**56n -1n
72057594037927935n
> 2n**48n
281474976710656n
>
*/
//getter
uxxa'length
//
uxxa'ary() -> <is<uxxa>56> ? Array<BigInt> : Array<LT<2**53>>
uxxa'get(index) -> <is<uxxa>56> ? BigInt : <LT<2**53>
uxxa'.set(index:ui32, val: <<is<uxxa>56> ? BigInt : <LT<2**53>> ) -> void
{
wu24: [Function: wu24],
ru24: [Function: ru24],
creat_u24_dv: [Function: creat_u24_dv],
get_u24_at: [Function: get_u24_at],
set_u24_at: [Function: set_u24_at],
creat_u24a: [Function: creat_u24a],
wu40: [Function: wu40],
ru40: [Function: ru40],
creat_u40_dv: [Function: creat_u40_dv],
get_u40_at: [Function: get_u40_at],
set_u40_at: [Function: set_u40_at],
creat_u40a: [Function: creat_u40a],
wu48: [Function: wu48],
ru48: [Function: ru48],
creat_u48_dv: [Function: creat_u48_dv],
get_u48_at: [Function: get_u48_at],
set_u48_at: [Function: set_u48_at],
creat_u48a: [Function: creat_u48a],
wu56: [Function: wu56],
ru56: [Function: ru56],
creat_u56_dv: [Function: creat_u56_dv],
get_u56_at: [Function: get_u56_at],
set_u56_at: [Function: set_u56_at],
creat_u56a: [Function: creat_u56a],
_enable_patch: [Function: _enable_patch],
_disable_patch: [Function: _disable_patch]
}