max method

dynamic max({
  1. int? axis,
})

Maximum value of all elements or along a specific axis.

If axis is null, returns the maximum value as a scalar. If axis is specified, returns an NDArray with the maximum computed along that axis.

Example:

var arr = NDArray([[1, 9, 3], [4, 2, 8]]);

// Max of all elements
print(arr.max()); // 9

// Max along axis 0 (columns)
var colMax = arr.max(axis: 0);
print(colMax.toFlatList()); // [4, 9, 8]

// Max along axis 1 (rows)
var rowMax = arr.max(axis: 1);
print(rowMax.toFlatList()); // [9, 8]

Implementation

dynamic max({int? axis}) {
  if (axis == null) {
    num? maxVal;
    _iterateAll((value) {
      final numVal = value as num;
      if (maxVal == null || numVal > maxVal!) {
        maxVal = numVal;
      }
    });
    return maxVal ?? double.nan;
  }
  return _reduceAxis(axis, (values) {
    num? maxVal;
    for (var v in values) {
      final numVal = v as num;
      if (maxVal == null || numVal > maxVal) {
        maxVal = numVal;
      }
    }
    return maxVal ?? double.nan;
  });
}