row.js (1724B)
1 "use strict"; 2 3 Object.defineProperty(exports, "__esModule", { 4 value: true 5 }); 6 exports.createRow = void 0; 7 8 var _factory = require("../../utils/factory.js"); 9 10 var _object = require("../../utils/object.js"); 11 12 var _array = require("../../utils/array.js"); 13 14 var name = 'row'; 15 var dependencies = ['typed', 'Index', 'matrix', 'range']; 16 var createRow = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) { 17 var typed = _ref.typed, 18 Index = _ref.Index, 19 matrix = _ref.matrix, 20 range = _ref.range; 21 22 /** 23 * Return a row from a Matrix. 24 * 25 * Syntax: 26 * 27 * math.row(value, index) 28 * 29 * Example: 30 * 31 * // get a row 32 * const d = [[1, 2], [3, 4]] 33 * math.row(d, 1) // returns [[3, 4]] 34 * 35 * See also: 36 * 37 * column 38 * 39 * @param {Array | Matrix } value An array or matrix 40 * @param {number} row The index of the row 41 * @return {Array | Matrix} The retrieved row 42 */ 43 return typed(name, { 44 'Matrix, number': _row, 45 'Array, number': function ArrayNumber(value, row) { 46 return _row(matrix((0, _object.clone)(value)), row).valueOf(); 47 } 48 }); 49 /** 50 * Retrieve a row of a matrix 51 * @param {Matrix } value A matrix 52 * @param {number} row The index of the row 53 * @return {Matrix} The retrieved row 54 */ 55 56 function _row(value, row) { 57 // check dimensions 58 if (value.size().length !== 2) { 59 throw new Error('Only two dimensional matrix is supported'); 60 } 61 62 (0, _array.validateIndex)(row, value.size()[0]); 63 var columnRange = range(0, value.size()[1]); 64 var index = new Index(row, columnRange); 65 return value.subset(index); 66 } 67 }); 68 exports.createRow = createRow;