From 92bbdcdd9725cd5a4633e7fc44d33420d5764b08 Mon Sep 17 00:00:00 2001 From: Dan Kortschak Date: Thu, 10 Mar 2022 22:56:08 +1030 Subject: [PATCH] spatial/r3: use array conversion in safe code --- go.mod | 2 +- spatial/r3/mat_safe.go | 8 +------- spatial/r3/mat_unsafe.go | 1 - 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index cfb5fca9..ee321a26 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module gonum.org/v1/gonum -go 1.14 +go 1.17 require ( github.com/google/go-cmp v0.5.7 diff --git a/spatial/r3/mat_safe.go b/spatial/r3/mat_safe.go index 89a3250b..740259c1 100644 --- a/spatial/r3/mat_safe.go +++ b/spatial/r3/mat_safe.go @@ -127,14 +127,8 @@ func (m *Mat) RawMatrix() blas64.General { return blas64.General{Rows: 3, Cols: 3, Data: m.data[:], Stride: 3} } -// BUG(kortschak): Implementing NewMat without unsafe conversion or slice to -// array pointer conversion leaves it with semantics that do not match the -// sharing semantics that exist in the mat package. func arrayFrom(vals []float64) *array { - // TODO(kortschak): Use array conversion when go1.16 is no longer supported. - var a array - copy(a[:], vals) - return &a + return (*array)(vals) } // Mat returns a 3×3 rotation matrix corresponding to the receiver. It diff --git a/spatial/r3/mat_unsafe.go b/spatial/r3/mat_unsafe.go index 63b6e6bb..c6c6d4f3 100644 --- a/spatial/r3/mat_unsafe.go +++ b/spatial/r3/mat_unsafe.go @@ -140,7 +140,6 @@ func (r Rotation) Mat() *Mat { } func arrayFrom(vals []float64) *array { - // TODO(kortschak): Use array conversion when go1.16 is no longer supported. return (*array)(unsafe.Pointer(&vals[0])) }