csCumsum.js 774 B

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.csCumsum = csCumsum;
  6. /**
  7. * It sets the p[i] equal to the sum of c[0] through c[i-1].
  8. *
  9. * @param {Array} ptr The Sparse Matrix ptr array
  10. * @param {Array} c The Sparse Matrix ptr array
  11. * @param {Number} n The number of columns
  12. *
  13. * Reference: http://faculty.cse.tamu.edu/davis/publications.html
  14. */
  15. function csCumsum(ptr, c, n) {
  16. // variables
  17. var i;
  18. var nz = 0;
  19. for (i = 0; i < n; i++) {
  20. // initialize ptr @ i
  21. ptr[i] = nz;
  22. // increment number of nonzeros
  23. nz += c[i];
  24. // also copy p[0..n-1] back into c[0..n-1]
  25. c[i] = ptr[i];
  26. }
  27. // finalize ptr
  28. ptr[n] = nz;
  29. // return sum (c [0..n-1])
  30. return nz;
  31. }