From 5b7d88ccc62e11fbdb4cd9471f026891d20a8a54 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Sun, 27 Aug 2023 16:18:10 +0200 Subject: [PATCH] Patch a bug in the Dim function Former-commit-id: 004545e81df4dcf33294fb062de8204692035cdf --- pkg/obiutils/array.go | 8 ++++++++ 1 file changed, 8 insertions(+) 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]) }