function Spa() {
    if (!(this instanceof Spa)) {
      throw new SyntaxError('Constructor must be called with the new operator');
    } // allocate vector, TODO use typed arrays


    this._values = [];
    this._heap = new type.FibonacciHeap();
  }
An ordered Sparse Accumulator is a representation for a sparse vector that includes a dense array
of the vector elements and an ordered list of non-zero elements.