Skip to content

Commit

Permalink
all: remove redundant bad prefix and make panic strings const
Browse files Browse the repository at this point in the history
  • Loading branch information
kortschak committed Dec 2, 2019
1 parent 54be350 commit 889a957
Show file tree
Hide file tree
Showing 19 changed files with 42 additions and 54 deletions.
8 changes: 4 additions & 4 deletions mat/eigen.go
Expand Up @@ -11,7 +11,7 @@ import (

const (
badFact = "mat: use without successful factorization"
badNoVect = "mat: eigenvectors not computed"
noVectors = "mat: eigenvectors not computed"
)

// EigenSym is a type for creating and manipulating the Eigen decomposition of
Expand Down Expand Up @@ -103,7 +103,7 @@ func (e *EigenSym) VectorsTo(dst *Dense) {
panic(badFact)
}
if !e.vectorsComputed {
panic(badNoVect)
panic(noVectors)
}
r, c := e.vectors.Dims()
if dst.IsEmpty() {
Expand Down Expand Up @@ -320,7 +320,7 @@ func (e *Eigen) VectorsTo(dst *CDense) {
panic(badFact)
}
if e.kind&EigenRight == 0 {
panic(badNoVect)
panic(noVectors)
}
if dst.IsEmpty() {
dst.ReuseAs(e.n, e.n)
Expand All @@ -346,7 +346,7 @@ func (e *Eigen) LeftVectorsTo(dst *CDense) {
panic(badFact)
}
if e.kind&EigenLeft == 0 {
panic(badNoVect)
panic(noVectors)
}
if dst.IsEmpty() {
dst.ReuseAs(e.n, e.n)
Expand Down
6 changes: 3 additions & 3 deletions mathext/internal/cephes/cephes.go
Expand Up @@ -15,9 +15,9 @@ See https://github.com/deepmind/torch-cephes/blob/master/LICENSE.txt and
https://lists.debian.org/debian-legal/2004/12/msg00295.html
*/

var (
badParamOutOfBounds = "cephes: parameter out of bounds"
badParamFunctionSingularity = "cephes: function singularity"
const (
paramOutOfBounds = "cephes: parameter out of bounds"
errParamFunctionSingularity = "cephes: function singularity"
)

const (
Expand Down
4 changes: 2 additions & 2 deletions mathext/internal/cephes/igam.go
Expand Up @@ -69,7 +69,7 @@ func Igam(a, x float64) float64 {
}

if x < 0 || a <= 0 {
panic(badParamOutOfBounds)
panic(paramOutOfBounds)
}

// Asymptotic regime where a ~ x; see [2].
Expand Down Expand Up @@ -101,7 +101,7 @@ func IgamC(a, x float64) float64 {

switch {
case x < 0, a <= 0:
panic(badParamOutOfBounds)
panic(paramOutOfBounds)
case x == 0:
return 1
case math.IsInf(x, 0):
Expand Down
2 changes: 1 addition & 1 deletion mathext/internal/cephes/igami.go
Expand Up @@ -26,7 +26,7 @@ func IgamI(a, p float64) float64 {
dithresh := 5.0 * machEp

if p < 0 || p > 1 || a <= 0 {
panic(badParamOutOfBounds)
panic(paramOutOfBounds)
}

if p == 0 {
Expand Down
4 changes: 2 additions & 2 deletions mathext/internal/cephes/incbeta.go
Expand Up @@ -24,7 +24,7 @@ const (
// Incbet computes the regularized incomplete beta function.
func Incbet(aa, bb, xx float64) float64 {
if aa <= 0 || bb <= 0 {
panic(badParamOutOfBounds)
panic(paramOutOfBounds)
}
if xx <= 0 || xx >= 1 {
if xx == 0 {
Expand All @@ -33,7 +33,7 @@ func Incbet(aa, bb, xx float64) float64 {
if xx == 1 {
return 1
}
panic(badParamOutOfBounds)
panic(paramOutOfBounds)
}

var flag int
Expand Down
4 changes: 2 additions & 2 deletions mathext/internal/cephes/ndtri.go
Expand Up @@ -108,13 +108,13 @@ func Ndtri(y0 float64) float64 {

if y0 <= 0.0 {
if y0 < 0 {
panic(badParamOutOfBounds)
panic(paramOutOfBounds)
}
return math.Inf(-1)
}
if y0 >= 1.0 {
if y0 > 1 {
panic(badParamOutOfBounds)
panic(paramOutOfBounds)
}
return math.Inf(1)
}
Expand Down
6 changes: 3 additions & 3 deletions mathext/internal/cephes/zeta.go
Expand Up @@ -48,15 +48,15 @@ func Zeta(x, q float64) float64 {
}

if x < 1 {
panic(badParamOutOfBounds)
panic(paramOutOfBounds)
}

if q <= 0 {
if q == math.Floor(q) {
panic(badParamFunctionSingularity)
panic(errParamFunctionSingularity)
}
if x != math.Floor(x) {
panic(badParamOutOfBounds) // Because q^-x not defined
panic(paramOutOfBounds) // Because q^-x not defined
}
}

Expand Down
4 changes: 1 addition & 3 deletions optimize/convex/lp/simplex.go
Expand Up @@ -33,9 +33,7 @@ var (
ErrZeroRow = errors.New("lp: A has a row of all zeros")
)

var (
badShape = "lp: size mismatch"
)
const badShape = "lp: size mismatch"

// TODO(btracey): Should these tolerances be part of a settings struct?

Expand Down
4 changes: 1 addition & 3 deletions optimize/errors.go
Expand Up @@ -75,6 +75,4 @@ func (err ErrGrad) Error() string {
}

// List of shared panic strings
var (
badProblem = "optimize: objective function is undefined"
)
const badProblem = "optimize: objective function is undefined"
4 changes: 1 addition & 3 deletions optimize/functions/doc.go
Expand Up @@ -10,6 +10,4 @@
// significance due to prior use as benchmark cases.
package functions // import "gonum.org/v1/gonum/optimize/functions"

const (
badInputDim = "functions: wrong input dimension"
)
const badInputDim = "functions: wrong input dimension"
22 changes: 11 additions & 11 deletions stat/combin/combin.go
Expand Up @@ -10,10 +10,10 @@ import (
)

const (
badNegInput = "combin: negative input"
badSetSize = "combin: n < k"
badInput = "combin: wrong input slice length"
nonpositiveDimension = "combin: non-positive dimension"
errNegInput = "combin: negative input"
badSetSize = "combin: n < k"
badInput = "combin: wrong input slice length"
errNonpositiveDimension = "combin: non-positive dimension"
)

// Binomial returns the binomial coefficient of (n,k), also commonly referred to
Expand All @@ -28,7 +28,7 @@ const (
// No check is made for overflow.
func Binomial(n, k int) int {
if n < 0 || k < 0 {
panic(badNegInput)
panic(errNegInput)
}
if n < k {
panic(badSetSize)
Expand Down Expand Up @@ -61,7 +61,7 @@ func GeneralizedBinomial(n, k float64) float64 {
// See GeneralizedBinomial for more information.
func LogGeneralizedBinomial(n, k float64) float64 {
if n < 0 || k < 0 {
panic(badNegInput)
panic(errNegInput)
}
if n < k {
panic(badSetSize)
Expand Down Expand Up @@ -193,7 +193,7 @@ func nextCombination(s []int, n, k int) {
// [0,n) integers, if n or k are non-negative, or if k is greater than n.
func CombinationIndex(comb []int, n, k int) int {
if n < 0 || k < 0 {
panic(badNegInput)
panic(errNegInput)
}
if n < k {
panic(badSetSize)
Expand Down Expand Up @@ -359,7 +359,7 @@ func IdxFor(sub, dims []int) int {
v := sub[i]
d := dims[i]
if d <= 0 {
panic(nonpositiveDimension)
panic(errNonpositiveDimension)
}
if v < 0 || v >= d {
panic("combin: invalid subscript")
Expand All @@ -386,7 +386,7 @@ func SubFor(sub []int, idx int, dims []int) []int {
panic(badInput)
}
if idx < 0 {
panic(badNegInput)
panic(errNegInput)
}
stride := 1
for i := len(dims) - 1; i >= 1; i-- {
Expand All @@ -396,7 +396,7 @@ func SubFor(sub []int, idx int, dims []int) []int {
v := idx / stride
d := dims[i]
if d < 0 {
panic(nonpositiveDimension)
panic(errNonpositiveDimension)
}
if v >= dims[i] {
panic("combin: index too large")
Expand Down Expand Up @@ -528,7 +528,7 @@ func (p *PermutationGenerator) Permutation(dst []int) []int {
// [0,n) integers, if n or k are non-negative, or if k is greater than n.
func PermutationIndex(perm []int, n, k int) int {
if n < 0 || k < 0 {
panic(badNegInput)
panic(errNegInput)
}
if n < k {
panic(badSetSize)
Expand Down
2 changes: 1 addition & 1 deletion stat/distmat/general.go
Expand Up @@ -4,4 +4,4 @@

package distmat

var badDim = "distmat: dimension mismatch"
const badDim = "distmat: dimension mismatch"
2 changes: 1 addition & 1 deletion stat/distmv/general.go
Expand Up @@ -4,7 +4,7 @@

package distmv

var (
const (
badQuantile = "distmv: quantile not between 0 and 1"
badReceiver = "distmv: input slice is not nil or the correct length"
badSizeMismatch = "distmv: size mismatch"
Expand Down
4 changes: 1 addition & 3 deletions stat/distmv/normal.go
Expand Up @@ -15,9 +15,7 @@ import (
"gonum.org/v1/gonum/stat/distuv"
)

var (
badInputLength = "distmv: input slice length mismatch"
)
const badInputLength = "distmv: input slice length mismatch"

// Normal is a multivariate normal distribution (also known as the multivariate
// Gaussian distribution). Its pdf in k dimensions is given by
Expand Down
4 changes: 2 additions & 2 deletions stat/distuv/general.go
Expand Up @@ -10,11 +10,11 @@ type Parameter struct {
Value float64
}

var (
const (
badPercentile = "distuv: percentile out of bounds"
badLength = "distuv: slice length mismatch"
badSuffStat = "distuv: wrong suffStat length"
badNoSamples = "distuv: must have at least one sample"
errNoSamples = "distuv: must have at least one sample"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion stat/distuv/laplace.go
Expand Up @@ -50,7 +50,7 @@ func (l *Laplace) Fit(samples, weights []float64) {
}

if len(samples) == 0 {
panic(badNoSamples)
panic(errNoSamples)
}
if len(samples) == 1 {
l.Mu = samples[0]
Expand Down
2 changes: 1 addition & 1 deletion stat/samplemv/metropolishastings.go
Expand Up @@ -205,7 +205,7 @@ func (p *ProposalNormal) ConditionalRand(x, y []float64) []float64 {
x = make([]float64, p.normal.Dim())
}
if len(x) != len(y) {
panic(badLengthMismatch)
panic(errLengthMismatch)
}
p.normal.SetMean(y)
p.normal.Rand(x)
Expand Down
8 changes: 3 additions & 5 deletions stat/samplemv/samplemv.go
Expand Up @@ -14,9 +14,7 @@ import (
"gonum.org/v1/gonum/stat/distmv"
)

var (
badLengthMismatch = "samplemv: slice length mismatch"
)
const errLengthMismatch = "samplemv: slice length mismatch"

var (
_ Sampler = LatinHypercube{}
Expand Down Expand Up @@ -62,7 +60,7 @@ type SampleUniformWeighted struct {
func (w SampleUniformWeighted) SampleWeighted(batch *mat.Dense, weights []float64) {
r, _ := batch.Dims()
if r != len(weights) {
panic(badLengthMismatch)
panic(errLengthMismatch)
}
w.Sample(batch)
for i := range weights {
Expand Down Expand Up @@ -143,7 +141,7 @@ func (l Importance) SampleWeighted(batch *mat.Dense, weights []float64) {
func importance(batch *mat.Dense, weights []float64, target distmv.LogProber, proposal distmv.RandLogProber) {
r, _ := batch.Dims()
if r != len(weights) {
panic(badLengthMismatch)
panic(errLengthMismatch)
}
for i := 0; i < r; i++ {
v := batch.RawRowView(i)
Expand Down
4 changes: 1 addition & 3 deletions stat/sampleuv/sample.go
Expand Up @@ -13,9 +13,7 @@ import (
"gonum.org/v1/gonum/stat/distuv"
)

var (
badLengthMismatch = "sample: slice length mismatch"
)
const badLengthMismatch = "sample: slice length mismatch"

var (
_ Sampler = LatinHypercube{}
Expand Down

0 comments on commit 889a957

Please sign in to comment.