UNPKG

mathjs

Version:

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif

38 lines (33 loc) 863 B
'use strict' function factory () { /** * It sets the p[i] equal to the sum of c[0] through c[i-1]. * * @param {Array} ptr The Sparse Matrix ptr array * @param {Array} c The Sparse Matrix ptr array * @param {Number} n The number of columns * * Reference: http://faculty.cse.tamu.edu/davis/publications.html */ const csCumsum = function (ptr, c, n) { // variables let i let nz = 0 for (i = 0; i < n; i++) { // initialize ptr @ i ptr[i] = nz // increment number of nonzeros nz += c[i] // also copy p[0..n-1] back into c[0..n-1] c[i] = ptr[i] } // finalize ptr ptr[n] = nz // return sum (c [0..n-1]) return nz } return csCumsum } exports.name = 'csCumsum' exports.path = 'algebra.sparse' exports.factory = factory