operator + method

  1. @override
List<Array> operator +(
  1. List<Array> b
)
override

Add two arrays with the same size

Examples

var a = Array2d([
  Array([2, 2, 2]),
  Array([2, 2, 2]),
  Array([2, 2, 2])
]);
var b = Array2d([
  Array([2, 2, 2]),
  Array([2, 2, 2]),
  Array([2, 2, 2])
]);

print(a + b);

/* output:
Array2d([
  Array([4, 4, 4]),
  Array([4, 4, 4]),
  Array([4, 4, 4])
]);
*/

Implementation

@override
List<Array> operator +(List<Array> b) {
  _checkArray2dColumnsLength(this);
  _checkArray2dColumnsLength(b);
  _checkArray2dLength(this, b);

  var aRows = length;
  var aColumns = this[0].length;

  var c = Array2d.fromArray(this); // make a copy of local

  for (var i = 0; i < aRows; i++) {
    //
    for (var j = 0; j < aColumns; j++) {
      // bColumn
      c[i][j] += b[i][j];
    }
  }

  return c;
}