Next Perpendicular Moonlanding

    memop

    1.6.0 • Public • Published

    memop

    Memory Operations

    Install

    npm install memop

    Usage

    Pool

    let pool = new Pool(function () {
      return vmath.vec3.new(1,1,1);
    }, 256);
     
    let a = pool.alloc();
    let b = pool.alloc();
     
    // do stuff...
     
    pool.free(a);
    pool.free(b);

    RecyclePool

    let pool = new RecyclePool(function () {
      return {
        age: 0,
        velocity: [1,1,1]
      };
    }, 256);
     
    pool.add();
    pool.add();
     
    for (let i = 0; i < pool.length; ++i) {
      let p = pool.data[i];
     
      // do stuff...
     
      if (p.age > 10) {
        pool.remove(i);
        --i;
      }
    }

    FixedArray

    let array = new FixedArray(100);
     
    array.push(0);
    array.push(1);
    array.push(3);
    array.push(4);
     
    // do stuff...
     
    array.fastRemove(2);

    TypedArrayPool

    let array1 = TypedArrayPool.alloc_float32(100);
    let array2 = TypedArrayPool.alloc_int16(32);
     
    // do stuff...
     
    TypedArrayPool.free(array1);
    TypedArrayPool.free(array2);

    LinkedArray

    let arr = new LinkedArray(100, () => {
      return {
        name: '',
        next: null,
        prev: null,
      };
    });
     
    let node = arr.add();
    node.name = 'foobar';
     
    arr.forEach(item => {
      // do stuff...
    });

    License

    MIT © 2017 Johnny Wu

    Install

    npm i memop

    DownloadsWeekly Downloads

    0

    Version

    1.6.0

    License

    MIT

    Last publish

    Collaborators

    • johnnywu