OSDN Git Service

Thanos did someting
[bytom/vapor.git] / vendor / gonum.org / v1 / gonum / lapack / gonum / ilaenv.go
diff --git a/vendor/gonum.org/v1/gonum/lapack/gonum/ilaenv.go b/vendor/gonum.org/v1/gonum/lapack/gonum/ilaenv.go
deleted file mode 100644 (file)
index 7f08ba6..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-// Copyright ©2015 The Gonum Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package gonum
-
-// Ilaenv returns algorithm tuning parameters for the algorithm given by the
-// input string. ispec specifies the parameter to return:
-//  1: The optimal block size for a blocked algorithm.
-//  2: The minimum block size for a blocked algorithm.
-//  3: The block size of unprocessed data at which a blocked algorithm should
-//     crossover to an unblocked version.
-//  4: The number of shifts.
-//  5: The minimum column dimension for blocking to be used.
-//  6: The crossover point for SVD (to use QR factorization or not).
-//  7: The number of processors.
-//  8: The crossover point for multi-shift in QR and QZ methods for non-symmetric eigenvalue problems.
-//  9: Maximum size of the subproblems in divide-and-conquer algorithms.
-//  10: ieee NaN arithmetic can be trusted not to trap.
-//  11: infinity arithmetic can be trusted not to trap.
-//  12...16: parameters for Dhseqr and related functions. See Iparmq for more
-//           information.
-//
-// Ilaenv is an internal routine. It is exported for testing purposes.
-func (impl Implementation) Ilaenv(ispec int, s string, opts string, n1, n2, n3, n4 int) int {
-       // TODO(btracey): Replace this with a constant lookup? A list of constants?
-       sname := s[0] == 'S' || s[0] == 'D'
-       cname := s[0] == 'C' || s[0] == 'Z'
-       if !sname && !cname {
-               panic("lapack: bad name")
-       }
-       c2 := s[1:3]
-       c3 := s[3:6]
-       c4 := c3[1:3]
-
-       switch ispec {
-       default:
-               panic("lapack: bad ispec")
-       case 1:
-               switch c2 {
-               default:
-                       panic("lapack: bad function name")
-               case "GE":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "TRF":
-                               if sname {
-                                       return 64
-                               }
-                               return 64
-                       case "QRF", "RQF", "LQF", "QLF":
-                               if sname {
-                                       return 32
-                               }
-                               return 32
-                       case "HRD":
-                               if sname {
-                                       return 32
-                               }
-                               return 32
-                       case "BRD":
-                               if sname {
-                                       return 32
-                               }
-                               return 32
-                       case "TRI":
-                               if sname {
-                                       return 64
-                               }
-                               return 64
-                       }
-               case "PO":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "TRF":
-                               if sname {
-                                       return 64
-                               }
-                               return 64
-                       }
-               case "SY":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "TRF":
-                               if sname {
-                                       return 64
-                               }
-                               return 64
-                       case "TRD":
-                               return 32
-                       case "GST":
-                               return 64
-                       }
-               case "HE":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "TRF":
-                               return 64
-                       case "TRD":
-                               return 32
-                       case "GST":
-                               return 64
-                       }
-               case "OR":
-                       switch c3[0] {
-                       default:
-                               panic("lapack: bad function name")
-                       case 'G':
-                               switch c3[1:] {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 32
-                               }
-                       case 'M':
-                               switch c3[1:] {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 32
-                               }
-                       }
-               case "UN":
-                       switch c3[0] {
-                       default:
-                               panic("lapack: bad function name")
-                       case 'G':
-                               switch c3[1:] {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 32
-                               }
-                       case 'M':
-                               switch c3[1:] {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 32
-                               }
-                       }
-               case "GB":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "TRF":
-                               if sname {
-                                       if n4 <= 64 {
-                                               return 1
-                                       }
-                                       return 32
-                               }
-                               if n4 <= 64 {
-                                       return 1
-                               }
-                               return 32
-                       }
-               case "PB":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "TRF":
-                               if sname {
-                                       if n4 <= 64 {
-                                               return 1
-                                       }
-                                       return 32
-                               }
-                               if n4 <= 64 {
-                                       return 1
-                               }
-                               return 32
-                       }
-               case "TR":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "TRI":
-                               if sname {
-                                       return 64
-                               }
-                               return 64
-                       case "EVC":
-                               if sname {
-                                       return 64
-                               }
-                               return 64
-                       }
-               case "LA":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "UUM":
-                               if sname {
-                                       return 64
-                               }
-                               return 64
-                       }
-               case "ST":
-                       if sname && c3 == "EBZ" {
-                               return 1
-                       }
-                       panic("lapack: bad function name")
-               }
-       case 2:
-               switch c2 {
-               default:
-                       panic("lapack: bad function name")
-               case "GE":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "QRF", "RQF", "LQF", "QLF":
-                               if sname {
-                                       return 2
-                               }
-                               return 2
-                       case "HRD":
-                               if sname {
-                                       return 2
-                               }
-                               return 2
-                       case "BRD":
-                               if sname {
-                                       return 2
-                               }
-                               return 2
-                       case "TRI":
-                               if sname {
-                                       return 2
-                               }
-                               return 2
-                       }
-               case "SY":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "TRF":
-                               if sname {
-                                       return 8
-                               }
-                               return 8
-                       case "TRD":
-                               if sname {
-                                       return 2
-                               }
-                               panic("lapack: bad function name")
-                       }
-               case "HE":
-                       if c3 == "TRD" {
-                               return 2
-                       }
-                       panic("lapack: bad function name")
-               case "OR":
-                       if !sname {
-                               panic("lapack: bad function name")
-                       }
-                       switch c3[0] {
-                       default:
-                               panic("lapack: bad function name")
-                       case 'G':
-                               switch c4 {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 2
-                               }
-                       case 'M':
-                               switch c4 {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 2
-                               }
-                       }
-               case "UN":
-                       switch c3[0] {
-                       default:
-                               panic("lapack: bad function name")
-                       case 'G':
-                               switch c4 {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 2
-                               }
-                       case 'M':
-                               switch c4 {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 2
-                               }
-                       }
-               }
-       case 3:
-               switch c2 {
-               default:
-                       panic("lapack: bad function name")
-               case "GE":
-                       switch c3 {
-                       default:
-                               panic("lapack: bad function name")
-                       case "QRF", "RQF", "LQF", "QLF":
-                               if sname {
-                                       return 128
-                               }
-                               return 128
-                       case "HRD":
-                               if sname {
-                                       return 128
-                               }
-                               return 128
-                       case "BRD":
-                               if sname {
-                                       return 128
-                               }
-                               return 128
-                       }
-               case "SY":
-                       if sname && c3 == "TRD" {
-                               return 32
-                       }
-                       panic("lapack: bad function name")
-               case "HE":
-                       if c3 == "TRD" {
-                               return 32
-                       }
-                       panic("lapack: bad function name")
-               case "OR":
-                       switch c3[0] {
-                       default:
-                               panic("lapack: bad function name")
-                       case 'G':
-                               switch c4 {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 128
-                               }
-                       }
-               case "UN":
-                       switch c3[0] {
-                       default:
-                               panic("lapack: bad function name")
-                       case 'G':
-                               switch c4 {
-                               default:
-                                       panic("lapack: bad function name")
-                               case "QR", "RQ", "LQ", "QL", "HR", "TR", "BR":
-                                       return 128
-                               }
-                       }
-               }
-       case 4:
-               // Used by xHSEQR
-               return 6
-       case 5:
-               // Not used
-               return 2
-       case 6:
-               // Used by xGELSS and xGESVD
-               return int(float64(min(n1, n2)) * 1.6)
-       case 7:
-               // Not used
-               return 1
-       case 8:
-               // Used by xHSEQR
-               return 50
-       case 9:
-               // used by xGELSD and xGESDD
-               return 25
-       case 10:
-               // Go guarantees ieee
-               return 1
-       case 11:
-               // Go guarantees ieee
-               return 1
-       case 12, 13, 14, 15, 16:
-               // Dhseqr and related functions for eigenvalue problems.
-               return impl.Iparmq(ispec, s, opts, n1, n2, n3, n4)
-       }
-}