diff --git a/cgo/lapack.go b/cgo/lapack.go index 1fe0ced1..0ccd11fc 100644 --- a/cgo/lapack.go +++ b/cgo/lapack.go @@ -1828,7 +1828,7 @@ func (impl Implementation) Dtrtrs(uplo blas.Uplo, trans blas.Transpose, diag bla // URL: http://dx.doi.org/10.1137/S0895479801384585 // // Dhseqr is an internal routine. It is exported for testing purposes. -func (impl Implementation) Dhseqr(job lapack.EVJob, compz lapack.Comp, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, z []float64, ldz int, work []float64, lwork int) (unconverged int) { +func (impl Implementation) Dhseqr(job lapack.EVJob, compz lapack.EVComp, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, z []float64, ldz int, work []float64, lwork int) (unconverged int) { switch job { default: panic(badEVJob) @@ -1837,7 +1837,7 @@ func (impl Implementation) Dhseqr(job lapack.EVJob, compz lapack.Comp, n, ilo, i var wantz bool switch compz { default: - panic("lapack: bad compz") + panic(badEVComp) case lapack.None: case lapack.InitZ, lapack.UpdateZ: wantz = true @@ -1866,7 +1866,8 @@ func (impl Implementation) Dhseqr(job lapack.EVJob, compz lapack.Comp, n, ilo, i } } - return lapacke.Dhseqr(lapack.Job(job), compz, n, ilo+1, ihi+1, h, ldh, wr, wi, z, ldz, work, lwork) + return lapacke.Dhseqr(lapack.Job(job), lapack.Comp(compz), n, ilo+1, ihi+1, + h, ldh, wr, wi, z, ldz, work, lwork) } // Dgeev computes the eigenvalues and, optionally, the left and/or right diff --git a/lapack.go b/lapack.go index 608ec08b..117167f4 100644 --- a/lapack.go +++ b/lapack.go @@ -146,8 +146,8 @@ const ( EigenvaluesOnly EVJob = 'E' EigenvaluesAndSchur EVJob = 'S' - InitZ Comp = 'I' - UpdateZ Comp = 'V' + InitZ EVComp = 'I' + UpdateZ EVComp = 'V' ) // UpdateQ specifies that the matrix Q will be updated. diff --git a/native/dhseqr.go b/native/dhseqr.go index f65d15c6..fbfc2cb4 100644 --- a/native/dhseqr.go +++ b/native/dhseqr.go @@ -118,7 +118,7 @@ import ( // URL: http://dx.doi.org/10.1137/S0895479801384585 // // Dhseqr is an internal routine. It is exported for testing purposes. -func (impl Implementation) Dhseqr(job lapack.EVJob, compz lapack.Comp, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, z []float64, ldz int, work []float64, lwork int) (unconverged int) { +func (impl Implementation) Dhseqr(job lapack.EVJob, compz lapack.EVComp, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, z []float64, ldz int, work []float64, lwork int) (unconverged int) { var wantt bool switch job { default: @@ -130,7 +130,7 @@ func (impl Implementation) Dhseqr(job lapack.EVJob, compz lapack.Comp, n, ilo, i var wantz bool switch compz { default: - panic("lapack: bad compz") + panic(badEVComp) case lapack.None: case lapack.InitZ, lapack.UpdateZ: wantz = true diff --git a/testlapack/dhseqr.go b/testlapack/dhseqr.go index 83a4d06f..eef994fe 100644 --- a/testlapack/dhseqr.go +++ b/testlapack/dhseqr.go @@ -16,7 +16,7 @@ import ( ) type Dhseqrer interface { - Dhseqr(job lapack.EVJob, compz lapack.Comp, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, + Dhseqr(job lapack.EVJob, compz lapack.EVComp, n, ilo, ihi int, h []float64, ldh int, wr, wi []float64, z []float64, ldz int, work []float64, lwork int) int } @@ -57,7 +57,7 @@ func testDhseqr(t *testing.T, impl Dhseqrer, i int, test dhseqrTest, job lapack. copyGeneral(h, blas64.General{Rows: n, Cols: n, Stride: max(1, n), Data: test.h}) hCopy := cloneGeneral(h) - var compz lapack.Comp = lapack.None + var compz lapack.EVComp = lapack.None z := blas64.General{Stride: max(1, n)} if wantz { // First, let Dhseqr initialize Z to the identity matrix.