diff --git a/pkg/obiutils/array.go b/pkg/obiutils/array.go index b616f31..0ec987c 100644 --- a/pkg/obiutils/array.go +++ b/pkg/obiutils/array.go @@ -93,5 +93,13 @@ func (matrix *Matrix[T]) Rows(i ...int) Matrix[T] { // It takes no parameters. // It returns two integers: the number of rows and the number of columns. func (matrix *Matrix[T]) Dim() (int, int) { + switch { + case *matrix == nil: + return 0, 0 + case len(*matrix) == 0: + return 0, 0 + case len((*matrix)[0]) == 0: + return len(*matrix), 0 + } return len(*matrix), len((*matrix)[0]) }