UNPKG

@rayyamhk/matrix

Version:

A professional, comprehensive and high-performance library for you to manipulate matrices.

41 lines (33 loc) 991 B
"use strict"; var empty = require('../../util/empty'); /** * This callback generates each entry of a Matrix * @callback generateCallback * @param {number} i - The i-th row of Matrix * @param {number} j - The j-th column of Matrix * @returns {number} Entry of Matrix */ /** * Generates a Matrix which entries are the returned value of callback function. * @memberof Matrix * @static * @param {number} row - Number of rows of Matrix * @param {number} col - Number of columns of Matrix * @param {generateCallback} cb - Callback function which takes row and column as arguments * and generates the corresponding entry * @returns {Matrix} - Generated Matrix */ function generate(row, col, cb) { var matrix = empty(row, col); if (row === 0 || col === 0) { return new this([]); } for (var i = 0; i < row; i++) { for (var j = 0; j < col; j++) { matrix[i][j] = cb(i, j); } } return new this(matrix); } ; module.exports = generate;