JSPM

nv-uintyped-mat

1.0.2
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 13
    • Score
      100M100P100Q34631F
    • License ISC

    nv-uintyped-array ================= - nv-uintyped-array creat a mat-view of Uint-TypedArray - fixed col-number and row-number (when init) - the buffer can be SharedArrayBuffer

    Package Exports

    • nv-uintyped-mat

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nv-uintyped-mat) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    nv-uintyped-mat

    • nv-uintyped-mat creat a mat-view of Uint-TypedArray
    • fixed col-number and row-number (when init)
    • the buffer can be SharedArrayBuffer

    install

    • npm install nv-uintyped-mat

    usage

    - creat\_uint\_mat(maxn,rownum,colnum=1,shared=true,empty=0,loc\_style=0)
    
    - maxn is max-number/max-bigint permitted
    
    - rownum  is size
    -     if undefined, it will be calc from maxn,
    -     such as maxn = 9 (1001), size will be 16(10000)
    
    - real\_size = colnum * rownum 
    -     when colnum = 1(by default),its a series
    -          colnum >1 , its a mat 
    
    - buf\_size = Cls["BYTES\_PER\_ELEMENT"] * real\_size
    
    - shared 
    -     means if the bottom-buf is a sharedArrayBuffer
    
    - empty  
    -     means  which number is used as empty,default is 0/0n
    -     used by clear 
    
    - loc\_style index for mat (colnum>1)
    -     0: start from 0
    -     1: start  from 1 

    example

    maxn and rownum

    var uint = creat_uint_mat(13)
    > uint
    Uint8Array(16) [
      0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0,
      0, 0, 0, 0
    ]
    >
    
    > var uint = creat_uint_mat(255)
    > uint
    Uint8Array(256) [
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      .....
      0, 0, 0, 0,
      ... 156 more items
    ]
    >
    
    > var uint = creat_uint_mat(50000)
    > uint
    Uint16Array(65536) [
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      ............
      0, 0, 0, 0,
      ... 65436 more items
    ]
    >
    
    > var uint = creat_uint_mat(2**32-1,20)
    > uint
    Uint32Array(20) [
      0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0
    ]
    >

    shared-buffer (default true)

    > var uint = creat_uint_mat(2**53,20)
    > uint
    BigUint64Array(20) [
      0n, 0n, 0n, 0n, 0n, 0n, 0n,
      0n, 0n, 0n, 0n, 0n, 0n, 0n,
      0n, 0n, 0n, 0n, 0n, 0n
    ]
    > uint.buffer
    SharedArrayBuffer {
      [Uint8Contents]: <00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... 60 more bytes>,
      byteLength: 160
    }
    >

    mat

    //4 rows * 9 cols
    var uint = creat_uint_mat(65535,4,9)
    
    > uint
    Uint16Array(36) [
      0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0
    ]
    > uint.colnum
    9
    >
    > uint.rownum
    4
    > uint.real_size
    36
    > uint.buf_size
    72
    >
    
    uint.set_row(2,999)
    > uint
    Uint16Array(36) [
        0,   0,   0,   0,   0,   0,   0,   0,   0,
        0,   0,   0,   0,   0,   0,   0,   0,   0,
      999, 999, 999, 999, 999, 999, 999, 999, 999,
        0,   0,   0,   0,   0,   0,   0,   0,   0
    ]
    >
    
    uint.set_col(2,888)
    
    > uint
    Uint16Array(36) [
        0,   0, 888,   0,   0,   0,   0,   0,   0,
        0,   0, 888,   0,   0,   0,   0,   0,   0,
      999, 999, 888, 999, 999, 999, 999, 999, 999,
        0,   0, 888,   0,   0,   0,   0,   0,   0
    ]
    >
    > var col = uint.get_col(2)
    undefined
    > col
    [
      Uint16Array(1) [ 888 ],
      Uint16Array(1) [ 888 ],
      Uint16Array(1) [ 888 ],
      Uint16Array(1) [ 888 ]
    ]
    >
    col[1][0] = 777
    > uint
    Uint16Array(36) [
        0,   0, 888,   0,   0,   0,   0,   0,   0,
        0,   0, 777,   0,   0,   0,   0,   0,   0,
      999, 999, 888, 999, 999, 999, 999, 999, 999,
        0,   0, 888,   0,   0,   0,   0,   0,   0
    ]
    >
    
    > uint.locget(1,2)
    777
    >
    
    uint.from_row(0,[1,2,3,4,5,6,7,8])
    
    > uint
    Uint16Array(36) [
        1,   2,   3,   4,   5,   6,   7,   8,   0,
        0,   0, 777,   0,   0,   0,   0,   0,   0,
      999, 999, 888, 999, 999, 999, 999, 999, 999,
        0,   0, 888,   0,   0,   0,   0,   0,   0
    ]
    >
    > uint.from_col(7,[10,10,10,10])
    [
      Uint16Array(1) [ 10 ],
      Uint16Array(1) [ 10 ],
      Uint16Array(1) [ 10 ],
      Uint16Array(1) [ 10 ]
    ]
    > uint
    Uint16Array(36) [
        1,   2,   3,   4,   5,   6,   7, 10,   0,
        0,   0, 777,   0,   0,   0,   0, 10,   0,
      999, 999, 888, 999, 999, 999, 999, 10, 999,
        0,   0, 888,   0,   0,   0,   0, 10,   0
    ]
    >
    
    
    
    > uint.empty=65535
    > uint.clear_row(2)
    Uint16Array(9) [
      65535, 65535,
      65535, 65535,
      65535, 65535,
      65535, 65535,
      65535
    ]
    >
    > uint
    Uint16Array(36) [
          1,     2,     3,     4,     5,     6,
          7,    10,     0,     0,     0,   777,
          0,     0,     0,     0,    10,     0,
      65535, 65535, 65535, 65535, 65535, 65535,
      65535, 65535, 65535,     0,     0,   888,
          0,     0,     0,     0,    10,     0
    ]
    >

    swap

    var uint = creat_uint_mat(65535,4,9)
    uint.set_row(0,11)
    uint.set_row(1,22)
    uint.set_row(2,33)
    uint.set_row(3,44)
    
    > uint
    Uint16Array(36) [
      11, 11, 11, 11, 11, 11, 11, 11, 11,
      22, 22, 22, 22, 22, 22, 22, 22, 22,
      33, 33, 33, 33, 33, 33, 33, 33, 33,
      44, 44, 44, 44, 44, 44, 44, 44, 44
    ]
    >
    
    uint.swap_row(0,2)
    
    > uint
    Uint16Array(36) [
      33, 33, 33, 33, 33, 33, 33, 33, 33,
      22, 22, 22, 22, 22, 22, 22, 22, 22,
      11, 11, 11, 11, 11, 11, 11, 11, 11,
      44, 44, 44, 44, 44, 44, 44, 44, 44
    ]
    >
    
    var uint = creat_uint_mat(65535,4,9)
    uint.set_col(0,11)
    uint.set_col(1,22)
    uint.set_col(2,33)
    uint.set_col(3,44)
    
    > uint
    Uint16Array(36) [
      11, 22, 33, 44, 0, 0, 0, 0, 0,
      11, 22, 33, 44, 0, 0, 0, 0, 0,
      11, 22, 33, 44, 0, 0, 0, 0, 0,
      11, 22, 33, 44, 0, 0, 0, 0, 0
    ]
    >
    > uint.swap_col(0,2)
    > uint
    Uint16Array(36) [
      33, 22, 11, 44, 0, 0, 0, 0, 0,
      33, 22, 11, 44, 0, 0, 0, 0, 0,
      33, 22, 11, 44, 0, 0, 0, 0, 0,
      33, 22, 11, 44, 0, 0, 0, 0, 0
    ]
    >

    submat

    var uint = creat_uint_mat(65535,4,9)
    uint.set_col(0,11)
    uint.set_col(1,22)
    uint.set_col(2,33)
    uint.set_col(3,44)
    
    var m = uint.get_mat()
    [
      [11, 22, 33, 44, 0,0,  0,  0,  0],
      [11, 22, 33, 44, 0,0,  0,  0,  0],
      [11, 22, 33, 44, 0,0,  0,  0,  0],
      [11, 22, 33, 44, 0,0,  0,  0,  0],
    ]
    >
    
    var uint = creat_uint_mat(65535,4,9)
    uint.from_mat(m)
    > uint
    Uint16Array(36) [
      11, 22, 33, 44, 0, 0, 0, 0, 0,
      11, 22, 33, 44, 0, 0, 0, 0, 0,
      11, 22, 33, 44, 0, 0, 0, 0, 0,
      11, 22, 33, 44, 0, 0, 0, 0, 0
    ]
    >
    
    var uint = creat_uint_mat(65535,4,9)
    uint.from_range(1,37)
    
    > uint
    Uint16Array(36) [
       0,  1,  2,  3,  4,  5,  6,  7,  8,
       9, 10, 11, 12, 13, 14, 15, 16, 17,
      18, 19, 20, 21, 22, 23, 24, 25, 26,
      27, 28, 29, 30, 31, 32, 33, 34, 35
    ]
    >
    
    > uint.submat([1,1],[3,4])
    [
      Uint16Array(4) [ 10, 11, 12, 13 ],
      Uint16Array(4) [ 19, 20, 21, 22 ],
      Uint16Array(4) [ 28, 29, 30, 31 ]
    ]
    >
    uint.submat([1,1],[3,4])[1][1] = 999
    
    > uint
    Uint16Array(36) [
       0,  1,   2,  3,  4,  5,  6,  7,  8,
       9, 10,  11, 12, 13, 14, 15, 16, 17,
      18, 19, 999, 21, 22, 23, 24, 25, 26,
      27, 28,  29, 30, 31, 32, 33, 34, 35
    ]
    >
    
    uint.set_submat([1,1],[3,4],0)
    > uint
    Uint16Array(36) [
       0, 1, 2, 3, 4,  5,  6,  7,  8,
       9, 0, 0, 0, 0, 14, 15, 16, 17,
      18, 0, 0, 0, 0, 23, 24, 25, 26,
      27, 0, 0, 0, 0, 32, 33, 34, 35
    ]
    >
    
    var sm = [
        [400,500],
        [600,700]
    ]
    uint.from_submat([1,6],[2,7],sm)
    
    > uint
    Uint16Array(36) [
       0, 1, 2, 3, 4,  5,   6,   7,  8,
       9, 0, 0, 0, 0, 14, 400, 500, 17,
      18, 0, 0, 0, 0, 23, 600, 700, 26,
      27, 0, 0, 0, 0, 32,  33,  34, 35
    ]
    >
    
    
    uint.swap_submat([1,6],[2,7],[2,1],[3,2])
    
    > uint
    Uint16Array(36) [
       0,   1,   2, 3, 4,  5,  6,  7,  8,
       9,   0,   0, 0, 0, 14,  0,  0, 17,
      18, 400, 500, 0, 0, 23,  0,  0, 26,
      27, 600, 700, 0, 0, 32, 33, 34, 35
    ]
    >

    METHODS

    uint.buffer                uint.byteLength            uint.byteOffset
    uint.copyWithin            uint.entries               uint.every
    uint.fill                  uint.filter                uint.find
    uint.findIndex             uint.forEach               uint.includes
    uint.indexOf               uint.join                  uint.keys
    uint.lastIndexOf           uint.length                uint.map
    uint.reduce                uint.reduceRight           uint.reverse
    uint.set                   uint.slice                 uint.some
    uint.sort                  uint.subarray              uint.toLocaleString
    uint.toString              uint.values
    
    uint.BYTES_PER_ELEMENT     uint.constructor
    
    uint.buf_size              uint.clear                 uint.clear_col
    uint.clear_row             uint.cnget_indexes         uint.colnum
    uint.empty                 uint.from_array            uint.from_col
    uint.from_mat              uint.from_range            uint.from_row
    uint.from_submat           uint.get_col               uint.get_mat
    uint.get_row               uint.iclear_col            uint.iclear_row
    uint.iget_cn               uint.iget_col              uint.iget_loc
    uint.iget_range            uint.iget_rn               uint.iget_row
    uint.iset_col              uint.iset_row              uint.loc_style
    uint.locget                uint.locget_index          uint.locset
    uint.real_size             uint.rnget_index           uint.rnget_range
    uint.rownum                uint.set_col               uint.set_row
    uint.set_submat            uint.shared                uint.submat
    uint.swap_col              uint.swap_row              uint.swap_submat

    LICENSE

    • ISC