Skip to content

Commit

Permalink
lapack/gonum: don't loop unnecessarily in Dlanv2
Browse files Browse the repository at this point in the history
  • Loading branch information
vladimir-ch committed Oct 4, 2020
1 parent de0df9a commit 4380c62
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions lapack/gonum/dlanv2.go
Expand Up @@ -69,6 +69,7 @@ func (impl Implementation) Dlanv2(a, b, c, d float64) (aa, bb, cc, dd float64, r
safmn2 := math.Pow(dlamchB, math.Log(dlamchS/dlamchE)/math.Log(dlamchB)/2)
safmx2 := 1 / safmn2
sigma := b + c
loop:
for iter := 0; iter < 20; iter++ {
scale = math.Max(math.Abs(temp), math.Abs(sigma))
switch {
Expand All @@ -78,6 +79,8 @@ func (impl Implementation) Dlanv2(a, b, c, d float64) (aa, bb, cc, dd float64, r
case scale <= safmn2:
sigma *= safmx2
temp *= safmx2
default:
break loop
}
}
p = temp / 2
Expand Down

0 comments on commit 4380c62

Please sign in to comment.