github.com/gonum/lapack@v0.0.0-20181123203213-e4cdc5a0bff9/cgo/lapacke/lapacke.go (about)

     1  // Code generated by "go generate github.com/gonum/lapack/cgo/lapacke" from lapacke.h; DO NOT EDIT.
     2  
     3  // Copyright ©2014 The gonum Authors. All rights reserved.
     4  // Use of this source code is governed by a BSD-style
     5  // license that can be found in the LICENSE file.
     6  
     7  // This repository is no longer maintained.
     8  // Development has moved to https://github.com/gonum/netlib.
     9  //
    10  // Package lapacke provides bindings to the LAPACKE C Interface to LAPACK.
    11  //
    12  // Links are provided to the NETLIB fortran implementation/dependencies for each function.
    13  package lapacke
    14  
    15  /*
    16  #cgo CFLAGS: -g -O2
    17  #include "lapacke.h"
    18  */
    19  import "C"
    20  
    21  import (
    22  	"unsafe"
    23  
    24  	"github.com/gonum/blas"
    25  	"github.com/gonum/lapack"
    26  )
    27  
    28  // Type order is used to specify the matrix storage format. We still interact with
    29  // an API that allows client calls to specify order, so this is here to document that fact.
    30  type order int
    31  
    32  const (
    33  	rowMajor order = 101 + iota
    34  	colMajor
    35  )
    36  
    37  func isZero(ret C.int) bool { return ret == 0 }
    38  
    39  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sbdsdc.f.
    40  func Sbdsdc(ul blas.Uplo, compq lapack.Comp, n int, d, e, u []float32, ldu int, vt []float32, ldvt int, q []float32, iq []int32, work []float32, iwork []int32) bool {
    41  	switch ul {
    42  	case blas.Upper:
    43  		ul = 'U'
    44  	case blas.Lower:
    45  		ul = 'L'
    46  	default:
    47  		panic("lapack: illegal triangle")
    48  	}
    49  	var _d *float32
    50  	if len(d) > 0 {
    51  		_d = &d[0]
    52  	}
    53  	var _e *float32
    54  	if len(e) > 0 {
    55  		_e = &e[0]
    56  	}
    57  	var _u *float32
    58  	if len(u) > 0 {
    59  		_u = &u[0]
    60  	}
    61  	var _vt *float32
    62  	if len(vt) > 0 {
    63  		_vt = &vt[0]
    64  	}
    65  	var _q *float32
    66  	if len(q) > 0 {
    67  		_q = &q[0]
    68  	}
    69  	var _iq *int32
    70  	if len(iq) > 0 {
    71  		_iq = &iq[0]
    72  	}
    73  	var _work *float32
    74  	if len(work) > 0 {
    75  		_work = &work[0]
    76  	}
    77  	var _iwork *int32
    78  	if len(iwork) > 0 {
    79  		_iwork = &iwork[0]
    80  	}
    81  	return isZero(C.LAPACKE_sbdsdc_work((C.int)(rowMajor), (C.char)(ul), (C.char)(compq), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_vt), (C.lapack_int)(ldvt), (*C.float)(_q), (*C.lapack_int)(_iq), (*C.float)(_work), (*C.lapack_int)(_iwork)))
    82  }
    83  
    84  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dbdsdc.f.
    85  func Dbdsdc(ul blas.Uplo, compq lapack.Comp, n int, d, e, u []float64, ldu int, vt []float64, ldvt int, q []float64, iq []int32, work []float64, iwork []int32) bool {
    86  	switch ul {
    87  	case blas.Upper:
    88  		ul = 'U'
    89  	case blas.Lower:
    90  		ul = 'L'
    91  	default:
    92  		panic("lapack: illegal triangle")
    93  	}
    94  	var _d *float64
    95  	if len(d) > 0 {
    96  		_d = &d[0]
    97  	}
    98  	var _e *float64
    99  	if len(e) > 0 {
   100  		_e = &e[0]
   101  	}
   102  	var _u *float64
   103  	if len(u) > 0 {
   104  		_u = &u[0]
   105  	}
   106  	var _vt *float64
   107  	if len(vt) > 0 {
   108  		_vt = &vt[0]
   109  	}
   110  	var _q *float64
   111  	if len(q) > 0 {
   112  		_q = &q[0]
   113  	}
   114  	var _iq *int32
   115  	if len(iq) > 0 {
   116  		_iq = &iq[0]
   117  	}
   118  	var _work *float64
   119  	if len(work) > 0 {
   120  		_work = &work[0]
   121  	}
   122  	var _iwork *int32
   123  	if len(iwork) > 0 {
   124  		_iwork = &iwork[0]
   125  	}
   126  	return isZero(C.LAPACKE_dbdsdc_work((C.int)(rowMajor), (C.char)(ul), (C.char)(compq), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_vt), (C.lapack_int)(ldvt), (*C.double)(_q), (*C.lapack_int)(_iq), (*C.double)(_work), (*C.lapack_int)(_iwork)))
   127  }
   128  
   129  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sbdsvdx.f.
   130  func Sbdsvdx(ul blas.Uplo, jobz lapack.Job, rng byte, n int, d, e []float32, vl, vu, il, iu, ns int, s, z []float32, ldz int, work []float32, iwork []int32) bool {
   131  	switch ul {
   132  	case blas.Upper:
   133  		ul = 'U'
   134  	case blas.Lower:
   135  		ul = 'L'
   136  	default:
   137  		panic("lapack: illegal triangle")
   138  	}
   139  	var _d *float32
   140  	if len(d) > 0 {
   141  		_d = &d[0]
   142  	}
   143  	var _e *float32
   144  	if len(e) > 0 {
   145  		_e = &e[0]
   146  	}
   147  	var _s *float32
   148  	if len(s) > 0 {
   149  		_s = &s[0]
   150  	}
   151  	var _z *float32
   152  	if len(z) > 0 {
   153  		_z = &z[0]
   154  	}
   155  	var _work *float32
   156  	if len(work) > 0 {
   157  		_work = &work[0]
   158  	}
   159  	var _iwork *int32
   160  	if len(iwork) > 0 {
   161  		_iwork = &iwork[0]
   162  	}
   163  	return isZero(C.LAPACKE_sbdsvdx_work((C.int)(rowMajor), (C.char)(ul), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.lapack_int)(vl), (C.lapack_int)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.lapack_int)(ns), (*C.float)(_s), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (*C.lapack_int)(_iwork)))
   164  }
   165  
   166  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dbdsvdx.f.
   167  func Dbdsvdx(ul blas.Uplo, jobz lapack.Job, rng byte, n int, d, e []float64, vl, vu, il, iu, ns int, s, z []float64, ldz int, work []float64, iwork []int32) bool {
   168  	switch ul {
   169  	case blas.Upper:
   170  		ul = 'U'
   171  	case blas.Lower:
   172  		ul = 'L'
   173  	default:
   174  		panic("lapack: illegal triangle")
   175  	}
   176  	var _d *float64
   177  	if len(d) > 0 {
   178  		_d = &d[0]
   179  	}
   180  	var _e *float64
   181  	if len(e) > 0 {
   182  		_e = &e[0]
   183  	}
   184  	var _s *float64
   185  	if len(s) > 0 {
   186  		_s = &s[0]
   187  	}
   188  	var _z *float64
   189  	if len(z) > 0 {
   190  		_z = &z[0]
   191  	}
   192  	var _work *float64
   193  	if len(work) > 0 {
   194  		_work = &work[0]
   195  	}
   196  	var _iwork *int32
   197  	if len(iwork) > 0 {
   198  		_iwork = &iwork[0]
   199  	}
   200  	return isZero(C.LAPACKE_dbdsvdx_work((C.int)(rowMajor), (C.char)(ul), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.lapack_int)(vl), (C.lapack_int)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.lapack_int)(ns), (*C.double)(_s), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (*C.lapack_int)(_iwork)))
   201  }
   202  
   203  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sbdsqr.f.
   204  func Sbdsqr(ul blas.Uplo, n, ncvt, nru, ncc int, d, e, vt []float32, ldvt int, u []float32, ldu int, c []float32, ldc int, work []float32) bool {
   205  	switch ul {
   206  	case blas.Upper:
   207  		ul = 'U'
   208  	case blas.Lower:
   209  		ul = 'L'
   210  	default:
   211  		panic("lapack: illegal triangle")
   212  	}
   213  	var _d *float32
   214  	if len(d) > 0 {
   215  		_d = &d[0]
   216  	}
   217  	var _e *float32
   218  	if len(e) > 0 {
   219  		_e = &e[0]
   220  	}
   221  	var _vt *float32
   222  	if len(vt) > 0 {
   223  		_vt = &vt[0]
   224  	}
   225  	var _u *float32
   226  	if len(u) > 0 {
   227  		_u = &u[0]
   228  	}
   229  	var _c *float32
   230  	if len(c) > 0 {
   231  		_c = &c[0]
   232  	}
   233  	var _work *float32
   234  	if len(work) > 0 {
   235  		_work = &work[0]
   236  	}
   237  	return isZero(C.LAPACKE_sbdsqr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ncvt), (C.lapack_int)(nru), (C.lapack_int)(ncc), (*C.float)(_d), (*C.float)(_e), (*C.float)(_vt), (C.lapack_int)(ldvt), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work)))
   238  }
   239  
   240  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dbdsqr.f.
   241  func Dbdsqr(ul blas.Uplo, n, ncvt, nru, ncc int, d, e, vt []float64, ldvt int, u []float64, ldu int, c []float64, ldc int, work []float64) bool {
   242  	switch ul {
   243  	case blas.Upper:
   244  		ul = 'U'
   245  	case blas.Lower:
   246  		ul = 'L'
   247  	default:
   248  		panic("lapack: illegal triangle")
   249  	}
   250  	var _d *float64
   251  	if len(d) > 0 {
   252  		_d = &d[0]
   253  	}
   254  	var _e *float64
   255  	if len(e) > 0 {
   256  		_e = &e[0]
   257  	}
   258  	var _vt *float64
   259  	if len(vt) > 0 {
   260  		_vt = &vt[0]
   261  	}
   262  	var _u *float64
   263  	if len(u) > 0 {
   264  		_u = &u[0]
   265  	}
   266  	var _c *float64
   267  	if len(c) > 0 {
   268  		_c = &c[0]
   269  	}
   270  	var _work *float64
   271  	if len(work) > 0 {
   272  		_work = &work[0]
   273  	}
   274  	return isZero(C.LAPACKE_dbdsqr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ncvt), (C.lapack_int)(nru), (C.lapack_int)(ncc), (*C.double)(_d), (*C.double)(_e), (*C.double)(_vt), (C.lapack_int)(ldvt), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work)))
   275  }
   276  
   277  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cbdsqr.f.
   278  func Cbdsqr(ul blas.Uplo, n, ncvt, nru, ncc int, d, e []float32, vt []complex64, ldvt int, u []complex64, ldu int, c []complex64, ldc int, work []float32) bool {
   279  	switch ul {
   280  	case blas.Upper:
   281  		ul = 'U'
   282  	case blas.Lower:
   283  		ul = 'L'
   284  	default:
   285  		panic("lapack: illegal triangle")
   286  	}
   287  	var _d *float32
   288  	if len(d) > 0 {
   289  		_d = &d[0]
   290  	}
   291  	var _e *float32
   292  	if len(e) > 0 {
   293  		_e = &e[0]
   294  	}
   295  	var _vt *complex64
   296  	if len(vt) > 0 {
   297  		_vt = &vt[0]
   298  	}
   299  	var _u *complex64
   300  	if len(u) > 0 {
   301  		_u = &u[0]
   302  	}
   303  	var _c *complex64
   304  	if len(c) > 0 {
   305  		_c = &c[0]
   306  	}
   307  	var _work *float32
   308  	if len(work) > 0 {
   309  		_work = &work[0]
   310  	}
   311  	return isZero(C.LAPACKE_cbdsqr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ncvt), (C.lapack_int)(nru), (C.lapack_int)(ncc), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_vt), (C.lapack_int)(ldvt), (*C.lapack_complex_float)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.float)(_work)))
   312  }
   313  
   314  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zbdsqr.f.
   315  func Zbdsqr(ul blas.Uplo, n, ncvt, nru, ncc int, d, e []float64, vt []complex128, ldvt int, u []complex128, ldu int, c []complex128, ldc int, work []float64) bool {
   316  	switch ul {
   317  	case blas.Upper:
   318  		ul = 'U'
   319  	case blas.Lower:
   320  		ul = 'L'
   321  	default:
   322  		panic("lapack: illegal triangle")
   323  	}
   324  	var _d *float64
   325  	if len(d) > 0 {
   326  		_d = &d[0]
   327  	}
   328  	var _e *float64
   329  	if len(e) > 0 {
   330  		_e = &e[0]
   331  	}
   332  	var _vt *complex128
   333  	if len(vt) > 0 {
   334  		_vt = &vt[0]
   335  	}
   336  	var _u *complex128
   337  	if len(u) > 0 {
   338  		_u = &u[0]
   339  	}
   340  	var _c *complex128
   341  	if len(c) > 0 {
   342  		_c = &c[0]
   343  	}
   344  	var _work *float64
   345  	if len(work) > 0 {
   346  		_work = &work[0]
   347  	}
   348  	return isZero(C.LAPACKE_zbdsqr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ncvt), (C.lapack_int)(nru), (C.lapack_int)(ncc), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_vt), (C.lapack_int)(ldvt), (*C.lapack_complex_double)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.double)(_work)))
   349  }
   350  
   351  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sdisna.f.
   352  func Sdisna(job lapack.Job, m, n int, d, sep []float32) bool {
   353  	var _d *float32
   354  	if len(d) > 0 {
   355  		_d = &d[0]
   356  	}
   357  	var _sep *float32
   358  	if len(sep) > 0 {
   359  		_sep = &sep[0]
   360  	}
   361  	return isZero(C.LAPACKE_sdisna_work((C.char)(job), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_sep)))
   362  }
   363  
   364  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ddisna.f.
   365  func Ddisna(job lapack.Job, m, n int, d, sep []float64) bool {
   366  	var _d *float64
   367  	if len(d) > 0 {
   368  		_d = &d[0]
   369  	}
   370  	var _sep *float64
   371  	if len(sep) > 0 {
   372  		_sep = &sep[0]
   373  	}
   374  	return isZero(C.LAPACKE_ddisna_work((C.char)(job), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_sep)))
   375  }
   376  
   377  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbbrd.f.
   378  func Sgbbrd(vect byte, m, n, ncc, kl, ku int, ab []float32, ldab int, d, e, q []float32, ldq int, pt []float32, ldpt int, c []float32, ldc int, work []float32) bool {
   379  	var _ab *float32
   380  	if len(ab) > 0 {
   381  		_ab = &ab[0]
   382  	}
   383  	var _d *float32
   384  	if len(d) > 0 {
   385  		_d = &d[0]
   386  	}
   387  	var _e *float32
   388  	if len(e) > 0 {
   389  		_e = &e[0]
   390  	}
   391  	var _q *float32
   392  	if len(q) > 0 {
   393  		_q = &q[0]
   394  	}
   395  	var _pt *float32
   396  	if len(pt) > 0 {
   397  		_pt = &pt[0]
   398  	}
   399  	var _c *float32
   400  	if len(c) > 0 {
   401  		_c = &c[0]
   402  	}
   403  	var _work *float32
   404  	if len(work) > 0 {
   405  		_work = &work[0]
   406  	}
   407  	return isZero(C.LAPACKE_sgbbrd_work((C.int)(rowMajor), (C.char)(vect), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(ncc), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_d), (*C.float)(_e), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_pt), (C.lapack_int)(ldpt), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work)))
   408  }
   409  
   410  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbbrd.f.
   411  func Dgbbrd(vect byte, m, n, ncc, kl, ku int, ab []float64, ldab int, d, e, q []float64, ldq int, pt []float64, ldpt int, c []float64, ldc int, work []float64) bool {
   412  	var _ab *float64
   413  	if len(ab) > 0 {
   414  		_ab = &ab[0]
   415  	}
   416  	var _d *float64
   417  	if len(d) > 0 {
   418  		_d = &d[0]
   419  	}
   420  	var _e *float64
   421  	if len(e) > 0 {
   422  		_e = &e[0]
   423  	}
   424  	var _q *float64
   425  	if len(q) > 0 {
   426  		_q = &q[0]
   427  	}
   428  	var _pt *float64
   429  	if len(pt) > 0 {
   430  		_pt = &pt[0]
   431  	}
   432  	var _c *float64
   433  	if len(c) > 0 {
   434  		_c = &c[0]
   435  	}
   436  	var _work *float64
   437  	if len(work) > 0 {
   438  		_work = &work[0]
   439  	}
   440  	return isZero(C.LAPACKE_dgbbrd_work((C.int)(rowMajor), (C.char)(vect), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(ncc), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_d), (*C.double)(_e), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_pt), (C.lapack_int)(ldpt), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work)))
   441  }
   442  
   443  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbbrd.f.
   444  func Cgbbrd(vect byte, m, n, ncc, kl, ku int, ab []complex64, ldab int, d, e []float32, q []complex64, ldq int, pt []complex64, ldpt int, c []complex64, ldc int, work []complex64, rwork []float32) bool {
   445  	var _ab *complex64
   446  	if len(ab) > 0 {
   447  		_ab = &ab[0]
   448  	}
   449  	var _d *float32
   450  	if len(d) > 0 {
   451  		_d = &d[0]
   452  	}
   453  	var _e *float32
   454  	if len(e) > 0 {
   455  		_e = &e[0]
   456  	}
   457  	var _q *complex64
   458  	if len(q) > 0 {
   459  		_q = &q[0]
   460  	}
   461  	var _pt *complex64
   462  	if len(pt) > 0 {
   463  		_pt = &pt[0]
   464  	}
   465  	var _c *complex64
   466  	if len(c) > 0 {
   467  		_c = &c[0]
   468  	}
   469  	var _work *complex64
   470  	if len(work) > 0 {
   471  		_work = &work[0]
   472  	}
   473  	var _rwork *float32
   474  	if len(rwork) > 0 {
   475  		_rwork = &rwork[0]
   476  	}
   477  	return isZero(C.LAPACKE_cgbbrd_work((C.int)(rowMajor), (C.char)(vect), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(ncc), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_pt), (C.lapack_int)(ldpt), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
   478  }
   479  
   480  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbbrd.f.
   481  func Zgbbrd(vect byte, m, n, ncc, kl, ku int, ab []complex128, ldab int, d, e []float64, q []complex128, ldq int, pt []complex128, ldpt int, c []complex128, ldc int, work []complex128, rwork []float64) bool {
   482  	var _ab *complex128
   483  	if len(ab) > 0 {
   484  		_ab = &ab[0]
   485  	}
   486  	var _d *float64
   487  	if len(d) > 0 {
   488  		_d = &d[0]
   489  	}
   490  	var _e *float64
   491  	if len(e) > 0 {
   492  		_e = &e[0]
   493  	}
   494  	var _q *complex128
   495  	if len(q) > 0 {
   496  		_q = &q[0]
   497  	}
   498  	var _pt *complex128
   499  	if len(pt) > 0 {
   500  		_pt = &pt[0]
   501  	}
   502  	var _c *complex128
   503  	if len(c) > 0 {
   504  		_c = &c[0]
   505  	}
   506  	var _work *complex128
   507  	if len(work) > 0 {
   508  		_work = &work[0]
   509  	}
   510  	var _rwork *float64
   511  	if len(rwork) > 0 {
   512  		_rwork = &rwork[0]
   513  	}
   514  	return isZero(C.LAPACKE_zgbbrd_work((C.int)(rowMajor), (C.char)(vect), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(ncc), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_pt), (C.lapack_int)(ldpt), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
   515  }
   516  
   517  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbcon.f.
   518  func Sgbcon(norm byte, n, kl, ku int, ab []float32, ldab int, ipiv []int32, anorm float32, rcond, work []float32, iwork []int32) bool {
   519  	var _ab *float32
   520  	if len(ab) > 0 {
   521  		_ab = &ab[0]
   522  	}
   523  	var _ipiv *int32
   524  	if len(ipiv) > 0 {
   525  		_ipiv = &ipiv[0]
   526  	}
   527  	var _rcond *float32
   528  	if len(rcond) > 0 {
   529  		_rcond = &rcond[0]
   530  	}
   531  	var _work *float32
   532  	if len(work) > 0 {
   533  		_work = &work[0]
   534  	}
   535  	var _iwork *int32
   536  	if len(iwork) > 0 {
   537  		_iwork = &iwork[0]
   538  	}
   539  	return isZero(C.LAPACKE_sgbcon_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
   540  }
   541  
   542  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbcon.f.
   543  func Dgbcon(norm byte, n, kl, ku int, ab []float64, ldab int, ipiv []int32, anorm float64, rcond, work []float64, iwork []int32) bool {
   544  	var _ab *float64
   545  	if len(ab) > 0 {
   546  		_ab = &ab[0]
   547  	}
   548  	var _ipiv *int32
   549  	if len(ipiv) > 0 {
   550  		_ipiv = &ipiv[0]
   551  	}
   552  	var _rcond *float64
   553  	if len(rcond) > 0 {
   554  		_rcond = &rcond[0]
   555  	}
   556  	var _work *float64
   557  	if len(work) > 0 {
   558  		_work = &work[0]
   559  	}
   560  	var _iwork *int32
   561  	if len(iwork) > 0 {
   562  		_iwork = &iwork[0]
   563  	}
   564  	return isZero(C.LAPACKE_dgbcon_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
   565  }
   566  
   567  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbcon.f.
   568  func Cgbcon(norm byte, n, kl, ku int, ab []complex64, ldab int, ipiv []int32, anorm float32, rcond []float32, work []complex64, rwork []float32) bool {
   569  	var _ab *complex64
   570  	if len(ab) > 0 {
   571  		_ab = &ab[0]
   572  	}
   573  	var _ipiv *int32
   574  	if len(ipiv) > 0 {
   575  		_ipiv = &ipiv[0]
   576  	}
   577  	var _rcond *float32
   578  	if len(rcond) > 0 {
   579  		_rcond = &rcond[0]
   580  	}
   581  	var _work *complex64
   582  	if len(work) > 0 {
   583  		_work = &work[0]
   584  	}
   585  	var _rwork *float32
   586  	if len(rwork) > 0 {
   587  		_rwork = &rwork[0]
   588  	}
   589  	return isZero(C.LAPACKE_cgbcon_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
   590  }
   591  
   592  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbcon.f.
   593  func Zgbcon(norm byte, n, kl, ku int, ab []complex128, ldab int, ipiv []int32, anorm float64, rcond []float64, work []complex128, rwork []float64) bool {
   594  	var _ab *complex128
   595  	if len(ab) > 0 {
   596  		_ab = &ab[0]
   597  	}
   598  	var _ipiv *int32
   599  	if len(ipiv) > 0 {
   600  		_ipiv = &ipiv[0]
   601  	}
   602  	var _rcond *float64
   603  	if len(rcond) > 0 {
   604  		_rcond = &rcond[0]
   605  	}
   606  	var _work *complex128
   607  	if len(work) > 0 {
   608  		_work = &work[0]
   609  	}
   610  	var _rwork *float64
   611  	if len(rwork) > 0 {
   612  		_rwork = &rwork[0]
   613  	}
   614  	return isZero(C.LAPACKE_zgbcon_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
   615  }
   616  
   617  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbequ.f.
   618  func Sgbequ(m, n, kl, ku int, ab []float32, ldab int, r, c, rowcnd, colcnd, amax []float32) bool {
   619  	var _ab *float32
   620  	if len(ab) > 0 {
   621  		_ab = &ab[0]
   622  	}
   623  	var _r *float32
   624  	if len(r) > 0 {
   625  		_r = &r[0]
   626  	}
   627  	var _c *float32
   628  	if len(c) > 0 {
   629  		_c = &c[0]
   630  	}
   631  	var _rowcnd *float32
   632  	if len(rowcnd) > 0 {
   633  		_rowcnd = &rowcnd[0]
   634  	}
   635  	var _colcnd *float32
   636  	if len(colcnd) > 0 {
   637  		_colcnd = &colcnd[0]
   638  	}
   639  	var _amax *float32
   640  	if len(amax) > 0 {
   641  		_amax = &amax[0]
   642  	}
   643  	return isZero(C.LAPACKE_sgbequ_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_r), (*C.float)(_c), (*C.float)(_rowcnd), (*C.float)(_colcnd), (*C.float)(_amax)))
   644  }
   645  
   646  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbequ.f.
   647  func Dgbequ(m, n, kl, ku int, ab []float64, ldab int, r, c, rowcnd, colcnd, amax []float64) bool {
   648  	var _ab *float64
   649  	if len(ab) > 0 {
   650  		_ab = &ab[0]
   651  	}
   652  	var _r *float64
   653  	if len(r) > 0 {
   654  		_r = &r[0]
   655  	}
   656  	var _c *float64
   657  	if len(c) > 0 {
   658  		_c = &c[0]
   659  	}
   660  	var _rowcnd *float64
   661  	if len(rowcnd) > 0 {
   662  		_rowcnd = &rowcnd[0]
   663  	}
   664  	var _colcnd *float64
   665  	if len(colcnd) > 0 {
   666  		_colcnd = &colcnd[0]
   667  	}
   668  	var _amax *float64
   669  	if len(amax) > 0 {
   670  		_amax = &amax[0]
   671  	}
   672  	return isZero(C.LAPACKE_dgbequ_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_r), (*C.double)(_c), (*C.double)(_rowcnd), (*C.double)(_colcnd), (*C.double)(_amax)))
   673  }
   674  
   675  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbequ.f.
   676  func Cgbequ(m, n, kl, ku int, ab []complex64, ldab int, r, c, rowcnd, colcnd, amax []float32) bool {
   677  	var _ab *complex64
   678  	if len(ab) > 0 {
   679  		_ab = &ab[0]
   680  	}
   681  	var _r *float32
   682  	if len(r) > 0 {
   683  		_r = &r[0]
   684  	}
   685  	var _c *float32
   686  	if len(c) > 0 {
   687  		_c = &c[0]
   688  	}
   689  	var _rowcnd *float32
   690  	if len(rowcnd) > 0 {
   691  		_rowcnd = &rowcnd[0]
   692  	}
   693  	var _colcnd *float32
   694  	if len(colcnd) > 0 {
   695  		_colcnd = &colcnd[0]
   696  	}
   697  	var _amax *float32
   698  	if len(amax) > 0 {
   699  		_amax = &amax[0]
   700  	}
   701  	return isZero(C.LAPACKE_cgbequ_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.float)(_r), (*C.float)(_c), (*C.float)(_rowcnd), (*C.float)(_colcnd), (*C.float)(_amax)))
   702  }
   703  
   704  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbequ.f.
   705  func Zgbequ(m, n, kl, ku int, ab []complex128, ldab int, r, c, rowcnd, colcnd, amax []float64) bool {
   706  	var _ab *complex128
   707  	if len(ab) > 0 {
   708  		_ab = &ab[0]
   709  	}
   710  	var _r *float64
   711  	if len(r) > 0 {
   712  		_r = &r[0]
   713  	}
   714  	var _c *float64
   715  	if len(c) > 0 {
   716  		_c = &c[0]
   717  	}
   718  	var _rowcnd *float64
   719  	if len(rowcnd) > 0 {
   720  		_rowcnd = &rowcnd[0]
   721  	}
   722  	var _colcnd *float64
   723  	if len(colcnd) > 0 {
   724  		_colcnd = &colcnd[0]
   725  	}
   726  	var _amax *float64
   727  	if len(amax) > 0 {
   728  		_amax = &amax[0]
   729  	}
   730  	return isZero(C.LAPACKE_zgbequ_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.double)(_r), (*C.double)(_c), (*C.double)(_rowcnd), (*C.double)(_colcnd), (*C.double)(_amax)))
   731  }
   732  
   733  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbequb.f.
   734  func Sgbequb(m, n, kl, ku int, ab []float32, ldab int, r, c, rowcnd, colcnd, amax []float32) bool {
   735  	var _ab *float32
   736  	if len(ab) > 0 {
   737  		_ab = &ab[0]
   738  	}
   739  	var _r *float32
   740  	if len(r) > 0 {
   741  		_r = &r[0]
   742  	}
   743  	var _c *float32
   744  	if len(c) > 0 {
   745  		_c = &c[0]
   746  	}
   747  	var _rowcnd *float32
   748  	if len(rowcnd) > 0 {
   749  		_rowcnd = &rowcnd[0]
   750  	}
   751  	var _colcnd *float32
   752  	if len(colcnd) > 0 {
   753  		_colcnd = &colcnd[0]
   754  	}
   755  	var _amax *float32
   756  	if len(amax) > 0 {
   757  		_amax = &amax[0]
   758  	}
   759  	return isZero(C.LAPACKE_sgbequb_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_r), (*C.float)(_c), (*C.float)(_rowcnd), (*C.float)(_colcnd), (*C.float)(_amax)))
   760  }
   761  
   762  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbequb.f.
   763  func Dgbequb(m, n, kl, ku int, ab []float64, ldab int, r, c, rowcnd, colcnd, amax []float64) bool {
   764  	var _ab *float64
   765  	if len(ab) > 0 {
   766  		_ab = &ab[0]
   767  	}
   768  	var _r *float64
   769  	if len(r) > 0 {
   770  		_r = &r[0]
   771  	}
   772  	var _c *float64
   773  	if len(c) > 0 {
   774  		_c = &c[0]
   775  	}
   776  	var _rowcnd *float64
   777  	if len(rowcnd) > 0 {
   778  		_rowcnd = &rowcnd[0]
   779  	}
   780  	var _colcnd *float64
   781  	if len(colcnd) > 0 {
   782  		_colcnd = &colcnd[0]
   783  	}
   784  	var _amax *float64
   785  	if len(amax) > 0 {
   786  		_amax = &amax[0]
   787  	}
   788  	return isZero(C.LAPACKE_dgbequb_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_r), (*C.double)(_c), (*C.double)(_rowcnd), (*C.double)(_colcnd), (*C.double)(_amax)))
   789  }
   790  
   791  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbequb.f.
   792  func Cgbequb(m, n, kl, ku int, ab []complex64, ldab int, r, c, rowcnd, colcnd, amax []float32) bool {
   793  	var _ab *complex64
   794  	if len(ab) > 0 {
   795  		_ab = &ab[0]
   796  	}
   797  	var _r *float32
   798  	if len(r) > 0 {
   799  		_r = &r[0]
   800  	}
   801  	var _c *float32
   802  	if len(c) > 0 {
   803  		_c = &c[0]
   804  	}
   805  	var _rowcnd *float32
   806  	if len(rowcnd) > 0 {
   807  		_rowcnd = &rowcnd[0]
   808  	}
   809  	var _colcnd *float32
   810  	if len(colcnd) > 0 {
   811  		_colcnd = &colcnd[0]
   812  	}
   813  	var _amax *float32
   814  	if len(amax) > 0 {
   815  		_amax = &amax[0]
   816  	}
   817  	return isZero(C.LAPACKE_cgbequb_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.float)(_r), (*C.float)(_c), (*C.float)(_rowcnd), (*C.float)(_colcnd), (*C.float)(_amax)))
   818  }
   819  
   820  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbequb.f.
   821  func Zgbequb(m, n, kl, ku int, ab []complex128, ldab int, r, c, rowcnd, colcnd, amax []float64) bool {
   822  	var _ab *complex128
   823  	if len(ab) > 0 {
   824  		_ab = &ab[0]
   825  	}
   826  	var _r *float64
   827  	if len(r) > 0 {
   828  		_r = &r[0]
   829  	}
   830  	var _c *float64
   831  	if len(c) > 0 {
   832  		_c = &c[0]
   833  	}
   834  	var _rowcnd *float64
   835  	if len(rowcnd) > 0 {
   836  		_rowcnd = &rowcnd[0]
   837  	}
   838  	var _colcnd *float64
   839  	if len(colcnd) > 0 {
   840  		_colcnd = &colcnd[0]
   841  	}
   842  	var _amax *float64
   843  	if len(amax) > 0 {
   844  		_amax = &amax[0]
   845  	}
   846  	return isZero(C.LAPACKE_zgbequb_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.double)(_r), (*C.double)(_c), (*C.double)(_rowcnd), (*C.double)(_colcnd), (*C.double)(_amax)))
   847  }
   848  
   849  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbrfs.f.
   850  func Sgbrfs(trans blas.Transpose, n, kl, ku, nrhs int, ab []float32, ldab int, afb []float32, ldafb int, ipiv []int32, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
   851  	switch trans {
   852  	case blas.NoTrans:
   853  		trans = 'N'
   854  	case blas.Trans:
   855  		trans = 'T'
   856  	case blas.ConjTrans:
   857  		trans = 'C'
   858  	default:
   859  		panic("lapack: bad trans")
   860  	}
   861  	var _ab *float32
   862  	if len(ab) > 0 {
   863  		_ab = &ab[0]
   864  	}
   865  	var _afb *float32
   866  	if len(afb) > 0 {
   867  		_afb = &afb[0]
   868  	}
   869  	var _ipiv *int32
   870  	if len(ipiv) > 0 {
   871  		_ipiv = &ipiv[0]
   872  	}
   873  	var _b *float32
   874  	if len(b) > 0 {
   875  		_b = &b[0]
   876  	}
   877  	var _x *float32
   878  	if len(x) > 0 {
   879  		_x = &x[0]
   880  	}
   881  	var _ferr *float32
   882  	if len(ferr) > 0 {
   883  		_ferr = &ferr[0]
   884  	}
   885  	var _berr *float32
   886  	if len(berr) > 0 {
   887  		_berr = &berr[0]
   888  	}
   889  	var _work *float32
   890  	if len(work) > 0 {
   891  		_work = &work[0]
   892  	}
   893  	var _iwork *int32
   894  	if len(iwork) > 0 {
   895  		_iwork = &iwork[0]
   896  	}
   897  	return isZero(C.LAPACKE_sgbrfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_afb), (C.lapack_int)(ldafb), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
   898  }
   899  
   900  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbrfs.f.
   901  func Dgbrfs(trans blas.Transpose, n, kl, ku, nrhs int, ab []float64, ldab int, afb []float64, ldafb int, ipiv []int32, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
   902  	switch trans {
   903  	case blas.NoTrans:
   904  		trans = 'N'
   905  	case blas.Trans:
   906  		trans = 'T'
   907  	case blas.ConjTrans:
   908  		trans = 'C'
   909  	default:
   910  		panic("lapack: bad trans")
   911  	}
   912  	var _ab *float64
   913  	if len(ab) > 0 {
   914  		_ab = &ab[0]
   915  	}
   916  	var _afb *float64
   917  	if len(afb) > 0 {
   918  		_afb = &afb[0]
   919  	}
   920  	var _ipiv *int32
   921  	if len(ipiv) > 0 {
   922  		_ipiv = &ipiv[0]
   923  	}
   924  	var _b *float64
   925  	if len(b) > 0 {
   926  		_b = &b[0]
   927  	}
   928  	var _x *float64
   929  	if len(x) > 0 {
   930  		_x = &x[0]
   931  	}
   932  	var _ferr *float64
   933  	if len(ferr) > 0 {
   934  		_ferr = &ferr[0]
   935  	}
   936  	var _berr *float64
   937  	if len(berr) > 0 {
   938  		_berr = &berr[0]
   939  	}
   940  	var _work *float64
   941  	if len(work) > 0 {
   942  		_work = &work[0]
   943  	}
   944  	var _iwork *int32
   945  	if len(iwork) > 0 {
   946  		_iwork = &iwork[0]
   947  	}
   948  	return isZero(C.LAPACKE_dgbrfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_afb), (C.lapack_int)(ldafb), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
   949  }
   950  
   951  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbrfs.f.
   952  func Cgbrfs(trans blas.Transpose, n, kl, ku, nrhs int, ab []complex64, ldab int, afb []complex64, ldafb int, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
   953  	switch trans {
   954  	case blas.NoTrans:
   955  		trans = 'N'
   956  	case blas.Trans:
   957  		trans = 'T'
   958  	case blas.ConjTrans:
   959  		trans = 'C'
   960  	default:
   961  		panic("lapack: bad trans")
   962  	}
   963  	var _ab *complex64
   964  	if len(ab) > 0 {
   965  		_ab = &ab[0]
   966  	}
   967  	var _afb *complex64
   968  	if len(afb) > 0 {
   969  		_afb = &afb[0]
   970  	}
   971  	var _ipiv *int32
   972  	if len(ipiv) > 0 {
   973  		_ipiv = &ipiv[0]
   974  	}
   975  	var _b *complex64
   976  	if len(b) > 0 {
   977  		_b = &b[0]
   978  	}
   979  	var _x *complex64
   980  	if len(x) > 0 {
   981  		_x = &x[0]
   982  	}
   983  	var _ferr *float32
   984  	if len(ferr) > 0 {
   985  		_ferr = &ferr[0]
   986  	}
   987  	var _berr *float32
   988  	if len(berr) > 0 {
   989  		_berr = &berr[0]
   990  	}
   991  	var _work *complex64
   992  	if len(work) > 0 {
   993  		_work = &work[0]
   994  	}
   995  	var _rwork *float32
   996  	if len(rwork) > 0 {
   997  		_rwork = &rwork[0]
   998  	}
   999  	return isZero(C.LAPACKE_cgbrfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_afb), (C.lapack_int)(ldafb), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  1000  }
  1001  
  1002  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbrfs.f.
  1003  func Zgbrfs(trans blas.Transpose, n, kl, ku, nrhs int, ab []complex128, ldab int, afb []complex128, ldafb int, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
  1004  	switch trans {
  1005  	case blas.NoTrans:
  1006  		trans = 'N'
  1007  	case blas.Trans:
  1008  		trans = 'T'
  1009  	case blas.ConjTrans:
  1010  		trans = 'C'
  1011  	default:
  1012  		panic("lapack: bad trans")
  1013  	}
  1014  	var _ab *complex128
  1015  	if len(ab) > 0 {
  1016  		_ab = &ab[0]
  1017  	}
  1018  	var _afb *complex128
  1019  	if len(afb) > 0 {
  1020  		_afb = &afb[0]
  1021  	}
  1022  	var _ipiv *int32
  1023  	if len(ipiv) > 0 {
  1024  		_ipiv = &ipiv[0]
  1025  	}
  1026  	var _b *complex128
  1027  	if len(b) > 0 {
  1028  		_b = &b[0]
  1029  	}
  1030  	var _x *complex128
  1031  	if len(x) > 0 {
  1032  		_x = &x[0]
  1033  	}
  1034  	var _ferr *float64
  1035  	if len(ferr) > 0 {
  1036  		_ferr = &ferr[0]
  1037  	}
  1038  	var _berr *float64
  1039  	if len(berr) > 0 {
  1040  		_berr = &berr[0]
  1041  	}
  1042  	var _work *complex128
  1043  	if len(work) > 0 {
  1044  		_work = &work[0]
  1045  	}
  1046  	var _rwork *float64
  1047  	if len(rwork) > 0 {
  1048  		_rwork = &rwork[0]
  1049  	}
  1050  	return isZero(C.LAPACKE_zgbrfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_afb), (C.lapack_int)(ldafb), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  1051  }
  1052  
  1053  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbsv.f.
  1054  func Sgbsv(n, kl, ku, nrhs int, ab []float32, ldab int, ipiv []int32, b []float32, ldb int) bool {
  1055  	var _ab *float32
  1056  	if len(ab) > 0 {
  1057  		_ab = &ab[0]
  1058  	}
  1059  	var _ipiv *int32
  1060  	if len(ipiv) > 0 {
  1061  		_ipiv = &ipiv[0]
  1062  	}
  1063  	var _b *float32
  1064  	if len(b) > 0 {
  1065  		_b = &b[0]
  1066  	}
  1067  	return isZero(C.LAPACKE_sgbsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb)))
  1068  }
  1069  
  1070  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbsv.f.
  1071  func Dgbsv(n, kl, ku, nrhs int, ab []float64, ldab int, ipiv []int32, b []float64, ldb int) bool {
  1072  	var _ab *float64
  1073  	if len(ab) > 0 {
  1074  		_ab = &ab[0]
  1075  	}
  1076  	var _ipiv *int32
  1077  	if len(ipiv) > 0 {
  1078  		_ipiv = &ipiv[0]
  1079  	}
  1080  	var _b *float64
  1081  	if len(b) > 0 {
  1082  		_b = &b[0]
  1083  	}
  1084  	return isZero(C.LAPACKE_dgbsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb)))
  1085  }
  1086  
  1087  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbsv.f.
  1088  func Cgbsv(n, kl, ku, nrhs int, ab []complex64, ldab int, ipiv []int32, b []complex64, ldb int) bool {
  1089  	var _ab *complex64
  1090  	if len(ab) > 0 {
  1091  		_ab = &ab[0]
  1092  	}
  1093  	var _ipiv *int32
  1094  	if len(ipiv) > 0 {
  1095  		_ipiv = &ipiv[0]
  1096  	}
  1097  	var _b *complex64
  1098  	if len(b) > 0 {
  1099  		_b = &b[0]
  1100  	}
  1101  	return isZero(C.LAPACKE_cgbsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
  1102  }
  1103  
  1104  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbsv.f.
  1105  func Zgbsv(n, kl, ku, nrhs int, ab []complex128, ldab int, ipiv []int32, b []complex128, ldb int) bool {
  1106  	var _ab *complex128
  1107  	if len(ab) > 0 {
  1108  		_ab = &ab[0]
  1109  	}
  1110  	var _ipiv *int32
  1111  	if len(ipiv) > 0 {
  1112  		_ipiv = &ipiv[0]
  1113  	}
  1114  	var _b *complex128
  1115  	if len(b) > 0 {
  1116  		_b = &b[0]
  1117  	}
  1118  	return isZero(C.LAPACKE_zgbsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
  1119  }
  1120  
  1121  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbsvx.f.
  1122  func Sgbsvx(fact byte, trans blas.Transpose, n, kl, ku, nrhs int, ab []float32, ldab int, afb []float32, ldafb int, ipiv []int32, equed []byte, r, c, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32, iwork []int32) bool {
  1123  	switch trans {
  1124  	case blas.NoTrans:
  1125  		trans = 'N'
  1126  	case blas.Trans:
  1127  		trans = 'T'
  1128  	case blas.ConjTrans:
  1129  		trans = 'C'
  1130  	default:
  1131  		panic("lapack: bad trans")
  1132  	}
  1133  	var _ab *float32
  1134  	if len(ab) > 0 {
  1135  		_ab = &ab[0]
  1136  	}
  1137  	var _afb *float32
  1138  	if len(afb) > 0 {
  1139  		_afb = &afb[0]
  1140  	}
  1141  	var _ipiv *int32
  1142  	if len(ipiv) > 0 {
  1143  		_ipiv = &ipiv[0]
  1144  	}
  1145  	var _equed *byte
  1146  	if len(equed) > 0 {
  1147  		_equed = &equed[0]
  1148  	}
  1149  	var _r *float32
  1150  	if len(r) > 0 {
  1151  		_r = &r[0]
  1152  	}
  1153  	var _c *float32
  1154  	if len(c) > 0 {
  1155  		_c = &c[0]
  1156  	}
  1157  	var _b *float32
  1158  	if len(b) > 0 {
  1159  		_b = &b[0]
  1160  	}
  1161  	var _x *float32
  1162  	if len(x) > 0 {
  1163  		_x = &x[0]
  1164  	}
  1165  	var _rcond *float32
  1166  	if len(rcond) > 0 {
  1167  		_rcond = &rcond[0]
  1168  	}
  1169  	var _ferr *float32
  1170  	if len(ferr) > 0 {
  1171  		_ferr = &ferr[0]
  1172  	}
  1173  	var _berr *float32
  1174  	if len(berr) > 0 {
  1175  		_berr = &berr[0]
  1176  	}
  1177  	var _work *float32
  1178  	if len(work) > 0 {
  1179  		_work = &work[0]
  1180  	}
  1181  	var _iwork *int32
  1182  	if len(iwork) > 0 {
  1183  		_iwork = &iwork[0]
  1184  	}
  1185  	return isZero(C.LAPACKE_sgbsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_afb), (C.lapack_int)(ldafb), (*C.lapack_int)(_ipiv), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_r), (*C.float)(_c), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
  1186  }
  1187  
  1188  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbsvx.f.
  1189  func Dgbsvx(fact byte, trans blas.Transpose, n, kl, ku, nrhs int, ab []float64, ldab int, afb []float64, ldafb int, ipiv []int32, equed []byte, r, c, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64, iwork []int32) bool {
  1190  	switch trans {
  1191  	case blas.NoTrans:
  1192  		trans = 'N'
  1193  	case blas.Trans:
  1194  		trans = 'T'
  1195  	case blas.ConjTrans:
  1196  		trans = 'C'
  1197  	default:
  1198  		panic("lapack: bad trans")
  1199  	}
  1200  	var _ab *float64
  1201  	if len(ab) > 0 {
  1202  		_ab = &ab[0]
  1203  	}
  1204  	var _afb *float64
  1205  	if len(afb) > 0 {
  1206  		_afb = &afb[0]
  1207  	}
  1208  	var _ipiv *int32
  1209  	if len(ipiv) > 0 {
  1210  		_ipiv = &ipiv[0]
  1211  	}
  1212  	var _equed *byte
  1213  	if len(equed) > 0 {
  1214  		_equed = &equed[0]
  1215  	}
  1216  	var _r *float64
  1217  	if len(r) > 0 {
  1218  		_r = &r[0]
  1219  	}
  1220  	var _c *float64
  1221  	if len(c) > 0 {
  1222  		_c = &c[0]
  1223  	}
  1224  	var _b *float64
  1225  	if len(b) > 0 {
  1226  		_b = &b[0]
  1227  	}
  1228  	var _x *float64
  1229  	if len(x) > 0 {
  1230  		_x = &x[0]
  1231  	}
  1232  	var _rcond *float64
  1233  	if len(rcond) > 0 {
  1234  		_rcond = &rcond[0]
  1235  	}
  1236  	var _ferr *float64
  1237  	if len(ferr) > 0 {
  1238  		_ferr = &ferr[0]
  1239  	}
  1240  	var _berr *float64
  1241  	if len(berr) > 0 {
  1242  		_berr = &berr[0]
  1243  	}
  1244  	var _work *float64
  1245  	if len(work) > 0 {
  1246  		_work = &work[0]
  1247  	}
  1248  	var _iwork *int32
  1249  	if len(iwork) > 0 {
  1250  		_iwork = &iwork[0]
  1251  	}
  1252  	return isZero(C.LAPACKE_dgbsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_afb), (C.lapack_int)(ldafb), (*C.lapack_int)(_ipiv), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_r), (*C.double)(_c), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
  1253  }
  1254  
  1255  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbsvx.f.
  1256  func Cgbsvx(fact byte, trans blas.Transpose, n, kl, ku, nrhs int, ab []complex64, ldab int, afb []complex64, ldafb int, ipiv []int32, equed []byte, r, c []float32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
  1257  	switch trans {
  1258  	case blas.NoTrans:
  1259  		trans = 'N'
  1260  	case blas.Trans:
  1261  		trans = 'T'
  1262  	case blas.ConjTrans:
  1263  		trans = 'C'
  1264  	default:
  1265  		panic("lapack: bad trans")
  1266  	}
  1267  	var _ab *complex64
  1268  	if len(ab) > 0 {
  1269  		_ab = &ab[0]
  1270  	}
  1271  	var _afb *complex64
  1272  	if len(afb) > 0 {
  1273  		_afb = &afb[0]
  1274  	}
  1275  	var _ipiv *int32
  1276  	if len(ipiv) > 0 {
  1277  		_ipiv = &ipiv[0]
  1278  	}
  1279  	var _equed *byte
  1280  	if len(equed) > 0 {
  1281  		_equed = &equed[0]
  1282  	}
  1283  	var _r *float32
  1284  	if len(r) > 0 {
  1285  		_r = &r[0]
  1286  	}
  1287  	var _c *float32
  1288  	if len(c) > 0 {
  1289  		_c = &c[0]
  1290  	}
  1291  	var _b *complex64
  1292  	if len(b) > 0 {
  1293  		_b = &b[0]
  1294  	}
  1295  	var _x *complex64
  1296  	if len(x) > 0 {
  1297  		_x = &x[0]
  1298  	}
  1299  	var _rcond *float32
  1300  	if len(rcond) > 0 {
  1301  		_rcond = &rcond[0]
  1302  	}
  1303  	var _ferr *float32
  1304  	if len(ferr) > 0 {
  1305  		_ferr = &ferr[0]
  1306  	}
  1307  	var _berr *float32
  1308  	if len(berr) > 0 {
  1309  		_berr = &berr[0]
  1310  	}
  1311  	var _work *complex64
  1312  	if len(work) > 0 {
  1313  		_work = &work[0]
  1314  	}
  1315  	var _rwork *float32
  1316  	if len(rwork) > 0 {
  1317  		_rwork = &rwork[0]
  1318  	}
  1319  	return isZero(C.LAPACKE_cgbsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_afb), (C.lapack_int)(ldafb), (*C.lapack_int)(_ipiv), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_r), (*C.float)(_c), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  1320  }
  1321  
  1322  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbsvx.f.
  1323  func Zgbsvx(fact byte, trans blas.Transpose, n, kl, ku, nrhs int, ab []complex128, ldab int, afb []complex128, ldafb int, ipiv []int32, equed []byte, r, c []float64, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
  1324  	switch trans {
  1325  	case blas.NoTrans:
  1326  		trans = 'N'
  1327  	case blas.Trans:
  1328  		trans = 'T'
  1329  	case blas.ConjTrans:
  1330  		trans = 'C'
  1331  	default:
  1332  		panic("lapack: bad trans")
  1333  	}
  1334  	var _ab *complex128
  1335  	if len(ab) > 0 {
  1336  		_ab = &ab[0]
  1337  	}
  1338  	var _afb *complex128
  1339  	if len(afb) > 0 {
  1340  		_afb = &afb[0]
  1341  	}
  1342  	var _ipiv *int32
  1343  	if len(ipiv) > 0 {
  1344  		_ipiv = &ipiv[0]
  1345  	}
  1346  	var _equed *byte
  1347  	if len(equed) > 0 {
  1348  		_equed = &equed[0]
  1349  	}
  1350  	var _r *float64
  1351  	if len(r) > 0 {
  1352  		_r = &r[0]
  1353  	}
  1354  	var _c *float64
  1355  	if len(c) > 0 {
  1356  		_c = &c[0]
  1357  	}
  1358  	var _b *complex128
  1359  	if len(b) > 0 {
  1360  		_b = &b[0]
  1361  	}
  1362  	var _x *complex128
  1363  	if len(x) > 0 {
  1364  		_x = &x[0]
  1365  	}
  1366  	var _rcond *float64
  1367  	if len(rcond) > 0 {
  1368  		_rcond = &rcond[0]
  1369  	}
  1370  	var _ferr *float64
  1371  	if len(ferr) > 0 {
  1372  		_ferr = &ferr[0]
  1373  	}
  1374  	var _berr *float64
  1375  	if len(berr) > 0 {
  1376  		_berr = &berr[0]
  1377  	}
  1378  	var _work *complex128
  1379  	if len(work) > 0 {
  1380  		_work = &work[0]
  1381  	}
  1382  	var _rwork *float64
  1383  	if len(rwork) > 0 {
  1384  		_rwork = &rwork[0]
  1385  	}
  1386  	return isZero(C.LAPACKE_zgbsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_afb), (C.lapack_int)(ldafb), (*C.lapack_int)(_ipiv), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_r), (*C.double)(_c), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  1387  }
  1388  
  1389  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbtrf.f.
  1390  func Sgbtrf(m, n, kl, ku int, ab []float32, ldab int, ipiv []int32) bool {
  1391  	var _ab *float32
  1392  	if len(ab) > 0 {
  1393  		_ab = &ab[0]
  1394  	}
  1395  	var _ipiv *int32
  1396  	if len(ipiv) > 0 {
  1397  		_ipiv = &ipiv[0]
  1398  	}
  1399  	return isZero(C.LAPACKE_sgbtrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv)))
  1400  }
  1401  
  1402  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbtrf.f.
  1403  func Dgbtrf(m, n, kl, ku int, ab []float64, ldab int, ipiv []int32) bool {
  1404  	var _ab *float64
  1405  	if len(ab) > 0 {
  1406  		_ab = &ab[0]
  1407  	}
  1408  	var _ipiv *int32
  1409  	if len(ipiv) > 0 {
  1410  		_ipiv = &ipiv[0]
  1411  	}
  1412  	return isZero(C.LAPACKE_dgbtrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv)))
  1413  }
  1414  
  1415  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbtrf.f.
  1416  func Cgbtrf(m, n, kl, ku int, ab []complex64, ldab int, ipiv []int32) bool {
  1417  	var _ab *complex64
  1418  	if len(ab) > 0 {
  1419  		_ab = &ab[0]
  1420  	}
  1421  	var _ipiv *int32
  1422  	if len(ipiv) > 0 {
  1423  		_ipiv = &ipiv[0]
  1424  	}
  1425  	return isZero(C.LAPACKE_cgbtrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv)))
  1426  }
  1427  
  1428  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbtrf.f.
  1429  func Zgbtrf(m, n, kl, ku int, ab []complex128, ldab int, ipiv []int32) bool {
  1430  	var _ab *complex128
  1431  	if len(ab) > 0 {
  1432  		_ab = &ab[0]
  1433  	}
  1434  	var _ipiv *int32
  1435  	if len(ipiv) > 0 {
  1436  		_ipiv = &ipiv[0]
  1437  	}
  1438  	return isZero(C.LAPACKE_zgbtrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv)))
  1439  }
  1440  
  1441  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgbtrs.f.
  1442  func Sgbtrs(trans blas.Transpose, n, kl, ku, nrhs int, ab []float32, ldab int, ipiv []int32, b []float32, ldb int) bool {
  1443  	switch trans {
  1444  	case blas.NoTrans:
  1445  		trans = 'N'
  1446  	case blas.Trans:
  1447  		trans = 'T'
  1448  	case blas.ConjTrans:
  1449  		trans = 'C'
  1450  	default:
  1451  		panic("lapack: bad trans")
  1452  	}
  1453  	var _ab *float32
  1454  	if len(ab) > 0 {
  1455  		_ab = &ab[0]
  1456  	}
  1457  	var _ipiv *int32
  1458  	if len(ipiv) > 0 {
  1459  		_ipiv = &ipiv[0]
  1460  	}
  1461  	var _b *float32
  1462  	if len(b) > 0 {
  1463  		_b = &b[0]
  1464  	}
  1465  	return isZero(C.LAPACKE_sgbtrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb)))
  1466  }
  1467  
  1468  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgbtrs.f.
  1469  func Dgbtrs(trans blas.Transpose, n, kl, ku, nrhs int, ab []float64, ldab int, ipiv []int32, b []float64, ldb int) bool {
  1470  	switch trans {
  1471  	case blas.NoTrans:
  1472  		trans = 'N'
  1473  	case blas.Trans:
  1474  		trans = 'T'
  1475  	case blas.ConjTrans:
  1476  		trans = 'C'
  1477  	default:
  1478  		panic("lapack: bad trans")
  1479  	}
  1480  	var _ab *float64
  1481  	if len(ab) > 0 {
  1482  		_ab = &ab[0]
  1483  	}
  1484  	var _ipiv *int32
  1485  	if len(ipiv) > 0 {
  1486  		_ipiv = &ipiv[0]
  1487  	}
  1488  	var _b *float64
  1489  	if len(b) > 0 {
  1490  		_b = &b[0]
  1491  	}
  1492  	return isZero(C.LAPACKE_dgbtrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb)))
  1493  }
  1494  
  1495  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgbtrs.f.
  1496  func Cgbtrs(trans blas.Transpose, n, kl, ku, nrhs int, ab []complex64, ldab int, ipiv []int32, b []complex64, ldb int) bool {
  1497  	switch trans {
  1498  	case blas.NoTrans:
  1499  		trans = 'N'
  1500  	case blas.Trans:
  1501  		trans = 'T'
  1502  	case blas.ConjTrans:
  1503  		trans = 'C'
  1504  	default:
  1505  		panic("lapack: bad trans")
  1506  	}
  1507  	var _ab *complex64
  1508  	if len(ab) > 0 {
  1509  		_ab = &ab[0]
  1510  	}
  1511  	var _ipiv *int32
  1512  	if len(ipiv) > 0 {
  1513  		_ipiv = &ipiv[0]
  1514  	}
  1515  	var _b *complex64
  1516  	if len(b) > 0 {
  1517  		_b = &b[0]
  1518  	}
  1519  	return isZero(C.LAPACKE_cgbtrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
  1520  }
  1521  
  1522  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgbtrs.f.
  1523  func Zgbtrs(trans blas.Transpose, n, kl, ku, nrhs int, ab []complex128, ldab int, ipiv []int32, b []complex128, ldb int) bool {
  1524  	switch trans {
  1525  	case blas.NoTrans:
  1526  		trans = 'N'
  1527  	case blas.Trans:
  1528  		trans = 'T'
  1529  	case blas.ConjTrans:
  1530  		trans = 'C'
  1531  	default:
  1532  		panic("lapack: bad trans")
  1533  	}
  1534  	var _ab *complex128
  1535  	if len(ab) > 0 {
  1536  		_ab = &ab[0]
  1537  	}
  1538  	var _ipiv *int32
  1539  	if len(ipiv) > 0 {
  1540  		_ipiv = &ipiv[0]
  1541  	}
  1542  	var _b *complex128
  1543  	if len(b) > 0 {
  1544  		_b = &b[0]
  1545  	}
  1546  	return isZero(C.LAPACKE_zgbtrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
  1547  }
  1548  
  1549  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgebak.f.
  1550  func Sgebak(job lapack.Job, side blas.Side, n, ilo, ihi int, scale []float32, m int, v []float32, ldv int) bool {
  1551  	switch side {
  1552  	case blas.Left:
  1553  		side = 'L'
  1554  	case blas.Right:
  1555  		side = 'R'
  1556  	default:
  1557  		panic("lapack: bad side")
  1558  	}
  1559  	var _scale *float32
  1560  	if len(scale) > 0 {
  1561  		_scale = &scale[0]
  1562  	}
  1563  	var _v *float32
  1564  	if len(v) > 0 {
  1565  		_v = &v[0]
  1566  	}
  1567  	return isZero(C.LAPACKE_sgebak_work((C.int)(rowMajor), (C.char)(job), (C.char)(side), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_scale), (C.lapack_int)(m), (*C.float)(_v), (C.lapack_int)(ldv)))
  1568  }
  1569  
  1570  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgebak.f.
  1571  func Dgebak(job lapack.Job, side blas.Side, n, ilo, ihi int, scale []float64, m int, v []float64, ldv int) bool {
  1572  	switch side {
  1573  	case blas.Left:
  1574  		side = 'L'
  1575  	case blas.Right:
  1576  		side = 'R'
  1577  	default:
  1578  		panic("lapack: bad side")
  1579  	}
  1580  	var _scale *float64
  1581  	if len(scale) > 0 {
  1582  		_scale = &scale[0]
  1583  	}
  1584  	var _v *float64
  1585  	if len(v) > 0 {
  1586  		_v = &v[0]
  1587  	}
  1588  	return isZero(C.LAPACKE_dgebak_work((C.int)(rowMajor), (C.char)(job), (C.char)(side), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_scale), (C.lapack_int)(m), (*C.double)(_v), (C.lapack_int)(ldv)))
  1589  }
  1590  
  1591  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgebak.f.
  1592  func Cgebak(job lapack.Job, side blas.Side, n, ilo, ihi int, scale []float32, m int, v []complex64, ldv int) bool {
  1593  	switch side {
  1594  	case blas.Left:
  1595  		side = 'L'
  1596  	case blas.Right:
  1597  		side = 'R'
  1598  	default:
  1599  		panic("lapack: bad side")
  1600  	}
  1601  	var _scale *float32
  1602  	if len(scale) > 0 {
  1603  		_scale = &scale[0]
  1604  	}
  1605  	var _v *complex64
  1606  	if len(v) > 0 {
  1607  		_v = &v[0]
  1608  	}
  1609  	return isZero(C.LAPACKE_cgebak_work((C.int)(rowMajor), (C.char)(job), (C.char)(side), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_scale), (C.lapack_int)(m), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv)))
  1610  }
  1611  
  1612  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgebak.f.
  1613  func Zgebak(job lapack.Job, side blas.Side, n, ilo, ihi int, scale []float64, m int, v []complex128, ldv int) bool {
  1614  	switch side {
  1615  	case blas.Left:
  1616  		side = 'L'
  1617  	case blas.Right:
  1618  		side = 'R'
  1619  	default:
  1620  		panic("lapack: bad side")
  1621  	}
  1622  	var _scale *float64
  1623  	if len(scale) > 0 {
  1624  		_scale = &scale[0]
  1625  	}
  1626  	var _v *complex128
  1627  	if len(v) > 0 {
  1628  		_v = &v[0]
  1629  	}
  1630  	return isZero(C.LAPACKE_zgebak_work((C.int)(rowMajor), (C.char)(job), (C.char)(side), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_scale), (C.lapack_int)(m), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv)))
  1631  }
  1632  
  1633  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgebal.f.
  1634  func Sgebal(job lapack.Job, n int, a []float32, lda int, ilo, ihi []int32, scale []float32) bool {
  1635  	var _a *float32
  1636  	if len(a) > 0 {
  1637  		_a = &a[0]
  1638  	}
  1639  	var _ilo *int32
  1640  	if len(ilo) > 0 {
  1641  		_ilo = &ilo[0]
  1642  	}
  1643  	var _ihi *int32
  1644  	if len(ihi) > 0 {
  1645  		_ihi = &ihi[0]
  1646  	}
  1647  	var _scale *float32
  1648  	if len(scale) > 0 {
  1649  		_scale = &scale[0]
  1650  	}
  1651  	return isZero(C.LAPACKE_sgebal_work((C.int)(rowMajor), (C.char)(job), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.float)(_scale)))
  1652  }
  1653  
  1654  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgebal.f.
  1655  func Dgebal(job lapack.Job, n int, a []float64, lda int, ilo, ihi []int32, scale []float64) bool {
  1656  	var _a *float64
  1657  	if len(a) > 0 {
  1658  		_a = &a[0]
  1659  	}
  1660  	var _ilo *int32
  1661  	if len(ilo) > 0 {
  1662  		_ilo = &ilo[0]
  1663  	}
  1664  	var _ihi *int32
  1665  	if len(ihi) > 0 {
  1666  		_ihi = &ihi[0]
  1667  	}
  1668  	var _scale *float64
  1669  	if len(scale) > 0 {
  1670  		_scale = &scale[0]
  1671  	}
  1672  	return isZero(C.LAPACKE_dgebal_work((C.int)(rowMajor), (C.char)(job), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.double)(_scale)))
  1673  }
  1674  
  1675  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgebal.f.
  1676  func Cgebal(job lapack.Job, n int, a []complex64, lda int, ilo, ihi []int32, scale []float32) bool {
  1677  	var _a *complex64
  1678  	if len(a) > 0 {
  1679  		_a = &a[0]
  1680  	}
  1681  	var _ilo *int32
  1682  	if len(ilo) > 0 {
  1683  		_ilo = &ilo[0]
  1684  	}
  1685  	var _ihi *int32
  1686  	if len(ihi) > 0 {
  1687  		_ihi = &ihi[0]
  1688  	}
  1689  	var _scale *float32
  1690  	if len(scale) > 0 {
  1691  		_scale = &scale[0]
  1692  	}
  1693  	return isZero(C.LAPACKE_cgebal_work((C.int)(rowMajor), (C.char)(job), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.float)(_scale)))
  1694  }
  1695  
  1696  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgebal.f.
  1697  func Zgebal(job lapack.Job, n int, a []complex128, lda int, ilo, ihi []int32, scale []float64) bool {
  1698  	var _a *complex128
  1699  	if len(a) > 0 {
  1700  		_a = &a[0]
  1701  	}
  1702  	var _ilo *int32
  1703  	if len(ilo) > 0 {
  1704  		_ilo = &ilo[0]
  1705  	}
  1706  	var _ihi *int32
  1707  	if len(ihi) > 0 {
  1708  		_ihi = &ihi[0]
  1709  	}
  1710  	var _scale *float64
  1711  	if len(scale) > 0 {
  1712  		_scale = &scale[0]
  1713  	}
  1714  	return isZero(C.LAPACKE_zgebal_work((C.int)(rowMajor), (C.char)(job), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.double)(_scale)))
  1715  }
  1716  
  1717  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgebrd.f.
  1718  func Sgebrd(m, n int, a []float32, lda int, d, e, tauq, taup, work []float32, lwork int) bool {
  1719  	var _a *float32
  1720  	if len(a) > 0 {
  1721  		_a = &a[0]
  1722  	}
  1723  	var _d *float32
  1724  	if len(d) > 0 {
  1725  		_d = &d[0]
  1726  	}
  1727  	var _e *float32
  1728  	if len(e) > 0 {
  1729  		_e = &e[0]
  1730  	}
  1731  	var _tauq *float32
  1732  	if len(tauq) > 0 {
  1733  		_tauq = &tauq[0]
  1734  	}
  1735  	var _taup *float32
  1736  	if len(taup) > 0 {
  1737  		_taup = &taup[0]
  1738  	}
  1739  	var _work *float32
  1740  	if len(work) > 0 {
  1741  		_work = &work[0]
  1742  	}
  1743  	return isZero(C.LAPACKE_sgebrd_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_d), (*C.float)(_e), (*C.float)(_tauq), (*C.float)(_taup), (*C.float)(_work), (C.lapack_int)(lwork)))
  1744  }
  1745  
  1746  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgebrd.f.
  1747  func Dgebrd(m, n int, a []float64, lda int, d, e, tauq, taup, work []float64, lwork int) bool {
  1748  	var _a *float64
  1749  	if len(a) > 0 {
  1750  		_a = &a[0]
  1751  	}
  1752  	var _d *float64
  1753  	if len(d) > 0 {
  1754  		_d = &d[0]
  1755  	}
  1756  	var _e *float64
  1757  	if len(e) > 0 {
  1758  		_e = &e[0]
  1759  	}
  1760  	var _tauq *float64
  1761  	if len(tauq) > 0 {
  1762  		_tauq = &tauq[0]
  1763  	}
  1764  	var _taup *float64
  1765  	if len(taup) > 0 {
  1766  		_taup = &taup[0]
  1767  	}
  1768  	var _work *float64
  1769  	if len(work) > 0 {
  1770  		_work = &work[0]
  1771  	}
  1772  	return isZero(C.LAPACKE_dgebrd_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_d), (*C.double)(_e), (*C.double)(_tauq), (*C.double)(_taup), (*C.double)(_work), (C.lapack_int)(lwork)))
  1773  }
  1774  
  1775  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgebrd.f.
  1776  func Cgebrd(m, n int, a []complex64, lda int, d, e []float32, tauq, taup, work []complex64, lwork int) bool {
  1777  	var _a *complex64
  1778  	if len(a) > 0 {
  1779  		_a = &a[0]
  1780  	}
  1781  	var _d *float32
  1782  	if len(d) > 0 {
  1783  		_d = &d[0]
  1784  	}
  1785  	var _e *float32
  1786  	if len(e) > 0 {
  1787  		_e = &e[0]
  1788  	}
  1789  	var _tauq *complex64
  1790  	if len(tauq) > 0 {
  1791  		_tauq = &tauq[0]
  1792  	}
  1793  	var _taup *complex64
  1794  	if len(taup) > 0 {
  1795  		_taup = &taup[0]
  1796  	}
  1797  	var _work *complex64
  1798  	if len(work) > 0 {
  1799  		_work = &work[0]
  1800  	}
  1801  	return isZero(C.LAPACKE_cgebrd_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_tauq), (*C.lapack_complex_float)(_taup), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  1802  }
  1803  
  1804  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgebrd.f.
  1805  func Zgebrd(m, n int, a []complex128, lda int, d, e []float64, tauq, taup, work []complex128, lwork int) bool {
  1806  	var _a *complex128
  1807  	if len(a) > 0 {
  1808  		_a = &a[0]
  1809  	}
  1810  	var _d *float64
  1811  	if len(d) > 0 {
  1812  		_d = &d[0]
  1813  	}
  1814  	var _e *float64
  1815  	if len(e) > 0 {
  1816  		_e = &e[0]
  1817  	}
  1818  	var _tauq *complex128
  1819  	if len(tauq) > 0 {
  1820  		_tauq = &tauq[0]
  1821  	}
  1822  	var _taup *complex128
  1823  	if len(taup) > 0 {
  1824  		_taup = &taup[0]
  1825  	}
  1826  	var _work *complex128
  1827  	if len(work) > 0 {
  1828  		_work = &work[0]
  1829  	}
  1830  	return isZero(C.LAPACKE_zgebrd_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_tauq), (*C.lapack_complex_double)(_taup), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  1831  }
  1832  
  1833  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgecon.f.
  1834  func Sgecon(norm byte, n int, a []float32, lda int, anorm float32, rcond, work []float32, iwork []int32) bool {
  1835  	var _a *float32
  1836  	if len(a) > 0 {
  1837  		_a = &a[0]
  1838  	}
  1839  	var _rcond *float32
  1840  	if len(rcond) > 0 {
  1841  		_rcond = &rcond[0]
  1842  	}
  1843  	var _work *float32
  1844  	if len(work) > 0 {
  1845  		_work = &work[0]
  1846  	}
  1847  	var _iwork *int32
  1848  	if len(iwork) > 0 {
  1849  		_iwork = &iwork[0]
  1850  	}
  1851  	return isZero(C.LAPACKE_sgecon_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
  1852  }
  1853  
  1854  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgecon.f.
  1855  func Dgecon(norm byte, n int, a []float64, lda int, anorm float64, rcond, work []float64, iwork []int32) bool {
  1856  	var _a *float64
  1857  	if len(a) > 0 {
  1858  		_a = &a[0]
  1859  	}
  1860  	var _rcond *float64
  1861  	if len(rcond) > 0 {
  1862  		_rcond = &rcond[0]
  1863  	}
  1864  	var _work *float64
  1865  	if len(work) > 0 {
  1866  		_work = &work[0]
  1867  	}
  1868  	var _iwork *int32
  1869  	if len(iwork) > 0 {
  1870  		_iwork = &iwork[0]
  1871  	}
  1872  	return isZero(C.LAPACKE_dgecon_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
  1873  }
  1874  
  1875  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgecon.f.
  1876  func Cgecon(norm byte, n int, a []complex64, lda int, anorm float32, rcond []float32, work []complex64, rwork []float32) bool {
  1877  	var _a *complex64
  1878  	if len(a) > 0 {
  1879  		_a = &a[0]
  1880  	}
  1881  	var _rcond *float32
  1882  	if len(rcond) > 0 {
  1883  		_rcond = &rcond[0]
  1884  	}
  1885  	var _work *complex64
  1886  	if len(work) > 0 {
  1887  		_work = &work[0]
  1888  	}
  1889  	var _rwork *float32
  1890  	if len(rwork) > 0 {
  1891  		_rwork = &rwork[0]
  1892  	}
  1893  	return isZero(C.LAPACKE_cgecon_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  1894  }
  1895  
  1896  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgecon.f.
  1897  func Zgecon(norm byte, n int, a []complex128, lda int, anorm float64, rcond []float64, work []complex128, rwork []float64) bool {
  1898  	var _a *complex128
  1899  	if len(a) > 0 {
  1900  		_a = &a[0]
  1901  	}
  1902  	var _rcond *float64
  1903  	if len(rcond) > 0 {
  1904  		_rcond = &rcond[0]
  1905  	}
  1906  	var _work *complex128
  1907  	if len(work) > 0 {
  1908  		_work = &work[0]
  1909  	}
  1910  	var _rwork *float64
  1911  	if len(rwork) > 0 {
  1912  		_rwork = &rwork[0]
  1913  	}
  1914  	return isZero(C.LAPACKE_zgecon_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  1915  }
  1916  
  1917  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeequ.f.
  1918  func Sgeequ(m, n int, a []float32, lda int, r, c, rowcnd, colcnd, amax []float32) bool {
  1919  	var _a *float32
  1920  	if len(a) > 0 {
  1921  		_a = &a[0]
  1922  	}
  1923  	var _r *float32
  1924  	if len(r) > 0 {
  1925  		_r = &r[0]
  1926  	}
  1927  	var _c *float32
  1928  	if len(c) > 0 {
  1929  		_c = &c[0]
  1930  	}
  1931  	var _rowcnd *float32
  1932  	if len(rowcnd) > 0 {
  1933  		_rowcnd = &rowcnd[0]
  1934  	}
  1935  	var _colcnd *float32
  1936  	if len(colcnd) > 0 {
  1937  		_colcnd = &colcnd[0]
  1938  	}
  1939  	var _amax *float32
  1940  	if len(amax) > 0 {
  1941  		_amax = &amax[0]
  1942  	}
  1943  	return isZero(C.LAPACKE_sgeequ_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_r), (*C.float)(_c), (*C.float)(_rowcnd), (*C.float)(_colcnd), (*C.float)(_amax)))
  1944  }
  1945  
  1946  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeequ.f.
  1947  func Dgeequ(m, n int, a []float64, lda int, r, c, rowcnd, colcnd, amax []float64) bool {
  1948  	var _a *float64
  1949  	if len(a) > 0 {
  1950  		_a = &a[0]
  1951  	}
  1952  	var _r *float64
  1953  	if len(r) > 0 {
  1954  		_r = &r[0]
  1955  	}
  1956  	var _c *float64
  1957  	if len(c) > 0 {
  1958  		_c = &c[0]
  1959  	}
  1960  	var _rowcnd *float64
  1961  	if len(rowcnd) > 0 {
  1962  		_rowcnd = &rowcnd[0]
  1963  	}
  1964  	var _colcnd *float64
  1965  	if len(colcnd) > 0 {
  1966  		_colcnd = &colcnd[0]
  1967  	}
  1968  	var _amax *float64
  1969  	if len(amax) > 0 {
  1970  		_amax = &amax[0]
  1971  	}
  1972  	return isZero(C.LAPACKE_dgeequ_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_r), (*C.double)(_c), (*C.double)(_rowcnd), (*C.double)(_colcnd), (*C.double)(_amax)))
  1973  }
  1974  
  1975  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeequ.f.
  1976  func Cgeequ(m, n int, a []complex64, lda int, r, c, rowcnd, colcnd, amax []float32) bool {
  1977  	var _a *complex64
  1978  	if len(a) > 0 {
  1979  		_a = &a[0]
  1980  	}
  1981  	var _r *float32
  1982  	if len(r) > 0 {
  1983  		_r = &r[0]
  1984  	}
  1985  	var _c *float32
  1986  	if len(c) > 0 {
  1987  		_c = &c[0]
  1988  	}
  1989  	var _rowcnd *float32
  1990  	if len(rowcnd) > 0 {
  1991  		_rowcnd = &rowcnd[0]
  1992  	}
  1993  	var _colcnd *float32
  1994  	if len(colcnd) > 0 {
  1995  		_colcnd = &colcnd[0]
  1996  	}
  1997  	var _amax *float32
  1998  	if len(amax) > 0 {
  1999  		_amax = &amax[0]
  2000  	}
  2001  	return isZero(C.LAPACKE_cgeequ_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_r), (*C.float)(_c), (*C.float)(_rowcnd), (*C.float)(_colcnd), (*C.float)(_amax)))
  2002  }
  2003  
  2004  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeequ.f.
  2005  func Zgeequ(m, n int, a []complex128, lda int, r, c, rowcnd, colcnd, amax []float64) bool {
  2006  	var _a *complex128
  2007  	if len(a) > 0 {
  2008  		_a = &a[0]
  2009  	}
  2010  	var _r *float64
  2011  	if len(r) > 0 {
  2012  		_r = &r[0]
  2013  	}
  2014  	var _c *float64
  2015  	if len(c) > 0 {
  2016  		_c = &c[0]
  2017  	}
  2018  	var _rowcnd *float64
  2019  	if len(rowcnd) > 0 {
  2020  		_rowcnd = &rowcnd[0]
  2021  	}
  2022  	var _colcnd *float64
  2023  	if len(colcnd) > 0 {
  2024  		_colcnd = &colcnd[0]
  2025  	}
  2026  	var _amax *float64
  2027  	if len(amax) > 0 {
  2028  		_amax = &amax[0]
  2029  	}
  2030  	return isZero(C.LAPACKE_zgeequ_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_r), (*C.double)(_c), (*C.double)(_rowcnd), (*C.double)(_colcnd), (*C.double)(_amax)))
  2031  }
  2032  
  2033  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeequb.f.
  2034  func Sgeequb(m, n int, a []float32, lda int, r, c, rowcnd, colcnd, amax []float32) bool {
  2035  	var _a *float32
  2036  	if len(a) > 0 {
  2037  		_a = &a[0]
  2038  	}
  2039  	var _r *float32
  2040  	if len(r) > 0 {
  2041  		_r = &r[0]
  2042  	}
  2043  	var _c *float32
  2044  	if len(c) > 0 {
  2045  		_c = &c[0]
  2046  	}
  2047  	var _rowcnd *float32
  2048  	if len(rowcnd) > 0 {
  2049  		_rowcnd = &rowcnd[0]
  2050  	}
  2051  	var _colcnd *float32
  2052  	if len(colcnd) > 0 {
  2053  		_colcnd = &colcnd[0]
  2054  	}
  2055  	var _amax *float32
  2056  	if len(amax) > 0 {
  2057  		_amax = &amax[0]
  2058  	}
  2059  	return isZero(C.LAPACKE_sgeequb_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_r), (*C.float)(_c), (*C.float)(_rowcnd), (*C.float)(_colcnd), (*C.float)(_amax)))
  2060  }
  2061  
  2062  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeequb.f.
  2063  func Dgeequb(m, n int, a []float64, lda int, r, c, rowcnd, colcnd, amax []float64) bool {
  2064  	var _a *float64
  2065  	if len(a) > 0 {
  2066  		_a = &a[0]
  2067  	}
  2068  	var _r *float64
  2069  	if len(r) > 0 {
  2070  		_r = &r[0]
  2071  	}
  2072  	var _c *float64
  2073  	if len(c) > 0 {
  2074  		_c = &c[0]
  2075  	}
  2076  	var _rowcnd *float64
  2077  	if len(rowcnd) > 0 {
  2078  		_rowcnd = &rowcnd[0]
  2079  	}
  2080  	var _colcnd *float64
  2081  	if len(colcnd) > 0 {
  2082  		_colcnd = &colcnd[0]
  2083  	}
  2084  	var _amax *float64
  2085  	if len(amax) > 0 {
  2086  		_amax = &amax[0]
  2087  	}
  2088  	return isZero(C.LAPACKE_dgeequb_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_r), (*C.double)(_c), (*C.double)(_rowcnd), (*C.double)(_colcnd), (*C.double)(_amax)))
  2089  }
  2090  
  2091  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeequb.f.
  2092  func Cgeequb(m, n int, a []complex64, lda int, r, c, rowcnd, colcnd, amax []float32) bool {
  2093  	var _a *complex64
  2094  	if len(a) > 0 {
  2095  		_a = &a[0]
  2096  	}
  2097  	var _r *float32
  2098  	if len(r) > 0 {
  2099  		_r = &r[0]
  2100  	}
  2101  	var _c *float32
  2102  	if len(c) > 0 {
  2103  		_c = &c[0]
  2104  	}
  2105  	var _rowcnd *float32
  2106  	if len(rowcnd) > 0 {
  2107  		_rowcnd = &rowcnd[0]
  2108  	}
  2109  	var _colcnd *float32
  2110  	if len(colcnd) > 0 {
  2111  		_colcnd = &colcnd[0]
  2112  	}
  2113  	var _amax *float32
  2114  	if len(amax) > 0 {
  2115  		_amax = &amax[0]
  2116  	}
  2117  	return isZero(C.LAPACKE_cgeequb_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_r), (*C.float)(_c), (*C.float)(_rowcnd), (*C.float)(_colcnd), (*C.float)(_amax)))
  2118  }
  2119  
  2120  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeequb.f.
  2121  func Zgeequb(m, n int, a []complex128, lda int, r, c, rowcnd, colcnd, amax []float64) bool {
  2122  	var _a *complex128
  2123  	if len(a) > 0 {
  2124  		_a = &a[0]
  2125  	}
  2126  	var _r *float64
  2127  	if len(r) > 0 {
  2128  		_r = &r[0]
  2129  	}
  2130  	var _c *float64
  2131  	if len(c) > 0 {
  2132  		_c = &c[0]
  2133  	}
  2134  	var _rowcnd *float64
  2135  	if len(rowcnd) > 0 {
  2136  		_rowcnd = &rowcnd[0]
  2137  	}
  2138  	var _colcnd *float64
  2139  	if len(colcnd) > 0 {
  2140  		_colcnd = &colcnd[0]
  2141  	}
  2142  	var _amax *float64
  2143  	if len(amax) > 0 {
  2144  		_amax = &amax[0]
  2145  	}
  2146  	return isZero(C.LAPACKE_zgeequb_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_r), (*C.double)(_c), (*C.double)(_rowcnd), (*C.double)(_colcnd), (*C.double)(_amax)))
  2147  }
  2148  
  2149  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeev.f.
  2150  func Sgeev(jobvl, jobvr lapack.Job, n int, a []float32, lda int, wr, wi, vl []float32, ldvl int, vr []float32, ldvr int, work []float32, lwork int) int {
  2151  	var _a *float32
  2152  	if len(a) > 0 {
  2153  		_a = &a[0]
  2154  	}
  2155  	var _wr *float32
  2156  	if len(wr) > 0 {
  2157  		_wr = &wr[0]
  2158  	}
  2159  	var _wi *float32
  2160  	if len(wi) > 0 {
  2161  		_wi = &wi[0]
  2162  	}
  2163  	var _vl *float32
  2164  	if len(vl) > 0 {
  2165  		_vl = &vl[0]
  2166  	}
  2167  	var _vr *float32
  2168  	if len(vr) > 0 {
  2169  		_vr = &vr[0]
  2170  	}
  2171  	var _work *float32
  2172  	if len(work) > 0 {
  2173  		_work = &work[0]
  2174  	}
  2175  	return int(C.LAPACKE_sgeev_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_wr), (*C.float)(_wi), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (*C.float)(_work), (C.lapack_int)(lwork)))
  2176  }
  2177  
  2178  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeev.f.
  2179  func Dgeev(jobvl, jobvr lapack.Job, n int, a []float64, lda int, wr, wi, vl []float64, ldvl int, vr []float64, ldvr int, work []float64, lwork int) int {
  2180  	var _a *float64
  2181  	if len(a) > 0 {
  2182  		_a = &a[0]
  2183  	}
  2184  	var _wr *float64
  2185  	if len(wr) > 0 {
  2186  		_wr = &wr[0]
  2187  	}
  2188  	var _wi *float64
  2189  	if len(wi) > 0 {
  2190  		_wi = &wi[0]
  2191  	}
  2192  	var _vl *float64
  2193  	if len(vl) > 0 {
  2194  		_vl = &vl[0]
  2195  	}
  2196  	var _vr *float64
  2197  	if len(vr) > 0 {
  2198  		_vr = &vr[0]
  2199  	}
  2200  	var _work *float64
  2201  	if len(work) > 0 {
  2202  		_work = &work[0]
  2203  	}
  2204  	return int(C.LAPACKE_dgeev_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_wr), (*C.double)(_wi), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (*C.double)(_work), (C.lapack_int)(lwork)))
  2205  }
  2206  
  2207  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeev.f.
  2208  func Cgeev(jobvl, jobvr lapack.Job, n int, a []complex64, lda int, w, vl []complex64, ldvl int, vr []complex64, ldvr int, work []complex64, lwork int, rwork []float32) int {
  2209  	var _a *complex64
  2210  	if len(a) > 0 {
  2211  		_a = &a[0]
  2212  	}
  2213  	var _w *complex64
  2214  	if len(w) > 0 {
  2215  		_w = &w[0]
  2216  	}
  2217  	var _vl *complex64
  2218  	if len(vl) > 0 {
  2219  		_vl = &vl[0]
  2220  	}
  2221  	var _vr *complex64
  2222  	if len(vr) > 0 {
  2223  		_vr = &vr[0]
  2224  	}
  2225  	var _work *complex64
  2226  	if len(work) > 0 {
  2227  		_work = &work[0]
  2228  	}
  2229  	var _rwork *float32
  2230  	if len(rwork) > 0 {
  2231  		_rwork = &rwork[0]
  2232  	}
  2233  	return int(C.LAPACKE_cgeev_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_w), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  2234  }
  2235  
  2236  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeev.f.
  2237  func Zgeev(jobvl, jobvr lapack.Job, n int, a []complex128, lda int, w, vl []complex128, ldvl int, vr []complex128, ldvr int, work []complex128, lwork int, rwork []float64) int {
  2238  	var _a *complex128
  2239  	if len(a) > 0 {
  2240  		_a = &a[0]
  2241  	}
  2242  	var _w *complex128
  2243  	if len(w) > 0 {
  2244  		_w = &w[0]
  2245  	}
  2246  	var _vl *complex128
  2247  	if len(vl) > 0 {
  2248  		_vl = &vl[0]
  2249  	}
  2250  	var _vr *complex128
  2251  	if len(vr) > 0 {
  2252  		_vr = &vr[0]
  2253  	}
  2254  	var _work *complex128
  2255  	if len(work) > 0 {
  2256  		_work = &work[0]
  2257  	}
  2258  	var _rwork *float64
  2259  	if len(rwork) > 0 {
  2260  		_rwork = &rwork[0]
  2261  	}
  2262  	return int(C.LAPACKE_zgeev_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_w), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  2263  }
  2264  
  2265  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeevx.f.
  2266  func Sgeevx(balanc byte, jobvl, jobvr lapack.Job, sense byte, n int, a []float32, lda int, wr, wi, vl []float32, ldvl int, vr []float32, ldvr int, ilo, ihi []int32, scale, abnrm, rconde, rcondv, work []float32, lwork int, iwork []int32) int {
  2267  	var _a *float32
  2268  	if len(a) > 0 {
  2269  		_a = &a[0]
  2270  	}
  2271  	var _wr *float32
  2272  	if len(wr) > 0 {
  2273  		_wr = &wr[0]
  2274  	}
  2275  	var _wi *float32
  2276  	if len(wi) > 0 {
  2277  		_wi = &wi[0]
  2278  	}
  2279  	var _vl *float32
  2280  	if len(vl) > 0 {
  2281  		_vl = &vl[0]
  2282  	}
  2283  	var _vr *float32
  2284  	if len(vr) > 0 {
  2285  		_vr = &vr[0]
  2286  	}
  2287  	var _ilo *int32
  2288  	if len(ilo) > 0 {
  2289  		_ilo = &ilo[0]
  2290  	}
  2291  	var _ihi *int32
  2292  	if len(ihi) > 0 {
  2293  		_ihi = &ihi[0]
  2294  	}
  2295  	var _scale *float32
  2296  	if len(scale) > 0 {
  2297  		_scale = &scale[0]
  2298  	}
  2299  	var _abnrm *float32
  2300  	if len(abnrm) > 0 {
  2301  		_abnrm = &abnrm[0]
  2302  	}
  2303  	var _rconde *float32
  2304  	if len(rconde) > 0 {
  2305  		_rconde = &rconde[0]
  2306  	}
  2307  	var _rcondv *float32
  2308  	if len(rcondv) > 0 {
  2309  		_rcondv = &rcondv[0]
  2310  	}
  2311  	var _work *float32
  2312  	if len(work) > 0 {
  2313  		_work = &work[0]
  2314  	}
  2315  	var _iwork *int32
  2316  	if len(iwork) > 0 {
  2317  		_iwork = &iwork[0]
  2318  	}
  2319  	return int(C.LAPACKE_sgeevx_work((C.int)(rowMajor), (C.char)(balanc), (C.char)(jobvl), (C.char)(jobvr), (C.char)(sense), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_wr), (*C.float)(_wi), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.float)(_scale), (*C.float)(_abnrm), (*C.float)(_rconde), (*C.float)(_rcondv), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  2320  }
  2321  
  2322  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeevx.f.
  2323  func Dgeevx(balanc byte, jobvl, jobvr lapack.Job, sense byte, n int, a []float64, lda int, wr, wi, vl []float64, ldvl int, vr []float64, ldvr int, ilo, ihi []int32, scale, abnrm, rconde, rcondv, work []float64, lwork int, iwork []int32) int {
  2324  	var _a *float64
  2325  	if len(a) > 0 {
  2326  		_a = &a[0]
  2327  	}
  2328  	var _wr *float64
  2329  	if len(wr) > 0 {
  2330  		_wr = &wr[0]
  2331  	}
  2332  	var _wi *float64
  2333  	if len(wi) > 0 {
  2334  		_wi = &wi[0]
  2335  	}
  2336  	var _vl *float64
  2337  	if len(vl) > 0 {
  2338  		_vl = &vl[0]
  2339  	}
  2340  	var _vr *float64
  2341  	if len(vr) > 0 {
  2342  		_vr = &vr[0]
  2343  	}
  2344  	var _ilo *int32
  2345  	if len(ilo) > 0 {
  2346  		_ilo = &ilo[0]
  2347  	}
  2348  	var _ihi *int32
  2349  	if len(ihi) > 0 {
  2350  		_ihi = &ihi[0]
  2351  	}
  2352  	var _scale *float64
  2353  	if len(scale) > 0 {
  2354  		_scale = &scale[0]
  2355  	}
  2356  	var _abnrm *float64
  2357  	if len(abnrm) > 0 {
  2358  		_abnrm = &abnrm[0]
  2359  	}
  2360  	var _rconde *float64
  2361  	if len(rconde) > 0 {
  2362  		_rconde = &rconde[0]
  2363  	}
  2364  	var _rcondv *float64
  2365  	if len(rcondv) > 0 {
  2366  		_rcondv = &rcondv[0]
  2367  	}
  2368  	var _work *float64
  2369  	if len(work) > 0 {
  2370  		_work = &work[0]
  2371  	}
  2372  	var _iwork *int32
  2373  	if len(iwork) > 0 {
  2374  		_iwork = &iwork[0]
  2375  	}
  2376  	return int(C.LAPACKE_dgeevx_work((C.int)(rowMajor), (C.char)(balanc), (C.char)(jobvl), (C.char)(jobvr), (C.char)(sense), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_wr), (*C.double)(_wi), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.double)(_scale), (*C.double)(_abnrm), (*C.double)(_rconde), (*C.double)(_rcondv), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  2377  }
  2378  
  2379  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeevx.f.
  2380  func Cgeevx(balanc byte, jobvl, jobvr lapack.Job, sense byte, n int, a []complex64, lda int, w, vl []complex64, ldvl int, vr []complex64, ldvr int, ilo, ihi []int32, scale, abnrm, rconde, rcondv []float32, work []complex64, lwork int, rwork []float32) int {
  2381  	var _a *complex64
  2382  	if len(a) > 0 {
  2383  		_a = &a[0]
  2384  	}
  2385  	var _w *complex64
  2386  	if len(w) > 0 {
  2387  		_w = &w[0]
  2388  	}
  2389  	var _vl *complex64
  2390  	if len(vl) > 0 {
  2391  		_vl = &vl[0]
  2392  	}
  2393  	var _vr *complex64
  2394  	if len(vr) > 0 {
  2395  		_vr = &vr[0]
  2396  	}
  2397  	var _ilo *int32
  2398  	if len(ilo) > 0 {
  2399  		_ilo = &ilo[0]
  2400  	}
  2401  	var _ihi *int32
  2402  	if len(ihi) > 0 {
  2403  		_ihi = &ihi[0]
  2404  	}
  2405  	var _scale *float32
  2406  	if len(scale) > 0 {
  2407  		_scale = &scale[0]
  2408  	}
  2409  	var _abnrm *float32
  2410  	if len(abnrm) > 0 {
  2411  		_abnrm = &abnrm[0]
  2412  	}
  2413  	var _rconde *float32
  2414  	if len(rconde) > 0 {
  2415  		_rconde = &rconde[0]
  2416  	}
  2417  	var _rcondv *float32
  2418  	if len(rcondv) > 0 {
  2419  		_rcondv = &rcondv[0]
  2420  	}
  2421  	var _work *complex64
  2422  	if len(work) > 0 {
  2423  		_work = &work[0]
  2424  	}
  2425  	var _rwork *float32
  2426  	if len(rwork) > 0 {
  2427  		_rwork = &rwork[0]
  2428  	}
  2429  	return int(C.LAPACKE_cgeevx_work((C.int)(rowMajor), (C.char)(balanc), (C.char)(jobvl), (C.char)(jobvr), (C.char)(sense), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_w), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.float)(_scale), (*C.float)(_abnrm), (*C.float)(_rconde), (*C.float)(_rcondv), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  2430  }
  2431  
  2432  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeevx.f.
  2433  func Zgeevx(balanc byte, jobvl, jobvr lapack.Job, sense byte, n int, a []complex128, lda int, w, vl []complex128, ldvl int, vr []complex128, ldvr int, ilo, ihi []int32, scale, abnrm, rconde, rcondv []float64, work []complex128, lwork int, rwork []float64) int {
  2434  	var _a *complex128
  2435  	if len(a) > 0 {
  2436  		_a = &a[0]
  2437  	}
  2438  	var _w *complex128
  2439  	if len(w) > 0 {
  2440  		_w = &w[0]
  2441  	}
  2442  	var _vl *complex128
  2443  	if len(vl) > 0 {
  2444  		_vl = &vl[0]
  2445  	}
  2446  	var _vr *complex128
  2447  	if len(vr) > 0 {
  2448  		_vr = &vr[0]
  2449  	}
  2450  	var _ilo *int32
  2451  	if len(ilo) > 0 {
  2452  		_ilo = &ilo[0]
  2453  	}
  2454  	var _ihi *int32
  2455  	if len(ihi) > 0 {
  2456  		_ihi = &ihi[0]
  2457  	}
  2458  	var _scale *float64
  2459  	if len(scale) > 0 {
  2460  		_scale = &scale[0]
  2461  	}
  2462  	var _abnrm *float64
  2463  	if len(abnrm) > 0 {
  2464  		_abnrm = &abnrm[0]
  2465  	}
  2466  	var _rconde *float64
  2467  	if len(rconde) > 0 {
  2468  		_rconde = &rconde[0]
  2469  	}
  2470  	var _rcondv *float64
  2471  	if len(rcondv) > 0 {
  2472  		_rcondv = &rcondv[0]
  2473  	}
  2474  	var _work *complex128
  2475  	if len(work) > 0 {
  2476  		_work = &work[0]
  2477  	}
  2478  	var _rwork *float64
  2479  	if len(rwork) > 0 {
  2480  		_rwork = &rwork[0]
  2481  	}
  2482  	return int(C.LAPACKE_zgeevx_work((C.int)(rowMajor), (C.char)(balanc), (C.char)(jobvl), (C.char)(jobvr), (C.char)(sense), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_w), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.double)(_scale), (*C.double)(_abnrm), (*C.double)(_rconde), (*C.double)(_rcondv), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  2483  }
  2484  
  2485  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgehrd.f.
  2486  func Sgehrd(n, ilo, ihi int, a []float32, lda int, tau, work []float32, lwork int) bool {
  2487  	var _a *float32
  2488  	if len(a) > 0 {
  2489  		_a = &a[0]
  2490  	}
  2491  	var _tau *float32
  2492  	if len(tau) > 0 {
  2493  		_tau = &tau[0]
  2494  	}
  2495  	var _work *float32
  2496  	if len(work) > 0 {
  2497  		_work = &work[0]
  2498  	}
  2499  	return isZero(C.LAPACKE_sgehrd_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
  2500  }
  2501  
  2502  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgehrd.f.
  2503  func Dgehrd(n, ilo, ihi int, a []float64, lda int, tau, work []float64, lwork int) bool {
  2504  	var _a *float64
  2505  	if len(a) > 0 {
  2506  		_a = &a[0]
  2507  	}
  2508  	var _tau *float64
  2509  	if len(tau) > 0 {
  2510  		_tau = &tau[0]
  2511  	}
  2512  	var _work *float64
  2513  	if len(work) > 0 {
  2514  		_work = &work[0]
  2515  	}
  2516  	return isZero(C.LAPACKE_dgehrd_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
  2517  }
  2518  
  2519  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgehrd.f.
  2520  func Cgehrd(n, ilo, ihi int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
  2521  	var _a *complex64
  2522  	if len(a) > 0 {
  2523  		_a = &a[0]
  2524  	}
  2525  	var _tau *complex64
  2526  	if len(tau) > 0 {
  2527  		_tau = &tau[0]
  2528  	}
  2529  	var _work *complex64
  2530  	if len(work) > 0 {
  2531  		_work = &work[0]
  2532  	}
  2533  	return isZero(C.LAPACKE_cgehrd_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  2534  }
  2535  
  2536  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgehrd.f.
  2537  func Zgehrd(n, ilo, ihi int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
  2538  	var _a *complex128
  2539  	if len(a) > 0 {
  2540  		_a = &a[0]
  2541  	}
  2542  	var _tau *complex128
  2543  	if len(tau) > 0 {
  2544  		_tau = &tau[0]
  2545  	}
  2546  	var _work *complex128
  2547  	if len(work) > 0 {
  2548  		_work = &work[0]
  2549  	}
  2550  	return isZero(C.LAPACKE_zgehrd_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  2551  }
  2552  
  2553  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgejsv.f.
  2554  func Sgejsv(joba, jobu, jobv, jobr, jobt, jobp lapack.Job, m, n int, a []float32, lda int, sva, u []float32, ldu int, v []float32, ldv int, work []float32, lwork int, iwork []int32) bool {
  2555  	var _a *float32
  2556  	if len(a) > 0 {
  2557  		_a = &a[0]
  2558  	}
  2559  	var _sva *float32
  2560  	if len(sva) > 0 {
  2561  		_sva = &sva[0]
  2562  	}
  2563  	var _u *float32
  2564  	if len(u) > 0 {
  2565  		_u = &u[0]
  2566  	}
  2567  	var _v *float32
  2568  	if len(v) > 0 {
  2569  		_v = &v[0]
  2570  	}
  2571  	var _work *float32
  2572  	if len(work) > 0 {
  2573  		_work = &work[0]
  2574  	}
  2575  	var _iwork *int32
  2576  	if len(iwork) > 0 {
  2577  		_iwork = &iwork[0]
  2578  	}
  2579  	return isZero(C.LAPACKE_sgejsv_work((C.int)(rowMajor), (C.char)(joba), (C.char)(jobu), (C.char)(jobv), (C.char)(jobr), (C.char)(jobt), (C.char)(jobp), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_sva), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  2580  }
  2581  
  2582  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgejsv.f.
  2583  func Dgejsv(joba, jobu, jobv, jobr, jobt, jobp lapack.Job, m, n int, a []float64, lda int, sva, u []float64, ldu int, v []float64, ldv int, work []float64, lwork int, iwork []int32) bool {
  2584  	var _a *float64
  2585  	if len(a) > 0 {
  2586  		_a = &a[0]
  2587  	}
  2588  	var _sva *float64
  2589  	if len(sva) > 0 {
  2590  		_sva = &sva[0]
  2591  	}
  2592  	var _u *float64
  2593  	if len(u) > 0 {
  2594  		_u = &u[0]
  2595  	}
  2596  	var _v *float64
  2597  	if len(v) > 0 {
  2598  		_v = &v[0]
  2599  	}
  2600  	var _work *float64
  2601  	if len(work) > 0 {
  2602  		_work = &work[0]
  2603  	}
  2604  	var _iwork *int32
  2605  	if len(iwork) > 0 {
  2606  		_iwork = &iwork[0]
  2607  	}
  2608  	return isZero(C.LAPACKE_dgejsv_work((C.int)(rowMajor), (C.char)(joba), (C.char)(jobu), (C.char)(jobv), (C.char)(jobr), (C.char)(jobt), (C.char)(jobp), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_sva), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  2609  }
  2610  
  2611  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgejsv.f.
  2612  func Cgejsv(joba, jobu, jobv, jobr, jobt, jobp lapack.Job, m, n int, a []complex64, lda int, sva []float32, u []complex64, ldu int, v []complex64, ldv int, cwork []complex64, lwork int, work []float32, lrwork int, iwork []int32) bool {
  2613  	var _a *complex64
  2614  	if len(a) > 0 {
  2615  		_a = &a[0]
  2616  	}
  2617  	var _sva *float32
  2618  	if len(sva) > 0 {
  2619  		_sva = &sva[0]
  2620  	}
  2621  	var _u *complex64
  2622  	if len(u) > 0 {
  2623  		_u = &u[0]
  2624  	}
  2625  	var _v *complex64
  2626  	if len(v) > 0 {
  2627  		_v = &v[0]
  2628  	}
  2629  	var _cwork *complex64
  2630  	if len(cwork) > 0 {
  2631  		_cwork = &cwork[0]
  2632  	}
  2633  	var _work *float32
  2634  	if len(work) > 0 {
  2635  		_work = &work[0]
  2636  	}
  2637  	var _iwork *int32
  2638  	if len(iwork) > 0 {
  2639  		_iwork = &iwork[0]
  2640  	}
  2641  	return isZero(C.LAPACKE_cgejsv_work((C.int)(rowMajor), (C.char)(joba), (C.char)(jobu), (C.char)(jobv), (C.char)(jobr), (C.char)(jobt), (C.char)(jobp), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_sva), (*C.lapack_complex_float)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_cwork), (C.lapack_int)(lwork), (*C.float)(_work), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork)))
  2642  }
  2643  
  2644  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgejsv.f.
  2645  func Zgejsv(joba, jobu, jobv, jobr, jobt, jobp lapack.Job, m, n int, a []complex128, lda int, sva []float64, u []complex128, ldu int, v []complex128, ldv int, cwork []complex128, lwork int, work []float64, lrwork int, iwork []int32) bool {
  2646  	var _a *complex128
  2647  	if len(a) > 0 {
  2648  		_a = &a[0]
  2649  	}
  2650  	var _sva *float64
  2651  	if len(sva) > 0 {
  2652  		_sva = &sva[0]
  2653  	}
  2654  	var _u *complex128
  2655  	if len(u) > 0 {
  2656  		_u = &u[0]
  2657  	}
  2658  	var _v *complex128
  2659  	if len(v) > 0 {
  2660  		_v = &v[0]
  2661  	}
  2662  	var _cwork *complex128
  2663  	if len(cwork) > 0 {
  2664  		_cwork = &cwork[0]
  2665  	}
  2666  	var _work *float64
  2667  	if len(work) > 0 {
  2668  		_work = &work[0]
  2669  	}
  2670  	var _iwork *int32
  2671  	if len(iwork) > 0 {
  2672  		_iwork = &iwork[0]
  2673  	}
  2674  	return isZero(C.LAPACKE_zgejsv_work((C.int)(rowMajor), (C.char)(joba), (C.char)(jobu), (C.char)(jobv), (C.char)(jobr), (C.char)(jobt), (C.char)(jobp), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_sva), (*C.lapack_complex_double)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_cwork), (C.lapack_int)(lwork), (*C.double)(_work), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork)))
  2675  }
  2676  
  2677  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgelq2.f.
  2678  func Sgelq2(m, n int, a []float32, lda int, tau, work []float32) bool {
  2679  	var _a *float32
  2680  	if len(a) > 0 {
  2681  		_a = &a[0]
  2682  	}
  2683  	var _tau *float32
  2684  	if len(tau) > 0 {
  2685  		_tau = &tau[0]
  2686  	}
  2687  	var _work *float32
  2688  	if len(work) > 0 {
  2689  		_work = &work[0]
  2690  	}
  2691  	return isZero(C.LAPACKE_sgelq2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work)))
  2692  }
  2693  
  2694  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgelq2.f.
  2695  func Dgelq2(m, n int, a []float64, lda int, tau, work []float64) bool {
  2696  	var _a *float64
  2697  	if len(a) > 0 {
  2698  		_a = &a[0]
  2699  	}
  2700  	var _tau *float64
  2701  	if len(tau) > 0 {
  2702  		_tau = &tau[0]
  2703  	}
  2704  	var _work *float64
  2705  	if len(work) > 0 {
  2706  		_work = &work[0]
  2707  	}
  2708  	return isZero(C.LAPACKE_dgelq2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work)))
  2709  }
  2710  
  2711  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgelq2.f.
  2712  func Cgelq2(m, n int, a []complex64, lda int, tau, work []complex64) bool {
  2713  	var _a *complex64
  2714  	if len(a) > 0 {
  2715  		_a = &a[0]
  2716  	}
  2717  	var _tau *complex64
  2718  	if len(tau) > 0 {
  2719  		_tau = &tau[0]
  2720  	}
  2721  	var _work *complex64
  2722  	if len(work) > 0 {
  2723  		_work = &work[0]
  2724  	}
  2725  	return isZero(C.LAPACKE_cgelq2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work)))
  2726  }
  2727  
  2728  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgelq2.f.
  2729  func Zgelq2(m, n int, a []complex128, lda int, tau, work []complex128) bool {
  2730  	var _a *complex128
  2731  	if len(a) > 0 {
  2732  		_a = &a[0]
  2733  	}
  2734  	var _tau *complex128
  2735  	if len(tau) > 0 {
  2736  		_tau = &tau[0]
  2737  	}
  2738  	var _work *complex128
  2739  	if len(work) > 0 {
  2740  		_work = &work[0]
  2741  	}
  2742  	return isZero(C.LAPACKE_zgelq2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work)))
  2743  }
  2744  
  2745  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgelqf.f.
  2746  func Sgelqf(m, n int, a []float32, lda int, tau, work []float32, lwork int) bool {
  2747  	var _a *float32
  2748  	if len(a) > 0 {
  2749  		_a = &a[0]
  2750  	}
  2751  	var _tau *float32
  2752  	if len(tau) > 0 {
  2753  		_tau = &tau[0]
  2754  	}
  2755  	var _work *float32
  2756  	if len(work) > 0 {
  2757  		_work = &work[0]
  2758  	}
  2759  	return isZero(C.LAPACKE_sgelqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
  2760  }
  2761  
  2762  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgelqf.f.
  2763  func Dgelqf(m, n int, a []float64, lda int, tau, work []float64, lwork int) bool {
  2764  	var _a *float64
  2765  	if len(a) > 0 {
  2766  		_a = &a[0]
  2767  	}
  2768  	var _tau *float64
  2769  	if len(tau) > 0 {
  2770  		_tau = &tau[0]
  2771  	}
  2772  	var _work *float64
  2773  	if len(work) > 0 {
  2774  		_work = &work[0]
  2775  	}
  2776  	return isZero(C.LAPACKE_dgelqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
  2777  }
  2778  
  2779  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgelqf.f.
  2780  func Cgelqf(m, n int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
  2781  	var _a *complex64
  2782  	if len(a) > 0 {
  2783  		_a = &a[0]
  2784  	}
  2785  	var _tau *complex64
  2786  	if len(tau) > 0 {
  2787  		_tau = &tau[0]
  2788  	}
  2789  	var _work *complex64
  2790  	if len(work) > 0 {
  2791  		_work = &work[0]
  2792  	}
  2793  	return isZero(C.LAPACKE_cgelqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  2794  }
  2795  
  2796  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgelqf.f.
  2797  func Zgelqf(m, n int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
  2798  	var _a *complex128
  2799  	if len(a) > 0 {
  2800  		_a = &a[0]
  2801  	}
  2802  	var _tau *complex128
  2803  	if len(tau) > 0 {
  2804  		_tau = &tau[0]
  2805  	}
  2806  	var _work *complex128
  2807  	if len(work) > 0 {
  2808  		_work = &work[0]
  2809  	}
  2810  	return isZero(C.LAPACKE_zgelqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  2811  }
  2812  
  2813  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgels.f.
  2814  func Sgels(trans blas.Transpose, m, n, nrhs int, a []float32, lda int, b []float32, ldb int, work []float32, lwork int) bool {
  2815  	switch trans {
  2816  	case blas.NoTrans:
  2817  		trans = 'N'
  2818  	case blas.Trans:
  2819  		trans = 'T'
  2820  	case blas.ConjTrans:
  2821  		trans = 'C'
  2822  	default:
  2823  		panic("lapack: bad trans")
  2824  	}
  2825  	var _a *float32
  2826  	if len(a) > 0 {
  2827  		_a = &a[0]
  2828  	}
  2829  	var _b *float32
  2830  	if len(b) > 0 {
  2831  		_b = &b[0]
  2832  	}
  2833  	var _work *float32
  2834  	if len(work) > 0 {
  2835  		_work = &work[0]
  2836  	}
  2837  	return isZero(C.LAPACKE_sgels_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_work), (C.lapack_int)(lwork)))
  2838  }
  2839  
  2840  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgels.f.
  2841  func Dgels(trans blas.Transpose, m, n, nrhs int, a []float64, lda int, b []float64, ldb int, work []float64, lwork int) bool {
  2842  	switch trans {
  2843  	case blas.NoTrans:
  2844  		trans = 'N'
  2845  	case blas.Trans:
  2846  		trans = 'T'
  2847  	case blas.ConjTrans:
  2848  		trans = 'C'
  2849  	default:
  2850  		panic("lapack: bad trans")
  2851  	}
  2852  	var _a *float64
  2853  	if len(a) > 0 {
  2854  		_a = &a[0]
  2855  	}
  2856  	var _b *float64
  2857  	if len(b) > 0 {
  2858  		_b = &b[0]
  2859  	}
  2860  	var _work *float64
  2861  	if len(work) > 0 {
  2862  		_work = &work[0]
  2863  	}
  2864  	return isZero(C.LAPACKE_dgels_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_work), (C.lapack_int)(lwork)))
  2865  }
  2866  
  2867  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgels.f.
  2868  func Cgels(trans blas.Transpose, m, n, nrhs int, a []complex64, lda int, b []complex64, ldb int, work []complex64, lwork int) bool {
  2869  	switch trans {
  2870  	case blas.NoTrans:
  2871  		trans = 'N'
  2872  	case blas.Trans:
  2873  		trans = 'T'
  2874  	case blas.ConjTrans:
  2875  		trans = 'C'
  2876  	default:
  2877  		panic("lapack: bad trans")
  2878  	}
  2879  	var _a *complex64
  2880  	if len(a) > 0 {
  2881  		_a = &a[0]
  2882  	}
  2883  	var _b *complex64
  2884  	if len(b) > 0 {
  2885  		_b = &b[0]
  2886  	}
  2887  	var _work *complex64
  2888  	if len(work) > 0 {
  2889  		_work = &work[0]
  2890  	}
  2891  	return isZero(C.LAPACKE_cgels_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  2892  }
  2893  
  2894  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgels.f.
  2895  func Zgels(trans blas.Transpose, m, n, nrhs int, a []complex128, lda int, b []complex128, ldb int, work []complex128, lwork int) bool {
  2896  	switch trans {
  2897  	case blas.NoTrans:
  2898  		trans = 'N'
  2899  	case blas.Trans:
  2900  		trans = 'T'
  2901  	case blas.ConjTrans:
  2902  		trans = 'C'
  2903  	default:
  2904  		panic("lapack: bad trans")
  2905  	}
  2906  	var _a *complex128
  2907  	if len(a) > 0 {
  2908  		_a = &a[0]
  2909  	}
  2910  	var _b *complex128
  2911  	if len(b) > 0 {
  2912  		_b = &b[0]
  2913  	}
  2914  	var _work *complex128
  2915  	if len(work) > 0 {
  2916  		_work = &work[0]
  2917  	}
  2918  	return isZero(C.LAPACKE_zgels_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  2919  }
  2920  
  2921  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgelsd.f.
  2922  func Sgelsd(m, n, nrhs int, a []float32, lda int, b []float32, ldb int, s []float32, rcond float32, rank []int32, work []float32, lwork int, iwork []int32) bool {
  2923  	var _a *float32
  2924  	if len(a) > 0 {
  2925  		_a = &a[0]
  2926  	}
  2927  	var _b *float32
  2928  	if len(b) > 0 {
  2929  		_b = &b[0]
  2930  	}
  2931  	var _s *float32
  2932  	if len(s) > 0 {
  2933  		_s = &s[0]
  2934  	}
  2935  	var _rank *int32
  2936  	if len(rank) > 0 {
  2937  		_rank = &rank[0]
  2938  	}
  2939  	var _work *float32
  2940  	if len(work) > 0 {
  2941  		_work = &work[0]
  2942  	}
  2943  	var _iwork *int32
  2944  	if len(iwork) > 0 {
  2945  		_iwork = &iwork[0]
  2946  	}
  2947  	return isZero(C.LAPACKE_sgelsd_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_s), (C.float)(rcond), (*C.lapack_int)(_rank), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  2948  }
  2949  
  2950  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgelsd.f.
  2951  func Dgelsd(m, n, nrhs int, a []float64, lda int, b []float64, ldb int, s []float64, rcond float64, rank []int32, work []float64, lwork int, iwork []int32) bool {
  2952  	var _a *float64
  2953  	if len(a) > 0 {
  2954  		_a = &a[0]
  2955  	}
  2956  	var _b *float64
  2957  	if len(b) > 0 {
  2958  		_b = &b[0]
  2959  	}
  2960  	var _s *float64
  2961  	if len(s) > 0 {
  2962  		_s = &s[0]
  2963  	}
  2964  	var _rank *int32
  2965  	if len(rank) > 0 {
  2966  		_rank = &rank[0]
  2967  	}
  2968  	var _work *float64
  2969  	if len(work) > 0 {
  2970  		_work = &work[0]
  2971  	}
  2972  	var _iwork *int32
  2973  	if len(iwork) > 0 {
  2974  		_iwork = &iwork[0]
  2975  	}
  2976  	return isZero(C.LAPACKE_dgelsd_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_s), (C.double)(rcond), (*C.lapack_int)(_rank), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  2977  }
  2978  
  2979  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgelsd.f.
  2980  func Cgelsd(m, n, nrhs int, a []complex64, lda int, b []complex64, ldb int, s []float32, rcond float32, rank []int32, work []complex64, lwork int, rwork []float32, iwork []int32) bool {
  2981  	var _a *complex64
  2982  	if len(a) > 0 {
  2983  		_a = &a[0]
  2984  	}
  2985  	var _b *complex64
  2986  	if len(b) > 0 {
  2987  		_b = &b[0]
  2988  	}
  2989  	var _s *float32
  2990  	if len(s) > 0 {
  2991  		_s = &s[0]
  2992  	}
  2993  	var _rank *int32
  2994  	if len(rank) > 0 {
  2995  		_rank = &rank[0]
  2996  	}
  2997  	var _work *complex64
  2998  	if len(work) > 0 {
  2999  		_work = &work[0]
  3000  	}
  3001  	var _rwork *float32
  3002  	if len(rwork) > 0 {
  3003  		_rwork = &rwork[0]
  3004  	}
  3005  	var _iwork *int32
  3006  	if len(iwork) > 0 {
  3007  		_iwork = &iwork[0]
  3008  	}
  3009  	return isZero(C.LAPACKE_cgelsd_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.float)(_s), (C.float)(rcond), (*C.lapack_int)(_rank), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (*C.lapack_int)(_iwork)))
  3010  }
  3011  
  3012  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgelsd.f.
  3013  func Zgelsd(m, n, nrhs int, a []complex128, lda int, b []complex128, ldb int, s []float64, rcond float64, rank []int32, work []complex128, lwork int, rwork []float64, iwork []int32) bool {
  3014  	var _a *complex128
  3015  	if len(a) > 0 {
  3016  		_a = &a[0]
  3017  	}
  3018  	var _b *complex128
  3019  	if len(b) > 0 {
  3020  		_b = &b[0]
  3021  	}
  3022  	var _s *float64
  3023  	if len(s) > 0 {
  3024  		_s = &s[0]
  3025  	}
  3026  	var _rank *int32
  3027  	if len(rank) > 0 {
  3028  		_rank = &rank[0]
  3029  	}
  3030  	var _work *complex128
  3031  	if len(work) > 0 {
  3032  		_work = &work[0]
  3033  	}
  3034  	var _rwork *float64
  3035  	if len(rwork) > 0 {
  3036  		_rwork = &rwork[0]
  3037  	}
  3038  	var _iwork *int32
  3039  	if len(iwork) > 0 {
  3040  		_iwork = &iwork[0]
  3041  	}
  3042  	return isZero(C.LAPACKE_zgelsd_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.double)(_s), (C.double)(rcond), (*C.lapack_int)(_rank), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (*C.lapack_int)(_iwork)))
  3043  }
  3044  
  3045  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgelss.f.
  3046  func Sgelss(m, n, nrhs int, a []float32, lda int, b []float32, ldb int, s []float32, rcond float32, rank []int32, work []float32, lwork int) bool {
  3047  	var _a *float32
  3048  	if len(a) > 0 {
  3049  		_a = &a[0]
  3050  	}
  3051  	var _b *float32
  3052  	if len(b) > 0 {
  3053  		_b = &b[0]
  3054  	}
  3055  	var _s *float32
  3056  	if len(s) > 0 {
  3057  		_s = &s[0]
  3058  	}
  3059  	var _rank *int32
  3060  	if len(rank) > 0 {
  3061  		_rank = &rank[0]
  3062  	}
  3063  	var _work *float32
  3064  	if len(work) > 0 {
  3065  		_work = &work[0]
  3066  	}
  3067  	return isZero(C.LAPACKE_sgelss_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_s), (C.float)(rcond), (*C.lapack_int)(_rank), (*C.float)(_work), (C.lapack_int)(lwork)))
  3068  }
  3069  
  3070  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgelss.f.
  3071  func Dgelss(m, n, nrhs int, a []float64, lda int, b []float64, ldb int, s []float64, rcond float64, rank []int32, work []float64, lwork int) bool {
  3072  	var _a *float64
  3073  	if len(a) > 0 {
  3074  		_a = &a[0]
  3075  	}
  3076  	var _b *float64
  3077  	if len(b) > 0 {
  3078  		_b = &b[0]
  3079  	}
  3080  	var _s *float64
  3081  	if len(s) > 0 {
  3082  		_s = &s[0]
  3083  	}
  3084  	var _rank *int32
  3085  	if len(rank) > 0 {
  3086  		_rank = &rank[0]
  3087  	}
  3088  	var _work *float64
  3089  	if len(work) > 0 {
  3090  		_work = &work[0]
  3091  	}
  3092  	return isZero(C.LAPACKE_dgelss_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_s), (C.double)(rcond), (*C.lapack_int)(_rank), (*C.double)(_work), (C.lapack_int)(lwork)))
  3093  }
  3094  
  3095  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgelss.f.
  3096  func Cgelss(m, n, nrhs int, a []complex64, lda int, b []complex64, ldb int, s []float32, rcond float32, rank []int32, work []complex64, lwork int, rwork []float32) bool {
  3097  	var _a *complex64
  3098  	if len(a) > 0 {
  3099  		_a = &a[0]
  3100  	}
  3101  	var _b *complex64
  3102  	if len(b) > 0 {
  3103  		_b = &b[0]
  3104  	}
  3105  	var _s *float32
  3106  	if len(s) > 0 {
  3107  		_s = &s[0]
  3108  	}
  3109  	var _rank *int32
  3110  	if len(rank) > 0 {
  3111  		_rank = &rank[0]
  3112  	}
  3113  	var _work *complex64
  3114  	if len(work) > 0 {
  3115  		_work = &work[0]
  3116  	}
  3117  	var _rwork *float32
  3118  	if len(rwork) > 0 {
  3119  		_rwork = &rwork[0]
  3120  	}
  3121  	return isZero(C.LAPACKE_cgelss_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.float)(_s), (C.float)(rcond), (*C.lapack_int)(_rank), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  3122  }
  3123  
  3124  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgelss.f.
  3125  func Zgelss(m, n, nrhs int, a []complex128, lda int, b []complex128, ldb int, s []float64, rcond float64, rank []int32, work []complex128, lwork int, rwork []float64) bool {
  3126  	var _a *complex128
  3127  	if len(a) > 0 {
  3128  		_a = &a[0]
  3129  	}
  3130  	var _b *complex128
  3131  	if len(b) > 0 {
  3132  		_b = &b[0]
  3133  	}
  3134  	var _s *float64
  3135  	if len(s) > 0 {
  3136  		_s = &s[0]
  3137  	}
  3138  	var _rank *int32
  3139  	if len(rank) > 0 {
  3140  		_rank = &rank[0]
  3141  	}
  3142  	var _work *complex128
  3143  	if len(work) > 0 {
  3144  		_work = &work[0]
  3145  	}
  3146  	var _rwork *float64
  3147  	if len(rwork) > 0 {
  3148  		_rwork = &rwork[0]
  3149  	}
  3150  	return isZero(C.LAPACKE_zgelss_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.double)(_s), (C.double)(rcond), (*C.lapack_int)(_rank), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  3151  }
  3152  
  3153  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgelsy.f.
  3154  func Sgelsy(m, n, nrhs int, a []float32, lda int, b []float32, ldb int, jpvt []int32, rcond float32, rank []int32, work []float32, lwork int) bool {
  3155  	var _a *float32
  3156  	if len(a) > 0 {
  3157  		_a = &a[0]
  3158  	}
  3159  	var _b *float32
  3160  	if len(b) > 0 {
  3161  		_b = &b[0]
  3162  	}
  3163  	var _jpvt *int32
  3164  	if len(jpvt) > 0 {
  3165  		_jpvt = &jpvt[0]
  3166  	}
  3167  	var _rank *int32
  3168  	if len(rank) > 0 {
  3169  		_rank = &rank[0]
  3170  	}
  3171  	var _work *float32
  3172  	if len(work) > 0 {
  3173  		_work = &work[0]
  3174  	}
  3175  	return isZero(C.LAPACKE_sgelsy_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.lapack_int)(_jpvt), (C.float)(rcond), (*C.lapack_int)(_rank), (*C.float)(_work), (C.lapack_int)(lwork)))
  3176  }
  3177  
  3178  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgelsy.f.
  3179  func Dgelsy(m, n, nrhs int, a []float64, lda int, b []float64, ldb int, jpvt []int32, rcond float64, rank []int32, work []float64, lwork int) bool {
  3180  	var _a *float64
  3181  	if len(a) > 0 {
  3182  		_a = &a[0]
  3183  	}
  3184  	var _b *float64
  3185  	if len(b) > 0 {
  3186  		_b = &b[0]
  3187  	}
  3188  	var _jpvt *int32
  3189  	if len(jpvt) > 0 {
  3190  		_jpvt = &jpvt[0]
  3191  	}
  3192  	var _rank *int32
  3193  	if len(rank) > 0 {
  3194  		_rank = &rank[0]
  3195  	}
  3196  	var _work *float64
  3197  	if len(work) > 0 {
  3198  		_work = &work[0]
  3199  	}
  3200  	return isZero(C.LAPACKE_dgelsy_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.lapack_int)(_jpvt), (C.double)(rcond), (*C.lapack_int)(_rank), (*C.double)(_work), (C.lapack_int)(lwork)))
  3201  }
  3202  
  3203  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgelsy.f.
  3204  func Cgelsy(m, n, nrhs int, a []complex64, lda int, b []complex64, ldb int, jpvt []int32, rcond float32, rank []int32, work []complex64, lwork int, rwork []float32) bool {
  3205  	var _a *complex64
  3206  	if len(a) > 0 {
  3207  		_a = &a[0]
  3208  	}
  3209  	var _b *complex64
  3210  	if len(b) > 0 {
  3211  		_b = &b[0]
  3212  	}
  3213  	var _jpvt *int32
  3214  	if len(jpvt) > 0 {
  3215  		_jpvt = &jpvt[0]
  3216  	}
  3217  	var _rank *int32
  3218  	if len(rank) > 0 {
  3219  		_rank = &rank[0]
  3220  	}
  3221  	var _work *complex64
  3222  	if len(work) > 0 {
  3223  		_work = &work[0]
  3224  	}
  3225  	var _rwork *float32
  3226  	if len(rwork) > 0 {
  3227  		_rwork = &rwork[0]
  3228  	}
  3229  	return isZero(C.LAPACKE_cgelsy_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_int)(_jpvt), (C.float)(rcond), (*C.lapack_int)(_rank), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  3230  }
  3231  
  3232  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgelsy.f.
  3233  func Zgelsy(m, n, nrhs int, a []complex128, lda int, b []complex128, ldb int, jpvt []int32, rcond float64, rank []int32, work []complex128, lwork int, rwork []float64) bool {
  3234  	var _a *complex128
  3235  	if len(a) > 0 {
  3236  		_a = &a[0]
  3237  	}
  3238  	var _b *complex128
  3239  	if len(b) > 0 {
  3240  		_b = &b[0]
  3241  	}
  3242  	var _jpvt *int32
  3243  	if len(jpvt) > 0 {
  3244  		_jpvt = &jpvt[0]
  3245  	}
  3246  	var _rank *int32
  3247  	if len(rank) > 0 {
  3248  		_rank = &rank[0]
  3249  	}
  3250  	var _work *complex128
  3251  	if len(work) > 0 {
  3252  		_work = &work[0]
  3253  	}
  3254  	var _rwork *float64
  3255  	if len(rwork) > 0 {
  3256  		_rwork = &rwork[0]
  3257  	}
  3258  	return isZero(C.LAPACKE_zgelsy_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_int)(_jpvt), (C.double)(rcond), (*C.lapack_int)(_rank), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  3259  }
  3260  
  3261  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeqlf.f.
  3262  func Sgeqlf(m, n int, a []float32, lda int, tau, work []float32, lwork int) bool {
  3263  	var _a *float32
  3264  	if len(a) > 0 {
  3265  		_a = &a[0]
  3266  	}
  3267  	var _tau *float32
  3268  	if len(tau) > 0 {
  3269  		_tau = &tau[0]
  3270  	}
  3271  	var _work *float32
  3272  	if len(work) > 0 {
  3273  		_work = &work[0]
  3274  	}
  3275  	return isZero(C.LAPACKE_sgeqlf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
  3276  }
  3277  
  3278  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeqlf.f.
  3279  func Dgeqlf(m, n int, a []float64, lda int, tau, work []float64, lwork int) bool {
  3280  	var _a *float64
  3281  	if len(a) > 0 {
  3282  		_a = &a[0]
  3283  	}
  3284  	var _tau *float64
  3285  	if len(tau) > 0 {
  3286  		_tau = &tau[0]
  3287  	}
  3288  	var _work *float64
  3289  	if len(work) > 0 {
  3290  		_work = &work[0]
  3291  	}
  3292  	return isZero(C.LAPACKE_dgeqlf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
  3293  }
  3294  
  3295  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeqlf.f.
  3296  func Cgeqlf(m, n int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
  3297  	var _a *complex64
  3298  	if len(a) > 0 {
  3299  		_a = &a[0]
  3300  	}
  3301  	var _tau *complex64
  3302  	if len(tau) > 0 {
  3303  		_tau = &tau[0]
  3304  	}
  3305  	var _work *complex64
  3306  	if len(work) > 0 {
  3307  		_work = &work[0]
  3308  	}
  3309  	return isZero(C.LAPACKE_cgeqlf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  3310  }
  3311  
  3312  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeqlf.f.
  3313  func Zgeqlf(m, n int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
  3314  	var _a *complex128
  3315  	if len(a) > 0 {
  3316  		_a = &a[0]
  3317  	}
  3318  	var _tau *complex128
  3319  	if len(tau) > 0 {
  3320  		_tau = &tau[0]
  3321  	}
  3322  	var _work *complex128
  3323  	if len(work) > 0 {
  3324  		_work = &work[0]
  3325  	}
  3326  	return isZero(C.LAPACKE_zgeqlf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  3327  }
  3328  
  3329  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeqp3.f.
  3330  func Sgeqp3(m, n int, a []float32, lda int, jpvt []int32, tau, work []float32, lwork int) bool {
  3331  	var _a *float32
  3332  	if len(a) > 0 {
  3333  		_a = &a[0]
  3334  	}
  3335  	var _jpvt *int32
  3336  	if len(jpvt) > 0 {
  3337  		_jpvt = &jpvt[0]
  3338  	}
  3339  	var _tau *float32
  3340  	if len(tau) > 0 {
  3341  		_tau = &tau[0]
  3342  	}
  3343  	var _work *float32
  3344  	if len(work) > 0 {
  3345  		_work = &work[0]
  3346  	}
  3347  	return isZero(C.LAPACKE_sgeqp3_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_jpvt), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
  3348  }
  3349  
  3350  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeqp3.f.
  3351  func Dgeqp3(m, n int, a []float64, lda int, jpvt []int32, tau, work []float64, lwork int) bool {
  3352  	var _a *float64
  3353  	if len(a) > 0 {
  3354  		_a = &a[0]
  3355  	}
  3356  	var _jpvt *int32
  3357  	if len(jpvt) > 0 {
  3358  		_jpvt = &jpvt[0]
  3359  	}
  3360  	var _tau *float64
  3361  	if len(tau) > 0 {
  3362  		_tau = &tau[0]
  3363  	}
  3364  	var _work *float64
  3365  	if len(work) > 0 {
  3366  		_work = &work[0]
  3367  	}
  3368  	return isZero(C.LAPACKE_dgeqp3_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_jpvt), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
  3369  }
  3370  
  3371  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeqp3.f.
  3372  func Cgeqp3(m, n int, a []complex64, lda int, jpvt []int32, tau, work []complex64, lwork int, rwork []float32) bool {
  3373  	var _a *complex64
  3374  	if len(a) > 0 {
  3375  		_a = &a[0]
  3376  	}
  3377  	var _jpvt *int32
  3378  	if len(jpvt) > 0 {
  3379  		_jpvt = &jpvt[0]
  3380  	}
  3381  	var _tau *complex64
  3382  	if len(tau) > 0 {
  3383  		_tau = &tau[0]
  3384  	}
  3385  	var _work *complex64
  3386  	if len(work) > 0 {
  3387  		_work = &work[0]
  3388  	}
  3389  	var _rwork *float32
  3390  	if len(rwork) > 0 {
  3391  		_rwork = &rwork[0]
  3392  	}
  3393  	return isZero(C.LAPACKE_cgeqp3_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_jpvt), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  3394  }
  3395  
  3396  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeqp3.f.
  3397  func Zgeqp3(m, n int, a []complex128, lda int, jpvt []int32, tau, work []complex128, lwork int, rwork []float64) bool {
  3398  	var _a *complex128
  3399  	if len(a) > 0 {
  3400  		_a = &a[0]
  3401  	}
  3402  	var _jpvt *int32
  3403  	if len(jpvt) > 0 {
  3404  		_jpvt = &jpvt[0]
  3405  	}
  3406  	var _tau *complex128
  3407  	if len(tau) > 0 {
  3408  		_tau = &tau[0]
  3409  	}
  3410  	var _work *complex128
  3411  	if len(work) > 0 {
  3412  		_work = &work[0]
  3413  	}
  3414  	var _rwork *float64
  3415  	if len(rwork) > 0 {
  3416  		_rwork = &rwork[0]
  3417  	}
  3418  	return isZero(C.LAPACKE_zgeqp3_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_jpvt), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  3419  }
  3420  
  3421  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeqr2.f.
  3422  func Sgeqr2(m, n int, a []float32, lda int, tau, work []float32) bool {
  3423  	var _a *float32
  3424  	if len(a) > 0 {
  3425  		_a = &a[0]
  3426  	}
  3427  	var _tau *float32
  3428  	if len(tau) > 0 {
  3429  		_tau = &tau[0]
  3430  	}
  3431  	var _work *float32
  3432  	if len(work) > 0 {
  3433  		_work = &work[0]
  3434  	}
  3435  	return isZero(C.LAPACKE_sgeqr2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work)))
  3436  }
  3437  
  3438  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeqr2.f.
  3439  func Dgeqr2(m, n int, a []float64, lda int, tau, work []float64) bool {
  3440  	var _a *float64
  3441  	if len(a) > 0 {
  3442  		_a = &a[0]
  3443  	}
  3444  	var _tau *float64
  3445  	if len(tau) > 0 {
  3446  		_tau = &tau[0]
  3447  	}
  3448  	var _work *float64
  3449  	if len(work) > 0 {
  3450  		_work = &work[0]
  3451  	}
  3452  	return isZero(C.LAPACKE_dgeqr2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work)))
  3453  }
  3454  
  3455  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeqr2.f.
  3456  func Cgeqr2(m, n int, a []complex64, lda int, tau, work []complex64) bool {
  3457  	var _a *complex64
  3458  	if len(a) > 0 {
  3459  		_a = &a[0]
  3460  	}
  3461  	var _tau *complex64
  3462  	if len(tau) > 0 {
  3463  		_tau = &tau[0]
  3464  	}
  3465  	var _work *complex64
  3466  	if len(work) > 0 {
  3467  		_work = &work[0]
  3468  	}
  3469  	return isZero(C.LAPACKE_cgeqr2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work)))
  3470  }
  3471  
  3472  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeqr2.f.
  3473  func Zgeqr2(m, n int, a []complex128, lda int, tau, work []complex128) bool {
  3474  	var _a *complex128
  3475  	if len(a) > 0 {
  3476  		_a = &a[0]
  3477  	}
  3478  	var _tau *complex128
  3479  	if len(tau) > 0 {
  3480  		_tau = &tau[0]
  3481  	}
  3482  	var _work *complex128
  3483  	if len(work) > 0 {
  3484  		_work = &work[0]
  3485  	}
  3486  	return isZero(C.LAPACKE_zgeqr2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work)))
  3487  }
  3488  
  3489  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeqrf.f.
  3490  func Sgeqrf(m, n int, a []float32, lda int, tau, work []float32, lwork int) bool {
  3491  	var _a *float32
  3492  	if len(a) > 0 {
  3493  		_a = &a[0]
  3494  	}
  3495  	var _tau *float32
  3496  	if len(tau) > 0 {
  3497  		_tau = &tau[0]
  3498  	}
  3499  	var _work *float32
  3500  	if len(work) > 0 {
  3501  		_work = &work[0]
  3502  	}
  3503  	return isZero(C.LAPACKE_sgeqrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
  3504  }
  3505  
  3506  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeqrf.f.
  3507  func Dgeqrf(m, n int, a []float64, lda int, tau, work []float64, lwork int) bool {
  3508  	var _a *float64
  3509  	if len(a) > 0 {
  3510  		_a = &a[0]
  3511  	}
  3512  	var _tau *float64
  3513  	if len(tau) > 0 {
  3514  		_tau = &tau[0]
  3515  	}
  3516  	var _work *float64
  3517  	if len(work) > 0 {
  3518  		_work = &work[0]
  3519  	}
  3520  	return isZero(C.LAPACKE_dgeqrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
  3521  }
  3522  
  3523  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeqrf.f.
  3524  func Cgeqrf(m, n int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
  3525  	var _a *complex64
  3526  	if len(a) > 0 {
  3527  		_a = &a[0]
  3528  	}
  3529  	var _tau *complex64
  3530  	if len(tau) > 0 {
  3531  		_tau = &tau[0]
  3532  	}
  3533  	var _work *complex64
  3534  	if len(work) > 0 {
  3535  		_work = &work[0]
  3536  	}
  3537  	return isZero(C.LAPACKE_cgeqrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  3538  }
  3539  
  3540  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeqrf.f.
  3541  func Zgeqrf(m, n int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
  3542  	var _a *complex128
  3543  	if len(a) > 0 {
  3544  		_a = &a[0]
  3545  	}
  3546  	var _tau *complex128
  3547  	if len(tau) > 0 {
  3548  		_tau = &tau[0]
  3549  	}
  3550  	var _work *complex128
  3551  	if len(work) > 0 {
  3552  		_work = &work[0]
  3553  	}
  3554  	return isZero(C.LAPACKE_zgeqrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  3555  }
  3556  
  3557  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeqrfp.f.
  3558  func Sgeqrfp(m, n int, a []float32, lda int, tau, work []float32, lwork int) bool {
  3559  	var _a *float32
  3560  	if len(a) > 0 {
  3561  		_a = &a[0]
  3562  	}
  3563  	var _tau *float32
  3564  	if len(tau) > 0 {
  3565  		_tau = &tau[0]
  3566  	}
  3567  	var _work *float32
  3568  	if len(work) > 0 {
  3569  		_work = &work[0]
  3570  	}
  3571  	return isZero(C.LAPACKE_sgeqrfp_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
  3572  }
  3573  
  3574  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeqrfp.f.
  3575  func Dgeqrfp(m, n int, a []float64, lda int, tau, work []float64, lwork int) bool {
  3576  	var _a *float64
  3577  	if len(a) > 0 {
  3578  		_a = &a[0]
  3579  	}
  3580  	var _tau *float64
  3581  	if len(tau) > 0 {
  3582  		_tau = &tau[0]
  3583  	}
  3584  	var _work *float64
  3585  	if len(work) > 0 {
  3586  		_work = &work[0]
  3587  	}
  3588  	return isZero(C.LAPACKE_dgeqrfp_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
  3589  }
  3590  
  3591  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeqrfp.f.
  3592  func Cgeqrfp(m, n int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
  3593  	var _a *complex64
  3594  	if len(a) > 0 {
  3595  		_a = &a[0]
  3596  	}
  3597  	var _tau *complex64
  3598  	if len(tau) > 0 {
  3599  		_tau = &tau[0]
  3600  	}
  3601  	var _work *complex64
  3602  	if len(work) > 0 {
  3603  		_work = &work[0]
  3604  	}
  3605  	return isZero(C.LAPACKE_cgeqrfp_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  3606  }
  3607  
  3608  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeqrfp.f.
  3609  func Zgeqrfp(m, n int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
  3610  	var _a *complex128
  3611  	if len(a) > 0 {
  3612  		_a = &a[0]
  3613  	}
  3614  	var _tau *complex128
  3615  	if len(tau) > 0 {
  3616  		_tau = &tau[0]
  3617  	}
  3618  	var _work *complex128
  3619  	if len(work) > 0 {
  3620  		_work = &work[0]
  3621  	}
  3622  	return isZero(C.LAPACKE_zgeqrfp_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  3623  }
  3624  
  3625  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgerfs.f.
  3626  func Sgerfs(trans blas.Transpose, n, nrhs int, a []float32, lda int, af []float32, ldaf int, ipiv []int32, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
  3627  	switch trans {
  3628  	case blas.NoTrans:
  3629  		trans = 'N'
  3630  	case blas.Trans:
  3631  		trans = 'T'
  3632  	case blas.ConjTrans:
  3633  		trans = 'C'
  3634  	default:
  3635  		panic("lapack: bad trans")
  3636  	}
  3637  	var _a *float32
  3638  	if len(a) > 0 {
  3639  		_a = &a[0]
  3640  	}
  3641  	var _af *float32
  3642  	if len(af) > 0 {
  3643  		_af = &af[0]
  3644  	}
  3645  	var _ipiv *int32
  3646  	if len(ipiv) > 0 {
  3647  		_ipiv = &ipiv[0]
  3648  	}
  3649  	var _b *float32
  3650  	if len(b) > 0 {
  3651  		_b = &b[0]
  3652  	}
  3653  	var _x *float32
  3654  	if len(x) > 0 {
  3655  		_x = &x[0]
  3656  	}
  3657  	var _ferr *float32
  3658  	if len(ferr) > 0 {
  3659  		_ferr = &ferr[0]
  3660  	}
  3661  	var _berr *float32
  3662  	if len(berr) > 0 {
  3663  		_berr = &berr[0]
  3664  	}
  3665  	var _work *float32
  3666  	if len(work) > 0 {
  3667  		_work = &work[0]
  3668  	}
  3669  	var _iwork *int32
  3670  	if len(iwork) > 0 {
  3671  		_iwork = &iwork[0]
  3672  	}
  3673  	return isZero(C.LAPACKE_sgerfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
  3674  }
  3675  
  3676  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgerfs.f.
  3677  func Dgerfs(trans blas.Transpose, n, nrhs int, a []float64, lda int, af []float64, ldaf int, ipiv []int32, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
  3678  	switch trans {
  3679  	case blas.NoTrans:
  3680  		trans = 'N'
  3681  	case blas.Trans:
  3682  		trans = 'T'
  3683  	case blas.ConjTrans:
  3684  		trans = 'C'
  3685  	default:
  3686  		panic("lapack: bad trans")
  3687  	}
  3688  	var _a *float64
  3689  	if len(a) > 0 {
  3690  		_a = &a[0]
  3691  	}
  3692  	var _af *float64
  3693  	if len(af) > 0 {
  3694  		_af = &af[0]
  3695  	}
  3696  	var _ipiv *int32
  3697  	if len(ipiv) > 0 {
  3698  		_ipiv = &ipiv[0]
  3699  	}
  3700  	var _b *float64
  3701  	if len(b) > 0 {
  3702  		_b = &b[0]
  3703  	}
  3704  	var _x *float64
  3705  	if len(x) > 0 {
  3706  		_x = &x[0]
  3707  	}
  3708  	var _ferr *float64
  3709  	if len(ferr) > 0 {
  3710  		_ferr = &ferr[0]
  3711  	}
  3712  	var _berr *float64
  3713  	if len(berr) > 0 {
  3714  		_berr = &berr[0]
  3715  	}
  3716  	var _work *float64
  3717  	if len(work) > 0 {
  3718  		_work = &work[0]
  3719  	}
  3720  	var _iwork *int32
  3721  	if len(iwork) > 0 {
  3722  		_iwork = &iwork[0]
  3723  	}
  3724  	return isZero(C.LAPACKE_dgerfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
  3725  }
  3726  
  3727  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgerfs.f.
  3728  func Cgerfs(trans blas.Transpose, n, nrhs int, a []complex64, lda int, af []complex64, ldaf int, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
  3729  	switch trans {
  3730  	case blas.NoTrans:
  3731  		trans = 'N'
  3732  	case blas.Trans:
  3733  		trans = 'T'
  3734  	case blas.ConjTrans:
  3735  		trans = 'C'
  3736  	default:
  3737  		panic("lapack: bad trans")
  3738  	}
  3739  	var _a *complex64
  3740  	if len(a) > 0 {
  3741  		_a = &a[0]
  3742  	}
  3743  	var _af *complex64
  3744  	if len(af) > 0 {
  3745  		_af = &af[0]
  3746  	}
  3747  	var _ipiv *int32
  3748  	if len(ipiv) > 0 {
  3749  		_ipiv = &ipiv[0]
  3750  	}
  3751  	var _b *complex64
  3752  	if len(b) > 0 {
  3753  		_b = &b[0]
  3754  	}
  3755  	var _x *complex64
  3756  	if len(x) > 0 {
  3757  		_x = &x[0]
  3758  	}
  3759  	var _ferr *float32
  3760  	if len(ferr) > 0 {
  3761  		_ferr = &ferr[0]
  3762  	}
  3763  	var _berr *float32
  3764  	if len(berr) > 0 {
  3765  		_berr = &berr[0]
  3766  	}
  3767  	var _work *complex64
  3768  	if len(work) > 0 {
  3769  		_work = &work[0]
  3770  	}
  3771  	var _rwork *float32
  3772  	if len(rwork) > 0 {
  3773  		_rwork = &rwork[0]
  3774  	}
  3775  	return isZero(C.LAPACKE_cgerfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  3776  }
  3777  
  3778  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgerfs.f.
  3779  func Zgerfs(trans blas.Transpose, n, nrhs int, a []complex128, lda int, af []complex128, ldaf int, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
  3780  	switch trans {
  3781  	case blas.NoTrans:
  3782  		trans = 'N'
  3783  	case blas.Trans:
  3784  		trans = 'T'
  3785  	case blas.ConjTrans:
  3786  		trans = 'C'
  3787  	default:
  3788  		panic("lapack: bad trans")
  3789  	}
  3790  	var _a *complex128
  3791  	if len(a) > 0 {
  3792  		_a = &a[0]
  3793  	}
  3794  	var _af *complex128
  3795  	if len(af) > 0 {
  3796  		_af = &af[0]
  3797  	}
  3798  	var _ipiv *int32
  3799  	if len(ipiv) > 0 {
  3800  		_ipiv = &ipiv[0]
  3801  	}
  3802  	var _b *complex128
  3803  	if len(b) > 0 {
  3804  		_b = &b[0]
  3805  	}
  3806  	var _x *complex128
  3807  	if len(x) > 0 {
  3808  		_x = &x[0]
  3809  	}
  3810  	var _ferr *float64
  3811  	if len(ferr) > 0 {
  3812  		_ferr = &ferr[0]
  3813  	}
  3814  	var _berr *float64
  3815  	if len(berr) > 0 {
  3816  		_berr = &berr[0]
  3817  	}
  3818  	var _work *complex128
  3819  	if len(work) > 0 {
  3820  		_work = &work[0]
  3821  	}
  3822  	var _rwork *float64
  3823  	if len(rwork) > 0 {
  3824  		_rwork = &rwork[0]
  3825  	}
  3826  	return isZero(C.LAPACKE_zgerfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  3827  }
  3828  
  3829  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgerqf.f.
  3830  func Sgerqf(m, n int, a []float32, lda int, tau, work []float32, lwork int) bool {
  3831  	var _a *float32
  3832  	if len(a) > 0 {
  3833  		_a = &a[0]
  3834  	}
  3835  	var _tau *float32
  3836  	if len(tau) > 0 {
  3837  		_tau = &tau[0]
  3838  	}
  3839  	var _work *float32
  3840  	if len(work) > 0 {
  3841  		_work = &work[0]
  3842  	}
  3843  	return isZero(C.LAPACKE_sgerqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
  3844  }
  3845  
  3846  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgerqf.f.
  3847  func Dgerqf(m, n int, a []float64, lda int, tau, work []float64, lwork int) bool {
  3848  	var _a *float64
  3849  	if len(a) > 0 {
  3850  		_a = &a[0]
  3851  	}
  3852  	var _tau *float64
  3853  	if len(tau) > 0 {
  3854  		_tau = &tau[0]
  3855  	}
  3856  	var _work *float64
  3857  	if len(work) > 0 {
  3858  		_work = &work[0]
  3859  	}
  3860  	return isZero(C.LAPACKE_dgerqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
  3861  }
  3862  
  3863  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgerqf.f.
  3864  func Cgerqf(m, n int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
  3865  	var _a *complex64
  3866  	if len(a) > 0 {
  3867  		_a = &a[0]
  3868  	}
  3869  	var _tau *complex64
  3870  	if len(tau) > 0 {
  3871  		_tau = &tau[0]
  3872  	}
  3873  	var _work *complex64
  3874  	if len(work) > 0 {
  3875  		_work = &work[0]
  3876  	}
  3877  	return isZero(C.LAPACKE_cgerqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  3878  }
  3879  
  3880  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgerqf.f.
  3881  func Zgerqf(m, n int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
  3882  	var _a *complex128
  3883  	if len(a) > 0 {
  3884  		_a = &a[0]
  3885  	}
  3886  	var _tau *complex128
  3887  	if len(tau) > 0 {
  3888  		_tau = &tau[0]
  3889  	}
  3890  	var _work *complex128
  3891  	if len(work) > 0 {
  3892  		_work = &work[0]
  3893  	}
  3894  	return isZero(C.LAPACKE_zgerqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  3895  }
  3896  
  3897  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgesdd.f.
  3898  func Sgesdd(jobz lapack.Job, m, n int, a []float32, lda int, s, u []float32, ldu int, vt []float32, ldvt int, work []float32, lwork int, iwork []int32) bool {
  3899  	var _a *float32
  3900  	if len(a) > 0 {
  3901  		_a = &a[0]
  3902  	}
  3903  	var _s *float32
  3904  	if len(s) > 0 {
  3905  		_s = &s[0]
  3906  	}
  3907  	var _u *float32
  3908  	if len(u) > 0 {
  3909  		_u = &u[0]
  3910  	}
  3911  	var _vt *float32
  3912  	if len(vt) > 0 {
  3913  		_vt = &vt[0]
  3914  	}
  3915  	var _work *float32
  3916  	if len(work) > 0 {
  3917  		_work = &work[0]
  3918  	}
  3919  	var _iwork *int32
  3920  	if len(iwork) > 0 {
  3921  		_iwork = &iwork[0]
  3922  	}
  3923  	return isZero(C.LAPACKE_sgesdd_work((C.int)(rowMajor), (C.char)(jobz), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_vt), (C.lapack_int)(ldvt), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  3924  }
  3925  
  3926  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgesdd.f.
  3927  func Dgesdd(jobz lapack.Job, m, n int, a []float64, lda int, s, u []float64, ldu int, vt []float64, ldvt int, work []float64, lwork int, iwork []int32) bool {
  3928  	var _a *float64
  3929  	if len(a) > 0 {
  3930  		_a = &a[0]
  3931  	}
  3932  	var _s *float64
  3933  	if len(s) > 0 {
  3934  		_s = &s[0]
  3935  	}
  3936  	var _u *float64
  3937  	if len(u) > 0 {
  3938  		_u = &u[0]
  3939  	}
  3940  	var _vt *float64
  3941  	if len(vt) > 0 {
  3942  		_vt = &vt[0]
  3943  	}
  3944  	var _work *float64
  3945  	if len(work) > 0 {
  3946  		_work = &work[0]
  3947  	}
  3948  	var _iwork *int32
  3949  	if len(iwork) > 0 {
  3950  		_iwork = &iwork[0]
  3951  	}
  3952  	return isZero(C.LAPACKE_dgesdd_work((C.int)(rowMajor), (C.char)(jobz), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_vt), (C.lapack_int)(ldvt), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  3953  }
  3954  
  3955  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgesdd.f.
  3956  func Cgesdd(jobz lapack.Job, m, n int, a []complex64, lda int, s []float32, u []complex64, ldu int, vt []complex64, ldvt int, work []complex64, lwork int, rwork []float32, iwork []int32) bool {
  3957  	var _a *complex64
  3958  	if len(a) > 0 {
  3959  		_a = &a[0]
  3960  	}
  3961  	var _s *float32
  3962  	if len(s) > 0 {
  3963  		_s = &s[0]
  3964  	}
  3965  	var _u *complex64
  3966  	if len(u) > 0 {
  3967  		_u = &u[0]
  3968  	}
  3969  	var _vt *complex64
  3970  	if len(vt) > 0 {
  3971  		_vt = &vt[0]
  3972  	}
  3973  	var _work *complex64
  3974  	if len(work) > 0 {
  3975  		_work = &work[0]
  3976  	}
  3977  	var _rwork *float32
  3978  	if len(rwork) > 0 {
  3979  		_rwork = &rwork[0]
  3980  	}
  3981  	var _iwork *int32
  3982  	if len(iwork) > 0 {
  3983  		_iwork = &iwork[0]
  3984  	}
  3985  	return isZero(C.LAPACKE_cgesdd_work((C.int)(rowMajor), (C.char)(jobz), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.lapack_complex_float)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_float)(_vt), (C.lapack_int)(ldvt), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (*C.lapack_int)(_iwork)))
  3986  }
  3987  
  3988  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgesdd.f.
  3989  func Zgesdd(jobz lapack.Job, m, n int, a []complex128, lda int, s []float64, u []complex128, ldu int, vt []complex128, ldvt int, work []complex128, lwork int, rwork []float64, iwork []int32) bool {
  3990  	var _a *complex128
  3991  	if len(a) > 0 {
  3992  		_a = &a[0]
  3993  	}
  3994  	var _s *float64
  3995  	if len(s) > 0 {
  3996  		_s = &s[0]
  3997  	}
  3998  	var _u *complex128
  3999  	if len(u) > 0 {
  4000  		_u = &u[0]
  4001  	}
  4002  	var _vt *complex128
  4003  	if len(vt) > 0 {
  4004  		_vt = &vt[0]
  4005  	}
  4006  	var _work *complex128
  4007  	if len(work) > 0 {
  4008  		_work = &work[0]
  4009  	}
  4010  	var _rwork *float64
  4011  	if len(rwork) > 0 {
  4012  		_rwork = &rwork[0]
  4013  	}
  4014  	var _iwork *int32
  4015  	if len(iwork) > 0 {
  4016  		_iwork = &iwork[0]
  4017  	}
  4018  	return isZero(C.LAPACKE_zgesdd_work((C.int)(rowMajor), (C.char)(jobz), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.lapack_complex_double)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_double)(_vt), (C.lapack_int)(ldvt), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (*C.lapack_int)(_iwork)))
  4019  }
  4020  
  4021  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgesv.f.
  4022  func Sgesv(n, nrhs int, a []float32, lda int, ipiv []int32, b []float32, ldb int) bool {
  4023  	var _a *float32
  4024  	if len(a) > 0 {
  4025  		_a = &a[0]
  4026  	}
  4027  	var _ipiv *int32
  4028  	if len(ipiv) > 0 {
  4029  		_ipiv = &ipiv[0]
  4030  	}
  4031  	var _b *float32
  4032  	if len(b) > 0 {
  4033  		_b = &b[0]
  4034  	}
  4035  	return isZero(C.LAPACKE_sgesv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb)))
  4036  }
  4037  
  4038  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgesv.f.
  4039  func Dgesv(n, nrhs int, a []float64, lda int, ipiv []int32, b []float64, ldb int) bool {
  4040  	var _a *float64
  4041  	if len(a) > 0 {
  4042  		_a = &a[0]
  4043  	}
  4044  	var _ipiv *int32
  4045  	if len(ipiv) > 0 {
  4046  		_ipiv = &ipiv[0]
  4047  	}
  4048  	var _b *float64
  4049  	if len(b) > 0 {
  4050  		_b = &b[0]
  4051  	}
  4052  	return isZero(C.LAPACKE_dgesv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb)))
  4053  }
  4054  
  4055  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgesv.f.
  4056  func Cgesv(n, nrhs int, a []complex64, lda int, ipiv []int32, b []complex64, ldb int) bool {
  4057  	var _a *complex64
  4058  	if len(a) > 0 {
  4059  		_a = &a[0]
  4060  	}
  4061  	var _ipiv *int32
  4062  	if len(ipiv) > 0 {
  4063  		_ipiv = &ipiv[0]
  4064  	}
  4065  	var _b *complex64
  4066  	if len(b) > 0 {
  4067  		_b = &b[0]
  4068  	}
  4069  	return isZero(C.LAPACKE_cgesv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
  4070  }
  4071  
  4072  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgesv.f.
  4073  func Zgesv(n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int) bool {
  4074  	var _a *complex128
  4075  	if len(a) > 0 {
  4076  		_a = &a[0]
  4077  	}
  4078  	var _ipiv *int32
  4079  	if len(ipiv) > 0 {
  4080  		_ipiv = &ipiv[0]
  4081  	}
  4082  	var _b *complex128
  4083  	if len(b) > 0 {
  4084  		_b = &b[0]
  4085  	}
  4086  	return isZero(C.LAPACKE_zgesv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
  4087  }
  4088  
  4089  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsgesv.f.
  4090  func Dsgesv(n, nrhs int, a []float64, lda int, ipiv []int32, b []float64, ldb int, x []float64, ldx int, work []float64, swork []float32, iter []int32) bool {
  4091  	var _a *float64
  4092  	if len(a) > 0 {
  4093  		_a = &a[0]
  4094  	}
  4095  	var _ipiv *int32
  4096  	if len(ipiv) > 0 {
  4097  		_ipiv = &ipiv[0]
  4098  	}
  4099  	var _b *float64
  4100  	if len(b) > 0 {
  4101  		_b = &b[0]
  4102  	}
  4103  	var _x *float64
  4104  	if len(x) > 0 {
  4105  		_x = &x[0]
  4106  	}
  4107  	var _work *float64
  4108  	if len(work) > 0 {
  4109  		_work = &work[0]
  4110  	}
  4111  	var _swork *float32
  4112  	if len(swork) > 0 {
  4113  		_swork = &swork[0]
  4114  	}
  4115  	var _iter *int32
  4116  	if len(iter) > 0 {
  4117  		_iter = &iter[0]
  4118  	}
  4119  	return isZero(C.LAPACKE_dsgesv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_work), (*C.float)(_swork), (*C.lapack_int)(_iter)))
  4120  }
  4121  
  4122  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zcgesv.f.
  4123  func Zcgesv(n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, work []complex128, swork []complex64, rwork []float64, iter []int32) bool {
  4124  	var _a *complex128
  4125  	if len(a) > 0 {
  4126  		_a = &a[0]
  4127  	}
  4128  	var _ipiv *int32
  4129  	if len(ipiv) > 0 {
  4130  		_ipiv = &ipiv[0]
  4131  	}
  4132  	var _b *complex128
  4133  	if len(b) > 0 {
  4134  		_b = &b[0]
  4135  	}
  4136  	var _x *complex128
  4137  	if len(x) > 0 {
  4138  		_x = &x[0]
  4139  	}
  4140  	var _work *complex128
  4141  	if len(work) > 0 {
  4142  		_work = &work[0]
  4143  	}
  4144  	var _swork *complex64
  4145  	if len(swork) > 0 {
  4146  		_swork = &swork[0]
  4147  	}
  4148  	var _rwork *float64
  4149  	if len(rwork) > 0 {
  4150  		_rwork = &rwork[0]
  4151  	}
  4152  	var _iter *int32
  4153  	if len(iter) > 0 {
  4154  		_iter = &iter[0]
  4155  	}
  4156  	return isZero(C.LAPACKE_zcgesv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.lapack_complex_double)(_work), (*C.lapack_complex_float)(_swork), (*C.double)(_rwork), (*C.lapack_int)(_iter)))
  4157  }
  4158  
  4159  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgesvd.f.
  4160  func Sgesvd(jobu, jobvt lapack.Job, m, n int, a []float32, lda int, s, u []float32, ldu int, vt []float32, ldvt int, work []float32, lwork int) bool {
  4161  	var _a *float32
  4162  	if len(a) > 0 {
  4163  		_a = &a[0]
  4164  	}
  4165  	var _s *float32
  4166  	if len(s) > 0 {
  4167  		_s = &s[0]
  4168  	}
  4169  	var _u *float32
  4170  	if len(u) > 0 {
  4171  		_u = &u[0]
  4172  	}
  4173  	var _vt *float32
  4174  	if len(vt) > 0 {
  4175  		_vt = &vt[0]
  4176  	}
  4177  	var _work *float32
  4178  	if len(work) > 0 {
  4179  		_work = &work[0]
  4180  	}
  4181  	return isZero(C.LAPACKE_sgesvd_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobvt), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_vt), (C.lapack_int)(ldvt), (*C.float)(_work), (C.lapack_int)(lwork)))
  4182  }
  4183  
  4184  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgesvd.f.
  4185  func Dgesvd(jobu, jobvt lapack.Job, m, n int, a []float64, lda int, s, u []float64, ldu int, vt []float64, ldvt int, work []float64, lwork int) bool {
  4186  	var _a *float64
  4187  	if len(a) > 0 {
  4188  		_a = &a[0]
  4189  	}
  4190  	var _s *float64
  4191  	if len(s) > 0 {
  4192  		_s = &s[0]
  4193  	}
  4194  	var _u *float64
  4195  	if len(u) > 0 {
  4196  		_u = &u[0]
  4197  	}
  4198  	var _vt *float64
  4199  	if len(vt) > 0 {
  4200  		_vt = &vt[0]
  4201  	}
  4202  	var _work *float64
  4203  	if len(work) > 0 {
  4204  		_work = &work[0]
  4205  	}
  4206  	return isZero(C.LAPACKE_dgesvd_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobvt), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_vt), (C.lapack_int)(ldvt), (*C.double)(_work), (C.lapack_int)(lwork)))
  4207  }
  4208  
  4209  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgesvd.f.
  4210  func Cgesvd(jobu, jobvt lapack.Job, m, n int, a []complex64, lda int, s []float32, u []complex64, ldu int, vt []complex64, ldvt int, work []complex64, lwork int, rwork []float32) bool {
  4211  	var _a *complex64
  4212  	if len(a) > 0 {
  4213  		_a = &a[0]
  4214  	}
  4215  	var _s *float32
  4216  	if len(s) > 0 {
  4217  		_s = &s[0]
  4218  	}
  4219  	var _u *complex64
  4220  	if len(u) > 0 {
  4221  		_u = &u[0]
  4222  	}
  4223  	var _vt *complex64
  4224  	if len(vt) > 0 {
  4225  		_vt = &vt[0]
  4226  	}
  4227  	var _work *complex64
  4228  	if len(work) > 0 {
  4229  		_work = &work[0]
  4230  	}
  4231  	var _rwork *float32
  4232  	if len(rwork) > 0 {
  4233  		_rwork = &rwork[0]
  4234  	}
  4235  	return isZero(C.LAPACKE_cgesvd_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobvt), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.lapack_complex_float)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_float)(_vt), (C.lapack_int)(ldvt), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  4236  }
  4237  
  4238  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgesvd.f.
  4239  func Zgesvd(jobu, jobvt lapack.Job, m, n int, a []complex128, lda int, s []float64, u []complex128, ldu int, vt []complex128, ldvt int, work []complex128, lwork int, rwork []float64) bool {
  4240  	var _a *complex128
  4241  	if len(a) > 0 {
  4242  		_a = &a[0]
  4243  	}
  4244  	var _s *float64
  4245  	if len(s) > 0 {
  4246  		_s = &s[0]
  4247  	}
  4248  	var _u *complex128
  4249  	if len(u) > 0 {
  4250  		_u = &u[0]
  4251  	}
  4252  	var _vt *complex128
  4253  	if len(vt) > 0 {
  4254  		_vt = &vt[0]
  4255  	}
  4256  	var _work *complex128
  4257  	if len(work) > 0 {
  4258  		_work = &work[0]
  4259  	}
  4260  	var _rwork *float64
  4261  	if len(rwork) > 0 {
  4262  		_rwork = &rwork[0]
  4263  	}
  4264  	return isZero(C.LAPACKE_zgesvd_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobvt), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.lapack_complex_double)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_double)(_vt), (C.lapack_int)(ldvt), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  4265  }
  4266  
  4267  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgesvdx.f.
  4268  func Sgesvdx(jobu, jobvt lapack.Job, rng byte, m, n int, a []float32, lda, vl, vu, il, iu, ns int, s, u []float32, ldu int, vt []float32, ldvt int, work []float32, lwork int, iwork []int32) bool {
  4269  	var _a *float32
  4270  	if len(a) > 0 {
  4271  		_a = &a[0]
  4272  	}
  4273  	var _s *float32
  4274  	if len(s) > 0 {
  4275  		_s = &s[0]
  4276  	}
  4277  	var _u *float32
  4278  	if len(u) > 0 {
  4279  		_u = &u[0]
  4280  	}
  4281  	var _vt *float32
  4282  	if len(vt) > 0 {
  4283  		_vt = &vt[0]
  4284  	}
  4285  	var _work *float32
  4286  	if len(work) > 0 {
  4287  		_work = &work[0]
  4288  	}
  4289  	var _iwork *int32
  4290  	if len(iwork) > 0 {
  4291  		_iwork = &iwork[0]
  4292  	}
  4293  	return isZero(C.LAPACKE_sgesvdx_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobvt), (C.char)(rng), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (C.lapack_int)(vl), (C.lapack_int)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.lapack_int)(ns), (*C.float)(_s), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_vt), (C.lapack_int)(ldvt), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  4294  }
  4295  
  4296  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgesvdx.f.
  4297  func Dgesvdx(jobu, jobvt lapack.Job, rng byte, m, n int, a []float64, lda, vl, vu, il, iu, ns int, s, u []float64, ldu int, vt []float64, ldvt int, work []float64, lwork int, iwork []int32) bool {
  4298  	var _a *float64
  4299  	if len(a) > 0 {
  4300  		_a = &a[0]
  4301  	}
  4302  	var _s *float64
  4303  	if len(s) > 0 {
  4304  		_s = &s[0]
  4305  	}
  4306  	var _u *float64
  4307  	if len(u) > 0 {
  4308  		_u = &u[0]
  4309  	}
  4310  	var _vt *float64
  4311  	if len(vt) > 0 {
  4312  		_vt = &vt[0]
  4313  	}
  4314  	var _work *float64
  4315  	if len(work) > 0 {
  4316  		_work = &work[0]
  4317  	}
  4318  	var _iwork *int32
  4319  	if len(iwork) > 0 {
  4320  		_iwork = &iwork[0]
  4321  	}
  4322  	return isZero(C.LAPACKE_dgesvdx_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobvt), (C.char)(rng), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (C.lapack_int)(vl), (C.lapack_int)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.lapack_int)(ns), (*C.double)(_s), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_vt), (C.lapack_int)(ldvt), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  4323  }
  4324  
  4325  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgesvdx.f.
  4326  func Cgesvdx(jobu, jobvt lapack.Job, rng byte, m, n int, a []complex64, lda, vl, vu, il, iu, ns int, s []float32, u []complex64, ldu int, vt []complex64, ldvt int, work []complex64, lwork int, rwork []float32, iwork []int32) bool {
  4327  	var _a *complex64
  4328  	if len(a) > 0 {
  4329  		_a = &a[0]
  4330  	}
  4331  	var _s *float32
  4332  	if len(s) > 0 {
  4333  		_s = &s[0]
  4334  	}
  4335  	var _u *complex64
  4336  	if len(u) > 0 {
  4337  		_u = &u[0]
  4338  	}
  4339  	var _vt *complex64
  4340  	if len(vt) > 0 {
  4341  		_vt = &vt[0]
  4342  	}
  4343  	var _work *complex64
  4344  	if len(work) > 0 {
  4345  		_work = &work[0]
  4346  	}
  4347  	var _rwork *float32
  4348  	if len(rwork) > 0 {
  4349  		_rwork = &rwork[0]
  4350  	}
  4351  	var _iwork *int32
  4352  	if len(iwork) > 0 {
  4353  		_iwork = &iwork[0]
  4354  	}
  4355  	return isZero(C.LAPACKE_cgesvdx_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobvt), (C.char)(rng), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (C.lapack_int)(vl), (C.lapack_int)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.lapack_int)(ns), (*C.float)(_s), (*C.lapack_complex_float)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_float)(_vt), (C.lapack_int)(ldvt), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (*C.lapack_int)(_iwork)))
  4356  }
  4357  
  4358  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgesvdx.f.
  4359  func Zgesvdx(jobu, jobvt lapack.Job, rng byte, m, n int, a []complex128, lda, vl, vu, il, iu, ns int, s []float64, u []complex128, ldu int, vt []complex128, ldvt int, work []complex128, lwork int, rwork []float64, iwork []int32) bool {
  4360  	var _a *complex128
  4361  	if len(a) > 0 {
  4362  		_a = &a[0]
  4363  	}
  4364  	var _s *float64
  4365  	if len(s) > 0 {
  4366  		_s = &s[0]
  4367  	}
  4368  	var _u *complex128
  4369  	if len(u) > 0 {
  4370  		_u = &u[0]
  4371  	}
  4372  	var _vt *complex128
  4373  	if len(vt) > 0 {
  4374  		_vt = &vt[0]
  4375  	}
  4376  	var _work *complex128
  4377  	if len(work) > 0 {
  4378  		_work = &work[0]
  4379  	}
  4380  	var _rwork *float64
  4381  	if len(rwork) > 0 {
  4382  		_rwork = &rwork[0]
  4383  	}
  4384  	var _iwork *int32
  4385  	if len(iwork) > 0 {
  4386  		_iwork = &iwork[0]
  4387  	}
  4388  	return isZero(C.LAPACKE_zgesvdx_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobvt), (C.char)(rng), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (C.lapack_int)(vl), (C.lapack_int)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.lapack_int)(ns), (*C.double)(_s), (*C.lapack_complex_double)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_double)(_vt), (C.lapack_int)(ldvt), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (*C.lapack_int)(_iwork)))
  4389  }
  4390  
  4391  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgesvj.f.
  4392  func Sgesvj(joba, jobu, jobv lapack.Job, m, n int, a []float32, lda int, sva []float32, mv int, v []float32, ldv int, work []float32, lwork int) bool {
  4393  	var _a *float32
  4394  	if len(a) > 0 {
  4395  		_a = &a[0]
  4396  	}
  4397  	var _sva *float32
  4398  	if len(sva) > 0 {
  4399  		_sva = &sva[0]
  4400  	}
  4401  	var _v *float32
  4402  	if len(v) > 0 {
  4403  		_v = &v[0]
  4404  	}
  4405  	var _work *float32
  4406  	if len(work) > 0 {
  4407  		_work = &work[0]
  4408  	}
  4409  	return isZero(C.LAPACKE_sgesvj_work((C.int)(rowMajor), (C.char)(joba), (C.char)(jobu), (C.char)(jobv), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_sva), (C.lapack_int)(mv), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_work), (C.lapack_int)(lwork)))
  4410  }
  4411  
  4412  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgesvj.f.
  4413  func Dgesvj(joba, jobu, jobv lapack.Job, m, n int, a []float64, lda int, sva []float64, mv int, v []float64, ldv int, work []float64, lwork int) bool {
  4414  	var _a *float64
  4415  	if len(a) > 0 {
  4416  		_a = &a[0]
  4417  	}
  4418  	var _sva *float64
  4419  	if len(sva) > 0 {
  4420  		_sva = &sva[0]
  4421  	}
  4422  	var _v *float64
  4423  	if len(v) > 0 {
  4424  		_v = &v[0]
  4425  	}
  4426  	var _work *float64
  4427  	if len(work) > 0 {
  4428  		_work = &work[0]
  4429  	}
  4430  	return isZero(C.LAPACKE_dgesvj_work((C.int)(rowMajor), (C.char)(joba), (C.char)(jobu), (C.char)(jobv), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_sva), (C.lapack_int)(mv), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_work), (C.lapack_int)(lwork)))
  4431  }
  4432  
  4433  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgesvj.f.
  4434  func Cgesvj(joba, jobu, jobv lapack.Job, m, n int, a []complex64, lda int, sva []float32, mv int, v []complex64, ldv int, cwork []complex64, lwork int, rwork []float32, lrwork int) bool {
  4435  	var _a *complex64
  4436  	if len(a) > 0 {
  4437  		_a = &a[0]
  4438  	}
  4439  	var _sva *float32
  4440  	if len(sva) > 0 {
  4441  		_sva = &sva[0]
  4442  	}
  4443  	var _v *complex64
  4444  	if len(v) > 0 {
  4445  		_v = &v[0]
  4446  	}
  4447  	var _cwork *complex64
  4448  	if len(cwork) > 0 {
  4449  		_cwork = &cwork[0]
  4450  	}
  4451  	var _rwork *float32
  4452  	if len(rwork) > 0 {
  4453  		_rwork = &rwork[0]
  4454  	}
  4455  	return isZero(C.LAPACKE_cgesvj_work((C.int)(rowMajor), (C.char)(joba), (C.char)(jobu), (C.char)(jobv), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_sva), (C.lapack_int)(mv), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_cwork), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork)))
  4456  }
  4457  
  4458  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgesvj.f.
  4459  func Zgesvj(joba, jobu, jobv lapack.Job, m, n int, a []complex128, lda int, sva []float64, mv int, v []complex128, ldv int, cwork []complex128, lwork int, rwork []float64, lrwork int) bool {
  4460  	var _a *complex128
  4461  	if len(a) > 0 {
  4462  		_a = &a[0]
  4463  	}
  4464  	var _sva *float64
  4465  	if len(sva) > 0 {
  4466  		_sva = &sva[0]
  4467  	}
  4468  	var _v *complex128
  4469  	if len(v) > 0 {
  4470  		_v = &v[0]
  4471  	}
  4472  	var _cwork *complex128
  4473  	if len(cwork) > 0 {
  4474  		_cwork = &cwork[0]
  4475  	}
  4476  	var _rwork *float64
  4477  	if len(rwork) > 0 {
  4478  		_rwork = &rwork[0]
  4479  	}
  4480  	return isZero(C.LAPACKE_zgesvj_work((C.int)(rowMajor), (C.char)(joba), (C.char)(jobu), (C.char)(jobv), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_sva), (C.lapack_int)(mv), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_cwork), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork)))
  4481  }
  4482  
  4483  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgesvx.f.
  4484  func Sgesvx(fact byte, trans blas.Transpose, n, nrhs int, a []float32, lda int, af []float32, ldaf int, ipiv []int32, equed []byte, r, c, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32, iwork []int32) bool {
  4485  	switch trans {
  4486  	case blas.NoTrans:
  4487  		trans = 'N'
  4488  	case blas.Trans:
  4489  		trans = 'T'
  4490  	case blas.ConjTrans:
  4491  		trans = 'C'
  4492  	default:
  4493  		panic("lapack: bad trans")
  4494  	}
  4495  	var _a *float32
  4496  	if len(a) > 0 {
  4497  		_a = &a[0]
  4498  	}
  4499  	var _af *float32
  4500  	if len(af) > 0 {
  4501  		_af = &af[0]
  4502  	}
  4503  	var _ipiv *int32
  4504  	if len(ipiv) > 0 {
  4505  		_ipiv = &ipiv[0]
  4506  	}
  4507  	var _equed *byte
  4508  	if len(equed) > 0 {
  4509  		_equed = &equed[0]
  4510  	}
  4511  	var _r *float32
  4512  	if len(r) > 0 {
  4513  		_r = &r[0]
  4514  	}
  4515  	var _c *float32
  4516  	if len(c) > 0 {
  4517  		_c = &c[0]
  4518  	}
  4519  	var _b *float32
  4520  	if len(b) > 0 {
  4521  		_b = &b[0]
  4522  	}
  4523  	var _x *float32
  4524  	if len(x) > 0 {
  4525  		_x = &x[0]
  4526  	}
  4527  	var _rcond *float32
  4528  	if len(rcond) > 0 {
  4529  		_rcond = &rcond[0]
  4530  	}
  4531  	var _ferr *float32
  4532  	if len(ferr) > 0 {
  4533  		_ferr = &ferr[0]
  4534  	}
  4535  	var _berr *float32
  4536  	if len(berr) > 0 {
  4537  		_berr = &berr[0]
  4538  	}
  4539  	var _work *float32
  4540  	if len(work) > 0 {
  4541  		_work = &work[0]
  4542  	}
  4543  	var _iwork *int32
  4544  	if len(iwork) > 0 {
  4545  		_iwork = &iwork[0]
  4546  	}
  4547  	return isZero(C.LAPACKE_sgesvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_r), (*C.float)(_c), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
  4548  }
  4549  
  4550  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgesvx.f.
  4551  func Dgesvx(fact byte, trans blas.Transpose, n, nrhs int, a []float64, lda int, af []float64, ldaf int, ipiv []int32, equed []byte, r, c, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64, iwork []int32) bool {
  4552  	switch trans {
  4553  	case blas.NoTrans:
  4554  		trans = 'N'
  4555  	case blas.Trans:
  4556  		trans = 'T'
  4557  	case blas.ConjTrans:
  4558  		trans = 'C'
  4559  	default:
  4560  		panic("lapack: bad trans")
  4561  	}
  4562  	var _a *float64
  4563  	if len(a) > 0 {
  4564  		_a = &a[0]
  4565  	}
  4566  	var _af *float64
  4567  	if len(af) > 0 {
  4568  		_af = &af[0]
  4569  	}
  4570  	var _ipiv *int32
  4571  	if len(ipiv) > 0 {
  4572  		_ipiv = &ipiv[0]
  4573  	}
  4574  	var _equed *byte
  4575  	if len(equed) > 0 {
  4576  		_equed = &equed[0]
  4577  	}
  4578  	var _r *float64
  4579  	if len(r) > 0 {
  4580  		_r = &r[0]
  4581  	}
  4582  	var _c *float64
  4583  	if len(c) > 0 {
  4584  		_c = &c[0]
  4585  	}
  4586  	var _b *float64
  4587  	if len(b) > 0 {
  4588  		_b = &b[0]
  4589  	}
  4590  	var _x *float64
  4591  	if len(x) > 0 {
  4592  		_x = &x[0]
  4593  	}
  4594  	var _rcond *float64
  4595  	if len(rcond) > 0 {
  4596  		_rcond = &rcond[0]
  4597  	}
  4598  	var _ferr *float64
  4599  	if len(ferr) > 0 {
  4600  		_ferr = &ferr[0]
  4601  	}
  4602  	var _berr *float64
  4603  	if len(berr) > 0 {
  4604  		_berr = &berr[0]
  4605  	}
  4606  	var _work *float64
  4607  	if len(work) > 0 {
  4608  		_work = &work[0]
  4609  	}
  4610  	var _iwork *int32
  4611  	if len(iwork) > 0 {
  4612  		_iwork = &iwork[0]
  4613  	}
  4614  	return isZero(C.LAPACKE_dgesvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_r), (*C.double)(_c), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
  4615  }
  4616  
  4617  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgesvx.f.
  4618  func Cgesvx(fact byte, trans blas.Transpose, n, nrhs int, a []complex64, lda int, af []complex64, ldaf int, ipiv []int32, equed []byte, r, c []float32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
  4619  	switch trans {
  4620  	case blas.NoTrans:
  4621  		trans = 'N'
  4622  	case blas.Trans:
  4623  		trans = 'T'
  4624  	case blas.ConjTrans:
  4625  		trans = 'C'
  4626  	default:
  4627  		panic("lapack: bad trans")
  4628  	}
  4629  	var _a *complex64
  4630  	if len(a) > 0 {
  4631  		_a = &a[0]
  4632  	}
  4633  	var _af *complex64
  4634  	if len(af) > 0 {
  4635  		_af = &af[0]
  4636  	}
  4637  	var _ipiv *int32
  4638  	if len(ipiv) > 0 {
  4639  		_ipiv = &ipiv[0]
  4640  	}
  4641  	var _equed *byte
  4642  	if len(equed) > 0 {
  4643  		_equed = &equed[0]
  4644  	}
  4645  	var _r *float32
  4646  	if len(r) > 0 {
  4647  		_r = &r[0]
  4648  	}
  4649  	var _c *float32
  4650  	if len(c) > 0 {
  4651  		_c = &c[0]
  4652  	}
  4653  	var _b *complex64
  4654  	if len(b) > 0 {
  4655  		_b = &b[0]
  4656  	}
  4657  	var _x *complex64
  4658  	if len(x) > 0 {
  4659  		_x = &x[0]
  4660  	}
  4661  	var _rcond *float32
  4662  	if len(rcond) > 0 {
  4663  		_rcond = &rcond[0]
  4664  	}
  4665  	var _ferr *float32
  4666  	if len(ferr) > 0 {
  4667  		_ferr = &ferr[0]
  4668  	}
  4669  	var _berr *float32
  4670  	if len(berr) > 0 {
  4671  		_berr = &berr[0]
  4672  	}
  4673  	var _work *complex64
  4674  	if len(work) > 0 {
  4675  		_work = &work[0]
  4676  	}
  4677  	var _rwork *float32
  4678  	if len(rwork) > 0 {
  4679  		_rwork = &rwork[0]
  4680  	}
  4681  	return isZero(C.LAPACKE_cgesvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_r), (*C.float)(_c), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  4682  }
  4683  
  4684  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgesvx.f.
  4685  func Zgesvx(fact byte, trans blas.Transpose, n, nrhs int, a []complex128, lda int, af []complex128, ldaf int, ipiv []int32, equed []byte, r, c []float64, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
  4686  	switch trans {
  4687  	case blas.NoTrans:
  4688  		trans = 'N'
  4689  	case blas.Trans:
  4690  		trans = 'T'
  4691  	case blas.ConjTrans:
  4692  		trans = 'C'
  4693  	default:
  4694  		panic("lapack: bad trans")
  4695  	}
  4696  	var _a *complex128
  4697  	if len(a) > 0 {
  4698  		_a = &a[0]
  4699  	}
  4700  	var _af *complex128
  4701  	if len(af) > 0 {
  4702  		_af = &af[0]
  4703  	}
  4704  	var _ipiv *int32
  4705  	if len(ipiv) > 0 {
  4706  		_ipiv = &ipiv[0]
  4707  	}
  4708  	var _equed *byte
  4709  	if len(equed) > 0 {
  4710  		_equed = &equed[0]
  4711  	}
  4712  	var _r *float64
  4713  	if len(r) > 0 {
  4714  		_r = &r[0]
  4715  	}
  4716  	var _c *float64
  4717  	if len(c) > 0 {
  4718  		_c = &c[0]
  4719  	}
  4720  	var _b *complex128
  4721  	if len(b) > 0 {
  4722  		_b = &b[0]
  4723  	}
  4724  	var _x *complex128
  4725  	if len(x) > 0 {
  4726  		_x = &x[0]
  4727  	}
  4728  	var _rcond *float64
  4729  	if len(rcond) > 0 {
  4730  		_rcond = &rcond[0]
  4731  	}
  4732  	var _ferr *float64
  4733  	if len(ferr) > 0 {
  4734  		_ferr = &ferr[0]
  4735  	}
  4736  	var _berr *float64
  4737  	if len(berr) > 0 {
  4738  		_berr = &berr[0]
  4739  	}
  4740  	var _work *complex128
  4741  	if len(work) > 0 {
  4742  		_work = &work[0]
  4743  	}
  4744  	var _rwork *float64
  4745  	if len(rwork) > 0 {
  4746  		_rwork = &rwork[0]
  4747  	}
  4748  	return isZero(C.LAPACKE_zgesvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_r), (*C.double)(_c), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  4749  }
  4750  
  4751  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgetf2.f.
  4752  func Sgetf2(m, n int, a []float32, lda int, ipiv []int32) bool {
  4753  	var _a *float32
  4754  	if len(a) > 0 {
  4755  		_a = &a[0]
  4756  	}
  4757  	var _ipiv *int32
  4758  	if len(ipiv) > 0 {
  4759  		_ipiv = &ipiv[0]
  4760  	}
  4761  	return isZero(C.LAPACKE_sgetf2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4762  }
  4763  
  4764  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgetf2.f.
  4765  func Dgetf2(m, n int, a []float64, lda int, ipiv []int32) bool {
  4766  	var _a *float64
  4767  	if len(a) > 0 {
  4768  		_a = &a[0]
  4769  	}
  4770  	var _ipiv *int32
  4771  	if len(ipiv) > 0 {
  4772  		_ipiv = &ipiv[0]
  4773  	}
  4774  	return isZero(C.LAPACKE_dgetf2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4775  }
  4776  
  4777  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgetf2.f.
  4778  func Cgetf2(m, n int, a []complex64, lda int, ipiv []int32) bool {
  4779  	var _a *complex64
  4780  	if len(a) > 0 {
  4781  		_a = &a[0]
  4782  	}
  4783  	var _ipiv *int32
  4784  	if len(ipiv) > 0 {
  4785  		_ipiv = &ipiv[0]
  4786  	}
  4787  	return isZero(C.LAPACKE_cgetf2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4788  }
  4789  
  4790  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgetf2.f.
  4791  func Zgetf2(m, n int, a []complex128, lda int, ipiv []int32) bool {
  4792  	var _a *complex128
  4793  	if len(a) > 0 {
  4794  		_a = &a[0]
  4795  	}
  4796  	var _ipiv *int32
  4797  	if len(ipiv) > 0 {
  4798  		_ipiv = &ipiv[0]
  4799  	}
  4800  	return isZero(C.LAPACKE_zgetf2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4801  }
  4802  
  4803  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgetrf.f.
  4804  func Sgetrf(m, n int, a []float32, lda int, ipiv []int32) bool {
  4805  	var _a *float32
  4806  	if len(a) > 0 {
  4807  		_a = &a[0]
  4808  	}
  4809  	var _ipiv *int32
  4810  	if len(ipiv) > 0 {
  4811  		_ipiv = &ipiv[0]
  4812  	}
  4813  	return isZero(C.LAPACKE_sgetrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4814  }
  4815  
  4816  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgetrf.f.
  4817  func Dgetrf(m, n int, a []float64, lda int, ipiv []int32) bool {
  4818  	var _a *float64
  4819  	if len(a) > 0 {
  4820  		_a = &a[0]
  4821  	}
  4822  	var _ipiv *int32
  4823  	if len(ipiv) > 0 {
  4824  		_ipiv = &ipiv[0]
  4825  	}
  4826  	return isZero(C.LAPACKE_dgetrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4827  }
  4828  
  4829  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgetrf.f.
  4830  func Cgetrf(m, n int, a []complex64, lda int, ipiv []int32) bool {
  4831  	var _a *complex64
  4832  	if len(a) > 0 {
  4833  		_a = &a[0]
  4834  	}
  4835  	var _ipiv *int32
  4836  	if len(ipiv) > 0 {
  4837  		_ipiv = &ipiv[0]
  4838  	}
  4839  	return isZero(C.LAPACKE_cgetrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4840  }
  4841  
  4842  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgetrf.f.
  4843  func Zgetrf(m, n int, a []complex128, lda int, ipiv []int32) bool {
  4844  	var _a *complex128
  4845  	if len(a) > 0 {
  4846  		_a = &a[0]
  4847  	}
  4848  	var _ipiv *int32
  4849  	if len(ipiv) > 0 {
  4850  		_ipiv = &ipiv[0]
  4851  	}
  4852  	return isZero(C.LAPACKE_zgetrf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4853  }
  4854  
  4855  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgetrf2.f.
  4856  func Sgetrf2(m, n int, a []float32, lda int, ipiv []int32) bool {
  4857  	var _a *float32
  4858  	if len(a) > 0 {
  4859  		_a = &a[0]
  4860  	}
  4861  	var _ipiv *int32
  4862  	if len(ipiv) > 0 {
  4863  		_ipiv = &ipiv[0]
  4864  	}
  4865  	return isZero(C.LAPACKE_sgetrf2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4866  }
  4867  
  4868  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgetrf2.f.
  4869  func Dgetrf2(m, n int, a []float64, lda int, ipiv []int32) bool {
  4870  	var _a *float64
  4871  	if len(a) > 0 {
  4872  		_a = &a[0]
  4873  	}
  4874  	var _ipiv *int32
  4875  	if len(ipiv) > 0 {
  4876  		_ipiv = &ipiv[0]
  4877  	}
  4878  	return isZero(C.LAPACKE_dgetrf2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4879  }
  4880  
  4881  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgetrf2.f.
  4882  func Cgetrf2(m, n int, a []complex64, lda int, ipiv []int32) bool {
  4883  	var _a *complex64
  4884  	if len(a) > 0 {
  4885  		_a = &a[0]
  4886  	}
  4887  	var _ipiv *int32
  4888  	if len(ipiv) > 0 {
  4889  		_ipiv = &ipiv[0]
  4890  	}
  4891  	return isZero(C.LAPACKE_cgetrf2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4892  }
  4893  
  4894  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgetrf2.f.
  4895  func Zgetrf2(m, n int, a []complex128, lda int, ipiv []int32) bool {
  4896  	var _a *complex128
  4897  	if len(a) > 0 {
  4898  		_a = &a[0]
  4899  	}
  4900  	var _ipiv *int32
  4901  	if len(ipiv) > 0 {
  4902  		_ipiv = &ipiv[0]
  4903  	}
  4904  	return isZero(C.LAPACKE_zgetrf2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv)))
  4905  }
  4906  
  4907  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgetri.f.
  4908  func Sgetri(n int, a []float32, lda int, ipiv []int32, work []float32, lwork int) bool {
  4909  	var _a *float32
  4910  	if len(a) > 0 {
  4911  		_a = &a[0]
  4912  	}
  4913  	var _ipiv *int32
  4914  	if len(ipiv) > 0 {
  4915  		_ipiv = &ipiv[0]
  4916  	}
  4917  	var _work *float32
  4918  	if len(work) > 0 {
  4919  		_work = &work[0]
  4920  	}
  4921  	return isZero(C.LAPACKE_sgetri_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_work), (C.lapack_int)(lwork)))
  4922  }
  4923  
  4924  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgetri.f.
  4925  func Dgetri(n int, a []float64, lda int, ipiv []int32, work []float64, lwork int) bool {
  4926  	var _a *float64
  4927  	if len(a) > 0 {
  4928  		_a = &a[0]
  4929  	}
  4930  	var _ipiv *int32
  4931  	if len(ipiv) > 0 {
  4932  		_ipiv = &ipiv[0]
  4933  	}
  4934  	var _work *float64
  4935  	if len(work) > 0 {
  4936  		_work = &work[0]
  4937  	}
  4938  	return isZero(C.LAPACKE_dgetri_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_work), (C.lapack_int)(lwork)))
  4939  }
  4940  
  4941  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgetri.f.
  4942  func Cgetri(n int, a []complex64, lda int, ipiv []int32, work []complex64, lwork int) bool {
  4943  	var _a *complex64
  4944  	if len(a) > 0 {
  4945  		_a = &a[0]
  4946  	}
  4947  	var _ipiv *int32
  4948  	if len(ipiv) > 0 {
  4949  		_ipiv = &ipiv[0]
  4950  	}
  4951  	var _work *complex64
  4952  	if len(work) > 0 {
  4953  		_work = &work[0]
  4954  	}
  4955  	return isZero(C.LAPACKE_cgetri_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  4956  }
  4957  
  4958  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgetri.f.
  4959  func Zgetri(n int, a []complex128, lda int, ipiv []int32, work []complex128, lwork int) bool {
  4960  	var _a *complex128
  4961  	if len(a) > 0 {
  4962  		_a = &a[0]
  4963  	}
  4964  	var _ipiv *int32
  4965  	if len(ipiv) > 0 {
  4966  		_ipiv = &ipiv[0]
  4967  	}
  4968  	var _work *complex128
  4969  	if len(work) > 0 {
  4970  		_work = &work[0]
  4971  	}
  4972  	return isZero(C.LAPACKE_zgetri_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  4973  }
  4974  
  4975  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgetrs.f.
  4976  func Sgetrs(trans blas.Transpose, n, nrhs int, a []float32, lda int, ipiv []int32, b []float32, ldb int) bool {
  4977  	switch trans {
  4978  	case blas.NoTrans:
  4979  		trans = 'N'
  4980  	case blas.Trans:
  4981  		trans = 'T'
  4982  	case blas.ConjTrans:
  4983  		trans = 'C'
  4984  	default:
  4985  		panic("lapack: bad trans")
  4986  	}
  4987  	var _a *float32
  4988  	if len(a) > 0 {
  4989  		_a = &a[0]
  4990  	}
  4991  	var _ipiv *int32
  4992  	if len(ipiv) > 0 {
  4993  		_ipiv = &ipiv[0]
  4994  	}
  4995  	var _b *float32
  4996  	if len(b) > 0 {
  4997  		_b = &b[0]
  4998  	}
  4999  	return isZero(C.LAPACKE_sgetrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb)))
  5000  }
  5001  
  5002  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgetrs.f.
  5003  func Dgetrs(trans blas.Transpose, n, nrhs int, a []float64, lda int, ipiv []int32, b []float64, ldb int) bool {
  5004  	switch trans {
  5005  	case blas.NoTrans:
  5006  		trans = 'N'
  5007  	case blas.Trans:
  5008  		trans = 'T'
  5009  	case blas.ConjTrans:
  5010  		trans = 'C'
  5011  	default:
  5012  		panic("lapack: bad trans")
  5013  	}
  5014  	var _a *float64
  5015  	if len(a) > 0 {
  5016  		_a = &a[0]
  5017  	}
  5018  	var _ipiv *int32
  5019  	if len(ipiv) > 0 {
  5020  		_ipiv = &ipiv[0]
  5021  	}
  5022  	var _b *float64
  5023  	if len(b) > 0 {
  5024  		_b = &b[0]
  5025  	}
  5026  	return isZero(C.LAPACKE_dgetrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb)))
  5027  }
  5028  
  5029  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgetrs.f.
  5030  func Cgetrs(trans blas.Transpose, n, nrhs int, a []complex64, lda int, ipiv []int32, b []complex64, ldb int) bool {
  5031  	switch trans {
  5032  	case blas.NoTrans:
  5033  		trans = 'N'
  5034  	case blas.Trans:
  5035  		trans = 'T'
  5036  	case blas.ConjTrans:
  5037  		trans = 'C'
  5038  	default:
  5039  		panic("lapack: bad trans")
  5040  	}
  5041  	var _a *complex64
  5042  	if len(a) > 0 {
  5043  		_a = &a[0]
  5044  	}
  5045  	var _ipiv *int32
  5046  	if len(ipiv) > 0 {
  5047  		_ipiv = &ipiv[0]
  5048  	}
  5049  	var _b *complex64
  5050  	if len(b) > 0 {
  5051  		_b = &b[0]
  5052  	}
  5053  	return isZero(C.LAPACKE_cgetrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
  5054  }
  5055  
  5056  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgetrs.f.
  5057  func Zgetrs(trans blas.Transpose, n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int) bool {
  5058  	switch trans {
  5059  	case blas.NoTrans:
  5060  		trans = 'N'
  5061  	case blas.Trans:
  5062  		trans = 'T'
  5063  	case blas.ConjTrans:
  5064  		trans = 'C'
  5065  	default:
  5066  		panic("lapack: bad trans")
  5067  	}
  5068  	var _a *complex128
  5069  	if len(a) > 0 {
  5070  		_a = &a[0]
  5071  	}
  5072  	var _ipiv *int32
  5073  	if len(ipiv) > 0 {
  5074  		_ipiv = &ipiv[0]
  5075  	}
  5076  	var _b *complex128
  5077  	if len(b) > 0 {
  5078  		_b = &b[0]
  5079  	}
  5080  	return isZero(C.LAPACKE_zgetrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
  5081  }
  5082  
  5083  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggbak.f.
  5084  func Sggbak(job lapack.Job, side blas.Side, n, ilo, ihi int, lscale, rscale []float32, m int, v []float32, ldv int) bool {
  5085  	switch side {
  5086  	case blas.Left:
  5087  		side = 'L'
  5088  	case blas.Right:
  5089  		side = 'R'
  5090  	default:
  5091  		panic("lapack: bad side")
  5092  	}
  5093  	var _lscale *float32
  5094  	if len(lscale) > 0 {
  5095  		_lscale = &lscale[0]
  5096  	}
  5097  	var _rscale *float32
  5098  	if len(rscale) > 0 {
  5099  		_rscale = &rscale[0]
  5100  	}
  5101  	var _v *float32
  5102  	if len(v) > 0 {
  5103  		_v = &v[0]
  5104  	}
  5105  	return isZero(C.LAPACKE_sggbak_work((C.int)(rowMajor), (C.char)(job), (C.char)(side), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_lscale), (*C.float)(_rscale), (C.lapack_int)(m), (*C.float)(_v), (C.lapack_int)(ldv)))
  5106  }
  5107  
  5108  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggbak.f.
  5109  func Dggbak(job lapack.Job, side blas.Side, n, ilo, ihi int, lscale, rscale []float64, m int, v []float64, ldv int) bool {
  5110  	switch side {
  5111  	case blas.Left:
  5112  		side = 'L'
  5113  	case blas.Right:
  5114  		side = 'R'
  5115  	default:
  5116  		panic("lapack: bad side")
  5117  	}
  5118  	var _lscale *float64
  5119  	if len(lscale) > 0 {
  5120  		_lscale = &lscale[0]
  5121  	}
  5122  	var _rscale *float64
  5123  	if len(rscale) > 0 {
  5124  		_rscale = &rscale[0]
  5125  	}
  5126  	var _v *float64
  5127  	if len(v) > 0 {
  5128  		_v = &v[0]
  5129  	}
  5130  	return isZero(C.LAPACKE_dggbak_work((C.int)(rowMajor), (C.char)(job), (C.char)(side), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_lscale), (*C.double)(_rscale), (C.lapack_int)(m), (*C.double)(_v), (C.lapack_int)(ldv)))
  5131  }
  5132  
  5133  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggbak.f.
  5134  func Cggbak(job lapack.Job, side blas.Side, n, ilo, ihi int, lscale, rscale []float32, m int, v []complex64, ldv int) bool {
  5135  	switch side {
  5136  	case blas.Left:
  5137  		side = 'L'
  5138  	case blas.Right:
  5139  		side = 'R'
  5140  	default:
  5141  		panic("lapack: bad side")
  5142  	}
  5143  	var _lscale *float32
  5144  	if len(lscale) > 0 {
  5145  		_lscale = &lscale[0]
  5146  	}
  5147  	var _rscale *float32
  5148  	if len(rscale) > 0 {
  5149  		_rscale = &rscale[0]
  5150  	}
  5151  	var _v *complex64
  5152  	if len(v) > 0 {
  5153  		_v = &v[0]
  5154  	}
  5155  	return isZero(C.LAPACKE_cggbak_work((C.int)(rowMajor), (C.char)(job), (C.char)(side), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_lscale), (*C.float)(_rscale), (C.lapack_int)(m), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv)))
  5156  }
  5157  
  5158  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggbak.f.
  5159  func Zggbak(job lapack.Job, side blas.Side, n, ilo, ihi int, lscale, rscale []float64, m int, v []complex128, ldv int) bool {
  5160  	switch side {
  5161  	case blas.Left:
  5162  		side = 'L'
  5163  	case blas.Right:
  5164  		side = 'R'
  5165  	default:
  5166  		panic("lapack: bad side")
  5167  	}
  5168  	var _lscale *float64
  5169  	if len(lscale) > 0 {
  5170  		_lscale = &lscale[0]
  5171  	}
  5172  	var _rscale *float64
  5173  	if len(rscale) > 0 {
  5174  		_rscale = &rscale[0]
  5175  	}
  5176  	var _v *complex128
  5177  	if len(v) > 0 {
  5178  		_v = &v[0]
  5179  	}
  5180  	return isZero(C.LAPACKE_zggbak_work((C.int)(rowMajor), (C.char)(job), (C.char)(side), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_lscale), (*C.double)(_rscale), (C.lapack_int)(m), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv)))
  5181  }
  5182  
  5183  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggbal.f.
  5184  func Sggbal(job lapack.Job, n int, a []float32, lda int, b []float32, ldb int, ilo, ihi []int32, lscale, rscale, work []float32) bool {
  5185  	var _a *float32
  5186  	if len(a) > 0 {
  5187  		_a = &a[0]
  5188  	}
  5189  	var _b *float32
  5190  	if len(b) > 0 {
  5191  		_b = &b[0]
  5192  	}
  5193  	var _ilo *int32
  5194  	if len(ilo) > 0 {
  5195  		_ilo = &ilo[0]
  5196  	}
  5197  	var _ihi *int32
  5198  	if len(ihi) > 0 {
  5199  		_ihi = &ihi[0]
  5200  	}
  5201  	var _lscale *float32
  5202  	if len(lscale) > 0 {
  5203  		_lscale = &lscale[0]
  5204  	}
  5205  	var _rscale *float32
  5206  	if len(rscale) > 0 {
  5207  		_rscale = &rscale[0]
  5208  	}
  5209  	var _work *float32
  5210  	if len(work) > 0 {
  5211  		_work = &work[0]
  5212  	}
  5213  	return isZero(C.LAPACKE_sggbal_work((C.int)(rowMajor), (C.char)(job), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.float)(_lscale), (*C.float)(_rscale), (*C.float)(_work)))
  5214  }
  5215  
  5216  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggbal.f.
  5217  func Dggbal(job lapack.Job, n int, a []float64, lda int, b []float64, ldb int, ilo, ihi []int32, lscale, rscale, work []float64) bool {
  5218  	var _a *float64
  5219  	if len(a) > 0 {
  5220  		_a = &a[0]
  5221  	}
  5222  	var _b *float64
  5223  	if len(b) > 0 {
  5224  		_b = &b[0]
  5225  	}
  5226  	var _ilo *int32
  5227  	if len(ilo) > 0 {
  5228  		_ilo = &ilo[0]
  5229  	}
  5230  	var _ihi *int32
  5231  	if len(ihi) > 0 {
  5232  		_ihi = &ihi[0]
  5233  	}
  5234  	var _lscale *float64
  5235  	if len(lscale) > 0 {
  5236  		_lscale = &lscale[0]
  5237  	}
  5238  	var _rscale *float64
  5239  	if len(rscale) > 0 {
  5240  		_rscale = &rscale[0]
  5241  	}
  5242  	var _work *float64
  5243  	if len(work) > 0 {
  5244  		_work = &work[0]
  5245  	}
  5246  	return isZero(C.LAPACKE_dggbal_work((C.int)(rowMajor), (C.char)(job), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.double)(_lscale), (*C.double)(_rscale), (*C.double)(_work)))
  5247  }
  5248  
  5249  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggbal.f.
  5250  func Cggbal(job lapack.Job, n int, a []complex64, lda int, b []complex64, ldb int, ilo, ihi []int32, lscale, rscale, work []float32) bool {
  5251  	var _a *complex64
  5252  	if len(a) > 0 {
  5253  		_a = &a[0]
  5254  	}
  5255  	var _b *complex64
  5256  	if len(b) > 0 {
  5257  		_b = &b[0]
  5258  	}
  5259  	var _ilo *int32
  5260  	if len(ilo) > 0 {
  5261  		_ilo = &ilo[0]
  5262  	}
  5263  	var _ihi *int32
  5264  	if len(ihi) > 0 {
  5265  		_ihi = &ihi[0]
  5266  	}
  5267  	var _lscale *float32
  5268  	if len(lscale) > 0 {
  5269  		_lscale = &lscale[0]
  5270  	}
  5271  	var _rscale *float32
  5272  	if len(rscale) > 0 {
  5273  		_rscale = &rscale[0]
  5274  	}
  5275  	var _work *float32
  5276  	if len(work) > 0 {
  5277  		_work = &work[0]
  5278  	}
  5279  	return isZero(C.LAPACKE_cggbal_work((C.int)(rowMajor), (C.char)(job), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.float)(_lscale), (*C.float)(_rscale), (*C.float)(_work)))
  5280  }
  5281  
  5282  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggbal.f.
  5283  func Zggbal(job lapack.Job, n int, a []complex128, lda int, b []complex128, ldb int, ilo, ihi []int32, lscale, rscale, work []float64) bool {
  5284  	var _a *complex128
  5285  	if len(a) > 0 {
  5286  		_a = &a[0]
  5287  	}
  5288  	var _b *complex128
  5289  	if len(b) > 0 {
  5290  		_b = &b[0]
  5291  	}
  5292  	var _ilo *int32
  5293  	if len(ilo) > 0 {
  5294  		_ilo = &ilo[0]
  5295  	}
  5296  	var _ihi *int32
  5297  	if len(ihi) > 0 {
  5298  		_ihi = &ihi[0]
  5299  	}
  5300  	var _lscale *float64
  5301  	if len(lscale) > 0 {
  5302  		_lscale = &lscale[0]
  5303  	}
  5304  	var _rscale *float64
  5305  	if len(rscale) > 0 {
  5306  		_rscale = &rscale[0]
  5307  	}
  5308  	var _work *float64
  5309  	if len(work) > 0 {
  5310  		_work = &work[0]
  5311  	}
  5312  	return isZero(C.LAPACKE_zggbal_work((C.int)(rowMajor), (C.char)(job), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.double)(_lscale), (*C.double)(_rscale), (*C.double)(_work)))
  5313  }
  5314  
  5315  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggev.f.
  5316  func Sggev(jobvl, jobvr lapack.Job, n int, a []float32, lda int, b []float32, ldb int, alphar, alphai, beta, vl []float32, ldvl int, vr []float32, ldvr int, work []float32, lwork int) bool {
  5317  	var _a *float32
  5318  	if len(a) > 0 {
  5319  		_a = &a[0]
  5320  	}
  5321  	var _b *float32
  5322  	if len(b) > 0 {
  5323  		_b = &b[0]
  5324  	}
  5325  	var _alphar *float32
  5326  	if len(alphar) > 0 {
  5327  		_alphar = &alphar[0]
  5328  	}
  5329  	var _alphai *float32
  5330  	if len(alphai) > 0 {
  5331  		_alphai = &alphai[0]
  5332  	}
  5333  	var _beta *float32
  5334  	if len(beta) > 0 {
  5335  		_beta = &beta[0]
  5336  	}
  5337  	var _vl *float32
  5338  	if len(vl) > 0 {
  5339  		_vl = &vl[0]
  5340  	}
  5341  	var _vr *float32
  5342  	if len(vr) > 0 {
  5343  		_vr = &vr[0]
  5344  	}
  5345  	var _work *float32
  5346  	if len(work) > 0 {
  5347  		_work = &work[0]
  5348  	}
  5349  	return isZero(C.LAPACKE_sggev_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_alphar), (*C.float)(_alphai), (*C.float)(_beta), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (*C.float)(_work), (C.lapack_int)(lwork)))
  5350  }
  5351  
  5352  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggev.f.
  5353  func Dggev(jobvl, jobvr lapack.Job, n int, a []float64, lda int, b []float64, ldb int, alphar, alphai, beta, vl []float64, ldvl int, vr []float64, ldvr int, work []float64, lwork int) bool {
  5354  	var _a *float64
  5355  	if len(a) > 0 {
  5356  		_a = &a[0]
  5357  	}
  5358  	var _b *float64
  5359  	if len(b) > 0 {
  5360  		_b = &b[0]
  5361  	}
  5362  	var _alphar *float64
  5363  	if len(alphar) > 0 {
  5364  		_alphar = &alphar[0]
  5365  	}
  5366  	var _alphai *float64
  5367  	if len(alphai) > 0 {
  5368  		_alphai = &alphai[0]
  5369  	}
  5370  	var _beta *float64
  5371  	if len(beta) > 0 {
  5372  		_beta = &beta[0]
  5373  	}
  5374  	var _vl *float64
  5375  	if len(vl) > 0 {
  5376  		_vl = &vl[0]
  5377  	}
  5378  	var _vr *float64
  5379  	if len(vr) > 0 {
  5380  		_vr = &vr[0]
  5381  	}
  5382  	var _work *float64
  5383  	if len(work) > 0 {
  5384  		_work = &work[0]
  5385  	}
  5386  	return isZero(C.LAPACKE_dggev_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_alphar), (*C.double)(_alphai), (*C.double)(_beta), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (*C.double)(_work), (C.lapack_int)(lwork)))
  5387  }
  5388  
  5389  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggev.f.
  5390  func Cggev(jobvl, jobvr lapack.Job, n int, a []complex64, lda int, b []complex64, ldb int, alpha, beta, vl []complex64, ldvl int, vr []complex64, ldvr int, work []complex64, lwork int, rwork []float32) bool {
  5391  	var _a *complex64
  5392  	if len(a) > 0 {
  5393  		_a = &a[0]
  5394  	}
  5395  	var _b *complex64
  5396  	if len(b) > 0 {
  5397  		_b = &b[0]
  5398  	}
  5399  	var _alpha *complex64
  5400  	if len(alpha) > 0 {
  5401  		_alpha = &alpha[0]
  5402  	}
  5403  	var _beta *complex64
  5404  	if len(beta) > 0 {
  5405  		_beta = &beta[0]
  5406  	}
  5407  	var _vl *complex64
  5408  	if len(vl) > 0 {
  5409  		_vl = &vl[0]
  5410  	}
  5411  	var _vr *complex64
  5412  	if len(vr) > 0 {
  5413  		_vr = &vr[0]
  5414  	}
  5415  	var _work *complex64
  5416  	if len(work) > 0 {
  5417  		_work = &work[0]
  5418  	}
  5419  	var _rwork *float32
  5420  	if len(rwork) > 0 {
  5421  		_rwork = &rwork[0]
  5422  	}
  5423  	return isZero(C.LAPACKE_cggev_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_alpha), (*C.lapack_complex_float)(_beta), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  5424  }
  5425  
  5426  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggev.f.
  5427  func Zggev(jobvl, jobvr lapack.Job, n int, a []complex128, lda int, b []complex128, ldb int, alpha, beta, vl []complex128, ldvl int, vr []complex128, ldvr int, work []complex128, lwork int, rwork []float64) bool {
  5428  	var _a *complex128
  5429  	if len(a) > 0 {
  5430  		_a = &a[0]
  5431  	}
  5432  	var _b *complex128
  5433  	if len(b) > 0 {
  5434  		_b = &b[0]
  5435  	}
  5436  	var _alpha *complex128
  5437  	if len(alpha) > 0 {
  5438  		_alpha = &alpha[0]
  5439  	}
  5440  	var _beta *complex128
  5441  	if len(beta) > 0 {
  5442  		_beta = &beta[0]
  5443  	}
  5444  	var _vl *complex128
  5445  	if len(vl) > 0 {
  5446  		_vl = &vl[0]
  5447  	}
  5448  	var _vr *complex128
  5449  	if len(vr) > 0 {
  5450  		_vr = &vr[0]
  5451  	}
  5452  	var _work *complex128
  5453  	if len(work) > 0 {
  5454  		_work = &work[0]
  5455  	}
  5456  	var _rwork *float64
  5457  	if len(rwork) > 0 {
  5458  		_rwork = &rwork[0]
  5459  	}
  5460  	return isZero(C.LAPACKE_zggev_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_alpha), (*C.lapack_complex_double)(_beta), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  5461  }
  5462  
  5463  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggev3.f.
  5464  func Sggev3(jobvl, jobvr lapack.Job, n int, a []float32, lda int, b []float32, ldb int, alphar, alphai, beta, vl []float32, ldvl int, vr []float32, ldvr int, work []float32, lwork int) bool {
  5465  	var _a *float32
  5466  	if len(a) > 0 {
  5467  		_a = &a[0]
  5468  	}
  5469  	var _b *float32
  5470  	if len(b) > 0 {
  5471  		_b = &b[0]
  5472  	}
  5473  	var _alphar *float32
  5474  	if len(alphar) > 0 {
  5475  		_alphar = &alphar[0]
  5476  	}
  5477  	var _alphai *float32
  5478  	if len(alphai) > 0 {
  5479  		_alphai = &alphai[0]
  5480  	}
  5481  	var _beta *float32
  5482  	if len(beta) > 0 {
  5483  		_beta = &beta[0]
  5484  	}
  5485  	var _vl *float32
  5486  	if len(vl) > 0 {
  5487  		_vl = &vl[0]
  5488  	}
  5489  	var _vr *float32
  5490  	if len(vr) > 0 {
  5491  		_vr = &vr[0]
  5492  	}
  5493  	var _work *float32
  5494  	if len(work) > 0 {
  5495  		_work = &work[0]
  5496  	}
  5497  	return isZero(C.LAPACKE_sggev3_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_alphar), (*C.float)(_alphai), (*C.float)(_beta), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (*C.float)(_work), (C.lapack_int)(lwork)))
  5498  }
  5499  
  5500  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggev3.f.
  5501  func Dggev3(jobvl, jobvr lapack.Job, n int, a []float64, lda int, b []float64, ldb int, alphar, alphai, beta, vl []float64, ldvl int, vr []float64, ldvr int, work []float64, lwork int) bool {
  5502  	var _a *float64
  5503  	if len(a) > 0 {
  5504  		_a = &a[0]
  5505  	}
  5506  	var _b *float64
  5507  	if len(b) > 0 {
  5508  		_b = &b[0]
  5509  	}
  5510  	var _alphar *float64
  5511  	if len(alphar) > 0 {
  5512  		_alphar = &alphar[0]
  5513  	}
  5514  	var _alphai *float64
  5515  	if len(alphai) > 0 {
  5516  		_alphai = &alphai[0]
  5517  	}
  5518  	var _beta *float64
  5519  	if len(beta) > 0 {
  5520  		_beta = &beta[0]
  5521  	}
  5522  	var _vl *float64
  5523  	if len(vl) > 0 {
  5524  		_vl = &vl[0]
  5525  	}
  5526  	var _vr *float64
  5527  	if len(vr) > 0 {
  5528  		_vr = &vr[0]
  5529  	}
  5530  	var _work *float64
  5531  	if len(work) > 0 {
  5532  		_work = &work[0]
  5533  	}
  5534  	return isZero(C.LAPACKE_dggev3_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_alphar), (*C.double)(_alphai), (*C.double)(_beta), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (*C.double)(_work), (C.lapack_int)(lwork)))
  5535  }
  5536  
  5537  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggev3.f.
  5538  func Cggev3(jobvl, jobvr lapack.Job, n int, a []complex64, lda int, b []complex64, ldb int, alpha, beta, vl []complex64, ldvl int, vr []complex64, ldvr int, work []complex64, lwork int, rwork []float32) bool {
  5539  	var _a *complex64
  5540  	if len(a) > 0 {
  5541  		_a = &a[0]
  5542  	}
  5543  	var _b *complex64
  5544  	if len(b) > 0 {
  5545  		_b = &b[0]
  5546  	}
  5547  	var _alpha *complex64
  5548  	if len(alpha) > 0 {
  5549  		_alpha = &alpha[0]
  5550  	}
  5551  	var _beta *complex64
  5552  	if len(beta) > 0 {
  5553  		_beta = &beta[0]
  5554  	}
  5555  	var _vl *complex64
  5556  	if len(vl) > 0 {
  5557  		_vl = &vl[0]
  5558  	}
  5559  	var _vr *complex64
  5560  	if len(vr) > 0 {
  5561  		_vr = &vr[0]
  5562  	}
  5563  	var _work *complex64
  5564  	if len(work) > 0 {
  5565  		_work = &work[0]
  5566  	}
  5567  	var _rwork *float32
  5568  	if len(rwork) > 0 {
  5569  		_rwork = &rwork[0]
  5570  	}
  5571  	return isZero(C.LAPACKE_cggev3_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_alpha), (*C.lapack_complex_float)(_beta), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  5572  }
  5573  
  5574  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggev3.f.
  5575  func Zggev3(jobvl, jobvr lapack.Job, n int, a []complex128, lda int, b []complex128, ldb int, alpha, beta, vl []complex128, ldvl int, vr []complex128, ldvr int, work []complex128, lwork int, rwork []float64) bool {
  5576  	var _a *complex128
  5577  	if len(a) > 0 {
  5578  		_a = &a[0]
  5579  	}
  5580  	var _b *complex128
  5581  	if len(b) > 0 {
  5582  		_b = &b[0]
  5583  	}
  5584  	var _alpha *complex128
  5585  	if len(alpha) > 0 {
  5586  		_alpha = &alpha[0]
  5587  	}
  5588  	var _beta *complex128
  5589  	if len(beta) > 0 {
  5590  		_beta = &beta[0]
  5591  	}
  5592  	var _vl *complex128
  5593  	if len(vl) > 0 {
  5594  		_vl = &vl[0]
  5595  	}
  5596  	var _vr *complex128
  5597  	if len(vr) > 0 {
  5598  		_vr = &vr[0]
  5599  	}
  5600  	var _work *complex128
  5601  	if len(work) > 0 {
  5602  		_work = &work[0]
  5603  	}
  5604  	var _rwork *float64
  5605  	if len(rwork) > 0 {
  5606  		_rwork = &rwork[0]
  5607  	}
  5608  	return isZero(C.LAPACKE_zggev3_work((C.int)(rowMajor), (C.char)(jobvl), (C.char)(jobvr), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_alpha), (*C.lapack_complex_double)(_beta), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  5609  }
  5610  
  5611  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggevx.f.
  5612  func Sggevx(balanc byte, jobvl, jobvr lapack.Job, sense byte, n int, a []float32, lda int, b []float32, ldb int, alphar, alphai, beta, vl []float32, ldvl int, vr []float32, ldvr int, ilo, ihi []int32, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work []float32, lwork int, iwork, bwork []int32) bool {
  5613  	var _a *float32
  5614  	if len(a) > 0 {
  5615  		_a = &a[0]
  5616  	}
  5617  	var _b *float32
  5618  	if len(b) > 0 {
  5619  		_b = &b[0]
  5620  	}
  5621  	var _alphar *float32
  5622  	if len(alphar) > 0 {
  5623  		_alphar = &alphar[0]
  5624  	}
  5625  	var _alphai *float32
  5626  	if len(alphai) > 0 {
  5627  		_alphai = &alphai[0]
  5628  	}
  5629  	var _beta *float32
  5630  	if len(beta) > 0 {
  5631  		_beta = &beta[0]
  5632  	}
  5633  	var _vl *float32
  5634  	if len(vl) > 0 {
  5635  		_vl = &vl[0]
  5636  	}
  5637  	var _vr *float32
  5638  	if len(vr) > 0 {
  5639  		_vr = &vr[0]
  5640  	}
  5641  	var _ilo *int32
  5642  	if len(ilo) > 0 {
  5643  		_ilo = &ilo[0]
  5644  	}
  5645  	var _ihi *int32
  5646  	if len(ihi) > 0 {
  5647  		_ihi = &ihi[0]
  5648  	}
  5649  	var _lscale *float32
  5650  	if len(lscale) > 0 {
  5651  		_lscale = &lscale[0]
  5652  	}
  5653  	var _rscale *float32
  5654  	if len(rscale) > 0 {
  5655  		_rscale = &rscale[0]
  5656  	}
  5657  	var _abnrm *float32
  5658  	if len(abnrm) > 0 {
  5659  		_abnrm = &abnrm[0]
  5660  	}
  5661  	var _bbnrm *float32
  5662  	if len(bbnrm) > 0 {
  5663  		_bbnrm = &bbnrm[0]
  5664  	}
  5665  	var _rconde *float32
  5666  	if len(rconde) > 0 {
  5667  		_rconde = &rconde[0]
  5668  	}
  5669  	var _rcondv *float32
  5670  	if len(rcondv) > 0 {
  5671  		_rcondv = &rcondv[0]
  5672  	}
  5673  	var _work *float32
  5674  	if len(work) > 0 {
  5675  		_work = &work[0]
  5676  	}
  5677  	var _iwork *int32
  5678  	if len(iwork) > 0 {
  5679  		_iwork = &iwork[0]
  5680  	}
  5681  	var _bwork *int32
  5682  	if len(bwork) > 0 {
  5683  		_bwork = &bwork[0]
  5684  	}
  5685  	return isZero(C.LAPACKE_sggevx_work((C.int)(rowMajor), (C.char)(balanc), (C.char)(jobvl), (C.char)(jobvr), (C.char)(sense), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_alphar), (*C.float)(_alphai), (*C.float)(_beta), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.float)(_lscale), (*C.float)(_rscale), (*C.float)(_abnrm), (*C.float)(_bbnrm), (*C.float)(_rconde), (*C.float)(_rcondv), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (*C.lapack_logical)(_bwork)))
  5686  }
  5687  
  5688  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggevx.f.
  5689  func Dggevx(balanc byte, jobvl, jobvr lapack.Job, sense byte, n int, a []float64, lda int, b []float64, ldb int, alphar, alphai, beta, vl []float64, ldvl int, vr []float64, ldvr int, ilo, ihi []int32, lscale, rscale, abnrm, bbnrm, rconde, rcondv, work []float64, lwork int, iwork, bwork []int32) bool {
  5690  	var _a *float64
  5691  	if len(a) > 0 {
  5692  		_a = &a[0]
  5693  	}
  5694  	var _b *float64
  5695  	if len(b) > 0 {
  5696  		_b = &b[0]
  5697  	}
  5698  	var _alphar *float64
  5699  	if len(alphar) > 0 {
  5700  		_alphar = &alphar[0]
  5701  	}
  5702  	var _alphai *float64
  5703  	if len(alphai) > 0 {
  5704  		_alphai = &alphai[0]
  5705  	}
  5706  	var _beta *float64
  5707  	if len(beta) > 0 {
  5708  		_beta = &beta[0]
  5709  	}
  5710  	var _vl *float64
  5711  	if len(vl) > 0 {
  5712  		_vl = &vl[0]
  5713  	}
  5714  	var _vr *float64
  5715  	if len(vr) > 0 {
  5716  		_vr = &vr[0]
  5717  	}
  5718  	var _ilo *int32
  5719  	if len(ilo) > 0 {
  5720  		_ilo = &ilo[0]
  5721  	}
  5722  	var _ihi *int32
  5723  	if len(ihi) > 0 {
  5724  		_ihi = &ihi[0]
  5725  	}
  5726  	var _lscale *float64
  5727  	if len(lscale) > 0 {
  5728  		_lscale = &lscale[0]
  5729  	}
  5730  	var _rscale *float64
  5731  	if len(rscale) > 0 {
  5732  		_rscale = &rscale[0]
  5733  	}
  5734  	var _abnrm *float64
  5735  	if len(abnrm) > 0 {
  5736  		_abnrm = &abnrm[0]
  5737  	}
  5738  	var _bbnrm *float64
  5739  	if len(bbnrm) > 0 {
  5740  		_bbnrm = &bbnrm[0]
  5741  	}
  5742  	var _rconde *float64
  5743  	if len(rconde) > 0 {
  5744  		_rconde = &rconde[0]
  5745  	}
  5746  	var _rcondv *float64
  5747  	if len(rcondv) > 0 {
  5748  		_rcondv = &rcondv[0]
  5749  	}
  5750  	var _work *float64
  5751  	if len(work) > 0 {
  5752  		_work = &work[0]
  5753  	}
  5754  	var _iwork *int32
  5755  	if len(iwork) > 0 {
  5756  		_iwork = &iwork[0]
  5757  	}
  5758  	var _bwork *int32
  5759  	if len(bwork) > 0 {
  5760  		_bwork = &bwork[0]
  5761  	}
  5762  	return isZero(C.LAPACKE_dggevx_work((C.int)(rowMajor), (C.char)(balanc), (C.char)(jobvl), (C.char)(jobvr), (C.char)(sense), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_alphar), (*C.double)(_alphai), (*C.double)(_beta), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.double)(_lscale), (*C.double)(_rscale), (*C.double)(_abnrm), (*C.double)(_bbnrm), (*C.double)(_rconde), (*C.double)(_rcondv), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (*C.lapack_logical)(_bwork)))
  5763  }
  5764  
  5765  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggevx.f.
  5766  func Cggevx(balanc byte, jobvl, jobvr lapack.Job, sense byte, n int, a []complex64, lda int, b []complex64, ldb int, alpha, beta, vl []complex64, ldvl int, vr []complex64, ldvr int, ilo, ihi []int32, lscale, rscale, abnrm, bbnrm, rconde, rcondv []float32, work []complex64, lwork int, rwork []float32, iwork, bwork []int32) bool {
  5767  	var _a *complex64
  5768  	if len(a) > 0 {
  5769  		_a = &a[0]
  5770  	}
  5771  	var _b *complex64
  5772  	if len(b) > 0 {
  5773  		_b = &b[0]
  5774  	}
  5775  	var _alpha *complex64
  5776  	if len(alpha) > 0 {
  5777  		_alpha = &alpha[0]
  5778  	}
  5779  	var _beta *complex64
  5780  	if len(beta) > 0 {
  5781  		_beta = &beta[0]
  5782  	}
  5783  	var _vl *complex64
  5784  	if len(vl) > 0 {
  5785  		_vl = &vl[0]
  5786  	}
  5787  	var _vr *complex64
  5788  	if len(vr) > 0 {
  5789  		_vr = &vr[0]
  5790  	}
  5791  	var _ilo *int32
  5792  	if len(ilo) > 0 {
  5793  		_ilo = &ilo[0]
  5794  	}
  5795  	var _ihi *int32
  5796  	if len(ihi) > 0 {
  5797  		_ihi = &ihi[0]
  5798  	}
  5799  	var _lscale *float32
  5800  	if len(lscale) > 0 {
  5801  		_lscale = &lscale[0]
  5802  	}
  5803  	var _rscale *float32
  5804  	if len(rscale) > 0 {
  5805  		_rscale = &rscale[0]
  5806  	}
  5807  	var _abnrm *float32
  5808  	if len(abnrm) > 0 {
  5809  		_abnrm = &abnrm[0]
  5810  	}
  5811  	var _bbnrm *float32
  5812  	if len(bbnrm) > 0 {
  5813  		_bbnrm = &bbnrm[0]
  5814  	}
  5815  	var _rconde *float32
  5816  	if len(rconde) > 0 {
  5817  		_rconde = &rconde[0]
  5818  	}
  5819  	var _rcondv *float32
  5820  	if len(rcondv) > 0 {
  5821  		_rcondv = &rcondv[0]
  5822  	}
  5823  	var _work *complex64
  5824  	if len(work) > 0 {
  5825  		_work = &work[0]
  5826  	}
  5827  	var _rwork *float32
  5828  	if len(rwork) > 0 {
  5829  		_rwork = &rwork[0]
  5830  	}
  5831  	var _iwork *int32
  5832  	if len(iwork) > 0 {
  5833  		_iwork = &iwork[0]
  5834  	}
  5835  	var _bwork *int32
  5836  	if len(bwork) > 0 {
  5837  		_bwork = &bwork[0]
  5838  	}
  5839  	return isZero(C.LAPACKE_cggevx_work((C.int)(rowMajor), (C.char)(balanc), (C.char)(jobvl), (C.char)(jobvr), (C.char)(sense), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_alpha), (*C.lapack_complex_float)(_beta), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.float)(_lscale), (*C.float)(_rscale), (*C.float)(_abnrm), (*C.float)(_bbnrm), (*C.float)(_rconde), (*C.float)(_rcondv), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_logical)(_bwork)))
  5840  }
  5841  
  5842  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggevx.f.
  5843  func Zggevx(balanc byte, jobvl, jobvr lapack.Job, sense byte, n int, a []complex128, lda int, b []complex128, ldb int, alpha, beta, vl []complex128, ldvl int, vr []complex128, ldvr int, ilo, ihi []int32, lscale, rscale, abnrm, bbnrm, rconde, rcondv []float64, work []complex128, lwork int, rwork []float64, iwork, bwork []int32) bool {
  5844  	var _a *complex128
  5845  	if len(a) > 0 {
  5846  		_a = &a[0]
  5847  	}
  5848  	var _b *complex128
  5849  	if len(b) > 0 {
  5850  		_b = &b[0]
  5851  	}
  5852  	var _alpha *complex128
  5853  	if len(alpha) > 0 {
  5854  		_alpha = &alpha[0]
  5855  	}
  5856  	var _beta *complex128
  5857  	if len(beta) > 0 {
  5858  		_beta = &beta[0]
  5859  	}
  5860  	var _vl *complex128
  5861  	if len(vl) > 0 {
  5862  		_vl = &vl[0]
  5863  	}
  5864  	var _vr *complex128
  5865  	if len(vr) > 0 {
  5866  		_vr = &vr[0]
  5867  	}
  5868  	var _ilo *int32
  5869  	if len(ilo) > 0 {
  5870  		_ilo = &ilo[0]
  5871  	}
  5872  	var _ihi *int32
  5873  	if len(ihi) > 0 {
  5874  		_ihi = &ihi[0]
  5875  	}
  5876  	var _lscale *float64
  5877  	if len(lscale) > 0 {
  5878  		_lscale = &lscale[0]
  5879  	}
  5880  	var _rscale *float64
  5881  	if len(rscale) > 0 {
  5882  		_rscale = &rscale[0]
  5883  	}
  5884  	var _abnrm *float64
  5885  	if len(abnrm) > 0 {
  5886  		_abnrm = &abnrm[0]
  5887  	}
  5888  	var _bbnrm *float64
  5889  	if len(bbnrm) > 0 {
  5890  		_bbnrm = &bbnrm[0]
  5891  	}
  5892  	var _rconde *float64
  5893  	if len(rconde) > 0 {
  5894  		_rconde = &rconde[0]
  5895  	}
  5896  	var _rcondv *float64
  5897  	if len(rcondv) > 0 {
  5898  		_rcondv = &rcondv[0]
  5899  	}
  5900  	var _work *complex128
  5901  	if len(work) > 0 {
  5902  		_work = &work[0]
  5903  	}
  5904  	var _rwork *float64
  5905  	if len(rwork) > 0 {
  5906  		_rwork = &rwork[0]
  5907  	}
  5908  	var _iwork *int32
  5909  	if len(iwork) > 0 {
  5910  		_iwork = &iwork[0]
  5911  	}
  5912  	var _bwork *int32
  5913  	if len(bwork) > 0 {
  5914  		_bwork = &bwork[0]
  5915  	}
  5916  	return isZero(C.LAPACKE_zggevx_work((C.int)(rowMajor), (C.char)(balanc), (C.char)(jobvl), (C.char)(jobvr), (C.char)(sense), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_alpha), (*C.lapack_complex_double)(_beta), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (*C.lapack_int)(_ilo), (*C.lapack_int)(_ihi), (*C.double)(_lscale), (*C.double)(_rscale), (*C.double)(_abnrm), (*C.double)(_bbnrm), (*C.double)(_rconde), (*C.double)(_rcondv), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_logical)(_bwork)))
  5917  }
  5918  
  5919  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggglm.f.
  5920  func Sggglm(n, m, p int, a []float32, lda int, b []float32, ldb int, d, x, y, work []float32, lwork int) bool {
  5921  	var _a *float32
  5922  	if len(a) > 0 {
  5923  		_a = &a[0]
  5924  	}
  5925  	var _b *float32
  5926  	if len(b) > 0 {
  5927  		_b = &b[0]
  5928  	}
  5929  	var _d *float32
  5930  	if len(d) > 0 {
  5931  		_d = &d[0]
  5932  	}
  5933  	var _x *float32
  5934  	if len(x) > 0 {
  5935  		_x = &x[0]
  5936  	}
  5937  	var _y *float32
  5938  	if len(y) > 0 {
  5939  		_y = &y[0]
  5940  	}
  5941  	var _work *float32
  5942  	if len(work) > 0 {
  5943  		_work = &work[0]
  5944  	}
  5945  	return isZero(C.LAPACKE_sggglm_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(m), (C.lapack_int)(p), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_d), (*C.float)(_x), (*C.float)(_y), (*C.float)(_work), (C.lapack_int)(lwork)))
  5946  }
  5947  
  5948  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggglm.f.
  5949  func Dggglm(n, m, p int, a []float64, lda int, b []float64, ldb int, d, x, y, work []float64, lwork int) bool {
  5950  	var _a *float64
  5951  	if len(a) > 0 {
  5952  		_a = &a[0]
  5953  	}
  5954  	var _b *float64
  5955  	if len(b) > 0 {
  5956  		_b = &b[0]
  5957  	}
  5958  	var _d *float64
  5959  	if len(d) > 0 {
  5960  		_d = &d[0]
  5961  	}
  5962  	var _x *float64
  5963  	if len(x) > 0 {
  5964  		_x = &x[0]
  5965  	}
  5966  	var _y *float64
  5967  	if len(y) > 0 {
  5968  		_y = &y[0]
  5969  	}
  5970  	var _work *float64
  5971  	if len(work) > 0 {
  5972  		_work = &work[0]
  5973  	}
  5974  	return isZero(C.LAPACKE_dggglm_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(m), (C.lapack_int)(p), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_d), (*C.double)(_x), (*C.double)(_y), (*C.double)(_work), (C.lapack_int)(lwork)))
  5975  }
  5976  
  5977  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggglm.f.
  5978  func Cggglm(n, m, p int, a []complex64, lda int, b []complex64, ldb int, d, x, y, work []complex64, lwork int) bool {
  5979  	var _a *complex64
  5980  	if len(a) > 0 {
  5981  		_a = &a[0]
  5982  	}
  5983  	var _b *complex64
  5984  	if len(b) > 0 {
  5985  		_b = &b[0]
  5986  	}
  5987  	var _d *complex64
  5988  	if len(d) > 0 {
  5989  		_d = &d[0]
  5990  	}
  5991  	var _x *complex64
  5992  	if len(x) > 0 {
  5993  		_x = &x[0]
  5994  	}
  5995  	var _y *complex64
  5996  	if len(y) > 0 {
  5997  		_y = &y[0]
  5998  	}
  5999  	var _work *complex64
  6000  	if len(work) > 0 {
  6001  		_work = &work[0]
  6002  	}
  6003  	return isZero(C.LAPACKE_cggglm_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(m), (C.lapack_int)(p), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_d), (*C.lapack_complex_float)(_x), (*C.lapack_complex_float)(_y), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  6004  }
  6005  
  6006  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggglm.f.
  6007  func Zggglm(n, m, p int, a []complex128, lda int, b []complex128, ldb int, d, x, y, work []complex128, lwork int) bool {
  6008  	var _a *complex128
  6009  	if len(a) > 0 {
  6010  		_a = &a[0]
  6011  	}
  6012  	var _b *complex128
  6013  	if len(b) > 0 {
  6014  		_b = &b[0]
  6015  	}
  6016  	var _d *complex128
  6017  	if len(d) > 0 {
  6018  		_d = &d[0]
  6019  	}
  6020  	var _x *complex128
  6021  	if len(x) > 0 {
  6022  		_x = &x[0]
  6023  	}
  6024  	var _y *complex128
  6025  	if len(y) > 0 {
  6026  		_y = &y[0]
  6027  	}
  6028  	var _work *complex128
  6029  	if len(work) > 0 {
  6030  		_work = &work[0]
  6031  	}
  6032  	return isZero(C.LAPACKE_zggglm_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(m), (C.lapack_int)(p), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_d), (*C.lapack_complex_double)(_x), (*C.lapack_complex_double)(_y), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  6033  }
  6034  
  6035  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgghrd.f.
  6036  func Sgghrd(compq, compz lapack.Comp, n, ilo, ihi int, a []float32, lda int, b []float32, ldb int, q []float32, ldq int, z []float32, ldz int) bool {
  6037  	var _a *float32
  6038  	if len(a) > 0 {
  6039  		_a = &a[0]
  6040  	}
  6041  	var _b *float32
  6042  	if len(b) > 0 {
  6043  		_b = &b[0]
  6044  	}
  6045  	var _q *float32
  6046  	if len(q) > 0 {
  6047  		_q = &q[0]
  6048  	}
  6049  	var _z *float32
  6050  	if len(z) > 0 {
  6051  		_z = &z[0]
  6052  	}
  6053  	return isZero(C.LAPACKE_sgghrd_work((C.int)(rowMajor), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_z), (C.lapack_int)(ldz)))
  6054  }
  6055  
  6056  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgghrd.f.
  6057  func Dgghrd(compq, compz lapack.Comp, n, ilo, ihi int, a []float64, lda int, b []float64, ldb int, q []float64, ldq int, z []float64, ldz int) bool {
  6058  	var _a *float64
  6059  	if len(a) > 0 {
  6060  		_a = &a[0]
  6061  	}
  6062  	var _b *float64
  6063  	if len(b) > 0 {
  6064  		_b = &b[0]
  6065  	}
  6066  	var _q *float64
  6067  	if len(q) > 0 {
  6068  		_q = &q[0]
  6069  	}
  6070  	var _z *float64
  6071  	if len(z) > 0 {
  6072  		_z = &z[0]
  6073  	}
  6074  	return isZero(C.LAPACKE_dgghrd_work((C.int)(rowMajor), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_z), (C.lapack_int)(ldz)))
  6075  }
  6076  
  6077  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgghrd.f.
  6078  func Cgghrd(compq, compz lapack.Comp, n, ilo, ihi int, a []complex64, lda int, b []complex64, ldb int, q []complex64, ldq int, z []complex64, ldz int) bool {
  6079  	var _a *complex64
  6080  	if len(a) > 0 {
  6081  		_a = &a[0]
  6082  	}
  6083  	var _b *complex64
  6084  	if len(b) > 0 {
  6085  		_b = &b[0]
  6086  	}
  6087  	var _q *complex64
  6088  	if len(q) > 0 {
  6089  		_q = &q[0]
  6090  	}
  6091  	var _z *complex64
  6092  	if len(z) > 0 {
  6093  		_z = &z[0]
  6094  	}
  6095  	return isZero(C.LAPACKE_cgghrd_work((C.int)(rowMajor), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz)))
  6096  }
  6097  
  6098  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgghrd.f.
  6099  func Zgghrd(compq, compz lapack.Comp, n, ilo, ihi int, a []complex128, lda int, b []complex128, ldb int, q []complex128, ldq int, z []complex128, ldz int) bool {
  6100  	var _a *complex128
  6101  	if len(a) > 0 {
  6102  		_a = &a[0]
  6103  	}
  6104  	var _b *complex128
  6105  	if len(b) > 0 {
  6106  		_b = &b[0]
  6107  	}
  6108  	var _q *complex128
  6109  	if len(q) > 0 {
  6110  		_q = &q[0]
  6111  	}
  6112  	var _z *complex128
  6113  	if len(z) > 0 {
  6114  		_z = &z[0]
  6115  	}
  6116  	return isZero(C.LAPACKE_zgghrd_work((C.int)(rowMajor), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz)))
  6117  }
  6118  
  6119  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgghd3.f.
  6120  func Sgghd3(compq, compz lapack.Comp, n, ilo, ihi int, a []float32, lda int, b []float32, ldb int, q []float32, ldq int, z []float32, ldz int, work []float32, lwork int) bool {
  6121  	var _a *float32
  6122  	if len(a) > 0 {
  6123  		_a = &a[0]
  6124  	}
  6125  	var _b *float32
  6126  	if len(b) > 0 {
  6127  		_b = &b[0]
  6128  	}
  6129  	var _q *float32
  6130  	if len(q) > 0 {
  6131  		_q = &q[0]
  6132  	}
  6133  	var _z *float32
  6134  	if len(z) > 0 {
  6135  		_z = &z[0]
  6136  	}
  6137  	var _work *float32
  6138  	if len(work) > 0 {
  6139  		_work = &work[0]
  6140  	}
  6141  	return isZero(C.LAPACKE_sgghd3_work((C.int)(rowMajor), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork)))
  6142  }
  6143  
  6144  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgghd3.f.
  6145  func Dgghd3(compq, compz lapack.Comp, n, ilo, ihi int, a []float64, lda int, b []float64, ldb int, q []float64, ldq int, z []float64, ldz int, work []float64, lwork int) bool {
  6146  	var _a *float64
  6147  	if len(a) > 0 {
  6148  		_a = &a[0]
  6149  	}
  6150  	var _b *float64
  6151  	if len(b) > 0 {
  6152  		_b = &b[0]
  6153  	}
  6154  	var _q *float64
  6155  	if len(q) > 0 {
  6156  		_q = &q[0]
  6157  	}
  6158  	var _z *float64
  6159  	if len(z) > 0 {
  6160  		_z = &z[0]
  6161  	}
  6162  	var _work *float64
  6163  	if len(work) > 0 {
  6164  		_work = &work[0]
  6165  	}
  6166  	return isZero(C.LAPACKE_dgghd3_work((C.int)(rowMajor), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork)))
  6167  }
  6168  
  6169  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgghd3.f.
  6170  func Cgghd3(compq, compz lapack.Comp, n, ilo, ihi int, a []complex64, lda int, b []complex64, ldb int, q []complex64, ldq int, z []complex64, ldz int, work []complex64, lwork int) bool {
  6171  	var _a *complex64
  6172  	if len(a) > 0 {
  6173  		_a = &a[0]
  6174  	}
  6175  	var _b *complex64
  6176  	if len(b) > 0 {
  6177  		_b = &b[0]
  6178  	}
  6179  	var _q *complex64
  6180  	if len(q) > 0 {
  6181  		_q = &q[0]
  6182  	}
  6183  	var _z *complex64
  6184  	if len(z) > 0 {
  6185  		_z = &z[0]
  6186  	}
  6187  	var _work *complex64
  6188  	if len(work) > 0 {
  6189  		_work = &work[0]
  6190  	}
  6191  	return isZero(C.LAPACKE_cgghd3_work((C.int)(rowMajor), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  6192  }
  6193  
  6194  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgghd3.f.
  6195  func Zgghd3(compq, compz lapack.Comp, n, ilo, ihi int, a []complex128, lda int, b []complex128, ldb int, q []complex128, ldq int, z []complex128, ldz int, work []complex128, lwork int) bool {
  6196  	var _a *complex128
  6197  	if len(a) > 0 {
  6198  		_a = &a[0]
  6199  	}
  6200  	var _b *complex128
  6201  	if len(b) > 0 {
  6202  		_b = &b[0]
  6203  	}
  6204  	var _q *complex128
  6205  	if len(q) > 0 {
  6206  		_q = &q[0]
  6207  	}
  6208  	var _z *complex128
  6209  	if len(z) > 0 {
  6210  		_z = &z[0]
  6211  	}
  6212  	var _work *complex128
  6213  	if len(work) > 0 {
  6214  		_work = &work[0]
  6215  	}
  6216  	return isZero(C.LAPACKE_zgghd3_work((C.int)(rowMajor), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  6217  }
  6218  
  6219  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgglse.f.
  6220  func Sgglse(m, n, p int, a []float32, lda int, b []float32, ldb int, c, d, x, work []float32, lwork int) bool {
  6221  	var _a *float32
  6222  	if len(a) > 0 {
  6223  		_a = &a[0]
  6224  	}
  6225  	var _b *float32
  6226  	if len(b) > 0 {
  6227  		_b = &b[0]
  6228  	}
  6229  	var _c *float32
  6230  	if len(c) > 0 {
  6231  		_c = &c[0]
  6232  	}
  6233  	var _d *float32
  6234  	if len(d) > 0 {
  6235  		_d = &d[0]
  6236  	}
  6237  	var _x *float32
  6238  	if len(x) > 0 {
  6239  		_x = &x[0]
  6240  	}
  6241  	var _work *float32
  6242  	if len(work) > 0 {
  6243  		_work = &work[0]
  6244  	}
  6245  	return isZero(C.LAPACKE_sgglse_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(p), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_c), (*C.float)(_d), (*C.float)(_x), (*C.float)(_work), (C.lapack_int)(lwork)))
  6246  }
  6247  
  6248  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgglse.f.
  6249  func Dgglse(m, n, p int, a []float64, lda int, b []float64, ldb int, c, d, x, work []float64, lwork int) bool {
  6250  	var _a *float64
  6251  	if len(a) > 0 {
  6252  		_a = &a[0]
  6253  	}
  6254  	var _b *float64
  6255  	if len(b) > 0 {
  6256  		_b = &b[0]
  6257  	}
  6258  	var _c *float64
  6259  	if len(c) > 0 {
  6260  		_c = &c[0]
  6261  	}
  6262  	var _d *float64
  6263  	if len(d) > 0 {
  6264  		_d = &d[0]
  6265  	}
  6266  	var _x *float64
  6267  	if len(x) > 0 {
  6268  		_x = &x[0]
  6269  	}
  6270  	var _work *float64
  6271  	if len(work) > 0 {
  6272  		_work = &work[0]
  6273  	}
  6274  	return isZero(C.LAPACKE_dgglse_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(p), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_c), (*C.double)(_d), (*C.double)(_x), (*C.double)(_work), (C.lapack_int)(lwork)))
  6275  }
  6276  
  6277  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgglse.f.
  6278  func Cgglse(m, n, p int, a []complex64, lda int, b []complex64, ldb int, c, d, x, work []complex64, lwork int) bool {
  6279  	var _a *complex64
  6280  	if len(a) > 0 {
  6281  		_a = &a[0]
  6282  	}
  6283  	var _b *complex64
  6284  	if len(b) > 0 {
  6285  		_b = &b[0]
  6286  	}
  6287  	var _c *complex64
  6288  	if len(c) > 0 {
  6289  		_c = &c[0]
  6290  	}
  6291  	var _d *complex64
  6292  	if len(d) > 0 {
  6293  		_d = &d[0]
  6294  	}
  6295  	var _x *complex64
  6296  	if len(x) > 0 {
  6297  		_x = &x[0]
  6298  	}
  6299  	var _work *complex64
  6300  	if len(work) > 0 {
  6301  		_work = &work[0]
  6302  	}
  6303  	return isZero(C.LAPACKE_cgglse_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(p), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_c), (*C.lapack_complex_float)(_d), (*C.lapack_complex_float)(_x), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  6304  }
  6305  
  6306  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgglse.f.
  6307  func Zgglse(m, n, p int, a []complex128, lda int, b []complex128, ldb int, c, d, x, work []complex128, lwork int) bool {
  6308  	var _a *complex128
  6309  	if len(a) > 0 {
  6310  		_a = &a[0]
  6311  	}
  6312  	var _b *complex128
  6313  	if len(b) > 0 {
  6314  		_b = &b[0]
  6315  	}
  6316  	var _c *complex128
  6317  	if len(c) > 0 {
  6318  		_c = &c[0]
  6319  	}
  6320  	var _d *complex128
  6321  	if len(d) > 0 {
  6322  		_d = &d[0]
  6323  	}
  6324  	var _x *complex128
  6325  	if len(x) > 0 {
  6326  		_x = &x[0]
  6327  	}
  6328  	var _work *complex128
  6329  	if len(work) > 0 {
  6330  		_work = &work[0]
  6331  	}
  6332  	return isZero(C.LAPACKE_zgglse_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(p), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_c), (*C.lapack_complex_double)(_d), (*C.lapack_complex_double)(_x), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  6333  }
  6334  
  6335  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggqrf.f.
  6336  func Sggqrf(n, m, p int, a []float32, lda int, taua, b []float32, ldb int, taub, work []float32, lwork int) bool {
  6337  	var _a *float32
  6338  	if len(a) > 0 {
  6339  		_a = &a[0]
  6340  	}
  6341  	var _taua *float32
  6342  	if len(taua) > 0 {
  6343  		_taua = &taua[0]
  6344  	}
  6345  	var _b *float32
  6346  	if len(b) > 0 {
  6347  		_b = &b[0]
  6348  	}
  6349  	var _taub *float32
  6350  	if len(taub) > 0 {
  6351  		_taub = &taub[0]
  6352  	}
  6353  	var _work *float32
  6354  	if len(work) > 0 {
  6355  		_work = &work[0]
  6356  	}
  6357  	return isZero(C.LAPACKE_sggqrf_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(m), (C.lapack_int)(p), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_taua), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_taub), (*C.float)(_work), (C.lapack_int)(lwork)))
  6358  }
  6359  
  6360  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggqrf.f.
  6361  func Dggqrf(n, m, p int, a []float64, lda int, taua, b []float64, ldb int, taub, work []float64, lwork int) bool {
  6362  	var _a *float64
  6363  	if len(a) > 0 {
  6364  		_a = &a[0]
  6365  	}
  6366  	var _taua *float64
  6367  	if len(taua) > 0 {
  6368  		_taua = &taua[0]
  6369  	}
  6370  	var _b *float64
  6371  	if len(b) > 0 {
  6372  		_b = &b[0]
  6373  	}
  6374  	var _taub *float64
  6375  	if len(taub) > 0 {
  6376  		_taub = &taub[0]
  6377  	}
  6378  	var _work *float64
  6379  	if len(work) > 0 {
  6380  		_work = &work[0]
  6381  	}
  6382  	return isZero(C.LAPACKE_dggqrf_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(m), (C.lapack_int)(p), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_taua), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_taub), (*C.double)(_work), (C.lapack_int)(lwork)))
  6383  }
  6384  
  6385  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggqrf.f.
  6386  func Cggqrf(n, m, p int, a []complex64, lda int, taua, b []complex64, ldb int, taub, work []complex64, lwork int) bool {
  6387  	var _a *complex64
  6388  	if len(a) > 0 {
  6389  		_a = &a[0]
  6390  	}
  6391  	var _taua *complex64
  6392  	if len(taua) > 0 {
  6393  		_taua = &taua[0]
  6394  	}
  6395  	var _b *complex64
  6396  	if len(b) > 0 {
  6397  		_b = &b[0]
  6398  	}
  6399  	var _taub *complex64
  6400  	if len(taub) > 0 {
  6401  		_taub = &taub[0]
  6402  	}
  6403  	var _work *complex64
  6404  	if len(work) > 0 {
  6405  		_work = &work[0]
  6406  	}
  6407  	return isZero(C.LAPACKE_cggqrf_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(m), (C.lapack_int)(p), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_taua), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_taub), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  6408  }
  6409  
  6410  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggqrf.f.
  6411  func Zggqrf(n, m, p int, a []complex128, lda int, taua, b []complex128, ldb int, taub, work []complex128, lwork int) bool {
  6412  	var _a *complex128
  6413  	if len(a) > 0 {
  6414  		_a = &a[0]
  6415  	}
  6416  	var _taua *complex128
  6417  	if len(taua) > 0 {
  6418  		_taua = &taua[0]
  6419  	}
  6420  	var _b *complex128
  6421  	if len(b) > 0 {
  6422  		_b = &b[0]
  6423  	}
  6424  	var _taub *complex128
  6425  	if len(taub) > 0 {
  6426  		_taub = &taub[0]
  6427  	}
  6428  	var _work *complex128
  6429  	if len(work) > 0 {
  6430  		_work = &work[0]
  6431  	}
  6432  	return isZero(C.LAPACKE_zggqrf_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(m), (C.lapack_int)(p), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_taua), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_taub), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  6433  }
  6434  
  6435  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggrqf.f.
  6436  func Sggrqf(m, p, n int, a []float32, lda int, taua, b []float32, ldb int, taub, work []float32, lwork int) bool {
  6437  	var _a *float32
  6438  	if len(a) > 0 {
  6439  		_a = &a[0]
  6440  	}
  6441  	var _taua *float32
  6442  	if len(taua) > 0 {
  6443  		_taua = &taua[0]
  6444  	}
  6445  	var _b *float32
  6446  	if len(b) > 0 {
  6447  		_b = &b[0]
  6448  	}
  6449  	var _taub *float32
  6450  	if len(taub) > 0 {
  6451  		_taub = &taub[0]
  6452  	}
  6453  	var _work *float32
  6454  	if len(work) > 0 {
  6455  		_work = &work[0]
  6456  	}
  6457  	return isZero(C.LAPACKE_sggrqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_taua), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_taub), (*C.float)(_work), (C.lapack_int)(lwork)))
  6458  }
  6459  
  6460  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggrqf.f.
  6461  func Dggrqf(m, p, n int, a []float64, lda int, taua, b []float64, ldb int, taub, work []float64, lwork int) bool {
  6462  	var _a *float64
  6463  	if len(a) > 0 {
  6464  		_a = &a[0]
  6465  	}
  6466  	var _taua *float64
  6467  	if len(taua) > 0 {
  6468  		_taua = &taua[0]
  6469  	}
  6470  	var _b *float64
  6471  	if len(b) > 0 {
  6472  		_b = &b[0]
  6473  	}
  6474  	var _taub *float64
  6475  	if len(taub) > 0 {
  6476  		_taub = &taub[0]
  6477  	}
  6478  	var _work *float64
  6479  	if len(work) > 0 {
  6480  		_work = &work[0]
  6481  	}
  6482  	return isZero(C.LAPACKE_dggrqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_taua), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_taub), (*C.double)(_work), (C.lapack_int)(lwork)))
  6483  }
  6484  
  6485  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggrqf.f.
  6486  func Cggrqf(m, p, n int, a []complex64, lda int, taua, b []complex64, ldb int, taub, work []complex64, lwork int) bool {
  6487  	var _a *complex64
  6488  	if len(a) > 0 {
  6489  		_a = &a[0]
  6490  	}
  6491  	var _taua *complex64
  6492  	if len(taua) > 0 {
  6493  		_taua = &taua[0]
  6494  	}
  6495  	var _b *complex64
  6496  	if len(b) > 0 {
  6497  		_b = &b[0]
  6498  	}
  6499  	var _taub *complex64
  6500  	if len(taub) > 0 {
  6501  		_taub = &taub[0]
  6502  	}
  6503  	var _work *complex64
  6504  	if len(work) > 0 {
  6505  		_work = &work[0]
  6506  	}
  6507  	return isZero(C.LAPACKE_cggrqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_taua), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_taub), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  6508  }
  6509  
  6510  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggrqf.f.
  6511  func Zggrqf(m, p, n int, a []complex128, lda int, taua, b []complex128, ldb int, taub, work []complex128, lwork int) bool {
  6512  	var _a *complex128
  6513  	if len(a) > 0 {
  6514  		_a = &a[0]
  6515  	}
  6516  	var _taua *complex128
  6517  	if len(taua) > 0 {
  6518  		_taua = &taua[0]
  6519  	}
  6520  	var _b *complex128
  6521  	if len(b) > 0 {
  6522  		_b = &b[0]
  6523  	}
  6524  	var _taub *complex128
  6525  	if len(taub) > 0 {
  6526  		_taub = &taub[0]
  6527  	}
  6528  	var _work *complex128
  6529  	if len(work) > 0 {
  6530  		_work = &work[0]
  6531  	}
  6532  	return isZero(C.LAPACKE_zggrqf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_taua), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_taub), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  6533  }
  6534  
  6535  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggsvd3.f.
  6536  func Sggsvd3(jobu, jobv, jobq lapack.Job, m, n, p int, k, l []int32, a []float32, lda int, b []float32, ldb int, alpha, beta, u []float32, ldu int, v []float32, ldv int, q []float32, ldq int, work []float32, lwork int, iwork []int32) bool {
  6537  	var _k *int32
  6538  	if len(k) > 0 {
  6539  		_k = &k[0]
  6540  	}
  6541  	var _l *int32
  6542  	if len(l) > 0 {
  6543  		_l = &l[0]
  6544  	}
  6545  	var _a *float32
  6546  	if len(a) > 0 {
  6547  		_a = &a[0]
  6548  	}
  6549  	var _b *float32
  6550  	if len(b) > 0 {
  6551  		_b = &b[0]
  6552  	}
  6553  	var _alpha *float32
  6554  	if len(alpha) > 0 {
  6555  		_alpha = &alpha[0]
  6556  	}
  6557  	var _beta *float32
  6558  	if len(beta) > 0 {
  6559  		_beta = &beta[0]
  6560  	}
  6561  	var _u *float32
  6562  	if len(u) > 0 {
  6563  		_u = &u[0]
  6564  	}
  6565  	var _v *float32
  6566  	if len(v) > 0 {
  6567  		_v = &v[0]
  6568  	}
  6569  	var _q *float32
  6570  	if len(q) > 0 {
  6571  		_q = &q[0]
  6572  	}
  6573  	var _work *float32
  6574  	if len(work) > 0 {
  6575  		_work = &work[0]
  6576  	}
  6577  	var _iwork *int32
  6578  	if len(iwork) > 0 {
  6579  		_iwork = &iwork[0]
  6580  	}
  6581  	return isZero(C.LAPACKE_sggsvd3_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(p), (*C.lapack_int)(_k), (*C.lapack_int)(_l), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_alpha), (*C.float)(_beta), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  6582  }
  6583  
  6584  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggsvd3.f.
  6585  func Dggsvd3(jobu, jobv, jobq lapack.Job, m, n, p int, k, l []int32, a []float64, lda int, b []float64, ldb int, alpha, beta, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, work []float64, lwork int, iwork []int32) bool {
  6586  	var _k *int32
  6587  	if len(k) > 0 {
  6588  		_k = &k[0]
  6589  	}
  6590  	var _l *int32
  6591  	if len(l) > 0 {
  6592  		_l = &l[0]
  6593  	}
  6594  	var _a *float64
  6595  	if len(a) > 0 {
  6596  		_a = &a[0]
  6597  	}
  6598  	var _b *float64
  6599  	if len(b) > 0 {
  6600  		_b = &b[0]
  6601  	}
  6602  	var _alpha *float64
  6603  	if len(alpha) > 0 {
  6604  		_alpha = &alpha[0]
  6605  	}
  6606  	var _beta *float64
  6607  	if len(beta) > 0 {
  6608  		_beta = &beta[0]
  6609  	}
  6610  	var _u *float64
  6611  	if len(u) > 0 {
  6612  		_u = &u[0]
  6613  	}
  6614  	var _v *float64
  6615  	if len(v) > 0 {
  6616  		_v = &v[0]
  6617  	}
  6618  	var _q *float64
  6619  	if len(q) > 0 {
  6620  		_q = &q[0]
  6621  	}
  6622  	var _work *float64
  6623  	if len(work) > 0 {
  6624  		_work = &work[0]
  6625  	}
  6626  	var _iwork *int32
  6627  	if len(iwork) > 0 {
  6628  		_iwork = &iwork[0]
  6629  	}
  6630  	return isZero(C.LAPACKE_dggsvd3_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(p), (*C.lapack_int)(_k), (*C.lapack_int)(_l), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_alpha), (*C.double)(_beta), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
  6631  }
  6632  
  6633  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggsvd3.f.
  6634  func Cggsvd3(jobu, jobv, jobq lapack.Job, m, n, p int, k, l []int32, a []complex64, lda int, b []complex64, ldb int, alpha, beta []float32, u []complex64, ldu int, v []complex64, ldv int, q []complex64, ldq int, work []complex64, lwork int, rwork []float32, iwork []int32) bool {
  6635  	var _k *int32
  6636  	if len(k) > 0 {
  6637  		_k = &k[0]
  6638  	}
  6639  	var _l *int32
  6640  	if len(l) > 0 {
  6641  		_l = &l[0]
  6642  	}
  6643  	var _a *complex64
  6644  	if len(a) > 0 {
  6645  		_a = &a[0]
  6646  	}
  6647  	var _b *complex64
  6648  	if len(b) > 0 {
  6649  		_b = &b[0]
  6650  	}
  6651  	var _alpha *float32
  6652  	if len(alpha) > 0 {
  6653  		_alpha = &alpha[0]
  6654  	}
  6655  	var _beta *float32
  6656  	if len(beta) > 0 {
  6657  		_beta = &beta[0]
  6658  	}
  6659  	var _u *complex64
  6660  	if len(u) > 0 {
  6661  		_u = &u[0]
  6662  	}
  6663  	var _v *complex64
  6664  	if len(v) > 0 {
  6665  		_v = &v[0]
  6666  	}
  6667  	var _q *complex64
  6668  	if len(q) > 0 {
  6669  		_q = &q[0]
  6670  	}
  6671  	var _work *complex64
  6672  	if len(work) > 0 {
  6673  		_work = &work[0]
  6674  	}
  6675  	var _rwork *float32
  6676  	if len(rwork) > 0 {
  6677  		_rwork = &rwork[0]
  6678  	}
  6679  	var _iwork *int32
  6680  	if len(iwork) > 0 {
  6681  		_iwork = &iwork[0]
  6682  	}
  6683  	return isZero(C.LAPACKE_cggsvd3_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(p), (*C.lapack_int)(_k), (*C.lapack_int)(_l), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.float)(_alpha), (*C.float)(_beta), (*C.lapack_complex_float)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (*C.lapack_int)(_iwork)))
  6684  }
  6685  
  6686  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggsvd3.f.
  6687  func Zggsvd3(jobu, jobv, jobq lapack.Job, m, n, p int, k, l []int32, a []complex128, lda int, b []complex128, ldb int, alpha, beta []float64, u []complex128, ldu int, v []complex128, ldv int, q []complex128, ldq int, work []complex128, lwork int, rwork []float64, iwork []int32) bool {
  6688  	var _k *int32
  6689  	if len(k) > 0 {
  6690  		_k = &k[0]
  6691  	}
  6692  	var _l *int32
  6693  	if len(l) > 0 {
  6694  		_l = &l[0]
  6695  	}
  6696  	var _a *complex128
  6697  	if len(a) > 0 {
  6698  		_a = &a[0]
  6699  	}
  6700  	var _b *complex128
  6701  	if len(b) > 0 {
  6702  		_b = &b[0]
  6703  	}
  6704  	var _alpha *float64
  6705  	if len(alpha) > 0 {
  6706  		_alpha = &alpha[0]
  6707  	}
  6708  	var _beta *float64
  6709  	if len(beta) > 0 {
  6710  		_beta = &beta[0]
  6711  	}
  6712  	var _u *complex128
  6713  	if len(u) > 0 {
  6714  		_u = &u[0]
  6715  	}
  6716  	var _v *complex128
  6717  	if len(v) > 0 {
  6718  		_v = &v[0]
  6719  	}
  6720  	var _q *complex128
  6721  	if len(q) > 0 {
  6722  		_q = &q[0]
  6723  	}
  6724  	var _work *complex128
  6725  	if len(work) > 0 {
  6726  		_work = &work[0]
  6727  	}
  6728  	var _rwork *float64
  6729  	if len(rwork) > 0 {
  6730  		_rwork = &rwork[0]
  6731  	}
  6732  	var _iwork *int32
  6733  	if len(iwork) > 0 {
  6734  		_iwork = &iwork[0]
  6735  	}
  6736  	return isZero(C.LAPACKE_zggsvd3_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(p), (*C.lapack_int)(_k), (*C.lapack_int)(_l), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.double)(_alpha), (*C.double)(_beta), (*C.lapack_complex_double)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (*C.lapack_int)(_iwork)))
  6737  }
  6738  
  6739  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sggsvp3.f.
  6740  func Sggsvp3(jobu, jobv, jobq lapack.Job, m, p, n int, a []float32, lda int, b []float32, ldb int, tola, tolb float32, k, l []int32, u []float32, ldu int, v []float32, ldv int, q []float32, ldq int, iwork []int32, tau, work []float32, lwork int) bool {
  6741  	var _a *float32
  6742  	if len(a) > 0 {
  6743  		_a = &a[0]
  6744  	}
  6745  	var _b *float32
  6746  	if len(b) > 0 {
  6747  		_b = &b[0]
  6748  	}
  6749  	var _k *int32
  6750  	if len(k) > 0 {
  6751  		_k = &k[0]
  6752  	}
  6753  	var _l *int32
  6754  	if len(l) > 0 {
  6755  		_l = &l[0]
  6756  	}
  6757  	var _u *float32
  6758  	if len(u) > 0 {
  6759  		_u = &u[0]
  6760  	}
  6761  	var _v *float32
  6762  	if len(v) > 0 {
  6763  		_v = &v[0]
  6764  	}
  6765  	var _q *float32
  6766  	if len(q) > 0 {
  6767  		_q = &q[0]
  6768  	}
  6769  	var _iwork *int32
  6770  	if len(iwork) > 0 {
  6771  		_iwork = &iwork[0]
  6772  	}
  6773  	var _tau *float32
  6774  	if len(tau) > 0 {
  6775  		_tau = &tau[0]
  6776  	}
  6777  	var _work *float32
  6778  	if len(work) > 0 {
  6779  		_work = &work[0]
  6780  	}
  6781  	return isZero(C.LAPACKE_sggsvp3_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (C.float)(tola), (C.float)(tolb), (*C.lapack_int)(_k), (*C.lapack_int)(_l), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_q), (C.lapack_int)(ldq), (*C.lapack_int)(_iwork), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
  6782  }
  6783  
  6784  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dggsvp3.f.
  6785  func Dggsvp3(jobu, jobv, jobq lapack.Job, m, p, n int, a []float64, lda int, b []float64, ldb int, tola, tolb float64, k, l []int32, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, iwork []int32, tau, work []float64, lwork int) bool {
  6786  	var _a *float64
  6787  	if len(a) > 0 {
  6788  		_a = &a[0]
  6789  	}
  6790  	var _b *float64
  6791  	if len(b) > 0 {
  6792  		_b = &b[0]
  6793  	}
  6794  	var _k *int32
  6795  	if len(k) > 0 {
  6796  		_k = &k[0]
  6797  	}
  6798  	var _l *int32
  6799  	if len(l) > 0 {
  6800  		_l = &l[0]
  6801  	}
  6802  	var _u *float64
  6803  	if len(u) > 0 {
  6804  		_u = &u[0]
  6805  	}
  6806  	var _v *float64
  6807  	if len(v) > 0 {
  6808  		_v = &v[0]
  6809  	}
  6810  	var _q *float64
  6811  	if len(q) > 0 {
  6812  		_q = &q[0]
  6813  	}
  6814  	var _iwork *int32
  6815  	if len(iwork) > 0 {
  6816  		_iwork = &iwork[0]
  6817  	}
  6818  	var _tau *float64
  6819  	if len(tau) > 0 {
  6820  		_tau = &tau[0]
  6821  	}
  6822  	var _work *float64
  6823  	if len(work) > 0 {
  6824  		_work = &work[0]
  6825  	}
  6826  	return isZero(C.LAPACKE_dggsvp3_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (C.double)(tola), (C.double)(tolb), (*C.lapack_int)(_k), (*C.lapack_int)(_l), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_q), (C.lapack_int)(ldq), (*C.lapack_int)(_iwork), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
  6827  }
  6828  
  6829  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cggsvp3.f.
  6830  func Cggsvp3(jobu, jobv, jobq lapack.Job, m, p, n int, a []complex64, lda int, b []complex64, ldb int, tola, tolb float32, k, l []int32, u []complex64, ldu int, v []complex64, ldv int, q []complex64, ldq int, iwork []int32, rwork []float32, tau, work []complex64, lwork int) bool {
  6831  	var _a *complex64
  6832  	if len(a) > 0 {
  6833  		_a = &a[0]
  6834  	}
  6835  	var _b *complex64
  6836  	if len(b) > 0 {
  6837  		_b = &b[0]
  6838  	}
  6839  	var _k *int32
  6840  	if len(k) > 0 {
  6841  		_k = &k[0]
  6842  	}
  6843  	var _l *int32
  6844  	if len(l) > 0 {
  6845  		_l = &l[0]
  6846  	}
  6847  	var _u *complex64
  6848  	if len(u) > 0 {
  6849  		_u = &u[0]
  6850  	}
  6851  	var _v *complex64
  6852  	if len(v) > 0 {
  6853  		_v = &v[0]
  6854  	}
  6855  	var _q *complex64
  6856  	if len(q) > 0 {
  6857  		_q = &q[0]
  6858  	}
  6859  	var _iwork *int32
  6860  	if len(iwork) > 0 {
  6861  		_iwork = &iwork[0]
  6862  	}
  6863  	var _rwork *float32
  6864  	if len(rwork) > 0 {
  6865  		_rwork = &rwork[0]
  6866  	}
  6867  	var _tau *complex64
  6868  	if len(tau) > 0 {
  6869  		_tau = &tau[0]
  6870  	}
  6871  	var _work *complex64
  6872  	if len(work) > 0 {
  6873  		_work = &work[0]
  6874  	}
  6875  	return isZero(C.LAPACKE_cggsvp3_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (C.float)(tola), (C.float)(tolb), (*C.lapack_int)(_k), (*C.lapack_int)(_l), (*C.lapack_complex_float)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_int)(_iwork), (*C.float)(_rwork), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  6876  }
  6877  
  6878  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zggsvp3.f.
  6879  func Zggsvp3(jobu, jobv, jobq lapack.Job, m, p, n int, a []complex128, lda int, b []complex128, ldb int, tola, tolb float64, k, l []int32, u []complex128, ldu int, v []complex128, ldv int, q []complex128, ldq int, iwork []int32, rwork []float64, tau, work []complex128, lwork int) bool {
  6880  	var _a *complex128
  6881  	if len(a) > 0 {
  6882  		_a = &a[0]
  6883  	}
  6884  	var _b *complex128
  6885  	if len(b) > 0 {
  6886  		_b = &b[0]
  6887  	}
  6888  	var _k *int32
  6889  	if len(k) > 0 {
  6890  		_k = &k[0]
  6891  	}
  6892  	var _l *int32
  6893  	if len(l) > 0 {
  6894  		_l = &l[0]
  6895  	}
  6896  	var _u *complex128
  6897  	if len(u) > 0 {
  6898  		_u = &u[0]
  6899  	}
  6900  	var _v *complex128
  6901  	if len(v) > 0 {
  6902  		_v = &v[0]
  6903  	}
  6904  	var _q *complex128
  6905  	if len(q) > 0 {
  6906  		_q = &q[0]
  6907  	}
  6908  	var _iwork *int32
  6909  	if len(iwork) > 0 {
  6910  		_iwork = &iwork[0]
  6911  	}
  6912  	var _rwork *float64
  6913  	if len(rwork) > 0 {
  6914  		_rwork = &rwork[0]
  6915  	}
  6916  	var _tau *complex128
  6917  	if len(tau) > 0 {
  6918  		_tau = &tau[0]
  6919  	}
  6920  	var _work *complex128
  6921  	if len(work) > 0 {
  6922  		_work = &work[0]
  6923  	}
  6924  	return isZero(C.LAPACKE_zggsvp3_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (C.double)(tola), (C.double)(tolb), (*C.lapack_int)(_k), (*C.lapack_int)(_l), (*C.lapack_complex_double)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_int)(_iwork), (*C.double)(_rwork), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  6925  }
  6926  
  6927  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgtcon.f.
  6928  func Sgtcon(norm byte, n int, dl, d, du, du2 []float32, ipiv []int32, anorm float32, rcond, work []float32, iwork []int32) bool {
  6929  	var _dl *float32
  6930  	if len(dl) > 0 {
  6931  		_dl = &dl[0]
  6932  	}
  6933  	var _d *float32
  6934  	if len(d) > 0 {
  6935  		_d = &d[0]
  6936  	}
  6937  	var _du *float32
  6938  	if len(du) > 0 {
  6939  		_du = &du[0]
  6940  	}
  6941  	var _du2 *float32
  6942  	if len(du2) > 0 {
  6943  		_du2 = &du2[0]
  6944  	}
  6945  	var _ipiv *int32
  6946  	if len(ipiv) > 0 {
  6947  		_ipiv = &ipiv[0]
  6948  	}
  6949  	var _rcond *float32
  6950  	if len(rcond) > 0 {
  6951  		_rcond = &rcond[0]
  6952  	}
  6953  	var _work *float32
  6954  	if len(work) > 0 {
  6955  		_work = &work[0]
  6956  	}
  6957  	var _iwork *int32
  6958  	if len(iwork) > 0 {
  6959  		_iwork = &iwork[0]
  6960  	}
  6961  	return isZero(C.LAPACKE_sgtcon_work((C.char)(norm), (C.lapack_int)(n), (*C.float)(_dl), (*C.float)(_d), (*C.float)(_du), (*C.float)(_du2), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
  6962  }
  6963  
  6964  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgtcon.f.
  6965  func Dgtcon(norm byte, n int, dl, d, du, du2 []float64, ipiv []int32, anorm float64, rcond, work []float64, iwork []int32) bool {
  6966  	var _dl *float64
  6967  	if len(dl) > 0 {
  6968  		_dl = &dl[0]
  6969  	}
  6970  	var _d *float64
  6971  	if len(d) > 0 {
  6972  		_d = &d[0]
  6973  	}
  6974  	var _du *float64
  6975  	if len(du) > 0 {
  6976  		_du = &du[0]
  6977  	}
  6978  	var _du2 *float64
  6979  	if len(du2) > 0 {
  6980  		_du2 = &du2[0]
  6981  	}
  6982  	var _ipiv *int32
  6983  	if len(ipiv) > 0 {
  6984  		_ipiv = &ipiv[0]
  6985  	}
  6986  	var _rcond *float64
  6987  	if len(rcond) > 0 {
  6988  		_rcond = &rcond[0]
  6989  	}
  6990  	var _work *float64
  6991  	if len(work) > 0 {
  6992  		_work = &work[0]
  6993  	}
  6994  	var _iwork *int32
  6995  	if len(iwork) > 0 {
  6996  		_iwork = &iwork[0]
  6997  	}
  6998  	return isZero(C.LAPACKE_dgtcon_work((C.char)(norm), (C.lapack_int)(n), (*C.double)(_dl), (*C.double)(_d), (*C.double)(_du), (*C.double)(_du2), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
  6999  }
  7000  
  7001  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgtcon.f.
  7002  func Cgtcon(norm byte, n int, dl, d, du, du2 []complex64, ipiv []int32, anorm float32, rcond []float32, work []complex64) bool {
  7003  	var _dl *complex64
  7004  	if len(dl) > 0 {
  7005  		_dl = &dl[0]
  7006  	}
  7007  	var _d *complex64
  7008  	if len(d) > 0 {
  7009  		_d = &d[0]
  7010  	}
  7011  	var _du *complex64
  7012  	if len(du) > 0 {
  7013  		_du = &du[0]
  7014  	}
  7015  	var _du2 *complex64
  7016  	if len(du2) > 0 {
  7017  		_du2 = &du2[0]
  7018  	}
  7019  	var _ipiv *int32
  7020  	if len(ipiv) > 0 {
  7021  		_ipiv = &ipiv[0]
  7022  	}
  7023  	var _rcond *float32
  7024  	if len(rcond) > 0 {
  7025  		_rcond = &rcond[0]
  7026  	}
  7027  	var _work *complex64
  7028  	if len(work) > 0 {
  7029  		_work = &work[0]
  7030  	}
  7031  	return isZero(C.LAPACKE_cgtcon_work((C.char)(norm), (C.lapack_int)(n), (*C.lapack_complex_float)(_dl), (*C.lapack_complex_float)(_d), (*C.lapack_complex_float)(_du), (*C.lapack_complex_float)(_du2), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work)))
  7032  }
  7033  
  7034  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgtcon.f.
  7035  func Zgtcon(norm byte, n int, dl, d, du, du2 []complex128, ipiv []int32, anorm float64, rcond []float64, work []complex128) bool {
  7036  	var _dl *complex128
  7037  	if len(dl) > 0 {
  7038  		_dl = &dl[0]
  7039  	}
  7040  	var _d *complex128
  7041  	if len(d) > 0 {
  7042  		_d = &d[0]
  7043  	}
  7044  	var _du *complex128
  7045  	if len(du) > 0 {
  7046  		_du = &du[0]
  7047  	}
  7048  	var _du2 *complex128
  7049  	if len(du2) > 0 {
  7050  		_du2 = &du2[0]
  7051  	}
  7052  	var _ipiv *int32
  7053  	if len(ipiv) > 0 {
  7054  		_ipiv = &ipiv[0]
  7055  	}
  7056  	var _rcond *float64
  7057  	if len(rcond) > 0 {
  7058  		_rcond = &rcond[0]
  7059  	}
  7060  	var _work *complex128
  7061  	if len(work) > 0 {
  7062  		_work = &work[0]
  7063  	}
  7064  	return isZero(C.LAPACKE_zgtcon_work((C.char)(norm), (C.lapack_int)(n), (*C.lapack_complex_double)(_dl), (*C.lapack_complex_double)(_d), (*C.lapack_complex_double)(_du), (*C.lapack_complex_double)(_du2), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work)))
  7065  }
  7066  
  7067  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgtrfs.f.
  7068  func Sgtrfs(trans blas.Transpose, n, nrhs int, dl, d, du, dlf, df, duf, du2 []float32, ipiv []int32, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
  7069  	switch trans {
  7070  	case blas.NoTrans:
  7071  		trans = 'N'
  7072  	case blas.Trans:
  7073  		trans = 'T'
  7074  	case blas.ConjTrans:
  7075  		trans = 'C'
  7076  	default:
  7077  		panic("lapack: bad trans")
  7078  	}
  7079  	var _dl *float32
  7080  	if len(dl) > 0 {
  7081  		_dl = &dl[0]
  7082  	}
  7083  	var _d *float32
  7084  	if len(d) > 0 {
  7085  		_d = &d[0]
  7086  	}
  7087  	var _du *float32
  7088  	if len(du) > 0 {
  7089  		_du = &du[0]
  7090  	}
  7091  	var _dlf *float32
  7092  	if len(dlf) > 0 {
  7093  		_dlf = &dlf[0]
  7094  	}
  7095  	var _df *float32
  7096  	if len(df) > 0 {
  7097  		_df = &df[0]
  7098  	}
  7099  	var _duf *float32
  7100  	if len(duf) > 0 {
  7101  		_duf = &duf[0]
  7102  	}
  7103  	var _du2 *float32
  7104  	if len(du2) > 0 {
  7105  		_du2 = &du2[0]
  7106  	}
  7107  	var _ipiv *int32
  7108  	if len(ipiv) > 0 {
  7109  		_ipiv = &ipiv[0]
  7110  	}
  7111  	var _b *float32
  7112  	if len(b) > 0 {
  7113  		_b = &b[0]
  7114  	}
  7115  	var _x *float32
  7116  	if len(x) > 0 {
  7117  		_x = &x[0]
  7118  	}
  7119  	var _ferr *float32
  7120  	if len(ferr) > 0 {
  7121  		_ferr = &ferr[0]
  7122  	}
  7123  	var _berr *float32
  7124  	if len(berr) > 0 {
  7125  		_berr = &berr[0]
  7126  	}
  7127  	var _work *float32
  7128  	if len(work) > 0 {
  7129  		_work = &work[0]
  7130  	}
  7131  	var _iwork *int32
  7132  	if len(iwork) > 0 {
  7133  		_iwork = &iwork[0]
  7134  	}
  7135  	return isZero(C.LAPACKE_sgtrfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_dl), (*C.float)(_d), (*C.float)(_du), (*C.float)(_dlf), (*C.float)(_df), (*C.float)(_duf), (*C.float)(_du2), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
  7136  }
  7137  
  7138  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgtrfs.f.
  7139  func Dgtrfs(trans blas.Transpose, n, nrhs int, dl, d, du, dlf, df, duf, du2 []float64, ipiv []int32, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
  7140  	switch trans {
  7141  	case blas.NoTrans:
  7142  		trans = 'N'
  7143  	case blas.Trans:
  7144  		trans = 'T'
  7145  	case blas.ConjTrans:
  7146  		trans = 'C'
  7147  	default:
  7148  		panic("lapack: bad trans")
  7149  	}
  7150  	var _dl *float64
  7151  	if len(dl) > 0 {
  7152  		_dl = &dl[0]
  7153  	}
  7154  	var _d *float64
  7155  	if len(d) > 0 {
  7156  		_d = &d[0]
  7157  	}
  7158  	var _du *float64
  7159  	if len(du) > 0 {
  7160  		_du = &du[0]
  7161  	}
  7162  	var _dlf *float64
  7163  	if len(dlf) > 0 {
  7164  		_dlf = &dlf[0]
  7165  	}
  7166  	var _df *float64
  7167  	if len(df) > 0 {
  7168  		_df = &df[0]
  7169  	}
  7170  	var _duf *float64
  7171  	if len(duf) > 0 {
  7172  		_duf = &duf[0]
  7173  	}
  7174  	var _du2 *float64
  7175  	if len(du2) > 0 {
  7176  		_du2 = &du2[0]
  7177  	}
  7178  	var _ipiv *int32
  7179  	if len(ipiv) > 0 {
  7180  		_ipiv = &ipiv[0]
  7181  	}
  7182  	var _b *float64
  7183  	if len(b) > 0 {
  7184  		_b = &b[0]
  7185  	}
  7186  	var _x *float64
  7187  	if len(x) > 0 {
  7188  		_x = &x[0]
  7189  	}
  7190  	var _ferr *float64
  7191  	if len(ferr) > 0 {
  7192  		_ferr = &ferr[0]
  7193  	}
  7194  	var _berr *float64
  7195  	if len(berr) > 0 {
  7196  		_berr = &berr[0]
  7197  	}
  7198  	var _work *float64
  7199  	if len(work) > 0 {
  7200  		_work = &work[0]
  7201  	}
  7202  	var _iwork *int32
  7203  	if len(iwork) > 0 {
  7204  		_iwork = &iwork[0]
  7205  	}
  7206  	return isZero(C.LAPACKE_dgtrfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_dl), (*C.double)(_d), (*C.double)(_du), (*C.double)(_dlf), (*C.double)(_df), (*C.double)(_duf), (*C.double)(_du2), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
  7207  }
  7208  
  7209  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgtrfs.f.
  7210  func Cgtrfs(trans blas.Transpose, n, nrhs int, dl, d, du, dlf, df, duf, du2 []complex64, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
  7211  	switch trans {
  7212  	case blas.NoTrans:
  7213  		trans = 'N'
  7214  	case blas.Trans:
  7215  		trans = 'T'
  7216  	case blas.ConjTrans:
  7217  		trans = 'C'
  7218  	default:
  7219  		panic("lapack: bad trans")
  7220  	}
  7221  	var _dl *complex64
  7222  	if len(dl) > 0 {
  7223  		_dl = &dl[0]
  7224  	}
  7225  	var _d *complex64
  7226  	if len(d) > 0 {
  7227  		_d = &d[0]
  7228  	}
  7229  	var _du *complex64
  7230  	if len(du) > 0 {
  7231  		_du = &du[0]
  7232  	}
  7233  	var _dlf *complex64
  7234  	if len(dlf) > 0 {
  7235  		_dlf = &dlf[0]
  7236  	}
  7237  	var _df *complex64
  7238  	if len(df) > 0 {
  7239  		_df = &df[0]
  7240  	}
  7241  	var _duf *complex64
  7242  	if len(duf) > 0 {
  7243  		_duf = &duf[0]
  7244  	}
  7245  	var _du2 *complex64
  7246  	if len(du2) > 0 {
  7247  		_du2 = &du2[0]
  7248  	}
  7249  	var _ipiv *int32
  7250  	if len(ipiv) > 0 {
  7251  		_ipiv = &ipiv[0]
  7252  	}
  7253  	var _b *complex64
  7254  	if len(b) > 0 {
  7255  		_b = &b[0]
  7256  	}
  7257  	var _x *complex64
  7258  	if len(x) > 0 {
  7259  		_x = &x[0]
  7260  	}
  7261  	var _ferr *float32
  7262  	if len(ferr) > 0 {
  7263  		_ferr = &ferr[0]
  7264  	}
  7265  	var _berr *float32
  7266  	if len(berr) > 0 {
  7267  		_berr = &berr[0]
  7268  	}
  7269  	var _work *complex64
  7270  	if len(work) > 0 {
  7271  		_work = &work[0]
  7272  	}
  7273  	var _rwork *float32
  7274  	if len(rwork) > 0 {
  7275  		_rwork = &rwork[0]
  7276  	}
  7277  	return isZero(C.LAPACKE_cgtrfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_dl), (*C.lapack_complex_float)(_d), (*C.lapack_complex_float)(_du), (*C.lapack_complex_float)(_dlf), (*C.lapack_complex_float)(_df), (*C.lapack_complex_float)(_duf), (*C.lapack_complex_float)(_du2), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  7278  }
  7279  
  7280  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgtrfs.f.
  7281  func Zgtrfs(trans blas.Transpose, n, nrhs int, dl, d, du, dlf, df, duf, du2 []complex128, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
  7282  	switch trans {
  7283  	case blas.NoTrans:
  7284  		trans = 'N'
  7285  	case blas.Trans:
  7286  		trans = 'T'
  7287  	case blas.ConjTrans:
  7288  		trans = 'C'
  7289  	default:
  7290  		panic("lapack: bad trans")
  7291  	}
  7292  	var _dl *complex128
  7293  	if len(dl) > 0 {
  7294  		_dl = &dl[0]
  7295  	}
  7296  	var _d *complex128
  7297  	if len(d) > 0 {
  7298  		_d = &d[0]
  7299  	}
  7300  	var _du *complex128
  7301  	if len(du) > 0 {
  7302  		_du = &du[0]
  7303  	}
  7304  	var _dlf *complex128
  7305  	if len(dlf) > 0 {
  7306  		_dlf = &dlf[0]
  7307  	}
  7308  	var _df *complex128
  7309  	if len(df) > 0 {
  7310  		_df = &df[0]
  7311  	}
  7312  	var _duf *complex128
  7313  	if len(duf) > 0 {
  7314  		_duf = &duf[0]
  7315  	}
  7316  	var _du2 *complex128
  7317  	if len(du2) > 0 {
  7318  		_du2 = &du2[0]
  7319  	}
  7320  	var _ipiv *int32
  7321  	if len(ipiv) > 0 {
  7322  		_ipiv = &ipiv[0]
  7323  	}
  7324  	var _b *complex128
  7325  	if len(b) > 0 {
  7326  		_b = &b[0]
  7327  	}
  7328  	var _x *complex128
  7329  	if len(x) > 0 {
  7330  		_x = &x[0]
  7331  	}
  7332  	var _ferr *float64
  7333  	if len(ferr) > 0 {
  7334  		_ferr = &ferr[0]
  7335  	}
  7336  	var _berr *float64
  7337  	if len(berr) > 0 {
  7338  		_berr = &berr[0]
  7339  	}
  7340  	var _work *complex128
  7341  	if len(work) > 0 {
  7342  		_work = &work[0]
  7343  	}
  7344  	var _rwork *float64
  7345  	if len(rwork) > 0 {
  7346  		_rwork = &rwork[0]
  7347  	}
  7348  	return isZero(C.LAPACKE_zgtrfs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_dl), (*C.lapack_complex_double)(_d), (*C.lapack_complex_double)(_du), (*C.lapack_complex_double)(_dlf), (*C.lapack_complex_double)(_df), (*C.lapack_complex_double)(_duf), (*C.lapack_complex_double)(_du2), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  7349  }
  7350  
  7351  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgtsv.f.
  7352  func Sgtsv(n, nrhs int, dl, d, du, b []float32, ldb int) bool {
  7353  	var _dl *float32
  7354  	if len(dl) > 0 {
  7355  		_dl = &dl[0]
  7356  	}
  7357  	var _d *float32
  7358  	if len(d) > 0 {
  7359  		_d = &d[0]
  7360  	}
  7361  	var _du *float32
  7362  	if len(du) > 0 {
  7363  		_du = &du[0]
  7364  	}
  7365  	var _b *float32
  7366  	if len(b) > 0 {
  7367  		_b = &b[0]
  7368  	}
  7369  	return isZero(C.LAPACKE_sgtsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_dl), (*C.float)(_d), (*C.float)(_du), (*C.float)(_b), (C.lapack_int)(ldb)))
  7370  }
  7371  
  7372  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgtsv.f.
  7373  func Dgtsv(n, nrhs int, dl, d, du, b []float64, ldb int) bool {
  7374  	var _dl *float64
  7375  	if len(dl) > 0 {
  7376  		_dl = &dl[0]
  7377  	}
  7378  	var _d *float64
  7379  	if len(d) > 0 {
  7380  		_d = &d[0]
  7381  	}
  7382  	var _du *float64
  7383  	if len(du) > 0 {
  7384  		_du = &du[0]
  7385  	}
  7386  	var _b *float64
  7387  	if len(b) > 0 {
  7388  		_b = &b[0]
  7389  	}
  7390  	return isZero(C.LAPACKE_dgtsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_dl), (*C.double)(_d), (*C.double)(_du), (*C.double)(_b), (C.lapack_int)(ldb)))
  7391  }
  7392  
  7393  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgtsv.f.
  7394  func Cgtsv(n, nrhs int, dl, d, du, b []complex64, ldb int) bool {
  7395  	var _dl *complex64
  7396  	if len(dl) > 0 {
  7397  		_dl = &dl[0]
  7398  	}
  7399  	var _d *complex64
  7400  	if len(d) > 0 {
  7401  		_d = &d[0]
  7402  	}
  7403  	var _du *complex64
  7404  	if len(du) > 0 {
  7405  		_du = &du[0]
  7406  	}
  7407  	var _b *complex64
  7408  	if len(b) > 0 {
  7409  		_b = &b[0]
  7410  	}
  7411  	return isZero(C.LAPACKE_cgtsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_dl), (*C.lapack_complex_float)(_d), (*C.lapack_complex_float)(_du), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
  7412  }
  7413  
  7414  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgtsv.f.
  7415  func Zgtsv(n, nrhs int, dl, d, du, b []complex128, ldb int) bool {
  7416  	var _dl *complex128
  7417  	if len(dl) > 0 {
  7418  		_dl = &dl[0]
  7419  	}
  7420  	var _d *complex128
  7421  	if len(d) > 0 {
  7422  		_d = &d[0]
  7423  	}
  7424  	var _du *complex128
  7425  	if len(du) > 0 {
  7426  		_du = &du[0]
  7427  	}
  7428  	var _b *complex128
  7429  	if len(b) > 0 {
  7430  		_b = &b[0]
  7431  	}
  7432  	return isZero(C.LAPACKE_zgtsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_dl), (*C.lapack_complex_double)(_d), (*C.lapack_complex_double)(_du), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
  7433  }
  7434  
  7435  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgtsvx.f.
  7436  func Sgtsvx(fact byte, trans blas.Transpose, n, nrhs int, dl, d, du, dlf, df, duf, du2 []float32, ipiv []int32, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32, iwork []int32) bool {
  7437  	switch trans {
  7438  	case blas.NoTrans:
  7439  		trans = 'N'
  7440  	case blas.Trans:
  7441  		trans = 'T'
  7442  	case blas.ConjTrans:
  7443  		trans = 'C'
  7444  	default:
  7445  		panic("lapack: bad trans")
  7446  	}
  7447  	var _dl *float32
  7448  	if len(dl) > 0 {
  7449  		_dl = &dl[0]
  7450  	}
  7451  	var _d *float32
  7452  	if len(d) > 0 {
  7453  		_d = &d[0]
  7454  	}
  7455  	var _du *float32
  7456  	if len(du) > 0 {
  7457  		_du = &du[0]
  7458  	}
  7459  	var _dlf *float32
  7460  	if len(dlf) > 0 {
  7461  		_dlf = &dlf[0]
  7462  	}
  7463  	var _df *float32
  7464  	if len(df) > 0 {
  7465  		_df = &df[0]
  7466  	}
  7467  	var _duf *float32
  7468  	if len(duf) > 0 {
  7469  		_duf = &duf[0]
  7470  	}
  7471  	var _du2 *float32
  7472  	if len(du2) > 0 {
  7473  		_du2 = &du2[0]
  7474  	}
  7475  	var _ipiv *int32
  7476  	if len(ipiv) > 0 {
  7477  		_ipiv = &ipiv[0]
  7478  	}
  7479  	var _b *float32
  7480  	if len(b) > 0 {
  7481  		_b = &b[0]
  7482  	}
  7483  	var _x *float32
  7484  	if len(x) > 0 {
  7485  		_x = &x[0]
  7486  	}
  7487  	var _rcond *float32
  7488  	if len(rcond) > 0 {
  7489  		_rcond = &rcond[0]
  7490  	}
  7491  	var _ferr *float32
  7492  	if len(ferr) > 0 {
  7493  		_ferr = &ferr[0]
  7494  	}
  7495  	var _berr *float32
  7496  	if len(berr) > 0 {
  7497  		_berr = &berr[0]
  7498  	}
  7499  	var _work *float32
  7500  	if len(work) > 0 {
  7501  		_work = &work[0]
  7502  	}
  7503  	var _iwork *int32
  7504  	if len(iwork) > 0 {
  7505  		_iwork = &iwork[0]
  7506  	}
  7507  	return isZero(C.LAPACKE_sgtsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_dl), (*C.float)(_d), (*C.float)(_du), (*C.float)(_dlf), (*C.float)(_df), (*C.float)(_duf), (*C.float)(_du2), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
  7508  }
  7509  
  7510  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgtsvx.f.
  7511  func Dgtsvx(fact byte, trans blas.Transpose, n, nrhs int, dl, d, du, dlf, df, duf, du2 []float64, ipiv []int32, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64, iwork []int32) bool {
  7512  	switch trans {
  7513  	case blas.NoTrans:
  7514  		trans = 'N'
  7515  	case blas.Trans:
  7516  		trans = 'T'
  7517  	case blas.ConjTrans:
  7518  		trans = 'C'
  7519  	default:
  7520  		panic("lapack: bad trans")
  7521  	}
  7522  	var _dl *float64
  7523  	if len(dl) > 0 {
  7524  		_dl = &dl[0]
  7525  	}
  7526  	var _d *float64
  7527  	if len(d) > 0 {
  7528  		_d = &d[0]
  7529  	}
  7530  	var _du *float64
  7531  	if len(du) > 0 {
  7532  		_du = &du[0]
  7533  	}
  7534  	var _dlf *float64
  7535  	if len(dlf) > 0 {
  7536  		_dlf = &dlf[0]
  7537  	}
  7538  	var _df *float64
  7539  	if len(df) > 0 {
  7540  		_df = &df[0]
  7541  	}
  7542  	var _duf *float64
  7543  	if len(duf) > 0 {
  7544  		_duf = &duf[0]
  7545  	}
  7546  	var _du2 *float64
  7547  	if len(du2) > 0 {
  7548  		_du2 = &du2[0]
  7549  	}
  7550  	var _ipiv *int32
  7551  	if len(ipiv) > 0 {
  7552  		_ipiv = &ipiv[0]
  7553  	}
  7554  	var _b *float64
  7555  	if len(b) > 0 {
  7556  		_b = &b[0]
  7557  	}
  7558  	var _x *float64
  7559  	if len(x) > 0 {
  7560  		_x = &x[0]
  7561  	}
  7562  	var _rcond *float64
  7563  	if len(rcond) > 0 {
  7564  		_rcond = &rcond[0]
  7565  	}
  7566  	var _ferr *float64
  7567  	if len(ferr) > 0 {
  7568  		_ferr = &ferr[0]
  7569  	}
  7570  	var _berr *float64
  7571  	if len(berr) > 0 {
  7572  		_berr = &berr[0]
  7573  	}
  7574  	var _work *float64
  7575  	if len(work) > 0 {
  7576  		_work = &work[0]
  7577  	}
  7578  	var _iwork *int32
  7579  	if len(iwork) > 0 {
  7580  		_iwork = &iwork[0]
  7581  	}
  7582  	return isZero(C.LAPACKE_dgtsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_dl), (*C.double)(_d), (*C.double)(_du), (*C.double)(_dlf), (*C.double)(_df), (*C.double)(_duf), (*C.double)(_du2), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
  7583  }
  7584  
  7585  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgtsvx.f.
  7586  func Cgtsvx(fact byte, trans blas.Transpose, n, nrhs int, dl, d, du, dlf, df, duf, du2 []complex64, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
  7587  	switch trans {
  7588  	case blas.NoTrans:
  7589  		trans = 'N'
  7590  	case blas.Trans:
  7591  		trans = 'T'
  7592  	case blas.ConjTrans:
  7593  		trans = 'C'
  7594  	default:
  7595  		panic("lapack: bad trans")
  7596  	}
  7597  	var _dl *complex64
  7598  	if len(dl) > 0 {
  7599  		_dl = &dl[0]
  7600  	}
  7601  	var _d *complex64
  7602  	if len(d) > 0 {
  7603  		_d = &d[0]
  7604  	}
  7605  	var _du *complex64
  7606  	if len(du) > 0 {
  7607  		_du = &du[0]
  7608  	}
  7609  	var _dlf *complex64
  7610  	if len(dlf) > 0 {
  7611  		_dlf = &dlf[0]
  7612  	}
  7613  	var _df *complex64
  7614  	if len(df) > 0 {
  7615  		_df = &df[0]
  7616  	}
  7617  	var _duf *complex64
  7618  	if len(duf) > 0 {
  7619  		_duf = &duf[0]
  7620  	}
  7621  	var _du2 *complex64
  7622  	if len(du2) > 0 {
  7623  		_du2 = &du2[0]
  7624  	}
  7625  	var _ipiv *int32
  7626  	if len(ipiv) > 0 {
  7627  		_ipiv = &ipiv[0]
  7628  	}
  7629  	var _b *complex64
  7630  	if len(b) > 0 {
  7631  		_b = &b[0]
  7632  	}
  7633  	var _x *complex64
  7634  	if len(x) > 0 {
  7635  		_x = &x[0]
  7636  	}
  7637  	var _rcond *float32
  7638  	if len(rcond) > 0 {
  7639  		_rcond = &rcond[0]
  7640  	}
  7641  	var _ferr *float32
  7642  	if len(ferr) > 0 {
  7643  		_ferr = &ferr[0]
  7644  	}
  7645  	var _berr *float32
  7646  	if len(berr) > 0 {
  7647  		_berr = &berr[0]
  7648  	}
  7649  	var _work *complex64
  7650  	if len(work) > 0 {
  7651  		_work = &work[0]
  7652  	}
  7653  	var _rwork *float32
  7654  	if len(rwork) > 0 {
  7655  		_rwork = &rwork[0]
  7656  	}
  7657  	return isZero(C.LAPACKE_cgtsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_dl), (*C.lapack_complex_float)(_d), (*C.lapack_complex_float)(_du), (*C.lapack_complex_float)(_dlf), (*C.lapack_complex_float)(_df), (*C.lapack_complex_float)(_duf), (*C.lapack_complex_float)(_du2), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  7658  }
  7659  
  7660  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgtsvx.f.
  7661  func Zgtsvx(fact byte, trans blas.Transpose, n, nrhs int, dl, d, du, dlf, df, duf, du2 []complex128, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
  7662  	switch trans {
  7663  	case blas.NoTrans:
  7664  		trans = 'N'
  7665  	case blas.Trans:
  7666  		trans = 'T'
  7667  	case blas.ConjTrans:
  7668  		trans = 'C'
  7669  	default:
  7670  		panic("lapack: bad trans")
  7671  	}
  7672  	var _dl *complex128
  7673  	if len(dl) > 0 {
  7674  		_dl = &dl[0]
  7675  	}
  7676  	var _d *complex128
  7677  	if len(d) > 0 {
  7678  		_d = &d[0]
  7679  	}
  7680  	var _du *complex128
  7681  	if len(du) > 0 {
  7682  		_du = &du[0]
  7683  	}
  7684  	var _dlf *complex128
  7685  	if len(dlf) > 0 {
  7686  		_dlf = &dlf[0]
  7687  	}
  7688  	var _df *complex128
  7689  	if len(df) > 0 {
  7690  		_df = &df[0]
  7691  	}
  7692  	var _duf *complex128
  7693  	if len(duf) > 0 {
  7694  		_duf = &duf[0]
  7695  	}
  7696  	var _du2 *complex128
  7697  	if len(du2) > 0 {
  7698  		_du2 = &du2[0]
  7699  	}
  7700  	var _ipiv *int32
  7701  	if len(ipiv) > 0 {
  7702  		_ipiv = &ipiv[0]
  7703  	}
  7704  	var _b *complex128
  7705  	if len(b) > 0 {
  7706  		_b = &b[0]
  7707  	}
  7708  	var _x *complex128
  7709  	if len(x) > 0 {
  7710  		_x = &x[0]
  7711  	}
  7712  	var _rcond *float64
  7713  	if len(rcond) > 0 {
  7714  		_rcond = &rcond[0]
  7715  	}
  7716  	var _ferr *float64
  7717  	if len(ferr) > 0 {
  7718  		_ferr = &ferr[0]
  7719  	}
  7720  	var _berr *float64
  7721  	if len(berr) > 0 {
  7722  		_berr = &berr[0]
  7723  	}
  7724  	var _work *complex128
  7725  	if len(work) > 0 {
  7726  		_work = &work[0]
  7727  	}
  7728  	var _rwork *float64
  7729  	if len(rwork) > 0 {
  7730  		_rwork = &rwork[0]
  7731  	}
  7732  	return isZero(C.LAPACKE_zgtsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_dl), (*C.lapack_complex_double)(_d), (*C.lapack_complex_double)(_du), (*C.lapack_complex_double)(_dlf), (*C.lapack_complex_double)(_df), (*C.lapack_complex_double)(_duf), (*C.lapack_complex_double)(_du2), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  7733  }
  7734  
  7735  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgttrf.f.
  7736  func Sgttrf(n int, dl, d, du, du2 []float32, ipiv []int32) bool {
  7737  	var _dl *float32
  7738  	if len(dl) > 0 {
  7739  		_dl = &dl[0]
  7740  	}
  7741  	var _d *float32
  7742  	if len(d) > 0 {
  7743  		_d = &d[0]
  7744  	}
  7745  	var _du *float32
  7746  	if len(du) > 0 {
  7747  		_du = &du[0]
  7748  	}
  7749  	var _du2 *float32
  7750  	if len(du2) > 0 {
  7751  		_du2 = &du2[0]
  7752  	}
  7753  	var _ipiv *int32
  7754  	if len(ipiv) > 0 {
  7755  		_ipiv = &ipiv[0]
  7756  	}
  7757  	return isZero(C.LAPACKE_sgttrf_work((C.lapack_int)(n), (*C.float)(_dl), (*C.float)(_d), (*C.float)(_du), (*C.float)(_du2), (*C.lapack_int)(_ipiv)))
  7758  }
  7759  
  7760  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgttrf.f.
  7761  func Dgttrf(n int, dl, d, du, du2 []float64, ipiv []int32) bool {
  7762  	var _dl *float64
  7763  	if len(dl) > 0 {
  7764  		_dl = &dl[0]
  7765  	}
  7766  	var _d *float64
  7767  	if len(d) > 0 {
  7768  		_d = &d[0]
  7769  	}
  7770  	var _du *float64
  7771  	if len(du) > 0 {
  7772  		_du = &du[0]
  7773  	}
  7774  	var _du2 *float64
  7775  	if len(du2) > 0 {
  7776  		_du2 = &du2[0]
  7777  	}
  7778  	var _ipiv *int32
  7779  	if len(ipiv) > 0 {
  7780  		_ipiv = &ipiv[0]
  7781  	}
  7782  	return isZero(C.LAPACKE_dgttrf_work((C.lapack_int)(n), (*C.double)(_dl), (*C.double)(_d), (*C.double)(_du), (*C.double)(_du2), (*C.lapack_int)(_ipiv)))
  7783  }
  7784  
  7785  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgttrf.f.
  7786  func Cgttrf(n int, dl, d, du, du2 []complex64, ipiv []int32) bool {
  7787  	var _dl *complex64
  7788  	if len(dl) > 0 {
  7789  		_dl = &dl[0]
  7790  	}
  7791  	var _d *complex64
  7792  	if len(d) > 0 {
  7793  		_d = &d[0]
  7794  	}
  7795  	var _du *complex64
  7796  	if len(du) > 0 {
  7797  		_du = &du[0]
  7798  	}
  7799  	var _du2 *complex64
  7800  	if len(du2) > 0 {
  7801  		_du2 = &du2[0]
  7802  	}
  7803  	var _ipiv *int32
  7804  	if len(ipiv) > 0 {
  7805  		_ipiv = &ipiv[0]
  7806  	}
  7807  	return isZero(C.LAPACKE_cgttrf_work((C.lapack_int)(n), (*C.lapack_complex_float)(_dl), (*C.lapack_complex_float)(_d), (*C.lapack_complex_float)(_du), (*C.lapack_complex_float)(_du2), (*C.lapack_int)(_ipiv)))
  7808  }
  7809  
  7810  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgttrf.f.
  7811  func Zgttrf(n int, dl, d, du, du2 []complex128, ipiv []int32) bool {
  7812  	var _dl *complex128
  7813  	if len(dl) > 0 {
  7814  		_dl = &dl[0]
  7815  	}
  7816  	var _d *complex128
  7817  	if len(d) > 0 {
  7818  		_d = &d[0]
  7819  	}
  7820  	var _du *complex128
  7821  	if len(du) > 0 {
  7822  		_du = &du[0]
  7823  	}
  7824  	var _du2 *complex128
  7825  	if len(du2) > 0 {
  7826  		_du2 = &du2[0]
  7827  	}
  7828  	var _ipiv *int32
  7829  	if len(ipiv) > 0 {
  7830  		_ipiv = &ipiv[0]
  7831  	}
  7832  	return isZero(C.LAPACKE_zgttrf_work((C.lapack_int)(n), (*C.lapack_complex_double)(_dl), (*C.lapack_complex_double)(_d), (*C.lapack_complex_double)(_du), (*C.lapack_complex_double)(_du2), (*C.lapack_int)(_ipiv)))
  7833  }
  7834  
  7835  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgttrs.f.
  7836  func Sgttrs(trans blas.Transpose, n, nrhs int, dl, d, du, du2 []float32, ipiv []int32, b []float32, ldb int) bool {
  7837  	switch trans {
  7838  	case blas.NoTrans:
  7839  		trans = 'N'
  7840  	case blas.Trans:
  7841  		trans = 'T'
  7842  	case blas.ConjTrans:
  7843  		trans = 'C'
  7844  	default:
  7845  		panic("lapack: bad trans")
  7846  	}
  7847  	var _dl *float32
  7848  	if len(dl) > 0 {
  7849  		_dl = &dl[0]
  7850  	}
  7851  	var _d *float32
  7852  	if len(d) > 0 {
  7853  		_d = &d[0]
  7854  	}
  7855  	var _du *float32
  7856  	if len(du) > 0 {
  7857  		_du = &du[0]
  7858  	}
  7859  	var _du2 *float32
  7860  	if len(du2) > 0 {
  7861  		_du2 = &du2[0]
  7862  	}
  7863  	var _ipiv *int32
  7864  	if len(ipiv) > 0 {
  7865  		_ipiv = &ipiv[0]
  7866  	}
  7867  	var _b *float32
  7868  	if len(b) > 0 {
  7869  		_b = &b[0]
  7870  	}
  7871  	return isZero(C.LAPACKE_sgttrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_dl), (*C.float)(_d), (*C.float)(_du), (*C.float)(_du2), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb)))
  7872  }
  7873  
  7874  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgttrs.f.
  7875  func Dgttrs(trans blas.Transpose, n, nrhs int, dl, d, du, du2 []float64, ipiv []int32, b []float64, ldb int) bool {
  7876  	switch trans {
  7877  	case blas.NoTrans:
  7878  		trans = 'N'
  7879  	case blas.Trans:
  7880  		trans = 'T'
  7881  	case blas.ConjTrans:
  7882  		trans = 'C'
  7883  	default:
  7884  		panic("lapack: bad trans")
  7885  	}
  7886  	var _dl *float64
  7887  	if len(dl) > 0 {
  7888  		_dl = &dl[0]
  7889  	}
  7890  	var _d *float64
  7891  	if len(d) > 0 {
  7892  		_d = &d[0]
  7893  	}
  7894  	var _du *float64
  7895  	if len(du) > 0 {
  7896  		_du = &du[0]
  7897  	}
  7898  	var _du2 *float64
  7899  	if len(du2) > 0 {
  7900  		_du2 = &du2[0]
  7901  	}
  7902  	var _ipiv *int32
  7903  	if len(ipiv) > 0 {
  7904  		_ipiv = &ipiv[0]
  7905  	}
  7906  	var _b *float64
  7907  	if len(b) > 0 {
  7908  		_b = &b[0]
  7909  	}
  7910  	return isZero(C.LAPACKE_dgttrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_dl), (*C.double)(_d), (*C.double)(_du), (*C.double)(_du2), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb)))
  7911  }
  7912  
  7913  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgttrs.f.
  7914  func Cgttrs(trans blas.Transpose, n, nrhs int, dl, d, du, du2 []complex64, ipiv []int32, b []complex64, ldb int) bool {
  7915  	switch trans {
  7916  	case blas.NoTrans:
  7917  		trans = 'N'
  7918  	case blas.Trans:
  7919  		trans = 'T'
  7920  	case blas.ConjTrans:
  7921  		trans = 'C'
  7922  	default:
  7923  		panic("lapack: bad trans")
  7924  	}
  7925  	var _dl *complex64
  7926  	if len(dl) > 0 {
  7927  		_dl = &dl[0]
  7928  	}
  7929  	var _d *complex64
  7930  	if len(d) > 0 {
  7931  		_d = &d[0]
  7932  	}
  7933  	var _du *complex64
  7934  	if len(du) > 0 {
  7935  		_du = &du[0]
  7936  	}
  7937  	var _du2 *complex64
  7938  	if len(du2) > 0 {
  7939  		_du2 = &du2[0]
  7940  	}
  7941  	var _ipiv *int32
  7942  	if len(ipiv) > 0 {
  7943  		_ipiv = &ipiv[0]
  7944  	}
  7945  	var _b *complex64
  7946  	if len(b) > 0 {
  7947  		_b = &b[0]
  7948  	}
  7949  	return isZero(C.LAPACKE_cgttrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_dl), (*C.lapack_complex_float)(_d), (*C.lapack_complex_float)(_du), (*C.lapack_complex_float)(_du2), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
  7950  }
  7951  
  7952  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgttrs.f.
  7953  func Zgttrs(trans blas.Transpose, n, nrhs int, dl, d, du, du2 []complex128, ipiv []int32, b []complex128, ldb int) bool {
  7954  	switch trans {
  7955  	case blas.NoTrans:
  7956  		trans = 'N'
  7957  	case blas.Trans:
  7958  		trans = 'T'
  7959  	case blas.ConjTrans:
  7960  		trans = 'C'
  7961  	default:
  7962  		panic("lapack: bad trans")
  7963  	}
  7964  	var _dl *complex128
  7965  	if len(dl) > 0 {
  7966  		_dl = &dl[0]
  7967  	}
  7968  	var _d *complex128
  7969  	if len(d) > 0 {
  7970  		_d = &d[0]
  7971  	}
  7972  	var _du *complex128
  7973  	if len(du) > 0 {
  7974  		_du = &du[0]
  7975  	}
  7976  	var _du2 *complex128
  7977  	if len(du2) > 0 {
  7978  		_du2 = &du2[0]
  7979  	}
  7980  	var _ipiv *int32
  7981  	if len(ipiv) > 0 {
  7982  		_ipiv = &ipiv[0]
  7983  	}
  7984  	var _b *complex128
  7985  	if len(b) > 0 {
  7986  		_b = &b[0]
  7987  	}
  7988  	return isZero(C.LAPACKE_zgttrs_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_dl), (*C.lapack_complex_double)(_d), (*C.lapack_complex_double)(_du), (*C.lapack_complex_double)(_du2), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
  7989  }
  7990  
  7991  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chbev.f.
  7992  func Chbev(jobz lapack.Job, ul blas.Uplo, n, kd int, ab []complex64, ldab int, w []float32, z []complex64, ldz int, work []complex64, rwork []float32) bool {
  7993  	switch ul {
  7994  	case blas.Upper:
  7995  		ul = 'U'
  7996  	case blas.Lower:
  7997  		ul = 'L'
  7998  	default:
  7999  		panic("lapack: illegal triangle")
  8000  	}
  8001  	var _ab *complex64
  8002  	if len(ab) > 0 {
  8003  		_ab = &ab[0]
  8004  	}
  8005  	var _w *float32
  8006  	if len(w) > 0 {
  8007  		_w = &w[0]
  8008  	}
  8009  	var _z *complex64
  8010  	if len(z) > 0 {
  8011  		_z = &z[0]
  8012  	}
  8013  	var _work *complex64
  8014  	if len(work) > 0 {
  8015  		_work = &work[0]
  8016  	}
  8017  	var _rwork *float32
  8018  	if len(rwork) > 0 {
  8019  		_rwork = &rwork[0]
  8020  	}
  8021  	return isZero(C.LAPACKE_chbev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  8022  }
  8023  
  8024  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhbev.f.
  8025  func Zhbev(jobz lapack.Job, ul blas.Uplo, n, kd int, ab []complex128, ldab int, w []float64, z []complex128, ldz int, work []complex128, rwork []float64) bool {
  8026  	switch ul {
  8027  	case blas.Upper:
  8028  		ul = 'U'
  8029  	case blas.Lower:
  8030  		ul = 'L'
  8031  	default:
  8032  		panic("lapack: illegal triangle")
  8033  	}
  8034  	var _ab *complex128
  8035  	if len(ab) > 0 {
  8036  		_ab = &ab[0]
  8037  	}
  8038  	var _w *float64
  8039  	if len(w) > 0 {
  8040  		_w = &w[0]
  8041  	}
  8042  	var _z *complex128
  8043  	if len(z) > 0 {
  8044  		_z = &z[0]
  8045  	}
  8046  	var _work *complex128
  8047  	if len(work) > 0 {
  8048  		_work = &work[0]
  8049  	}
  8050  	var _rwork *float64
  8051  	if len(rwork) > 0 {
  8052  		_rwork = &rwork[0]
  8053  	}
  8054  	return isZero(C.LAPACKE_zhbev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  8055  }
  8056  
  8057  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chbevd.f.
  8058  func Chbevd(jobz lapack.Job, ul blas.Uplo, n, kd int, ab []complex64, ldab int, w []float32, z []complex64, ldz int, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32, liwork int) bool {
  8059  	switch ul {
  8060  	case blas.Upper:
  8061  		ul = 'U'
  8062  	case blas.Lower:
  8063  		ul = 'L'
  8064  	default:
  8065  		panic("lapack: illegal triangle")
  8066  	}
  8067  	var _ab *complex64
  8068  	if len(ab) > 0 {
  8069  		_ab = &ab[0]
  8070  	}
  8071  	var _w *float32
  8072  	if len(w) > 0 {
  8073  		_w = &w[0]
  8074  	}
  8075  	var _z *complex64
  8076  	if len(z) > 0 {
  8077  		_z = &z[0]
  8078  	}
  8079  	var _work *complex64
  8080  	if len(work) > 0 {
  8081  		_work = &work[0]
  8082  	}
  8083  	var _rwork *float32
  8084  	if len(rwork) > 0 {
  8085  		_rwork = &rwork[0]
  8086  	}
  8087  	var _iwork *int32
  8088  	if len(iwork) > 0 {
  8089  		_iwork = &iwork[0]
  8090  	}
  8091  	return isZero(C.LAPACKE_chbevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  8092  }
  8093  
  8094  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhbevd.f.
  8095  func Zhbevd(jobz lapack.Job, ul blas.Uplo, n, kd int, ab []complex128, ldab int, w []float64, z []complex128, ldz int, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32, liwork int) bool {
  8096  	switch ul {
  8097  	case blas.Upper:
  8098  		ul = 'U'
  8099  	case blas.Lower:
  8100  		ul = 'L'
  8101  	default:
  8102  		panic("lapack: illegal triangle")
  8103  	}
  8104  	var _ab *complex128
  8105  	if len(ab) > 0 {
  8106  		_ab = &ab[0]
  8107  	}
  8108  	var _w *float64
  8109  	if len(w) > 0 {
  8110  		_w = &w[0]
  8111  	}
  8112  	var _z *complex128
  8113  	if len(z) > 0 {
  8114  		_z = &z[0]
  8115  	}
  8116  	var _work *complex128
  8117  	if len(work) > 0 {
  8118  		_work = &work[0]
  8119  	}
  8120  	var _rwork *float64
  8121  	if len(rwork) > 0 {
  8122  		_rwork = &rwork[0]
  8123  	}
  8124  	var _iwork *int32
  8125  	if len(iwork) > 0 {
  8126  		_iwork = &iwork[0]
  8127  	}
  8128  	return isZero(C.LAPACKE_zhbevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  8129  }
  8130  
  8131  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chbevx.f.
  8132  func Chbevx(jobz lapack.Job, rng byte, ul blas.Uplo, n, kd int, ab []complex64, ldab int, q []complex64, ldq int, vl, vu float32, il, iu int, abstol float32, m []int32, w []float32, z []complex64, ldz int, work []complex64, rwork []float32, iwork, ifail []int32) bool {
  8133  	switch ul {
  8134  	case blas.Upper:
  8135  		ul = 'U'
  8136  	case blas.Lower:
  8137  		ul = 'L'
  8138  	default:
  8139  		panic("lapack: illegal triangle")
  8140  	}
  8141  	var _ab *complex64
  8142  	if len(ab) > 0 {
  8143  		_ab = &ab[0]
  8144  	}
  8145  	var _q *complex64
  8146  	if len(q) > 0 {
  8147  		_q = &q[0]
  8148  	}
  8149  	var _m *int32
  8150  	if len(m) > 0 {
  8151  		_m = &m[0]
  8152  	}
  8153  	var _w *float32
  8154  	if len(w) > 0 {
  8155  		_w = &w[0]
  8156  	}
  8157  	var _z *complex64
  8158  	if len(z) > 0 {
  8159  		_z = &z[0]
  8160  	}
  8161  	var _work *complex64
  8162  	if len(work) > 0 {
  8163  		_work = &work[0]
  8164  	}
  8165  	var _rwork *float32
  8166  	if len(rwork) > 0 {
  8167  		_rwork = &rwork[0]
  8168  	}
  8169  	var _iwork *int32
  8170  	if len(iwork) > 0 {
  8171  		_iwork = &iwork[0]
  8172  	}
  8173  	var _ifail *int32
  8174  	if len(ifail) > 0 {
  8175  		_ifail = &ifail[0]
  8176  	}
  8177  	return isZero(C.LAPACKE_chbevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (*C.float)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
  8178  }
  8179  
  8180  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhbevx.f.
  8181  func Zhbevx(jobz lapack.Job, rng byte, ul blas.Uplo, n, kd int, ab []complex128, ldab int, q []complex128, ldq int, vl, vu float64, il, iu int, abstol float64, m []int32, w []float64, z []complex128, ldz int, work []complex128, rwork []float64, iwork, ifail []int32) bool {
  8182  	switch ul {
  8183  	case blas.Upper:
  8184  		ul = 'U'
  8185  	case blas.Lower:
  8186  		ul = 'L'
  8187  	default:
  8188  		panic("lapack: illegal triangle")
  8189  	}
  8190  	var _ab *complex128
  8191  	if len(ab) > 0 {
  8192  		_ab = &ab[0]
  8193  	}
  8194  	var _q *complex128
  8195  	if len(q) > 0 {
  8196  		_q = &q[0]
  8197  	}
  8198  	var _m *int32
  8199  	if len(m) > 0 {
  8200  		_m = &m[0]
  8201  	}
  8202  	var _w *float64
  8203  	if len(w) > 0 {
  8204  		_w = &w[0]
  8205  	}
  8206  	var _z *complex128
  8207  	if len(z) > 0 {
  8208  		_z = &z[0]
  8209  	}
  8210  	var _work *complex128
  8211  	if len(work) > 0 {
  8212  		_work = &work[0]
  8213  	}
  8214  	var _rwork *float64
  8215  	if len(rwork) > 0 {
  8216  		_rwork = &rwork[0]
  8217  	}
  8218  	var _iwork *int32
  8219  	if len(iwork) > 0 {
  8220  		_iwork = &iwork[0]
  8221  	}
  8222  	var _ifail *int32
  8223  	if len(ifail) > 0 {
  8224  		_ifail = &ifail[0]
  8225  	}
  8226  	return isZero(C.LAPACKE_zhbevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (*C.double)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
  8227  }
  8228  
  8229  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chbgst.f.
  8230  func Chbgst(vect byte, ul blas.Uplo, n, ka, kb int, ab []complex64, ldab int, bb []complex64, ldbb int, x []complex64, ldx int, work []complex64, rwork []float32) bool {
  8231  	switch ul {
  8232  	case blas.Upper:
  8233  		ul = 'U'
  8234  	case blas.Lower:
  8235  		ul = 'L'
  8236  	default:
  8237  		panic("lapack: illegal triangle")
  8238  	}
  8239  	var _ab *complex64
  8240  	if len(ab) > 0 {
  8241  		_ab = &ab[0]
  8242  	}
  8243  	var _bb *complex64
  8244  	if len(bb) > 0 {
  8245  		_bb = &bb[0]
  8246  	}
  8247  	var _x *complex64
  8248  	if len(x) > 0 {
  8249  		_x = &x[0]
  8250  	}
  8251  	var _work *complex64
  8252  	if len(work) > 0 {
  8253  		_work = &work[0]
  8254  	}
  8255  	var _rwork *float32
  8256  	if len(rwork) > 0 {
  8257  		_rwork = &rwork[0]
  8258  	}
  8259  	return isZero(C.LAPACKE_chbgst_work((C.int)(rowMajor), (C.char)(vect), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_bb), (C.lapack_int)(ldbb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  8260  }
  8261  
  8262  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhbgst.f.
  8263  func Zhbgst(vect byte, ul blas.Uplo, n, ka, kb int, ab []complex128, ldab int, bb []complex128, ldbb int, x []complex128, ldx int, work []complex128, rwork []float64) bool {
  8264  	switch ul {
  8265  	case blas.Upper:
  8266  		ul = 'U'
  8267  	case blas.Lower:
  8268  		ul = 'L'
  8269  	default:
  8270  		panic("lapack: illegal triangle")
  8271  	}
  8272  	var _ab *complex128
  8273  	if len(ab) > 0 {
  8274  		_ab = &ab[0]
  8275  	}
  8276  	var _bb *complex128
  8277  	if len(bb) > 0 {
  8278  		_bb = &bb[0]
  8279  	}
  8280  	var _x *complex128
  8281  	if len(x) > 0 {
  8282  		_x = &x[0]
  8283  	}
  8284  	var _work *complex128
  8285  	if len(work) > 0 {
  8286  		_work = &work[0]
  8287  	}
  8288  	var _rwork *float64
  8289  	if len(rwork) > 0 {
  8290  		_rwork = &rwork[0]
  8291  	}
  8292  	return isZero(C.LAPACKE_zhbgst_work((C.int)(rowMajor), (C.char)(vect), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_bb), (C.lapack_int)(ldbb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  8293  }
  8294  
  8295  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chbgv.f.
  8296  func Chbgv(jobz lapack.Job, ul blas.Uplo, n, ka, kb int, ab []complex64, ldab int, bb []complex64, ldbb int, w []float32, z []complex64, ldz int, work []complex64, rwork []float32) bool {
  8297  	switch ul {
  8298  	case blas.Upper:
  8299  		ul = 'U'
  8300  	case blas.Lower:
  8301  		ul = 'L'
  8302  	default:
  8303  		panic("lapack: illegal triangle")
  8304  	}
  8305  	var _ab *complex64
  8306  	if len(ab) > 0 {
  8307  		_ab = &ab[0]
  8308  	}
  8309  	var _bb *complex64
  8310  	if len(bb) > 0 {
  8311  		_bb = &bb[0]
  8312  	}
  8313  	var _w *float32
  8314  	if len(w) > 0 {
  8315  		_w = &w[0]
  8316  	}
  8317  	var _z *complex64
  8318  	if len(z) > 0 {
  8319  		_z = &z[0]
  8320  	}
  8321  	var _work *complex64
  8322  	if len(work) > 0 {
  8323  		_work = &work[0]
  8324  	}
  8325  	var _rwork *float32
  8326  	if len(rwork) > 0 {
  8327  		_rwork = &rwork[0]
  8328  	}
  8329  	return isZero(C.LAPACKE_chbgv_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_bb), (C.lapack_int)(ldbb), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  8330  }
  8331  
  8332  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhbgv.f.
  8333  func Zhbgv(jobz lapack.Job, ul blas.Uplo, n, ka, kb int, ab []complex128, ldab int, bb []complex128, ldbb int, w []float64, z []complex128, ldz int, work []complex128, rwork []float64) bool {
  8334  	switch ul {
  8335  	case blas.Upper:
  8336  		ul = 'U'
  8337  	case blas.Lower:
  8338  		ul = 'L'
  8339  	default:
  8340  		panic("lapack: illegal triangle")
  8341  	}
  8342  	var _ab *complex128
  8343  	if len(ab) > 0 {
  8344  		_ab = &ab[0]
  8345  	}
  8346  	var _bb *complex128
  8347  	if len(bb) > 0 {
  8348  		_bb = &bb[0]
  8349  	}
  8350  	var _w *float64
  8351  	if len(w) > 0 {
  8352  		_w = &w[0]
  8353  	}
  8354  	var _z *complex128
  8355  	if len(z) > 0 {
  8356  		_z = &z[0]
  8357  	}
  8358  	var _work *complex128
  8359  	if len(work) > 0 {
  8360  		_work = &work[0]
  8361  	}
  8362  	var _rwork *float64
  8363  	if len(rwork) > 0 {
  8364  		_rwork = &rwork[0]
  8365  	}
  8366  	return isZero(C.LAPACKE_zhbgv_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_bb), (C.lapack_int)(ldbb), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  8367  }
  8368  
  8369  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chbgvd.f.
  8370  func Chbgvd(jobz lapack.Job, ul blas.Uplo, n, ka, kb int, ab []complex64, ldab int, bb []complex64, ldbb int, w []float32, z []complex64, ldz int, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32, liwork int) bool {
  8371  	switch ul {
  8372  	case blas.Upper:
  8373  		ul = 'U'
  8374  	case blas.Lower:
  8375  		ul = 'L'
  8376  	default:
  8377  		panic("lapack: illegal triangle")
  8378  	}
  8379  	var _ab *complex64
  8380  	if len(ab) > 0 {
  8381  		_ab = &ab[0]
  8382  	}
  8383  	var _bb *complex64
  8384  	if len(bb) > 0 {
  8385  		_bb = &bb[0]
  8386  	}
  8387  	var _w *float32
  8388  	if len(w) > 0 {
  8389  		_w = &w[0]
  8390  	}
  8391  	var _z *complex64
  8392  	if len(z) > 0 {
  8393  		_z = &z[0]
  8394  	}
  8395  	var _work *complex64
  8396  	if len(work) > 0 {
  8397  		_work = &work[0]
  8398  	}
  8399  	var _rwork *float32
  8400  	if len(rwork) > 0 {
  8401  		_rwork = &rwork[0]
  8402  	}
  8403  	var _iwork *int32
  8404  	if len(iwork) > 0 {
  8405  		_iwork = &iwork[0]
  8406  	}
  8407  	return isZero(C.LAPACKE_chbgvd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_bb), (C.lapack_int)(ldbb), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  8408  }
  8409  
  8410  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhbgvd.f.
  8411  func Zhbgvd(jobz lapack.Job, ul blas.Uplo, n, ka, kb int, ab []complex128, ldab int, bb []complex128, ldbb int, w []float64, z []complex128, ldz int, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32, liwork int) bool {
  8412  	switch ul {
  8413  	case blas.Upper:
  8414  		ul = 'U'
  8415  	case blas.Lower:
  8416  		ul = 'L'
  8417  	default:
  8418  		panic("lapack: illegal triangle")
  8419  	}
  8420  	var _ab *complex128
  8421  	if len(ab) > 0 {
  8422  		_ab = &ab[0]
  8423  	}
  8424  	var _bb *complex128
  8425  	if len(bb) > 0 {
  8426  		_bb = &bb[0]
  8427  	}
  8428  	var _w *float64
  8429  	if len(w) > 0 {
  8430  		_w = &w[0]
  8431  	}
  8432  	var _z *complex128
  8433  	if len(z) > 0 {
  8434  		_z = &z[0]
  8435  	}
  8436  	var _work *complex128
  8437  	if len(work) > 0 {
  8438  		_work = &work[0]
  8439  	}
  8440  	var _rwork *float64
  8441  	if len(rwork) > 0 {
  8442  		_rwork = &rwork[0]
  8443  	}
  8444  	var _iwork *int32
  8445  	if len(iwork) > 0 {
  8446  		_iwork = &iwork[0]
  8447  	}
  8448  	return isZero(C.LAPACKE_zhbgvd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_bb), (C.lapack_int)(ldbb), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  8449  }
  8450  
  8451  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chbgvx.f.
  8452  func Chbgvx(jobz lapack.Job, rng byte, ul blas.Uplo, n, ka, kb int, ab []complex64, ldab int, bb []complex64, ldbb int, q []complex64, ldq int, vl, vu float32, il, iu int, abstol float32, m []int32, w []float32, z []complex64, ldz int, work []complex64, rwork []float32, iwork, ifail []int32) bool {
  8453  	switch ul {
  8454  	case blas.Upper:
  8455  		ul = 'U'
  8456  	case blas.Lower:
  8457  		ul = 'L'
  8458  	default:
  8459  		panic("lapack: illegal triangle")
  8460  	}
  8461  	var _ab *complex64
  8462  	if len(ab) > 0 {
  8463  		_ab = &ab[0]
  8464  	}
  8465  	var _bb *complex64
  8466  	if len(bb) > 0 {
  8467  		_bb = &bb[0]
  8468  	}
  8469  	var _q *complex64
  8470  	if len(q) > 0 {
  8471  		_q = &q[0]
  8472  	}
  8473  	var _m *int32
  8474  	if len(m) > 0 {
  8475  		_m = &m[0]
  8476  	}
  8477  	var _w *float32
  8478  	if len(w) > 0 {
  8479  		_w = &w[0]
  8480  	}
  8481  	var _z *complex64
  8482  	if len(z) > 0 {
  8483  		_z = &z[0]
  8484  	}
  8485  	var _work *complex64
  8486  	if len(work) > 0 {
  8487  		_work = &work[0]
  8488  	}
  8489  	var _rwork *float32
  8490  	if len(rwork) > 0 {
  8491  		_rwork = &rwork[0]
  8492  	}
  8493  	var _iwork *int32
  8494  	if len(iwork) > 0 {
  8495  		_iwork = &iwork[0]
  8496  	}
  8497  	var _ifail *int32
  8498  	if len(ifail) > 0 {
  8499  		_ifail = &ifail[0]
  8500  	}
  8501  	return isZero(C.LAPACKE_chbgvx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_bb), (C.lapack_int)(ldbb), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (*C.float)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
  8502  }
  8503  
  8504  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhbgvx.f.
  8505  func Zhbgvx(jobz lapack.Job, rng byte, ul blas.Uplo, n, ka, kb int, ab []complex128, ldab int, bb []complex128, ldbb int, q []complex128, ldq int, vl, vu float64, il, iu int, abstol float64, m []int32, w []float64, z []complex128, ldz int, work []complex128, rwork []float64, iwork, ifail []int32) bool {
  8506  	switch ul {
  8507  	case blas.Upper:
  8508  		ul = 'U'
  8509  	case blas.Lower:
  8510  		ul = 'L'
  8511  	default:
  8512  		panic("lapack: illegal triangle")
  8513  	}
  8514  	var _ab *complex128
  8515  	if len(ab) > 0 {
  8516  		_ab = &ab[0]
  8517  	}
  8518  	var _bb *complex128
  8519  	if len(bb) > 0 {
  8520  		_bb = &bb[0]
  8521  	}
  8522  	var _q *complex128
  8523  	if len(q) > 0 {
  8524  		_q = &q[0]
  8525  	}
  8526  	var _m *int32
  8527  	if len(m) > 0 {
  8528  		_m = &m[0]
  8529  	}
  8530  	var _w *float64
  8531  	if len(w) > 0 {
  8532  		_w = &w[0]
  8533  	}
  8534  	var _z *complex128
  8535  	if len(z) > 0 {
  8536  		_z = &z[0]
  8537  	}
  8538  	var _work *complex128
  8539  	if len(work) > 0 {
  8540  		_work = &work[0]
  8541  	}
  8542  	var _rwork *float64
  8543  	if len(rwork) > 0 {
  8544  		_rwork = &rwork[0]
  8545  	}
  8546  	var _iwork *int32
  8547  	if len(iwork) > 0 {
  8548  		_iwork = &iwork[0]
  8549  	}
  8550  	var _ifail *int32
  8551  	if len(ifail) > 0 {
  8552  		_ifail = &ifail[0]
  8553  	}
  8554  	return isZero(C.LAPACKE_zhbgvx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_bb), (C.lapack_int)(ldbb), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (*C.double)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
  8555  }
  8556  
  8557  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chbtrd.f.
  8558  func Chbtrd(vect byte, ul blas.Uplo, n, kd int, ab []complex64, ldab int, d, e []float32, q []complex64, ldq int, work []complex64) bool {
  8559  	switch ul {
  8560  	case blas.Upper:
  8561  		ul = 'U'
  8562  	case blas.Lower:
  8563  		ul = 'L'
  8564  	default:
  8565  		panic("lapack: illegal triangle")
  8566  	}
  8567  	var _ab *complex64
  8568  	if len(ab) > 0 {
  8569  		_ab = &ab[0]
  8570  	}
  8571  	var _d *float32
  8572  	if len(d) > 0 {
  8573  		_d = &d[0]
  8574  	}
  8575  	var _e *float32
  8576  	if len(e) > 0 {
  8577  		_e = &e[0]
  8578  	}
  8579  	var _q *complex64
  8580  	if len(q) > 0 {
  8581  		_q = &q[0]
  8582  	}
  8583  	var _work *complex64
  8584  	if len(work) > 0 {
  8585  		_work = &work[0]
  8586  	}
  8587  	return isZero(C.LAPACKE_chbtrd_work((C.int)(rowMajor), (C.char)(vect), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_work)))
  8588  }
  8589  
  8590  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhbtrd.f.
  8591  func Zhbtrd(vect byte, ul blas.Uplo, n, kd int, ab []complex128, ldab int, d, e []float64, q []complex128, ldq int, work []complex128) bool {
  8592  	switch ul {
  8593  	case blas.Upper:
  8594  		ul = 'U'
  8595  	case blas.Lower:
  8596  		ul = 'L'
  8597  	default:
  8598  		panic("lapack: illegal triangle")
  8599  	}
  8600  	var _ab *complex128
  8601  	if len(ab) > 0 {
  8602  		_ab = &ab[0]
  8603  	}
  8604  	var _d *float64
  8605  	if len(d) > 0 {
  8606  		_d = &d[0]
  8607  	}
  8608  	var _e *float64
  8609  	if len(e) > 0 {
  8610  		_e = &e[0]
  8611  	}
  8612  	var _q *complex128
  8613  	if len(q) > 0 {
  8614  		_q = &q[0]
  8615  	}
  8616  	var _work *complex128
  8617  	if len(work) > 0 {
  8618  		_work = &work[0]
  8619  	}
  8620  	return isZero(C.LAPACKE_zhbtrd_work((C.int)(rowMajor), (C.char)(vect), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_work)))
  8621  }
  8622  
  8623  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/checon.f.
  8624  func Checon(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, anorm float32, rcond []float32, work []complex64) bool {
  8625  	switch ul {
  8626  	case blas.Upper:
  8627  		ul = 'U'
  8628  	case blas.Lower:
  8629  		ul = 'L'
  8630  	default:
  8631  		panic("lapack: illegal triangle")
  8632  	}
  8633  	var _a *complex64
  8634  	if len(a) > 0 {
  8635  		_a = &a[0]
  8636  	}
  8637  	var _ipiv *int32
  8638  	if len(ipiv) > 0 {
  8639  		_ipiv = &ipiv[0]
  8640  	}
  8641  	var _rcond *float32
  8642  	if len(rcond) > 0 {
  8643  		_rcond = &rcond[0]
  8644  	}
  8645  	var _work *complex64
  8646  	if len(work) > 0 {
  8647  		_work = &work[0]
  8648  	}
  8649  	return isZero(C.LAPACKE_checon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work)))
  8650  }
  8651  
  8652  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhecon.f.
  8653  func Zhecon(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, anorm float64, rcond []float64, work []complex128) bool {
  8654  	switch ul {
  8655  	case blas.Upper:
  8656  		ul = 'U'
  8657  	case blas.Lower:
  8658  		ul = 'L'
  8659  	default:
  8660  		panic("lapack: illegal triangle")
  8661  	}
  8662  	var _a *complex128
  8663  	if len(a) > 0 {
  8664  		_a = &a[0]
  8665  	}
  8666  	var _ipiv *int32
  8667  	if len(ipiv) > 0 {
  8668  		_ipiv = &ipiv[0]
  8669  	}
  8670  	var _rcond *float64
  8671  	if len(rcond) > 0 {
  8672  		_rcond = &rcond[0]
  8673  	}
  8674  	var _work *complex128
  8675  	if len(work) > 0 {
  8676  		_work = &work[0]
  8677  	}
  8678  	return isZero(C.LAPACKE_zhecon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work)))
  8679  }
  8680  
  8681  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cheequb.f.
  8682  func Cheequb(ul blas.Uplo, n int, a []complex64, lda int, s, scond, amax []float32, work []complex64) bool {
  8683  	switch ul {
  8684  	case blas.Upper:
  8685  		ul = 'U'
  8686  	case blas.Lower:
  8687  		ul = 'L'
  8688  	default:
  8689  		panic("lapack: illegal triangle")
  8690  	}
  8691  	var _a *complex64
  8692  	if len(a) > 0 {
  8693  		_a = &a[0]
  8694  	}
  8695  	var _s *float32
  8696  	if len(s) > 0 {
  8697  		_s = &s[0]
  8698  	}
  8699  	var _scond *float32
  8700  	if len(scond) > 0 {
  8701  		_scond = &scond[0]
  8702  	}
  8703  	var _amax *float32
  8704  	if len(amax) > 0 {
  8705  		_amax = &amax[0]
  8706  	}
  8707  	var _work *complex64
  8708  	if len(work) > 0 {
  8709  		_work = &work[0]
  8710  	}
  8711  	return isZero(C.LAPACKE_cheequb_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax), (*C.lapack_complex_float)(_work)))
  8712  }
  8713  
  8714  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zheequb.f.
  8715  func Zheequb(ul blas.Uplo, n int, a []complex128, lda int, s, scond, amax []float64, work []complex128) bool {
  8716  	switch ul {
  8717  	case blas.Upper:
  8718  		ul = 'U'
  8719  	case blas.Lower:
  8720  		ul = 'L'
  8721  	default:
  8722  		panic("lapack: illegal triangle")
  8723  	}
  8724  	var _a *complex128
  8725  	if len(a) > 0 {
  8726  		_a = &a[0]
  8727  	}
  8728  	var _s *float64
  8729  	if len(s) > 0 {
  8730  		_s = &s[0]
  8731  	}
  8732  	var _scond *float64
  8733  	if len(scond) > 0 {
  8734  		_scond = &scond[0]
  8735  	}
  8736  	var _amax *float64
  8737  	if len(amax) > 0 {
  8738  		_amax = &amax[0]
  8739  	}
  8740  	var _work *complex128
  8741  	if len(work) > 0 {
  8742  		_work = &work[0]
  8743  	}
  8744  	return isZero(C.LAPACKE_zheequb_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax), (*C.lapack_complex_double)(_work)))
  8745  }
  8746  
  8747  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cheev.f.
  8748  func Cheev(jobz lapack.Job, ul blas.Uplo, n int, a []complex64, lda int, w []float32, work []complex64, lwork int, rwork []float32) bool {
  8749  	switch ul {
  8750  	case blas.Upper:
  8751  		ul = 'U'
  8752  	case blas.Lower:
  8753  		ul = 'L'
  8754  	default:
  8755  		panic("lapack: illegal triangle")
  8756  	}
  8757  	var _a *complex64
  8758  	if len(a) > 0 {
  8759  		_a = &a[0]
  8760  	}
  8761  	var _w *float32
  8762  	if len(w) > 0 {
  8763  		_w = &w[0]
  8764  	}
  8765  	var _work *complex64
  8766  	if len(work) > 0 {
  8767  		_work = &work[0]
  8768  	}
  8769  	var _rwork *float32
  8770  	if len(rwork) > 0 {
  8771  		_rwork = &rwork[0]
  8772  	}
  8773  	return isZero(C.LAPACKE_cheev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_w), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  8774  }
  8775  
  8776  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zheev.f.
  8777  func Zheev(jobz lapack.Job, ul blas.Uplo, n int, a []complex128, lda int, w []float64, work []complex128, lwork int, rwork []float64) bool {
  8778  	switch ul {
  8779  	case blas.Upper:
  8780  		ul = 'U'
  8781  	case blas.Lower:
  8782  		ul = 'L'
  8783  	default:
  8784  		panic("lapack: illegal triangle")
  8785  	}
  8786  	var _a *complex128
  8787  	if len(a) > 0 {
  8788  		_a = &a[0]
  8789  	}
  8790  	var _w *float64
  8791  	if len(w) > 0 {
  8792  		_w = &w[0]
  8793  	}
  8794  	var _work *complex128
  8795  	if len(work) > 0 {
  8796  		_work = &work[0]
  8797  	}
  8798  	var _rwork *float64
  8799  	if len(rwork) > 0 {
  8800  		_rwork = &rwork[0]
  8801  	}
  8802  	return isZero(C.LAPACKE_zheev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_w), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  8803  }
  8804  
  8805  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cheevd.f.
  8806  func Cheevd(jobz lapack.Job, ul blas.Uplo, n int, a []complex64, lda int, w []float32, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32, liwork int) bool {
  8807  	switch ul {
  8808  	case blas.Upper:
  8809  		ul = 'U'
  8810  	case blas.Lower:
  8811  		ul = 'L'
  8812  	default:
  8813  		panic("lapack: illegal triangle")
  8814  	}
  8815  	var _a *complex64
  8816  	if len(a) > 0 {
  8817  		_a = &a[0]
  8818  	}
  8819  	var _w *float32
  8820  	if len(w) > 0 {
  8821  		_w = &w[0]
  8822  	}
  8823  	var _work *complex64
  8824  	if len(work) > 0 {
  8825  		_work = &work[0]
  8826  	}
  8827  	var _rwork *float32
  8828  	if len(rwork) > 0 {
  8829  		_rwork = &rwork[0]
  8830  	}
  8831  	var _iwork *int32
  8832  	if len(iwork) > 0 {
  8833  		_iwork = &iwork[0]
  8834  	}
  8835  	return isZero(C.LAPACKE_cheevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_w), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  8836  }
  8837  
  8838  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zheevd.f.
  8839  func Zheevd(jobz lapack.Job, ul blas.Uplo, n int, a []complex128, lda int, w []float64, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32, liwork int) bool {
  8840  	switch ul {
  8841  	case blas.Upper:
  8842  		ul = 'U'
  8843  	case blas.Lower:
  8844  		ul = 'L'
  8845  	default:
  8846  		panic("lapack: illegal triangle")
  8847  	}
  8848  	var _a *complex128
  8849  	if len(a) > 0 {
  8850  		_a = &a[0]
  8851  	}
  8852  	var _w *float64
  8853  	if len(w) > 0 {
  8854  		_w = &w[0]
  8855  	}
  8856  	var _work *complex128
  8857  	if len(work) > 0 {
  8858  		_work = &work[0]
  8859  	}
  8860  	var _rwork *float64
  8861  	if len(rwork) > 0 {
  8862  		_rwork = &rwork[0]
  8863  	}
  8864  	var _iwork *int32
  8865  	if len(iwork) > 0 {
  8866  		_iwork = &iwork[0]
  8867  	}
  8868  	return isZero(C.LAPACKE_zheevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_w), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  8869  }
  8870  
  8871  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cheevr.f.
  8872  func Cheevr(jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []complex64, lda int, vl, vu float32, il, iu int, abstol float32, m []int32, w []float32, z []complex64, ldz int, isuppz []int32, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32, liwork int) bool {
  8873  	switch ul {
  8874  	case blas.Upper:
  8875  		ul = 'U'
  8876  	case blas.Lower:
  8877  		ul = 'L'
  8878  	default:
  8879  		panic("lapack: illegal triangle")
  8880  	}
  8881  	var _a *complex64
  8882  	if len(a) > 0 {
  8883  		_a = &a[0]
  8884  	}
  8885  	var _m *int32
  8886  	if len(m) > 0 {
  8887  		_m = &m[0]
  8888  	}
  8889  	var _w *float32
  8890  	if len(w) > 0 {
  8891  		_w = &w[0]
  8892  	}
  8893  	var _z *complex64
  8894  	if len(z) > 0 {
  8895  		_z = &z[0]
  8896  	}
  8897  	var _isuppz *int32
  8898  	if len(isuppz) > 0 {
  8899  		_isuppz = &isuppz[0]
  8900  	}
  8901  	var _work *complex64
  8902  	if len(work) > 0 {
  8903  		_work = &work[0]
  8904  	}
  8905  	var _rwork *float32
  8906  	if len(rwork) > 0 {
  8907  		_rwork = &rwork[0]
  8908  	}
  8909  	var _iwork *int32
  8910  	if len(iwork) > 0 {
  8911  		_iwork = &iwork[0]
  8912  	}
  8913  	return isZero(C.LAPACKE_cheevr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  8914  }
  8915  
  8916  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zheevr.f.
  8917  func Zheevr(jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []complex128, lda int, vl, vu float64, il, iu int, abstol float64, m []int32, w []float64, z []complex128, ldz int, isuppz []int32, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32, liwork int) bool {
  8918  	switch ul {
  8919  	case blas.Upper:
  8920  		ul = 'U'
  8921  	case blas.Lower:
  8922  		ul = 'L'
  8923  	default:
  8924  		panic("lapack: illegal triangle")
  8925  	}
  8926  	var _a *complex128
  8927  	if len(a) > 0 {
  8928  		_a = &a[0]
  8929  	}
  8930  	var _m *int32
  8931  	if len(m) > 0 {
  8932  		_m = &m[0]
  8933  	}
  8934  	var _w *float64
  8935  	if len(w) > 0 {
  8936  		_w = &w[0]
  8937  	}
  8938  	var _z *complex128
  8939  	if len(z) > 0 {
  8940  		_z = &z[0]
  8941  	}
  8942  	var _isuppz *int32
  8943  	if len(isuppz) > 0 {
  8944  		_isuppz = &isuppz[0]
  8945  	}
  8946  	var _work *complex128
  8947  	if len(work) > 0 {
  8948  		_work = &work[0]
  8949  	}
  8950  	var _rwork *float64
  8951  	if len(rwork) > 0 {
  8952  		_rwork = &rwork[0]
  8953  	}
  8954  	var _iwork *int32
  8955  	if len(iwork) > 0 {
  8956  		_iwork = &iwork[0]
  8957  	}
  8958  	return isZero(C.LAPACKE_zheevr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  8959  }
  8960  
  8961  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cheevx.f.
  8962  func Cheevx(jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []complex64, lda int, vl, vu float32, il, iu int, abstol float32, m []int32, w []float32, z []complex64, ldz int, work []complex64, lwork int, rwork []float32, iwork, ifail []int32) bool {
  8963  	switch ul {
  8964  	case blas.Upper:
  8965  		ul = 'U'
  8966  	case blas.Lower:
  8967  		ul = 'L'
  8968  	default:
  8969  		panic("lapack: illegal triangle")
  8970  	}
  8971  	var _a *complex64
  8972  	if len(a) > 0 {
  8973  		_a = &a[0]
  8974  	}
  8975  	var _m *int32
  8976  	if len(m) > 0 {
  8977  		_m = &m[0]
  8978  	}
  8979  	var _w *float32
  8980  	if len(w) > 0 {
  8981  		_w = &w[0]
  8982  	}
  8983  	var _z *complex64
  8984  	if len(z) > 0 {
  8985  		_z = &z[0]
  8986  	}
  8987  	var _work *complex64
  8988  	if len(work) > 0 {
  8989  		_work = &work[0]
  8990  	}
  8991  	var _rwork *float32
  8992  	if len(rwork) > 0 {
  8993  		_rwork = &rwork[0]
  8994  	}
  8995  	var _iwork *int32
  8996  	if len(iwork) > 0 {
  8997  		_iwork = &iwork[0]
  8998  	}
  8999  	var _ifail *int32
  9000  	if len(ifail) > 0 {
  9001  		_ifail = &ifail[0]
  9002  	}
  9003  	return isZero(C.LAPACKE_cheevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
  9004  }
  9005  
  9006  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zheevx.f.
  9007  func Zheevx(jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []complex128, lda int, vl, vu float64, il, iu int, abstol float64, m []int32, w []float64, z []complex128, ldz int, work []complex128, lwork int, rwork []float64, iwork, ifail []int32) bool {
  9008  	switch ul {
  9009  	case blas.Upper:
  9010  		ul = 'U'
  9011  	case blas.Lower:
  9012  		ul = 'L'
  9013  	default:
  9014  		panic("lapack: illegal triangle")
  9015  	}
  9016  	var _a *complex128
  9017  	if len(a) > 0 {
  9018  		_a = &a[0]
  9019  	}
  9020  	var _m *int32
  9021  	if len(m) > 0 {
  9022  		_m = &m[0]
  9023  	}
  9024  	var _w *float64
  9025  	if len(w) > 0 {
  9026  		_w = &w[0]
  9027  	}
  9028  	var _z *complex128
  9029  	if len(z) > 0 {
  9030  		_z = &z[0]
  9031  	}
  9032  	var _work *complex128
  9033  	if len(work) > 0 {
  9034  		_work = &work[0]
  9035  	}
  9036  	var _rwork *float64
  9037  	if len(rwork) > 0 {
  9038  		_rwork = &rwork[0]
  9039  	}
  9040  	var _iwork *int32
  9041  	if len(iwork) > 0 {
  9042  		_iwork = &iwork[0]
  9043  	}
  9044  	var _ifail *int32
  9045  	if len(ifail) > 0 {
  9046  		_ifail = &ifail[0]
  9047  	}
  9048  	return isZero(C.LAPACKE_zheevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
  9049  }
  9050  
  9051  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chegst.f.
  9052  func Chegst(itype int, ul blas.Uplo, n int, a []complex64, lda int, b []complex64, ldb int) bool {
  9053  	switch ul {
  9054  	case blas.Upper:
  9055  		ul = 'U'
  9056  	case blas.Lower:
  9057  		ul = 'L'
  9058  	default:
  9059  		panic("lapack: illegal triangle")
  9060  	}
  9061  	var _a *complex64
  9062  	if len(a) > 0 {
  9063  		_a = &a[0]
  9064  	}
  9065  	var _b *complex64
  9066  	if len(b) > 0 {
  9067  		_b = &b[0]
  9068  	}
  9069  	return isZero(C.LAPACKE_chegst_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
  9070  }
  9071  
  9072  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhegst.f.
  9073  func Zhegst(itype int, ul blas.Uplo, n int, a []complex128, lda int, b []complex128, ldb int) bool {
  9074  	switch ul {
  9075  	case blas.Upper:
  9076  		ul = 'U'
  9077  	case blas.Lower:
  9078  		ul = 'L'
  9079  	default:
  9080  		panic("lapack: illegal triangle")
  9081  	}
  9082  	var _a *complex128
  9083  	if len(a) > 0 {
  9084  		_a = &a[0]
  9085  	}
  9086  	var _b *complex128
  9087  	if len(b) > 0 {
  9088  		_b = &b[0]
  9089  	}
  9090  	return isZero(C.LAPACKE_zhegst_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
  9091  }
  9092  
  9093  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chegv.f.
  9094  func Chegv(itype int, jobz lapack.Job, ul blas.Uplo, n int, a []complex64, lda int, b []complex64, ldb int, w []float32, work []complex64, lwork int, rwork []float32) bool {
  9095  	switch ul {
  9096  	case blas.Upper:
  9097  		ul = 'U'
  9098  	case blas.Lower:
  9099  		ul = 'L'
  9100  	default:
  9101  		panic("lapack: illegal triangle")
  9102  	}
  9103  	var _a *complex64
  9104  	if len(a) > 0 {
  9105  		_a = &a[0]
  9106  	}
  9107  	var _b *complex64
  9108  	if len(b) > 0 {
  9109  		_b = &b[0]
  9110  	}
  9111  	var _w *float32
  9112  	if len(w) > 0 {
  9113  		_w = &w[0]
  9114  	}
  9115  	var _work *complex64
  9116  	if len(work) > 0 {
  9117  		_work = &work[0]
  9118  	}
  9119  	var _rwork *float32
  9120  	if len(rwork) > 0 {
  9121  		_rwork = &rwork[0]
  9122  	}
  9123  	return isZero(C.LAPACKE_chegv_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.float)(_w), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  9124  }
  9125  
  9126  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhegv.f.
  9127  func Zhegv(itype int, jobz lapack.Job, ul blas.Uplo, n int, a []complex128, lda int, b []complex128, ldb int, w []float64, work []complex128, lwork int, rwork []float64) bool {
  9128  	switch ul {
  9129  	case blas.Upper:
  9130  		ul = 'U'
  9131  	case blas.Lower:
  9132  		ul = 'L'
  9133  	default:
  9134  		panic("lapack: illegal triangle")
  9135  	}
  9136  	var _a *complex128
  9137  	if len(a) > 0 {
  9138  		_a = &a[0]
  9139  	}
  9140  	var _b *complex128
  9141  	if len(b) > 0 {
  9142  		_b = &b[0]
  9143  	}
  9144  	var _w *float64
  9145  	if len(w) > 0 {
  9146  		_w = &w[0]
  9147  	}
  9148  	var _work *complex128
  9149  	if len(work) > 0 {
  9150  		_work = &work[0]
  9151  	}
  9152  	var _rwork *float64
  9153  	if len(rwork) > 0 {
  9154  		_rwork = &rwork[0]
  9155  	}
  9156  	return isZero(C.LAPACKE_zhegv_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.double)(_w), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  9157  }
  9158  
  9159  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chegvd.f.
  9160  func Chegvd(itype int, jobz lapack.Job, ul blas.Uplo, n int, a []complex64, lda int, b []complex64, ldb int, w []float32, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32, liwork int) bool {
  9161  	switch ul {
  9162  	case blas.Upper:
  9163  		ul = 'U'
  9164  	case blas.Lower:
  9165  		ul = 'L'
  9166  	default:
  9167  		panic("lapack: illegal triangle")
  9168  	}
  9169  	var _a *complex64
  9170  	if len(a) > 0 {
  9171  		_a = &a[0]
  9172  	}
  9173  	var _b *complex64
  9174  	if len(b) > 0 {
  9175  		_b = &b[0]
  9176  	}
  9177  	var _w *float32
  9178  	if len(w) > 0 {
  9179  		_w = &w[0]
  9180  	}
  9181  	var _work *complex64
  9182  	if len(work) > 0 {
  9183  		_work = &work[0]
  9184  	}
  9185  	var _rwork *float32
  9186  	if len(rwork) > 0 {
  9187  		_rwork = &rwork[0]
  9188  	}
  9189  	var _iwork *int32
  9190  	if len(iwork) > 0 {
  9191  		_iwork = &iwork[0]
  9192  	}
  9193  	return isZero(C.LAPACKE_chegvd_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.float)(_w), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  9194  }
  9195  
  9196  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhegvd.f.
  9197  func Zhegvd(itype int, jobz lapack.Job, ul blas.Uplo, n int, a []complex128, lda int, b []complex128, ldb int, w []float64, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32, liwork int) bool {
  9198  	switch ul {
  9199  	case blas.Upper:
  9200  		ul = 'U'
  9201  	case blas.Lower:
  9202  		ul = 'L'
  9203  	default:
  9204  		panic("lapack: illegal triangle")
  9205  	}
  9206  	var _a *complex128
  9207  	if len(a) > 0 {
  9208  		_a = &a[0]
  9209  	}
  9210  	var _b *complex128
  9211  	if len(b) > 0 {
  9212  		_b = &b[0]
  9213  	}
  9214  	var _w *float64
  9215  	if len(w) > 0 {
  9216  		_w = &w[0]
  9217  	}
  9218  	var _work *complex128
  9219  	if len(work) > 0 {
  9220  		_work = &work[0]
  9221  	}
  9222  	var _rwork *float64
  9223  	if len(rwork) > 0 {
  9224  		_rwork = &rwork[0]
  9225  	}
  9226  	var _iwork *int32
  9227  	if len(iwork) > 0 {
  9228  		_iwork = &iwork[0]
  9229  	}
  9230  	return isZero(C.LAPACKE_zhegvd_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.double)(_w), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
  9231  }
  9232  
  9233  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chegvx.f.
  9234  func Chegvx(itype int, jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []complex64, lda int, b []complex64, ldb int, vl, vu float32, il, iu int, abstol float32, m []int32, w []float32, z []complex64, ldz int, work []complex64, lwork int, rwork []float32, iwork, ifail []int32) bool {
  9235  	switch ul {
  9236  	case blas.Upper:
  9237  		ul = 'U'
  9238  	case blas.Lower:
  9239  		ul = 'L'
  9240  	default:
  9241  		panic("lapack: illegal triangle")
  9242  	}
  9243  	var _a *complex64
  9244  	if len(a) > 0 {
  9245  		_a = &a[0]
  9246  	}
  9247  	var _b *complex64
  9248  	if len(b) > 0 {
  9249  		_b = &b[0]
  9250  	}
  9251  	var _m *int32
  9252  	if len(m) > 0 {
  9253  		_m = &m[0]
  9254  	}
  9255  	var _w *float32
  9256  	if len(w) > 0 {
  9257  		_w = &w[0]
  9258  	}
  9259  	var _z *complex64
  9260  	if len(z) > 0 {
  9261  		_z = &z[0]
  9262  	}
  9263  	var _work *complex64
  9264  	if len(work) > 0 {
  9265  		_work = &work[0]
  9266  	}
  9267  	var _rwork *float32
  9268  	if len(rwork) > 0 {
  9269  		_rwork = &rwork[0]
  9270  	}
  9271  	var _iwork *int32
  9272  	if len(iwork) > 0 {
  9273  		_iwork = &iwork[0]
  9274  	}
  9275  	var _ifail *int32
  9276  	if len(ifail) > 0 {
  9277  		_ifail = &ifail[0]
  9278  	}
  9279  	return isZero(C.LAPACKE_chegvx_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
  9280  }
  9281  
  9282  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhegvx.f.
  9283  func Zhegvx(itype int, jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []complex128, lda int, b []complex128, ldb int, vl, vu float64, il, iu int, abstol float64, m []int32, w []float64, z []complex128, ldz int, work []complex128, lwork int, rwork []float64, iwork, ifail []int32) bool {
  9284  	switch ul {
  9285  	case blas.Upper:
  9286  		ul = 'U'
  9287  	case blas.Lower:
  9288  		ul = 'L'
  9289  	default:
  9290  		panic("lapack: illegal triangle")
  9291  	}
  9292  	var _a *complex128
  9293  	if len(a) > 0 {
  9294  		_a = &a[0]
  9295  	}
  9296  	var _b *complex128
  9297  	if len(b) > 0 {
  9298  		_b = &b[0]
  9299  	}
  9300  	var _m *int32
  9301  	if len(m) > 0 {
  9302  		_m = &m[0]
  9303  	}
  9304  	var _w *float64
  9305  	if len(w) > 0 {
  9306  		_w = &w[0]
  9307  	}
  9308  	var _z *complex128
  9309  	if len(z) > 0 {
  9310  		_z = &z[0]
  9311  	}
  9312  	var _work *complex128
  9313  	if len(work) > 0 {
  9314  		_work = &work[0]
  9315  	}
  9316  	var _rwork *float64
  9317  	if len(rwork) > 0 {
  9318  		_rwork = &rwork[0]
  9319  	}
  9320  	var _iwork *int32
  9321  	if len(iwork) > 0 {
  9322  		_iwork = &iwork[0]
  9323  	}
  9324  	var _ifail *int32
  9325  	if len(ifail) > 0 {
  9326  		_ifail = &ifail[0]
  9327  	}
  9328  	return isZero(C.LAPACKE_zhegvx_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
  9329  }
  9330  
  9331  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cherfs.f.
  9332  func Cherfs(ul blas.Uplo, n, nrhs int, a []complex64, lda int, af []complex64, ldaf int, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
  9333  	switch ul {
  9334  	case blas.Upper:
  9335  		ul = 'U'
  9336  	case blas.Lower:
  9337  		ul = 'L'
  9338  	default:
  9339  		panic("lapack: illegal triangle")
  9340  	}
  9341  	var _a *complex64
  9342  	if len(a) > 0 {
  9343  		_a = &a[0]
  9344  	}
  9345  	var _af *complex64
  9346  	if len(af) > 0 {
  9347  		_af = &af[0]
  9348  	}
  9349  	var _ipiv *int32
  9350  	if len(ipiv) > 0 {
  9351  		_ipiv = &ipiv[0]
  9352  	}
  9353  	var _b *complex64
  9354  	if len(b) > 0 {
  9355  		_b = &b[0]
  9356  	}
  9357  	var _x *complex64
  9358  	if len(x) > 0 {
  9359  		_x = &x[0]
  9360  	}
  9361  	var _ferr *float32
  9362  	if len(ferr) > 0 {
  9363  		_ferr = &ferr[0]
  9364  	}
  9365  	var _berr *float32
  9366  	if len(berr) > 0 {
  9367  		_berr = &berr[0]
  9368  	}
  9369  	var _work *complex64
  9370  	if len(work) > 0 {
  9371  		_work = &work[0]
  9372  	}
  9373  	var _rwork *float32
  9374  	if len(rwork) > 0 {
  9375  		_rwork = &rwork[0]
  9376  	}
  9377  	return isZero(C.LAPACKE_cherfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
  9378  }
  9379  
  9380  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zherfs.f.
  9381  func Zherfs(ul blas.Uplo, n, nrhs int, a []complex128, lda int, af []complex128, ldaf int, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
  9382  	switch ul {
  9383  	case blas.Upper:
  9384  		ul = 'U'
  9385  	case blas.Lower:
  9386  		ul = 'L'
  9387  	default:
  9388  		panic("lapack: illegal triangle")
  9389  	}
  9390  	var _a *complex128
  9391  	if len(a) > 0 {
  9392  		_a = &a[0]
  9393  	}
  9394  	var _af *complex128
  9395  	if len(af) > 0 {
  9396  		_af = &af[0]
  9397  	}
  9398  	var _ipiv *int32
  9399  	if len(ipiv) > 0 {
  9400  		_ipiv = &ipiv[0]
  9401  	}
  9402  	var _b *complex128
  9403  	if len(b) > 0 {
  9404  		_b = &b[0]
  9405  	}
  9406  	var _x *complex128
  9407  	if len(x) > 0 {
  9408  		_x = &x[0]
  9409  	}
  9410  	var _ferr *float64
  9411  	if len(ferr) > 0 {
  9412  		_ferr = &ferr[0]
  9413  	}
  9414  	var _berr *float64
  9415  	if len(berr) > 0 {
  9416  		_berr = &berr[0]
  9417  	}
  9418  	var _work *complex128
  9419  	if len(work) > 0 {
  9420  		_work = &work[0]
  9421  	}
  9422  	var _rwork *float64
  9423  	if len(rwork) > 0 {
  9424  		_rwork = &rwork[0]
  9425  	}
  9426  	return isZero(C.LAPACKE_zherfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
  9427  }
  9428  
  9429  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chesv.f.
  9430  func Chesv(ul blas.Uplo, n, nrhs int, a []complex64, lda int, ipiv []int32, b []complex64, ldb int, work []complex64, lwork int) bool {
  9431  	switch ul {
  9432  	case blas.Upper:
  9433  		ul = 'U'
  9434  	case blas.Lower:
  9435  		ul = 'L'
  9436  	default:
  9437  		panic("lapack: illegal triangle")
  9438  	}
  9439  	var _a *complex64
  9440  	if len(a) > 0 {
  9441  		_a = &a[0]
  9442  	}
  9443  	var _ipiv *int32
  9444  	if len(ipiv) > 0 {
  9445  		_ipiv = &ipiv[0]
  9446  	}
  9447  	var _b *complex64
  9448  	if len(b) > 0 {
  9449  		_b = &b[0]
  9450  	}
  9451  	var _work *complex64
  9452  	if len(work) > 0 {
  9453  		_work = &work[0]
  9454  	}
  9455  	return isZero(C.LAPACKE_chesv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  9456  }
  9457  
  9458  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhesv.f.
  9459  func Zhesv(ul blas.Uplo, n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int, work []complex128, lwork int) bool {
  9460  	switch ul {
  9461  	case blas.Upper:
  9462  		ul = 'U'
  9463  	case blas.Lower:
  9464  		ul = 'L'
  9465  	default:
  9466  		panic("lapack: illegal triangle")
  9467  	}
  9468  	var _a *complex128
  9469  	if len(a) > 0 {
  9470  		_a = &a[0]
  9471  	}
  9472  	var _ipiv *int32
  9473  	if len(ipiv) > 0 {
  9474  		_ipiv = &ipiv[0]
  9475  	}
  9476  	var _b *complex128
  9477  	if len(b) > 0 {
  9478  		_b = &b[0]
  9479  	}
  9480  	var _work *complex128
  9481  	if len(work) > 0 {
  9482  		_work = &work[0]
  9483  	}
  9484  	return isZero(C.LAPACKE_zhesv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  9485  }
  9486  
  9487  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chesvx.f.
  9488  func Chesvx(fact byte, ul blas.Uplo, n, nrhs int, a []complex64, lda int, af []complex64, ldaf int, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, lwork int, rwork []float32) bool {
  9489  	switch ul {
  9490  	case blas.Upper:
  9491  		ul = 'U'
  9492  	case blas.Lower:
  9493  		ul = 'L'
  9494  	default:
  9495  		panic("lapack: illegal triangle")
  9496  	}
  9497  	var _a *complex64
  9498  	if len(a) > 0 {
  9499  		_a = &a[0]
  9500  	}
  9501  	var _af *complex64
  9502  	if len(af) > 0 {
  9503  		_af = &af[0]
  9504  	}
  9505  	var _ipiv *int32
  9506  	if len(ipiv) > 0 {
  9507  		_ipiv = &ipiv[0]
  9508  	}
  9509  	var _b *complex64
  9510  	if len(b) > 0 {
  9511  		_b = &b[0]
  9512  	}
  9513  	var _x *complex64
  9514  	if len(x) > 0 {
  9515  		_x = &x[0]
  9516  	}
  9517  	var _rcond *float32
  9518  	if len(rcond) > 0 {
  9519  		_rcond = &rcond[0]
  9520  	}
  9521  	var _ferr *float32
  9522  	if len(ferr) > 0 {
  9523  		_ferr = &ferr[0]
  9524  	}
  9525  	var _berr *float32
  9526  	if len(berr) > 0 {
  9527  		_berr = &berr[0]
  9528  	}
  9529  	var _work *complex64
  9530  	if len(work) > 0 {
  9531  		_work = &work[0]
  9532  	}
  9533  	var _rwork *float32
  9534  	if len(rwork) > 0 {
  9535  		_rwork = &rwork[0]
  9536  	}
  9537  	return isZero(C.LAPACKE_chesvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
  9538  }
  9539  
  9540  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhesvx.f.
  9541  func Zhesvx(fact byte, ul blas.Uplo, n, nrhs int, a []complex128, lda int, af []complex128, ldaf int, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, lwork int, rwork []float64) bool {
  9542  	switch ul {
  9543  	case blas.Upper:
  9544  		ul = 'U'
  9545  	case blas.Lower:
  9546  		ul = 'L'
  9547  	default:
  9548  		panic("lapack: illegal triangle")
  9549  	}
  9550  	var _a *complex128
  9551  	if len(a) > 0 {
  9552  		_a = &a[0]
  9553  	}
  9554  	var _af *complex128
  9555  	if len(af) > 0 {
  9556  		_af = &af[0]
  9557  	}
  9558  	var _ipiv *int32
  9559  	if len(ipiv) > 0 {
  9560  		_ipiv = &ipiv[0]
  9561  	}
  9562  	var _b *complex128
  9563  	if len(b) > 0 {
  9564  		_b = &b[0]
  9565  	}
  9566  	var _x *complex128
  9567  	if len(x) > 0 {
  9568  		_x = &x[0]
  9569  	}
  9570  	var _rcond *float64
  9571  	if len(rcond) > 0 {
  9572  		_rcond = &rcond[0]
  9573  	}
  9574  	var _ferr *float64
  9575  	if len(ferr) > 0 {
  9576  		_ferr = &ferr[0]
  9577  	}
  9578  	var _berr *float64
  9579  	if len(berr) > 0 {
  9580  		_berr = &berr[0]
  9581  	}
  9582  	var _work *complex128
  9583  	if len(work) > 0 {
  9584  		_work = &work[0]
  9585  	}
  9586  	var _rwork *float64
  9587  	if len(rwork) > 0 {
  9588  		_rwork = &rwork[0]
  9589  	}
  9590  	return isZero(C.LAPACKE_zhesvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
  9591  }
  9592  
  9593  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chetrd.f.
  9594  func Chetrd(ul blas.Uplo, n int, a []complex64, lda int, d, e []float32, tau, work []complex64, lwork int) bool {
  9595  	switch ul {
  9596  	case blas.Upper:
  9597  		ul = 'U'
  9598  	case blas.Lower:
  9599  		ul = 'L'
  9600  	default:
  9601  		panic("lapack: illegal triangle")
  9602  	}
  9603  	var _a *complex64
  9604  	if len(a) > 0 {
  9605  		_a = &a[0]
  9606  	}
  9607  	var _d *float32
  9608  	if len(d) > 0 {
  9609  		_d = &d[0]
  9610  	}
  9611  	var _e *float32
  9612  	if len(e) > 0 {
  9613  		_e = &e[0]
  9614  	}
  9615  	var _tau *complex64
  9616  	if len(tau) > 0 {
  9617  		_tau = &tau[0]
  9618  	}
  9619  	var _work *complex64
  9620  	if len(work) > 0 {
  9621  		_work = &work[0]
  9622  	}
  9623  	return isZero(C.LAPACKE_chetrd_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  9624  }
  9625  
  9626  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhetrd.f.
  9627  func Zhetrd(ul blas.Uplo, n int, a []complex128, lda int, d, e []float64, tau, work []complex128, lwork int) bool {
  9628  	switch ul {
  9629  	case blas.Upper:
  9630  		ul = 'U'
  9631  	case blas.Lower:
  9632  		ul = 'L'
  9633  	default:
  9634  		panic("lapack: illegal triangle")
  9635  	}
  9636  	var _a *complex128
  9637  	if len(a) > 0 {
  9638  		_a = &a[0]
  9639  	}
  9640  	var _d *float64
  9641  	if len(d) > 0 {
  9642  		_d = &d[0]
  9643  	}
  9644  	var _e *float64
  9645  	if len(e) > 0 {
  9646  		_e = &e[0]
  9647  	}
  9648  	var _tau *complex128
  9649  	if len(tau) > 0 {
  9650  		_tau = &tau[0]
  9651  	}
  9652  	var _work *complex128
  9653  	if len(work) > 0 {
  9654  		_work = &work[0]
  9655  	}
  9656  	return isZero(C.LAPACKE_zhetrd_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  9657  }
  9658  
  9659  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chetrf.f.
  9660  func Chetrf(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, work []complex64, lwork int) bool {
  9661  	switch ul {
  9662  	case blas.Upper:
  9663  		ul = 'U'
  9664  	case blas.Lower:
  9665  		ul = 'L'
  9666  	default:
  9667  		panic("lapack: illegal triangle")
  9668  	}
  9669  	var _a *complex64
  9670  	if len(a) > 0 {
  9671  		_a = &a[0]
  9672  	}
  9673  	var _ipiv *int32
  9674  	if len(ipiv) > 0 {
  9675  		_ipiv = &ipiv[0]
  9676  	}
  9677  	var _work *complex64
  9678  	if len(work) > 0 {
  9679  		_work = &work[0]
  9680  	}
  9681  	return isZero(C.LAPACKE_chetrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
  9682  }
  9683  
  9684  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhetrf.f.
  9685  func Zhetrf(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, work []complex128, lwork int) bool {
  9686  	switch ul {
  9687  	case blas.Upper:
  9688  		ul = 'U'
  9689  	case blas.Lower:
  9690  		ul = 'L'
  9691  	default:
  9692  		panic("lapack: illegal triangle")
  9693  	}
  9694  	var _a *complex128
  9695  	if len(a) > 0 {
  9696  		_a = &a[0]
  9697  	}
  9698  	var _ipiv *int32
  9699  	if len(ipiv) > 0 {
  9700  		_ipiv = &ipiv[0]
  9701  	}
  9702  	var _work *complex128
  9703  	if len(work) > 0 {
  9704  		_work = &work[0]
  9705  	}
  9706  	return isZero(C.LAPACKE_zhetrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
  9707  }
  9708  
  9709  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chetri.f.
  9710  func Chetri(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, work []complex64) bool {
  9711  	switch ul {
  9712  	case blas.Upper:
  9713  		ul = 'U'
  9714  	case blas.Lower:
  9715  		ul = 'L'
  9716  	default:
  9717  		panic("lapack: illegal triangle")
  9718  	}
  9719  	var _a *complex64
  9720  	if len(a) > 0 {
  9721  		_a = &a[0]
  9722  	}
  9723  	var _ipiv *int32
  9724  	if len(ipiv) > 0 {
  9725  		_ipiv = &ipiv[0]
  9726  	}
  9727  	var _work *complex64
  9728  	if len(work) > 0 {
  9729  		_work = &work[0]
  9730  	}
  9731  	return isZero(C.LAPACKE_chetri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work)))
  9732  }
  9733  
  9734  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhetri.f.
  9735  func Zhetri(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, work []complex128) bool {
  9736  	switch ul {
  9737  	case blas.Upper:
  9738  		ul = 'U'
  9739  	case blas.Lower:
  9740  		ul = 'L'
  9741  	default:
  9742  		panic("lapack: illegal triangle")
  9743  	}
  9744  	var _a *complex128
  9745  	if len(a) > 0 {
  9746  		_a = &a[0]
  9747  	}
  9748  	var _ipiv *int32
  9749  	if len(ipiv) > 0 {
  9750  		_ipiv = &ipiv[0]
  9751  	}
  9752  	var _work *complex128
  9753  	if len(work) > 0 {
  9754  		_work = &work[0]
  9755  	}
  9756  	return isZero(C.LAPACKE_zhetri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work)))
  9757  }
  9758  
  9759  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chetrs.f.
  9760  func Chetrs(ul blas.Uplo, n, nrhs int, a []complex64, lda int, ipiv []int32, b []complex64, ldb int) bool {
  9761  	switch ul {
  9762  	case blas.Upper:
  9763  		ul = 'U'
  9764  	case blas.Lower:
  9765  		ul = 'L'
  9766  	default:
  9767  		panic("lapack: illegal triangle")
  9768  	}
  9769  	var _a *complex64
  9770  	if len(a) > 0 {
  9771  		_a = &a[0]
  9772  	}
  9773  	var _ipiv *int32
  9774  	if len(ipiv) > 0 {
  9775  		_ipiv = &ipiv[0]
  9776  	}
  9777  	var _b *complex64
  9778  	if len(b) > 0 {
  9779  		_b = &b[0]
  9780  	}
  9781  	return isZero(C.LAPACKE_chetrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
  9782  }
  9783  
  9784  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhetrs.f.
  9785  func Zhetrs(ul blas.Uplo, n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int) bool {
  9786  	switch ul {
  9787  	case blas.Upper:
  9788  		ul = 'U'
  9789  	case blas.Lower:
  9790  		ul = 'L'
  9791  	default:
  9792  		panic("lapack: illegal triangle")
  9793  	}
  9794  	var _a *complex128
  9795  	if len(a) > 0 {
  9796  		_a = &a[0]
  9797  	}
  9798  	var _ipiv *int32
  9799  	if len(ipiv) > 0 {
  9800  		_ipiv = &ipiv[0]
  9801  	}
  9802  	var _b *complex128
  9803  	if len(b) > 0 {
  9804  		_b = &b[0]
  9805  	}
  9806  	return isZero(C.LAPACKE_zhetrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
  9807  }
  9808  
  9809  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chfrk.f.
  9810  func Chfrk(transr blas.Transpose, ul blas.Uplo, trans blas.Transpose, n, k int, alpha float32, a []complex64, lda int, beta float32, c []complex64) bool {
  9811  	switch transr {
  9812  	case blas.NoTrans:
  9813  		transr = 'N'
  9814  	case blas.Trans:
  9815  		transr = 'T'
  9816  	case blas.ConjTrans:
  9817  		transr = 'C'
  9818  	default:
  9819  		panic("lapack: bad trans")
  9820  	}
  9821  	switch ul {
  9822  	case blas.Upper:
  9823  		ul = 'U'
  9824  	case blas.Lower:
  9825  		ul = 'L'
  9826  	default:
  9827  		panic("lapack: illegal triangle")
  9828  	}
  9829  	switch trans {
  9830  	case blas.NoTrans:
  9831  		trans = 'N'
  9832  	case blas.Trans:
  9833  		trans = 'T'
  9834  	case blas.ConjTrans:
  9835  		trans = 'C'
  9836  	default:
  9837  		panic("lapack: bad trans")
  9838  	}
  9839  	var _a *complex64
  9840  	if len(a) > 0 {
  9841  		_a = &a[0]
  9842  	}
  9843  	var _c *complex64
  9844  	if len(c) > 0 {
  9845  		_c = &c[0]
  9846  	}
  9847  	return isZero(C.LAPACKE_chfrk_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(k), (C.float)(alpha), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (C.float)(beta), (*C.lapack_complex_float)(_c)))
  9848  }
  9849  
  9850  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhfrk.f.
  9851  func Zhfrk(transr blas.Transpose, ul blas.Uplo, trans blas.Transpose, n, k int, alpha float64, a []complex128, lda int, beta float64, c []complex128) bool {
  9852  	switch transr {
  9853  	case blas.NoTrans:
  9854  		transr = 'N'
  9855  	case blas.Trans:
  9856  		transr = 'T'
  9857  	case blas.ConjTrans:
  9858  		transr = 'C'
  9859  	default:
  9860  		panic("lapack: bad trans")
  9861  	}
  9862  	switch ul {
  9863  	case blas.Upper:
  9864  		ul = 'U'
  9865  	case blas.Lower:
  9866  		ul = 'L'
  9867  	default:
  9868  		panic("lapack: illegal triangle")
  9869  	}
  9870  	switch trans {
  9871  	case blas.NoTrans:
  9872  		trans = 'N'
  9873  	case blas.Trans:
  9874  		trans = 'T'
  9875  	case blas.ConjTrans:
  9876  		trans = 'C'
  9877  	default:
  9878  		panic("lapack: bad trans")
  9879  	}
  9880  	var _a *complex128
  9881  	if len(a) > 0 {
  9882  		_a = &a[0]
  9883  	}
  9884  	var _c *complex128
  9885  	if len(c) > 0 {
  9886  		_c = &c[0]
  9887  	}
  9888  	return isZero(C.LAPACKE_zhfrk_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(k), (C.double)(alpha), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (C.double)(beta), (*C.lapack_complex_double)(_c)))
  9889  }
  9890  
  9891  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/shgeqz.f.
  9892  func Shgeqz(job lapack.Job, compq, compz lapack.Comp, n, ilo, ihi int, h []float32, ldh int, t []float32, ldt int, alphar, alphai, beta, q []float32, ldq int, z []float32, ldz int, work []float32, lwork int) bool {
  9893  	var _h *float32
  9894  	if len(h) > 0 {
  9895  		_h = &h[0]
  9896  	}
  9897  	var _t *float32
  9898  	if len(t) > 0 {
  9899  		_t = &t[0]
  9900  	}
  9901  	var _alphar *float32
  9902  	if len(alphar) > 0 {
  9903  		_alphar = &alphar[0]
  9904  	}
  9905  	var _alphai *float32
  9906  	if len(alphai) > 0 {
  9907  		_alphai = &alphai[0]
  9908  	}
  9909  	var _beta *float32
  9910  	if len(beta) > 0 {
  9911  		_beta = &beta[0]
  9912  	}
  9913  	var _q *float32
  9914  	if len(q) > 0 {
  9915  		_q = &q[0]
  9916  	}
  9917  	var _z *float32
  9918  	if len(z) > 0 {
  9919  		_z = &z[0]
  9920  	}
  9921  	var _work *float32
  9922  	if len(work) > 0 {
  9923  		_work = &work[0]
  9924  	}
  9925  	return isZero(C.LAPACKE_shgeqz_work((C.int)(rowMajor), (C.char)(job), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_h), (C.lapack_int)(ldh), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_alphar), (*C.float)(_alphai), (*C.float)(_beta), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork)))
  9926  }
  9927  
  9928  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dhgeqz.f.
  9929  func Dhgeqz(job lapack.Job, compq, compz lapack.Comp, n, ilo, ihi int, h []float64, ldh int, t []float64, ldt int, alphar, alphai, beta, q []float64, ldq int, z []float64, ldz int, work []float64, lwork int) bool {
  9930  	var _h *float64
  9931  	if len(h) > 0 {
  9932  		_h = &h[0]
  9933  	}
  9934  	var _t *float64
  9935  	if len(t) > 0 {
  9936  		_t = &t[0]
  9937  	}
  9938  	var _alphar *float64
  9939  	if len(alphar) > 0 {
  9940  		_alphar = &alphar[0]
  9941  	}
  9942  	var _alphai *float64
  9943  	if len(alphai) > 0 {
  9944  		_alphai = &alphai[0]
  9945  	}
  9946  	var _beta *float64
  9947  	if len(beta) > 0 {
  9948  		_beta = &beta[0]
  9949  	}
  9950  	var _q *float64
  9951  	if len(q) > 0 {
  9952  		_q = &q[0]
  9953  	}
  9954  	var _z *float64
  9955  	if len(z) > 0 {
  9956  		_z = &z[0]
  9957  	}
  9958  	var _work *float64
  9959  	if len(work) > 0 {
  9960  		_work = &work[0]
  9961  	}
  9962  	return isZero(C.LAPACKE_dhgeqz_work((C.int)(rowMajor), (C.char)(job), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_h), (C.lapack_int)(ldh), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_alphar), (*C.double)(_alphai), (*C.double)(_beta), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork)))
  9963  }
  9964  
  9965  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chgeqz.f.
  9966  func Chgeqz(job lapack.Job, compq, compz lapack.Comp, n, ilo, ihi int, h []complex64, ldh int, t []complex64, ldt int, alpha, beta, q []complex64, ldq int, z []complex64, ldz int, work []complex64, lwork int, rwork []float32) bool {
  9967  	var _h *complex64
  9968  	if len(h) > 0 {
  9969  		_h = &h[0]
  9970  	}
  9971  	var _t *complex64
  9972  	if len(t) > 0 {
  9973  		_t = &t[0]
  9974  	}
  9975  	var _alpha *complex64
  9976  	if len(alpha) > 0 {
  9977  		_alpha = &alpha[0]
  9978  	}
  9979  	var _beta *complex64
  9980  	if len(beta) > 0 {
  9981  		_beta = &beta[0]
  9982  	}
  9983  	var _q *complex64
  9984  	if len(q) > 0 {
  9985  		_q = &q[0]
  9986  	}
  9987  	var _z *complex64
  9988  	if len(z) > 0 {
  9989  		_z = &z[0]
  9990  	}
  9991  	var _work *complex64
  9992  	if len(work) > 0 {
  9993  		_work = &work[0]
  9994  	}
  9995  	var _rwork *float32
  9996  	if len(rwork) > 0 {
  9997  		_rwork = &rwork[0]
  9998  	}
  9999  	return isZero(C.LAPACKE_chgeqz_work((C.int)(rowMajor), (C.char)(job), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_float)(_h), (C.lapack_int)(ldh), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_alpha), (*C.lapack_complex_float)(_beta), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
 10000  }
 10001  
 10002  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhgeqz.f.
 10003  func Zhgeqz(job lapack.Job, compq, compz lapack.Comp, n, ilo, ihi int, h []complex128, ldh int, t []complex128, ldt int, alpha, beta, q []complex128, ldq int, z []complex128, ldz int, work []complex128, lwork int, rwork []float64) bool {
 10004  	var _h *complex128
 10005  	if len(h) > 0 {
 10006  		_h = &h[0]
 10007  	}
 10008  	var _t *complex128
 10009  	if len(t) > 0 {
 10010  		_t = &t[0]
 10011  	}
 10012  	var _alpha *complex128
 10013  	if len(alpha) > 0 {
 10014  		_alpha = &alpha[0]
 10015  	}
 10016  	var _beta *complex128
 10017  	if len(beta) > 0 {
 10018  		_beta = &beta[0]
 10019  	}
 10020  	var _q *complex128
 10021  	if len(q) > 0 {
 10022  		_q = &q[0]
 10023  	}
 10024  	var _z *complex128
 10025  	if len(z) > 0 {
 10026  		_z = &z[0]
 10027  	}
 10028  	var _work *complex128
 10029  	if len(work) > 0 {
 10030  		_work = &work[0]
 10031  	}
 10032  	var _rwork *float64
 10033  	if len(rwork) > 0 {
 10034  		_rwork = &rwork[0]
 10035  	}
 10036  	return isZero(C.LAPACKE_zhgeqz_work((C.int)(rowMajor), (C.char)(job), (C.char)(compq), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_double)(_h), (C.lapack_int)(ldh), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_alpha), (*C.lapack_complex_double)(_beta), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
 10037  }
 10038  
 10039  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpcon.f.
 10040  func Chpcon(ul blas.Uplo, n int, ap []complex64, ipiv []int32, anorm float32, rcond []float32, work []complex64) bool {
 10041  	switch ul {
 10042  	case blas.Upper:
 10043  		ul = 'U'
 10044  	case blas.Lower:
 10045  		ul = 'L'
 10046  	default:
 10047  		panic("lapack: illegal triangle")
 10048  	}
 10049  	var _ap *complex64
 10050  	if len(ap) > 0 {
 10051  		_ap = &ap[0]
 10052  	}
 10053  	var _ipiv *int32
 10054  	if len(ipiv) > 0 {
 10055  		_ipiv = &ipiv[0]
 10056  	}
 10057  	var _rcond *float32
 10058  	if len(rcond) > 0 {
 10059  		_rcond = &rcond[0]
 10060  	}
 10061  	var _work *complex64
 10062  	if len(work) > 0 {
 10063  		_work = &work[0]
 10064  	}
 10065  	return isZero(C.LAPACKE_chpcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work)))
 10066  }
 10067  
 10068  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpcon.f.
 10069  func Zhpcon(ul blas.Uplo, n int, ap []complex128, ipiv []int32, anorm float64, rcond []float64, work []complex128) bool {
 10070  	switch ul {
 10071  	case blas.Upper:
 10072  		ul = 'U'
 10073  	case blas.Lower:
 10074  		ul = 'L'
 10075  	default:
 10076  		panic("lapack: illegal triangle")
 10077  	}
 10078  	var _ap *complex128
 10079  	if len(ap) > 0 {
 10080  		_ap = &ap[0]
 10081  	}
 10082  	var _ipiv *int32
 10083  	if len(ipiv) > 0 {
 10084  		_ipiv = &ipiv[0]
 10085  	}
 10086  	var _rcond *float64
 10087  	if len(rcond) > 0 {
 10088  		_rcond = &rcond[0]
 10089  	}
 10090  	var _work *complex128
 10091  	if len(work) > 0 {
 10092  		_work = &work[0]
 10093  	}
 10094  	return isZero(C.LAPACKE_zhpcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work)))
 10095  }
 10096  
 10097  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpev.f.
 10098  func Chpev(jobz lapack.Job, ul blas.Uplo, n int, ap []complex64, w []float32, z []complex64, ldz int, work []complex64, rwork []float32) bool {
 10099  	switch ul {
 10100  	case blas.Upper:
 10101  		ul = 'U'
 10102  	case blas.Lower:
 10103  		ul = 'L'
 10104  	default:
 10105  		panic("lapack: illegal triangle")
 10106  	}
 10107  	var _ap *complex64
 10108  	if len(ap) > 0 {
 10109  		_ap = &ap[0]
 10110  	}
 10111  	var _w *float32
 10112  	if len(w) > 0 {
 10113  		_w = &w[0]
 10114  	}
 10115  	var _z *complex64
 10116  	if len(z) > 0 {
 10117  		_z = &z[0]
 10118  	}
 10119  	var _work *complex64
 10120  	if len(work) > 0 {
 10121  		_work = &work[0]
 10122  	}
 10123  	var _rwork *float32
 10124  	if len(rwork) > 0 {
 10125  		_rwork = &rwork[0]
 10126  	}
 10127  	return isZero(C.LAPACKE_chpev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 10128  }
 10129  
 10130  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpev.f.
 10131  func Zhpev(jobz lapack.Job, ul blas.Uplo, n int, ap []complex128, w []float64, z []complex128, ldz int, work []complex128, rwork []float64) bool {
 10132  	switch ul {
 10133  	case blas.Upper:
 10134  		ul = 'U'
 10135  	case blas.Lower:
 10136  		ul = 'L'
 10137  	default:
 10138  		panic("lapack: illegal triangle")
 10139  	}
 10140  	var _ap *complex128
 10141  	if len(ap) > 0 {
 10142  		_ap = &ap[0]
 10143  	}
 10144  	var _w *float64
 10145  	if len(w) > 0 {
 10146  		_w = &w[0]
 10147  	}
 10148  	var _z *complex128
 10149  	if len(z) > 0 {
 10150  		_z = &z[0]
 10151  	}
 10152  	var _work *complex128
 10153  	if len(work) > 0 {
 10154  		_work = &work[0]
 10155  	}
 10156  	var _rwork *float64
 10157  	if len(rwork) > 0 {
 10158  		_rwork = &rwork[0]
 10159  	}
 10160  	return isZero(C.LAPACKE_zhpev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 10161  }
 10162  
 10163  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpevd.f.
 10164  func Chpevd(jobz lapack.Job, ul blas.Uplo, n int, ap []complex64, w []float32, z []complex64, ldz int, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32, liwork int) bool {
 10165  	switch ul {
 10166  	case blas.Upper:
 10167  		ul = 'U'
 10168  	case blas.Lower:
 10169  		ul = 'L'
 10170  	default:
 10171  		panic("lapack: illegal triangle")
 10172  	}
 10173  	var _ap *complex64
 10174  	if len(ap) > 0 {
 10175  		_ap = &ap[0]
 10176  	}
 10177  	var _w *float32
 10178  	if len(w) > 0 {
 10179  		_w = &w[0]
 10180  	}
 10181  	var _z *complex64
 10182  	if len(z) > 0 {
 10183  		_z = &z[0]
 10184  	}
 10185  	var _work *complex64
 10186  	if len(work) > 0 {
 10187  		_work = &work[0]
 10188  	}
 10189  	var _rwork *float32
 10190  	if len(rwork) > 0 {
 10191  		_rwork = &rwork[0]
 10192  	}
 10193  	var _iwork *int32
 10194  	if len(iwork) > 0 {
 10195  		_iwork = &iwork[0]
 10196  	}
 10197  	return isZero(C.LAPACKE_chpevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 10198  }
 10199  
 10200  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpevd.f.
 10201  func Zhpevd(jobz lapack.Job, ul blas.Uplo, n int, ap []complex128, w []float64, z []complex128, ldz int, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32, liwork int) bool {
 10202  	switch ul {
 10203  	case blas.Upper:
 10204  		ul = 'U'
 10205  	case blas.Lower:
 10206  		ul = 'L'
 10207  	default:
 10208  		panic("lapack: illegal triangle")
 10209  	}
 10210  	var _ap *complex128
 10211  	if len(ap) > 0 {
 10212  		_ap = &ap[0]
 10213  	}
 10214  	var _w *float64
 10215  	if len(w) > 0 {
 10216  		_w = &w[0]
 10217  	}
 10218  	var _z *complex128
 10219  	if len(z) > 0 {
 10220  		_z = &z[0]
 10221  	}
 10222  	var _work *complex128
 10223  	if len(work) > 0 {
 10224  		_work = &work[0]
 10225  	}
 10226  	var _rwork *float64
 10227  	if len(rwork) > 0 {
 10228  		_rwork = &rwork[0]
 10229  	}
 10230  	var _iwork *int32
 10231  	if len(iwork) > 0 {
 10232  		_iwork = &iwork[0]
 10233  	}
 10234  	return isZero(C.LAPACKE_zhpevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 10235  }
 10236  
 10237  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpevx.f.
 10238  func Chpevx(jobz lapack.Job, rng byte, ul blas.Uplo, n int, ap []complex64, vl, vu float32, il, iu int, abstol float32, m []int32, w []float32, z []complex64, ldz int, work []complex64, rwork []float32, iwork, ifail []int32) bool {
 10239  	switch ul {
 10240  	case blas.Upper:
 10241  		ul = 'U'
 10242  	case blas.Lower:
 10243  		ul = 'L'
 10244  	default:
 10245  		panic("lapack: illegal triangle")
 10246  	}
 10247  	var _ap *complex64
 10248  	if len(ap) > 0 {
 10249  		_ap = &ap[0]
 10250  	}
 10251  	var _m *int32
 10252  	if len(m) > 0 {
 10253  		_m = &m[0]
 10254  	}
 10255  	var _w *float32
 10256  	if len(w) > 0 {
 10257  		_w = &w[0]
 10258  	}
 10259  	var _z *complex64
 10260  	if len(z) > 0 {
 10261  		_z = &z[0]
 10262  	}
 10263  	var _work *complex64
 10264  	if len(work) > 0 {
 10265  		_work = &work[0]
 10266  	}
 10267  	var _rwork *float32
 10268  	if len(rwork) > 0 {
 10269  		_rwork = &rwork[0]
 10270  	}
 10271  	var _iwork *int32
 10272  	if len(iwork) > 0 {
 10273  		_iwork = &iwork[0]
 10274  	}
 10275  	var _ifail *int32
 10276  	if len(ifail) > 0 {
 10277  		_ifail = &ifail[0]
 10278  	}
 10279  	return isZero(C.LAPACKE_chpevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (*C.float)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 10280  }
 10281  
 10282  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpevx.f.
 10283  func Zhpevx(jobz lapack.Job, rng byte, ul blas.Uplo, n int, ap []complex128, vl, vu float64, il, iu int, abstol float64, m []int32, w []float64, z []complex128, ldz int, work []complex128, rwork []float64, iwork, ifail []int32) bool {
 10284  	switch ul {
 10285  	case blas.Upper:
 10286  		ul = 'U'
 10287  	case blas.Lower:
 10288  		ul = 'L'
 10289  	default:
 10290  		panic("lapack: illegal triangle")
 10291  	}
 10292  	var _ap *complex128
 10293  	if len(ap) > 0 {
 10294  		_ap = &ap[0]
 10295  	}
 10296  	var _m *int32
 10297  	if len(m) > 0 {
 10298  		_m = &m[0]
 10299  	}
 10300  	var _w *float64
 10301  	if len(w) > 0 {
 10302  		_w = &w[0]
 10303  	}
 10304  	var _z *complex128
 10305  	if len(z) > 0 {
 10306  		_z = &z[0]
 10307  	}
 10308  	var _work *complex128
 10309  	if len(work) > 0 {
 10310  		_work = &work[0]
 10311  	}
 10312  	var _rwork *float64
 10313  	if len(rwork) > 0 {
 10314  		_rwork = &rwork[0]
 10315  	}
 10316  	var _iwork *int32
 10317  	if len(iwork) > 0 {
 10318  		_iwork = &iwork[0]
 10319  	}
 10320  	var _ifail *int32
 10321  	if len(ifail) > 0 {
 10322  		_ifail = &ifail[0]
 10323  	}
 10324  	return isZero(C.LAPACKE_zhpevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (*C.double)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 10325  }
 10326  
 10327  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpgst.f.
 10328  func Chpgst(itype int, ul blas.Uplo, n int, ap, bp []complex64) bool {
 10329  	switch ul {
 10330  	case blas.Upper:
 10331  		ul = 'U'
 10332  	case blas.Lower:
 10333  		ul = 'L'
 10334  	default:
 10335  		panic("lapack: illegal triangle")
 10336  	}
 10337  	var _ap *complex64
 10338  	if len(ap) > 0 {
 10339  		_ap = &ap[0]
 10340  	}
 10341  	var _bp *complex64
 10342  	if len(bp) > 0 {
 10343  		_bp = &bp[0]
 10344  	}
 10345  	return isZero(C.LAPACKE_chpgst_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_bp)))
 10346  }
 10347  
 10348  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpgst.f.
 10349  func Zhpgst(itype int, ul blas.Uplo, n int, ap, bp []complex128) bool {
 10350  	switch ul {
 10351  	case blas.Upper:
 10352  		ul = 'U'
 10353  	case blas.Lower:
 10354  		ul = 'L'
 10355  	default:
 10356  		panic("lapack: illegal triangle")
 10357  	}
 10358  	var _ap *complex128
 10359  	if len(ap) > 0 {
 10360  		_ap = &ap[0]
 10361  	}
 10362  	var _bp *complex128
 10363  	if len(bp) > 0 {
 10364  		_bp = &bp[0]
 10365  	}
 10366  	return isZero(C.LAPACKE_zhpgst_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_bp)))
 10367  }
 10368  
 10369  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpgv.f.
 10370  func Chpgv(itype int, jobz lapack.Job, ul blas.Uplo, n int, ap, bp []complex64, w []float32, z []complex64, ldz int, work []complex64, rwork []float32) bool {
 10371  	switch ul {
 10372  	case blas.Upper:
 10373  		ul = 'U'
 10374  	case blas.Lower:
 10375  		ul = 'L'
 10376  	default:
 10377  		panic("lapack: illegal triangle")
 10378  	}
 10379  	var _ap *complex64
 10380  	if len(ap) > 0 {
 10381  		_ap = &ap[0]
 10382  	}
 10383  	var _bp *complex64
 10384  	if len(bp) > 0 {
 10385  		_bp = &bp[0]
 10386  	}
 10387  	var _w *float32
 10388  	if len(w) > 0 {
 10389  		_w = &w[0]
 10390  	}
 10391  	var _z *complex64
 10392  	if len(z) > 0 {
 10393  		_z = &z[0]
 10394  	}
 10395  	var _work *complex64
 10396  	if len(work) > 0 {
 10397  		_work = &work[0]
 10398  	}
 10399  	var _rwork *float32
 10400  	if len(rwork) > 0 {
 10401  		_rwork = &rwork[0]
 10402  	}
 10403  	return isZero(C.LAPACKE_chpgv_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_bp), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 10404  }
 10405  
 10406  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpgv.f.
 10407  func Zhpgv(itype int, jobz lapack.Job, ul blas.Uplo, n int, ap, bp []complex128, w []float64, z []complex128, ldz int, work []complex128, rwork []float64) bool {
 10408  	switch ul {
 10409  	case blas.Upper:
 10410  		ul = 'U'
 10411  	case blas.Lower:
 10412  		ul = 'L'
 10413  	default:
 10414  		panic("lapack: illegal triangle")
 10415  	}
 10416  	var _ap *complex128
 10417  	if len(ap) > 0 {
 10418  		_ap = &ap[0]
 10419  	}
 10420  	var _bp *complex128
 10421  	if len(bp) > 0 {
 10422  		_bp = &bp[0]
 10423  	}
 10424  	var _w *float64
 10425  	if len(w) > 0 {
 10426  		_w = &w[0]
 10427  	}
 10428  	var _z *complex128
 10429  	if len(z) > 0 {
 10430  		_z = &z[0]
 10431  	}
 10432  	var _work *complex128
 10433  	if len(work) > 0 {
 10434  		_work = &work[0]
 10435  	}
 10436  	var _rwork *float64
 10437  	if len(rwork) > 0 {
 10438  		_rwork = &rwork[0]
 10439  	}
 10440  	return isZero(C.LAPACKE_zhpgv_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_bp), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 10441  }
 10442  
 10443  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpgvd.f.
 10444  func Chpgvd(itype int, jobz lapack.Job, ul blas.Uplo, n int, ap, bp []complex64, w []float32, z []complex64, ldz int, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32, liwork int) bool {
 10445  	switch ul {
 10446  	case blas.Upper:
 10447  		ul = 'U'
 10448  	case blas.Lower:
 10449  		ul = 'L'
 10450  	default:
 10451  		panic("lapack: illegal triangle")
 10452  	}
 10453  	var _ap *complex64
 10454  	if len(ap) > 0 {
 10455  		_ap = &ap[0]
 10456  	}
 10457  	var _bp *complex64
 10458  	if len(bp) > 0 {
 10459  		_bp = &bp[0]
 10460  	}
 10461  	var _w *float32
 10462  	if len(w) > 0 {
 10463  		_w = &w[0]
 10464  	}
 10465  	var _z *complex64
 10466  	if len(z) > 0 {
 10467  		_z = &z[0]
 10468  	}
 10469  	var _work *complex64
 10470  	if len(work) > 0 {
 10471  		_work = &work[0]
 10472  	}
 10473  	var _rwork *float32
 10474  	if len(rwork) > 0 {
 10475  		_rwork = &rwork[0]
 10476  	}
 10477  	var _iwork *int32
 10478  	if len(iwork) > 0 {
 10479  		_iwork = &iwork[0]
 10480  	}
 10481  	return isZero(C.LAPACKE_chpgvd_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_bp), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 10482  }
 10483  
 10484  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpgvd.f.
 10485  func Zhpgvd(itype int, jobz lapack.Job, ul blas.Uplo, n int, ap, bp []complex128, w []float64, z []complex128, ldz int, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32, liwork int) bool {
 10486  	switch ul {
 10487  	case blas.Upper:
 10488  		ul = 'U'
 10489  	case blas.Lower:
 10490  		ul = 'L'
 10491  	default:
 10492  		panic("lapack: illegal triangle")
 10493  	}
 10494  	var _ap *complex128
 10495  	if len(ap) > 0 {
 10496  		_ap = &ap[0]
 10497  	}
 10498  	var _bp *complex128
 10499  	if len(bp) > 0 {
 10500  		_bp = &bp[0]
 10501  	}
 10502  	var _w *float64
 10503  	if len(w) > 0 {
 10504  		_w = &w[0]
 10505  	}
 10506  	var _z *complex128
 10507  	if len(z) > 0 {
 10508  		_z = &z[0]
 10509  	}
 10510  	var _work *complex128
 10511  	if len(work) > 0 {
 10512  		_work = &work[0]
 10513  	}
 10514  	var _rwork *float64
 10515  	if len(rwork) > 0 {
 10516  		_rwork = &rwork[0]
 10517  	}
 10518  	var _iwork *int32
 10519  	if len(iwork) > 0 {
 10520  		_iwork = &iwork[0]
 10521  	}
 10522  	return isZero(C.LAPACKE_zhpgvd_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_bp), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 10523  }
 10524  
 10525  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpgvx.f.
 10526  func Chpgvx(itype int, jobz lapack.Job, rng byte, ul blas.Uplo, n int, ap, bp []complex64, vl, vu float32, il, iu int, abstol float32, m []int32, w []float32, z []complex64, ldz int, work []complex64, rwork []float32, iwork, ifail []int32) bool {
 10527  	switch ul {
 10528  	case blas.Upper:
 10529  		ul = 'U'
 10530  	case blas.Lower:
 10531  		ul = 'L'
 10532  	default:
 10533  		panic("lapack: illegal triangle")
 10534  	}
 10535  	var _ap *complex64
 10536  	if len(ap) > 0 {
 10537  		_ap = &ap[0]
 10538  	}
 10539  	var _bp *complex64
 10540  	if len(bp) > 0 {
 10541  		_bp = &bp[0]
 10542  	}
 10543  	var _m *int32
 10544  	if len(m) > 0 {
 10545  		_m = &m[0]
 10546  	}
 10547  	var _w *float32
 10548  	if len(w) > 0 {
 10549  		_w = &w[0]
 10550  	}
 10551  	var _z *complex64
 10552  	if len(z) > 0 {
 10553  		_z = &z[0]
 10554  	}
 10555  	var _work *complex64
 10556  	if len(work) > 0 {
 10557  		_work = &work[0]
 10558  	}
 10559  	var _rwork *float32
 10560  	if len(rwork) > 0 {
 10561  		_rwork = &rwork[0]
 10562  	}
 10563  	var _iwork *int32
 10564  	if len(iwork) > 0 {
 10565  		_iwork = &iwork[0]
 10566  	}
 10567  	var _ifail *int32
 10568  	if len(ifail) > 0 {
 10569  		_ifail = &ifail[0]
 10570  	}
 10571  	return isZero(C.LAPACKE_chpgvx_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_bp), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (*C.float)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 10572  }
 10573  
 10574  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpgvx.f.
 10575  func Zhpgvx(itype int, jobz lapack.Job, rng byte, ul blas.Uplo, n int, ap, bp []complex128, vl, vu float64, il, iu int, abstol float64, m []int32, w []float64, z []complex128, ldz int, work []complex128, rwork []float64, iwork, ifail []int32) bool {
 10576  	switch ul {
 10577  	case blas.Upper:
 10578  		ul = 'U'
 10579  	case blas.Lower:
 10580  		ul = 'L'
 10581  	default:
 10582  		panic("lapack: illegal triangle")
 10583  	}
 10584  	var _ap *complex128
 10585  	if len(ap) > 0 {
 10586  		_ap = &ap[0]
 10587  	}
 10588  	var _bp *complex128
 10589  	if len(bp) > 0 {
 10590  		_bp = &bp[0]
 10591  	}
 10592  	var _m *int32
 10593  	if len(m) > 0 {
 10594  		_m = &m[0]
 10595  	}
 10596  	var _w *float64
 10597  	if len(w) > 0 {
 10598  		_w = &w[0]
 10599  	}
 10600  	var _z *complex128
 10601  	if len(z) > 0 {
 10602  		_z = &z[0]
 10603  	}
 10604  	var _work *complex128
 10605  	if len(work) > 0 {
 10606  		_work = &work[0]
 10607  	}
 10608  	var _rwork *float64
 10609  	if len(rwork) > 0 {
 10610  		_rwork = &rwork[0]
 10611  	}
 10612  	var _iwork *int32
 10613  	if len(iwork) > 0 {
 10614  		_iwork = &iwork[0]
 10615  	}
 10616  	var _ifail *int32
 10617  	if len(ifail) > 0 {
 10618  		_ifail = &ifail[0]
 10619  	}
 10620  	return isZero(C.LAPACKE_zhpgvx_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_bp), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (*C.double)(_rwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 10621  }
 10622  
 10623  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chprfs.f.
 10624  func Chprfs(ul blas.Uplo, n, nrhs int, ap, afp []complex64, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 10625  	switch ul {
 10626  	case blas.Upper:
 10627  		ul = 'U'
 10628  	case blas.Lower:
 10629  		ul = 'L'
 10630  	default:
 10631  		panic("lapack: illegal triangle")
 10632  	}
 10633  	var _ap *complex64
 10634  	if len(ap) > 0 {
 10635  		_ap = &ap[0]
 10636  	}
 10637  	var _afp *complex64
 10638  	if len(afp) > 0 {
 10639  		_afp = &afp[0]
 10640  	}
 10641  	var _ipiv *int32
 10642  	if len(ipiv) > 0 {
 10643  		_ipiv = &ipiv[0]
 10644  	}
 10645  	var _b *complex64
 10646  	if len(b) > 0 {
 10647  		_b = &b[0]
 10648  	}
 10649  	var _x *complex64
 10650  	if len(x) > 0 {
 10651  		_x = &x[0]
 10652  	}
 10653  	var _ferr *float32
 10654  	if len(ferr) > 0 {
 10655  		_ferr = &ferr[0]
 10656  	}
 10657  	var _berr *float32
 10658  	if len(berr) > 0 {
 10659  		_berr = &berr[0]
 10660  	}
 10661  	var _work *complex64
 10662  	if len(work) > 0 {
 10663  		_work = &work[0]
 10664  	}
 10665  	var _rwork *float32
 10666  	if len(rwork) > 0 {
 10667  		_rwork = &rwork[0]
 10668  	}
 10669  	return isZero(C.LAPACKE_chprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_afp), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 10670  }
 10671  
 10672  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhprfs.f.
 10673  func Zhprfs(ul blas.Uplo, n, nrhs int, ap, afp []complex128, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 10674  	switch ul {
 10675  	case blas.Upper:
 10676  		ul = 'U'
 10677  	case blas.Lower:
 10678  		ul = 'L'
 10679  	default:
 10680  		panic("lapack: illegal triangle")
 10681  	}
 10682  	var _ap *complex128
 10683  	if len(ap) > 0 {
 10684  		_ap = &ap[0]
 10685  	}
 10686  	var _afp *complex128
 10687  	if len(afp) > 0 {
 10688  		_afp = &afp[0]
 10689  	}
 10690  	var _ipiv *int32
 10691  	if len(ipiv) > 0 {
 10692  		_ipiv = &ipiv[0]
 10693  	}
 10694  	var _b *complex128
 10695  	if len(b) > 0 {
 10696  		_b = &b[0]
 10697  	}
 10698  	var _x *complex128
 10699  	if len(x) > 0 {
 10700  		_x = &x[0]
 10701  	}
 10702  	var _ferr *float64
 10703  	if len(ferr) > 0 {
 10704  		_ferr = &ferr[0]
 10705  	}
 10706  	var _berr *float64
 10707  	if len(berr) > 0 {
 10708  		_berr = &berr[0]
 10709  	}
 10710  	var _work *complex128
 10711  	if len(work) > 0 {
 10712  		_work = &work[0]
 10713  	}
 10714  	var _rwork *float64
 10715  	if len(rwork) > 0 {
 10716  		_rwork = &rwork[0]
 10717  	}
 10718  	return isZero(C.LAPACKE_zhprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_afp), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 10719  }
 10720  
 10721  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpsv.f.
 10722  func Chpsv(ul blas.Uplo, n, nrhs int, ap []complex64, ipiv []int32, b []complex64, ldb int) bool {
 10723  	switch ul {
 10724  	case blas.Upper:
 10725  		ul = 'U'
 10726  	case blas.Lower:
 10727  		ul = 'L'
 10728  	default:
 10729  		panic("lapack: illegal triangle")
 10730  	}
 10731  	var _ap *complex64
 10732  	if len(ap) > 0 {
 10733  		_ap = &ap[0]
 10734  	}
 10735  	var _ipiv *int32
 10736  	if len(ipiv) > 0 {
 10737  		_ipiv = &ipiv[0]
 10738  	}
 10739  	var _b *complex64
 10740  	if len(b) > 0 {
 10741  		_b = &b[0]
 10742  	}
 10743  	return isZero(C.LAPACKE_chpsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 10744  }
 10745  
 10746  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpsv.f.
 10747  func Zhpsv(ul blas.Uplo, n, nrhs int, ap []complex128, ipiv []int32, b []complex128, ldb int) bool {
 10748  	switch ul {
 10749  	case blas.Upper:
 10750  		ul = 'U'
 10751  	case blas.Lower:
 10752  		ul = 'L'
 10753  	default:
 10754  		panic("lapack: illegal triangle")
 10755  	}
 10756  	var _ap *complex128
 10757  	if len(ap) > 0 {
 10758  		_ap = &ap[0]
 10759  	}
 10760  	var _ipiv *int32
 10761  	if len(ipiv) > 0 {
 10762  		_ipiv = &ipiv[0]
 10763  	}
 10764  	var _b *complex128
 10765  	if len(b) > 0 {
 10766  		_b = &b[0]
 10767  	}
 10768  	return isZero(C.LAPACKE_zhpsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 10769  }
 10770  
 10771  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chpsvx.f.
 10772  func Chpsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []complex64, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
 10773  	switch ul {
 10774  	case blas.Upper:
 10775  		ul = 'U'
 10776  	case blas.Lower:
 10777  		ul = 'L'
 10778  	default:
 10779  		panic("lapack: illegal triangle")
 10780  	}
 10781  	var _ap *complex64
 10782  	if len(ap) > 0 {
 10783  		_ap = &ap[0]
 10784  	}
 10785  	var _afp *complex64
 10786  	if len(afp) > 0 {
 10787  		_afp = &afp[0]
 10788  	}
 10789  	var _ipiv *int32
 10790  	if len(ipiv) > 0 {
 10791  		_ipiv = &ipiv[0]
 10792  	}
 10793  	var _b *complex64
 10794  	if len(b) > 0 {
 10795  		_b = &b[0]
 10796  	}
 10797  	var _x *complex64
 10798  	if len(x) > 0 {
 10799  		_x = &x[0]
 10800  	}
 10801  	var _rcond *float32
 10802  	if len(rcond) > 0 {
 10803  		_rcond = &rcond[0]
 10804  	}
 10805  	var _ferr *float32
 10806  	if len(ferr) > 0 {
 10807  		_ferr = &ferr[0]
 10808  	}
 10809  	var _berr *float32
 10810  	if len(berr) > 0 {
 10811  		_berr = &berr[0]
 10812  	}
 10813  	var _work *complex64
 10814  	if len(work) > 0 {
 10815  		_work = &work[0]
 10816  	}
 10817  	var _rwork *float32
 10818  	if len(rwork) > 0 {
 10819  		_rwork = &rwork[0]
 10820  	}
 10821  	return isZero(C.LAPACKE_chpsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_afp), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 10822  }
 10823  
 10824  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhpsvx.f.
 10825  func Zhpsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []complex128, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
 10826  	switch ul {
 10827  	case blas.Upper:
 10828  		ul = 'U'
 10829  	case blas.Lower:
 10830  		ul = 'L'
 10831  	default:
 10832  		panic("lapack: illegal triangle")
 10833  	}
 10834  	var _ap *complex128
 10835  	if len(ap) > 0 {
 10836  		_ap = &ap[0]
 10837  	}
 10838  	var _afp *complex128
 10839  	if len(afp) > 0 {
 10840  		_afp = &afp[0]
 10841  	}
 10842  	var _ipiv *int32
 10843  	if len(ipiv) > 0 {
 10844  		_ipiv = &ipiv[0]
 10845  	}
 10846  	var _b *complex128
 10847  	if len(b) > 0 {
 10848  		_b = &b[0]
 10849  	}
 10850  	var _x *complex128
 10851  	if len(x) > 0 {
 10852  		_x = &x[0]
 10853  	}
 10854  	var _rcond *float64
 10855  	if len(rcond) > 0 {
 10856  		_rcond = &rcond[0]
 10857  	}
 10858  	var _ferr *float64
 10859  	if len(ferr) > 0 {
 10860  		_ferr = &ferr[0]
 10861  	}
 10862  	var _berr *float64
 10863  	if len(berr) > 0 {
 10864  		_berr = &berr[0]
 10865  	}
 10866  	var _work *complex128
 10867  	if len(work) > 0 {
 10868  		_work = &work[0]
 10869  	}
 10870  	var _rwork *float64
 10871  	if len(rwork) > 0 {
 10872  		_rwork = &rwork[0]
 10873  	}
 10874  	return isZero(C.LAPACKE_zhpsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_afp), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 10875  }
 10876  
 10877  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chptrd.f.
 10878  func Chptrd(ul blas.Uplo, n int, ap []complex64, d, e []float32, tau []complex64) bool {
 10879  	switch ul {
 10880  	case blas.Upper:
 10881  		ul = 'U'
 10882  	case blas.Lower:
 10883  		ul = 'L'
 10884  	default:
 10885  		panic("lapack: illegal triangle")
 10886  	}
 10887  	var _ap *complex64
 10888  	if len(ap) > 0 {
 10889  		_ap = &ap[0]
 10890  	}
 10891  	var _d *float32
 10892  	if len(d) > 0 {
 10893  		_d = &d[0]
 10894  	}
 10895  	var _e *float32
 10896  	if len(e) > 0 {
 10897  		_e = &e[0]
 10898  	}
 10899  	var _tau *complex64
 10900  	if len(tau) > 0 {
 10901  		_tau = &tau[0]
 10902  	}
 10903  	return isZero(C.LAPACKE_chptrd_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_tau)))
 10904  }
 10905  
 10906  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhptrd.f.
 10907  func Zhptrd(ul blas.Uplo, n int, ap []complex128, d, e []float64, tau []complex128) bool {
 10908  	switch ul {
 10909  	case blas.Upper:
 10910  		ul = 'U'
 10911  	case blas.Lower:
 10912  		ul = 'L'
 10913  	default:
 10914  		panic("lapack: illegal triangle")
 10915  	}
 10916  	var _ap *complex128
 10917  	if len(ap) > 0 {
 10918  		_ap = &ap[0]
 10919  	}
 10920  	var _d *float64
 10921  	if len(d) > 0 {
 10922  		_d = &d[0]
 10923  	}
 10924  	var _e *float64
 10925  	if len(e) > 0 {
 10926  		_e = &e[0]
 10927  	}
 10928  	var _tau *complex128
 10929  	if len(tau) > 0 {
 10930  		_tau = &tau[0]
 10931  	}
 10932  	return isZero(C.LAPACKE_zhptrd_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_tau)))
 10933  }
 10934  
 10935  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chptrf.f.
 10936  func Chptrf(ul blas.Uplo, n int, ap []complex64, ipiv []int32) bool {
 10937  	switch ul {
 10938  	case blas.Upper:
 10939  		ul = 'U'
 10940  	case blas.Lower:
 10941  		ul = 'L'
 10942  	default:
 10943  		panic("lapack: illegal triangle")
 10944  	}
 10945  	var _ap *complex64
 10946  	if len(ap) > 0 {
 10947  		_ap = &ap[0]
 10948  	}
 10949  	var _ipiv *int32
 10950  	if len(ipiv) > 0 {
 10951  		_ipiv = &ipiv[0]
 10952  	}
 10953  	return isZero(C.LAPACKE_chptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv)))
 10954  }
 10955  
 10956  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhptrf.f.
 10957  func Zhptrf(ul blas.Uplo, n int, ap []complex128, ipiv []int32) bool {
 10958  	switch ul {
 10959  	case blas.Upper:
 10960  		ul = 'U'
 10961  	case blas.Lower:
 10962  		ul = 'L'
 10963  	default:
 10964  		panic("lapack: illegal triangle")
 10965  	}
 10966  	var _ap *complex128
 10967  	if len(ap) > 0 {
 10968  		_ap = &ap[0]
 10969  	}
 10970  	var _ipiv *int32
 10971  	if len(ipiv) > 0 {
 10972  		_ipiv = &ipiv[0]
 10973  	}
 10974  	return isZero(C.LAPACKE_zhptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv)))
 10975  }
 10976  
 10977  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chptri.f.
 10978  func Chptri(ul blas.Uplo, n int, ap []complex64, ipiv []int32, work []complex64) bool {
 10979  	switch ul {
 10980  	case blas.Upper:
 10981  		ul = 'U'
 10982  	case blas.Lower:
 10983  		ul = 'L'
 10984  	default:
 10985  		panic("lapack: illegal triangle")
 10986  	}
 10987  	var _ap *complex64
 10988  	if len(ap) > 0 {
 10989  		_ap = &ap[0]
 10990  	}
 10991  	var _ipiv *int32
 10992  	if len(ipiv) > 0 {
 10993  		_ipiv = &ipiv[0]
 10994  	}
 10995  	var _work *complex64
 10996  	if len(work) > 0 {
 10997  		_work = &work[0]
 10998  	}
 10999  	return isZero(C.LAPACKE_chptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work)))
 11000  }
 11001  
 11002  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhptri.f.
 11003  func Zhptri(ul blas.Uplo, n int, ap []complex128, ipiv []int32, work []complex128) bool {
 11004  	switch ul {
 11005  	case blas.Upper:
 11006  		ul = 'U'
 11007  	case blas.Lower:
 11008  		ul = 'L'
 11009  	default:
 11010  		panic("lapack: illegal triangle")
 11011  	}
 11012  	var _ap *complex128
 11013  	if len(ap) > 0 {
 11014  		_ap = &ap[0]
 11015  	}
 11016  	var _ipiv *int32
 11017  	if len(ipiv) > 0 {
 11018  		_ipiv = &ipiv[0]
 11019  	}
 11020  	var _work *complex128
 11021  	if len(work) > 0 {
 11022  		_work = &work[0]
 11023  	}
 11024  	return isZero(C.LAPACKE_zhptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work)))
 11025  }
 11026  
 11027  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chptrs.f.
 11028  func Chptrs(ul blas.Uplo, n, nrhs int, ap []complex64, ipiv []int32, b []complex64, ldb int) bool {
 11029  	switch ul {
 11030  	case blas.Upper:
 11031  		ul = 'U'
 11032  	case blas.Lower:
 11033  		ul = 'L'
 11034  	default:
 11035  		panic("lapack: illegal triangle")
 11036  	}
 11037  	var _ap *complex64
 11038  	if len(ap) > 0 {
 11039  		_ap = &ap[0]
 11040  	}
 11041  	var _ipiv *int32
 11042  	if len(ipiv) > 0 {
 11043  		_ipiv = &ipiv[0]
 11044  	}
 11045  	var _b *complex64
 11046  	if len(b) > 0 {
 11047  		_b = &b[0]
 11048  	}
 11049  	return isZero(C.LAPACKE_chptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 11050  }
 11051  
 11052  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhptrs.f.
 11053  func Zhptrs(ul blas.Uplo, n, nrhs int, ap []complex128, ipiv []int32, b []complex128, ldb int) bool {
 11054  	switch ul {
 11055  	case blas.Upper:
 11056  		ul = 'U'
 11057  	case blas.Lower:
 11058  		ul = 'L'
 11059  	default:
 11060  		panic("lapack: illegal triangle")
 11061  	}
 11062  	var _ap *complex128
 11063  	if len(ap) > 0 {
 11064  		_ap = &ap[0]
 11065  	}
 11066  	var _ipiv *int32
 11067  	if len(ipiv) > 0 {
 11068  		_ipiv = &ipiv[0]
 11069  	}
 11070  	var _b *complex128
 11071  	if len(b) > 0 {
 11072  		_b = &b[0]
 11073  	}
 11074  	return isZero(C.LAPACKE_zhptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 11075  }
 11076  
 11077  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/shsein.f.
 11078  func Shsein(job lapack.Job, eigsrc, initv byte, sel []int32, n int, h []float32, ldh int, wr, wi, vl []float32, ldvl int, vr []float32, ldvr, mm int, m []int32, work []float32, ifaill, ifailr []int32) bool {
 11079  	var _sel *int32
 11080  	if len(sel) > 0 {
 11081  		_sel = &sel[0]
 11082  	}
 11083  	var _h *float32
 11084  	if len(h) > 0 {
 11085  		_h = &h[0]
 11086  	}
 11087  	var _wr *float32
 11088  	if len(wr) > 0 {
 11089  		_wr = &wr[0]
 11090  	}
 11091  	var _wi *float32
 11092  	if len(wi) > 0 {
 11093  		_wi = &wi[0]
 11094  	}
 11095  	var _vl *float32
 11096  	if len(vl) > 0 {
 11097  		_vl = &vl[0]
 11098  	}
 11099  	var _vr *float32
 11100  	if len(vr) > 0 {
 11101  		_vr = &vr[0]
 11102  	}
 11103  	var _m *int32
 11104  	if len(m) > 0 {
 11105  		_m = &m[0]
 11106  	}
 11107  	var _work *float32
 11108  	if len(work) > 0 {
 11109  		_work = &work[0]
 11110  	}
 11111  	var _ifaill *int32
 11112  	if len(ifaill) > 0 {
 11113  		_ifaill = &ifaill[0]
 11114  	}
 11115  	var _ifailr *int32
 11116  	if len(ifailr) > 0 {
 11117  		_ifailr = &ifailr[0]
 11118  	}
 11119  	return isZero(C.LAPACKE_shsein_work((C.int)(rowMajor), (C.char)(job), (C.char)(eigsrc), (C.char)(initv), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.float)(_h), (C.lapack_int)(ldh), (*C.float)(_wr), (*C.float)(_wi), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.float)(_work), (*C.lapack_int)(_ifaill), (*C.lapack_int)(_ifailr)))
 11120  }
 11121  
 11122  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dhsein.f.
 11123  func Dhsein(job lapack.Job, eigsrc, initv byte, sel []int32, n int, h []float64, ldh int, wr, wi, vl []float64, ldvl int, vr []float64, ldvr, mm int, m []int32, work []float64, ifaill, ifailr []int32) bool {
 11124  	var _sel *int32
 11125  	if len(sel) > 0 {
 11126  		_sel = &sel[0]
 11127  	}
 11128  	var _h *float64
 11129  	if len(h) > 0 {
 11130  		_h = &h[0]
 11131  	}
 11132  	var _wr *float64
 11133  	if len(wr) > 0 {
 11134  		_wr = &wr[0]
 11135  	}
 11136  	var _wi *float64
 11137  	if len(wi) > 0 {
 11138  		_wi = &wi[0]
 11139  	}
 11140  	var _vl *float64
 11141  	if len(vl) > 0 {
 11142  		_vl = &vl[0]
 11143  	}
 11144  	var _vr *float64
 11145  	if len(vr) > 0 {
 11146  		_vr = &vr[0]
 11147  	}
 11148  	var _m *int32
 11149  	if len(m) > 0 {
 11150  		_m = &m[0]
 11151  	}
 11152  	var _work *float64
 11153  	if len(work) > 0 {
 11154  		_work = &work[0]
 11155  	}
 11156  	var _ifaill *int32
 11157  	if len(ifaill) > 0 {
 11158  		_ifaill = &ifaill[0]
 11159  	}
 11160  	var _ifailr *int32
 11161  	if len(ifailr) > 0 {
 11162  		_ifailr = &ifailr[0]
 11163  	}
 11164  	return isZero(C.LAPACKE_dhsein_work((C.int)(rowMajor), (C.char)(job), (C.char)(eigsrc), (C.char)(initv), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.double)(_h), (C.lapack_int)(ldh), (*C.double)(_wr), (*C.double)(_wi), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.double)(_work), (*C.lapack_int)(_ifaill), (*C.lapack_int)(_ifailr)))
 11165  }
 11166  
 11167  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chsein.f.
 11168  func Chsein(job lapack.Job, eigsrc, initv byte, sel []int32, n int, h []complex64, ldh int, w, vl []complex64, ldvl int, vr []complex64, ldvr, mm int, m []int32, work []complex64, rwork []float32, ifaill, ifailr []int32) bool {
 11169  	var _sel *int32
 11170  	if len(sel) > 0 {
 11171  		_sel = &sel[0]
 11172  	}
 11173  	var _h *complex64
 11174  	if len(h) > 0 {
 11175  		_h = &h[0]
 11176  	}
 11177  	var _w *complex64
 11178  	if len(w) > 0 {
 11179  		_w = &w[0]
 11180  	}
 11181  	var _vl *complex64
 11182  	if len(vl) > 0 {
 11183  		_vl = &vl[0]
 11184  	}
 11185  	var _vr *complex64
 11186  	if len(vr) > 0 {
 11187  		_vr = &vr[0]
 11188  	}
 11189  	var _m *int32
 11190  	if len(m) > 0 {
 11191  		_m = &m[0]
 11192  	}
 11193  	var _work *complex64
 11194  	if len(work) > 0 {
 11195  		_work = &work[0]
 11196  	}
 11197  	var _rwork *float32
 11198  	if len(rwork) > 0 {
 11199  		_rwork = &rwork[0]
 11200  	}
 11201  	var _ifaill *int32
 11202  	if len(ifaill) > 0 {
 11203  		_ifaill = &ifaill[0]
 11204  	}
 11205  	var _ifailr *int32
 11206  	if len(ifailr) > 0 {
 11207  		_ifailr = &ifailr[0]
 11208  	}
 11209  	return isZero(C.LAPACKE_chsein_work((C.int)(rowMajor), (C.char)(job), (C.char)(eigsrc), (C.char)(initv), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_float)(_h), (C.lapack_int)(ldh), (*C.lapack_complex_float)(_w), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_float)(_work), (*C.float)(_rwork), (*C.lapack_int)(_ifaill), (*C.lapack_int)(_ifailr)))
 11210  }
 11211  
 11212  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhsein.f.
 11213  func Zhsein(job lapack.Job, eigsrc, initv byte, sel []int32, n int, h []complex128, ldh int, w, vl []complex128, ldvl int, vr []complex128, ldvr, mm int, m []int32, work []complex128, rwork []float64, ifaill, ifailr []int32) bool {
 11214  	var _sel *int32
 11215  	if len(sel) > 0 {
 11216  		_sel = &sel[0]
 11217  	}
 11218  	var _h *complex128
 11219  	if len(h) > 0 {
 11220  		_h = &h[0]
 11221  	}
 11222  	var _w *complex128
 11223  	if len(w) > 0 {
 11224  		_w = &w[0]
 11225  	}
 11226  	var _vl *complex128
 11227  	if len(vl) > 0 {
 11228  		_vl = &vl[0]
 11229  	}
 11230  	var _vr *complex128
 11231  	if len(vr) > 0 {
 11232  		_vr = &vr[0]
 11233  	}
 11234  	var _m *int32
 11235  	if len(m) > 0 {
 11236  		_m = &m[0]
 11237  	}
 11238  	var _work *complex128
 11239  	if len(work) > 0 {
 11240  		_work = &work[0]
 11241  	}
 11242  	var _rwork *float64
 11243  	if len(rwork) > 0 {
 11244  		_rwork = &rwork[0]
 11245  	}
 11246  	var _ifaill *int32
 11247  	if len(ifaill) > 0 {
 11248  		_ifaill = &ifaill[0]
 11249  	}
 11250  	var _ifailr *int32
 11251  	if len(ifailr) > 0 {
 11252  		_ifailr = &ifailr[0]
 11253  	}
 11254  	return isZero(C.LAPACKE_zhsein_work((C.int)(rowMajor), (C.char)(job), (C.char)(eigsrc), (C.char)(initv), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_double)(_h), (C.lapack_int)(ldh), (*C.lapack_complex_double)(_w), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_double)(_work), (*C.double)(_rwork), (*C.lapack_int)(_ifaill), (*C.lapack_int)(_ifailr)))
 11255  }
 11256  
 11257  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/shseqr.f.
 11258  func Shseqr(job lapack.Job, compz lapack.Comp, n, ilo, ihi int, h []float32, ldh int, wr, wi, z []float32, ldz int, work []float32, lwork int) int {
 11259  	var _h *float32
 11260  	if len(h) > 0 {
 11261  		_h = &h[0]
 11262  	}
 11263  	var _wr *float32
 11264  	if len(wr) > 0 {
 11265  		_wr = &wr[0]
 11266  	}
 11267  	var _wi *float32
 11268  	if len(wi) > 0 {
 11269  		_wi = &wi[0]
 11270  	}
 11271  	var _z *float32
 11272  	if len(z) > 0 {
 11273  		_z = &z[0]
 11274  	}
 11275  	var _work *float32
 11276  	if len(work) > 0 {
 11277  		_work = &work[0]
 11278  	}
 11279  	return int(C.LAPACKE_shseqr_work((C.int)(rowMajor), (C.char)(job), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_h), (C.lapack_int)(ldh), (*C.float)(_wr), (*C.float)(_wi), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork)))
 11280  }
 11281  
 11282  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dhseqr.f.
 11283  func Dhseqr(job lapack.Job, compz lapack.Comp, n, ilo, ihi int, h []float64, ldh int, wr, wi, z []float64, ldz int, work []float64, lwork int) int {
 11284  	var _h *float64
 11285  	if len(h) > 0 {
 11286  		_h = &h[0]
 11287  	}
 11288  	var _wr *float64
 11289  	if len(wr) > 0 {
 11290  		_wr = &wr[0]
 11291  	}
 11292  	var _wi *float64
 11293  	if len(wi) > 0 {
 11294  		_wi = &wi[0]
 11295  	}
 11296  	var _z *float64
 11297  	if len(z) > 0 {
 11298  		_z = &z[0]
 11299  	}
 11300  	var _work *float64
 11301  	if len(work) > 0 {
 11302  		_work = &work[0]
 11303  	}
 11304  	return int(C.LAPACKE_dhseqr_work((C.int)(rowMajor), (C.char)(job), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_h), (C.lapack_int)(ldh), (*C.double)(_wr), (*C.double)(_wi), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork)))
 11305  }
 11306  
 11307  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chseqr.f.
 11308  func Chseqr(job lapack.Job, compz lapack.Comp, n, ilo, ihi int, h []complex64, ldh int, w, z []complex64, ldz int, work []complex64, lwork int) int {
 11309  	var _h *complex64
 11310  	if len(h) > 0 {
 11311  		_h = &h[0]
 11312  	}
 11313  	var _w *complex64
 11314  	if len(w) > 0 {
 11315  		_w = &w[0]
 11316  	}
 11317  	var _z *complex64
 11318  	if len(z) > 0 {
 11319  		_z = &z[0]
 11320  	}
 11321  	var _work *complex64
 11322  	if len(work) > 0 {
 11323  		_work = &work[0]
 11324  	}
 11325  	return int(C.LAPACKE_chseqr_work((C.int)(rowMajor), (C.char)(job), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_float)(_h), (C.lapack_int)(ldh), (*C.lapack_complex_float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 11326  }
 11327  
 11328  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhseqr.f.
 11329  func Zhseqr(job lapack.Job, compz lapack.Comp, n, ilo, ihi int, h []complex128, ldh int, w, z []complex128, ldz int, work []complex128, lwork int) int {
 11330  	var _h *complex128
 11331  	if len(h) > 0 {
 11332  		_h = &h[0]
 11333  	}
 11334  	var _w *complex128
 11335  	if len(w) > 0 {
 11336  		_w = &w[0]
 11337  	}
 11338  	var _z *complex128
 11339  	if len(z) > 0 {
 11340  		_z = &z[0]
 11341  	}
 11342  	var _work *complex128
 11343  	if len(work) > 0 {
 11344  		_work = &work[0]
 11345  	}
 11346  	return int(C.LAPACKE_zhseqr_work((C.int)(rowMajor), (C.char)(job), (C.char)(compz), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_double)(_h), (C.lapack_int)(ldh), (*C.lapack_complex_double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 11347  }
 11348  
 11349  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clacgv.f.
 11350  func Clacgv(n int, x []complex64, incx int) bool {
 11351  	var _x *complex64
 11352  	if len(x) > 0 {
 11353  		_x = &x[0]
 11354  	}
 11355  	return isZero(C.LAPACKE_clacgv_work((C.lapack_int)(n), (*C.lapack_complex_float)(_x), (C.lapack_int)(incx)))
 11356  }
 11357  
 11358  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlacgv.f.
 11359  func Zlacgv(n int, x []complex128, incx int) bool {
 11360  	var _x *complex128
 11361  	if len(x) > 0 {
 11362  		_x = &x[0]
 11363  	}
 11364  	return isZero(C.LAPACKE_zlacgv_work((C.lapack_int)(n), (*C.lapack_complex_double)(_x), (C.lapack_int)(incx)))
 11365  }
 11366  
 11367  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slacn2.f.
 11368  func Slacn2(n int, v, x []float32, isgn []int32, est []float32, kase, isave []int32) bool {
 11369  	var _v *float32
 11370  	if len(v) > 0 {
 11371  		_v = &v[0]
 11372  	}
 11373  	var _x *float32
 11374  	if len(x) > 0 {
 11375  		_x = &x[0]
 11376  	}
 11377  	var _isgn *int32
 11378  	if len(isgn) > 0 {
 11379  		_isgn = &isgn[0]
 11380  	}
 11381  	var _est *float32
 11382  	if len(est) > 0 {
 11383  		_est = &est[0]
 11384  	}
 11385  	var _kase *int32
 11386  	if len(kase) > 0 {
 11387  		_kase = &kase[0]
 11388  	}
 11389  	var _isave *int32
 11390  	if len(isave) > 0 {
 11391  		_isave = &isave[0]
 11392  	}
 11393  	return isZero(C.LAPACKE_slacn2_work((C.lapack_int)(n), (*C.float)(_v), (*C.float)(_x), (*C.lapack_int)(_isgn), (*C.float)(_est), (*C.lapack_int)(_kase), (*C.lapack_int)(_isave)))
 11394  }
 11395  
 11396  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlacn2.f.
 11397  func Dlacn2(n int, v, x []float64, isgn []int32, est []float64, kase, isave []int32) bool {
 11398  	var _v *float64
 11399  	if len(v) > 0 {
 11400  		_v = &v[0]
 11401  	}
 11402  	var _x *float64
 11403  	if len(x) > 0 {
 11404  		_x = &x[0]
 11405  	}
 11406  	var _isgn *int32
 11407  	if len(isgn) > 0 {
 11408  		_isgn = &isgn[0]
 11409  	}
 11410  	var _est *float64
 11411  	if len(est) > 0 {
 11412  		_est = &est[0]
 11413  	}
 11414  	var _kase *int32
 11415  	if len(kase) > 0 {
 11416  		_kase = &kase[0]
 11417  	}
 11418  	var _isave *int32
 11419  	if len(isave) > 0 {
 11420  		_isave = &isave[0]
 11421  	}
 11422  	return isZero(C.LAPACKE_dlacn2_work((C.lapack_int)(n), (*C.double)(_v), (*C.double)(_x), (*C.lapack_int)(_isgn), (*C.double)(_est), (*C.lapack_int)(_kase), (*C.lapack_int)(_isave)))
 11423  }
 11424  
 11425  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clacn2.f.
 11426  func Clacn2(n int, v, x []complex64, est []float32, kase, isave []int32) bool {
 11427  	var _v *complex64
 11428  	if len(v) > 0 {
 11429  		_v = &v[0]
 11430  	}
 11431  	var _x *complex64
 11432  	if len(x) > 0 {
 11433  		_x = &x[0]
 11434  	}
 11435  	var _est *float32
 11436  	if len(est) > 0 {
 11437  		_est = &est[0]
 11438  	}
 11439  	var _kase *int32
 11440  	if len(kase) > 0 {
 11441  		_kase = &kase[0]
 11442  	}
 11443  	var _isave *int32
 11444  	if len(isave) > 0 {
 11445  		_isave = &isave[0]
 11446  	}
 11447  	return isZero(C.LAPACKE_clacn2_work((C.lapack_int)(n), (*C.lapack_complex_float)(_v), (*C.lapack_complex_float)(_x), (*C.float)(_est), (*C.lapack_int)(_kase), (*C.lapack_int)(_isave)))
 11448  }
 11449  
 11450  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlacn2.f.
 11451  func Zlacn2(n int, v, x []complex128, est []float64, kase, isave []int32) bool {
 11452  	var _v *complex128
 11453  	if len(v) > 0 {
 11454  		_v = &v[0]
 11455  	}
 11456  	var _x *complex128
 11457  	if len(x) > 0 {
 11458  		_x = &x[0]
 11459  	}
 11460  	var _est *float64
 11461  	if len(est) > 0 {
 11462  		_est = &est[0]
 11463  	}
 11464  	var _kase *int32
 11465  	if len(kase) > 0 {
 11466  		_kase = &kase[0]
 11467  	}
 11468  	var _isave *int32
 11469  	if len(isave) > 0 {
 11470  		_isave = &isave[0]
 11471  	}
 11472  	return isZero(C.LAPACKE_zlacn2_work((C.lapack_int)(n), (*C.lapack_complex_double)(_v), (*C.lapack_complex_double)(_x), (*C.double)(_est), (*C.lapack_int)(_kase), (*C.lapack_int)(_isave)))
 11473  }
 11474  
 11475  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slacpy.f.
 11476  func Slacpy(ul blas.Uplo, m, n int, a []float32, lda int, b []float32, ldb int) bool {
 11477  	switch ul {
 11478  	case blas.Upper:
 11479  		ul = 'U'
 11480  	case blas.Lower:
 11481  		ul = 'L'
 11482  	default:
 11483  		ul = 'A'
 11484  	}
 11485  	var _a *float32
 11486  	if len(a) > 0 {
 11487  		_a = &a[0]
 11488  	}
 11489  	var _b *float32
 11490  	if len(b) > 0 {
 11491  		_b = &b[0]
 11492  	}
 11493  	return isZero(C.LAPACKE_slacpy_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb)))
 11494  }
 11495  
 11496  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlacpy.f.
 11497  func Dlacpy(ul blas.Uplo, m, n int, a []float64, lda int, b []float64, ldb int) bool {
 11498  	switch ul {
 11499  	case blas.Upper:
 11500  		ul = 'U'
 11501  	case blas.Lower:
 11502  		ul = 'L'
 11503  	default:
 11504  		ul = 'A'
 11505  	}
 11506  	var _a *float64
 11507  	if len(a) > 0 {
 11508  		_a = &a[0]
 11509  	}
 11510  	var _b *float64
 11511  	if len(b) > 0 {
 11512  		_b = &b[0]
 11513  	}
 11514  	return isZero(C.LAPACKE_dlacpy_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb)))
 11515  }
 11516  
 11517  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clacpy.f.
 11518  func Clacpy(ul blas.Uplo, m, n int, a []complex64, lda int, b []complex64, ldb int) bool {
 11519  	switch ul {
 11520  	case blas.Upper:
 11521  		ul = 'U'
 11522  	case blas.Lower:
 11523  		ul = 'L'
 11524  	default:
 11525  		ul = 'A'
 11526  	}
 11527  	var _a *complex64
 11528  	if len(a) > 0 {
 11529  		_a = &a[0]
 11530  	}
 11531  	var _b *complex64
 11532  	if len(b) > 0 {
 11533  		_b = &b[0]
 11534  	}
 11535  	return isZero(C.LAPACKE_clacpy_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 11536  }
 11537  
 11538  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlacpy.f.
 11539  func Zlacpy(ul blas.Uplo, m, n int, a []complex128, lda int, b []complex128, ldb int) bool {
 11540  	switch ul {
 11541  	case blas.Upper:
 11542  		ul = 'U'
 11543  	case blas.Lower:
 11544  		ul = 'L'
 11545  	default:
 11546  		ul = 'A'
 11547  	}
 11548  	var _a *complex128
 11549  	if len(a) > 0 {
 11550  		_a = &a[0]
 11551  	}
 11552  	var _b *complex128
 11553  	if len(b) > 0 {
 11554  		_b = &b[0]
 11555  	}
 11556  	return isZero(C.LAPACKE_zlacpy_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 11557  }
 11558  
 11559  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clacp2.f.
 11560  func Clacp2(ul blas.Uplo, m, n int, a []float32, lda int, b []complex64, ldb int) bool {
 11561  	switch ul {
 11562  	case blas.Upper:
 11563  		ul = 'U'
 11564  	case blas.Lower:
 11565  		ul = 'L'
 11566  	default:
 11567  		panic("lapack: illegal triangle")
 11568  	}
 11569  	var _a *float32
 11570  	if len(a) > 0 {
 11571  		_a = &a[0]
 11572  	}
 11573  	var _b *complex64
 11574  	if len(b) > 0 {
 11575  		_b = &b[0]
 11576  	}
 11577  	return isZero(C.LAPACKE_clacp2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 11578  }
 11579  
 11580  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlacp2.f.
 11581  func Zlacp2(ul blas.Uplo, m, n int, a []float64, lda int, b []complex128, ldb int) bool {
 11582  	switch ul {
 11583  	case blas.Upper:
 11584  		ul = 'U'
 11585  	case blas.Lower:
 11586  		ul = 'L'
 11587  	default:
 11588  		panic("lapack: illegal triangle")
 11589  	}
 11590  	var _a *float64
 11591  	if len(a) > 0 {
 11592  		_a = &a[0]
 11593  	}
 11594  	var _b *complex128
 11595  	if len(b) > 0 {
 11596  		_b = &b[0]
 11597  	}
 11598  	return isZero(C.LAPACKE_zlacp2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 11599  }
 11600  
 11601  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlag2c.f.
 11602  func Zlag2c(m, n int, a []complex128, lda int, sa []complex64, ldsa int) bool {
 11603  	var _a *complex128
 11604  	if len(a) > 0 {
 11605  		_a = &a[0]
 11606  	}
 11607  	var _sa *complex64
 11608  	if len(sa) > 0 {
 11609  		_sa = &sa[0]
 11610  	}
 11611  	return isZero(C.LAPACKE_zlag2c_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_sa), (C.lapack_int)(ldsa)))
 11612  }
 11613  
 11614  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slag2d.f.
 11615  func Slag2d(m, n int, sa []float32, ldsa int, a []float64, lda int) bool {
 11616  	var _sa *float32
 11617  	if len(sa) > 0 {
 11618  		_sa = &sa[0]
 11619  	}
 11620  	var _a *float64
 11621  	if len(a) > 0 {
 11622  		_a = &a[0]
 11623  	}
 11624  	return isZero(C.LAPACKE_slag2d_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_sa), (C.lapack_int)(ldsa), (*C.double)(_a), (C.lapack_int)(lda)))
 11625  }
 11626  
 11627  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlag2s.f.
 11628  func Dlag2s(m, n int, a []float64, lda int, sa []float32, ldsa int) bool {
 11629  	var _a *float64
 11630  	if len(a) > 0 {
 11631  		_a = &a[0]
 11632  	}
 11633  	var _sa *float32
 11634  	if len(sa) > 0 {
 11635  		_sa = &sa[0]
 11636  	}
 11637  	return isZero(C.LAPACKE_dlag2s_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.float)(_sa), (C.lapack_int)(ldsa)))
 11638  }
 11639  
 11640  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clag2z.f.
 11641  func Clag2z(m, n int, sa []complex64, ldsa int, a []complex128, lda int) bool {
 11642  	var _sa *complex64
 11643  	if len(sa) > 0 {
 11644  		_sa = &sa[0]
 11645  	}
 11646  	var _a *complex128
 11647  	if len(a) > 0 {
 11648  		_a = &a[0]
 11649  	}
 11650  	return isZero(C.LAPACKE_clag2z_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_sa), (C.lapack_int)(ldsa), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 11651  }
 11652  
 11653  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slagge.f.
 11654  func Slagge(m, n, kl, ku int, d, a []float32, lda int, iseed []int32, work []float32) bool {
 11655  	var _d *float32
 11656  	if len(d) > 0 {
 11657  		_d = &d[0]
 11658  	}
 11659  	var _a *float32
 11660  	if len(a) > 0 {
 11661  		_a = &a[0]
 11662  	}
 11663  	var _iseed *int32
 11664  	if len(iseed) > 0 {
 11665  		_iseed = &iseed[0]
 11666  	}
 11667  	var _work *float32
 11668  	if len(work) > 0 {
 11669  		_work = &work[0]
 11670  	}
 11671  	return isZero(C.LAPACKE_slagge_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.float)(_d), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.float)(_work)))
 11672  }
 11673  
 11674  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlagge.f.
 11675  func Dlagge(m, n, kl, ku int, d, a []float64, lda int, iseed []int32, work []float64) bool {
 11676  	var _d *float64
 11677  	if len(d) > 0 {
 11678  		_d = &d[0]
 11679  	}
 11680  	var _a *float64
 11681  	if len(a) > 0 {
 11682  		_a = &a[0]
 11683  	}
 11684  	var _iseed *int32
 11685  	if len(iseed) > 0 {
 11686  		_iseed = &iseed[0]
 11687  	}
 11688  	var _work *float64
 11689  	if len(work) > 0 {
 11690  		_work = &work[0]
 11691  	}
 11692  	return isZero(C.LAPACKE_dlagge_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.double)(_d), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.double)(_work)))
 11693  }
 11694  
 11695  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clagge.f.
 11696  func Clagge(m, n, kl, ku int, d []float32, a []complex64, lda int, iseed []int32, work []complex64) bool {
 11697  	var _d *float32
 11698  	if len(d) > 0 {
 11699  		_d = &d[0]
 11700  	}
 11701  	var _a *complex64
 11702  	if len(a) > 0 {
 11703  		_a = &a[0]
 11704  	}
 11705  	var _iseed *int32
 11706  	if len(iseed) > 0 {
 11707  		_iseed = &iseed[0]
 11708  	}
 11709  	var _work *complex64
 11710  	if len(work) > 0 {
 11711  		_work = &work[0]
 11712  	}
 11713  	return isZero(C.LAPACKE_clagge_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.float)(_d), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.lapack_complex_float)(_work)))
 11714  }
 11715  
 11716  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlagge.f.
 11717  func Zlagge(m, n, kl, ku int, d []float64, a []complex128, lda int, iseed []int32, work []complex128) bool {
 11718  	var _d *float64
 11719  	if len(d) > 0 {
 11720  		_d = &d[0]
 11721  	}
 11722  	var _a *complex128
 11723  	if len(a) > 0 {
 11724  		_a = &a[0]
 11725  	}
 11726  	var _iseed *int32
 11727  	if len(iseed) > 0 {
 11728  		_iseed = &iseed[0]
 11729  	}
 11730  	var _work *complex128
 11731  	if len(work) > 0 {
 11732  		_work = &work[0]
 11733  	}
 11734  	return isZero(C.LAPACKE_zlagge_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(kl), (C.lapack_int)(ku), (*C.double)(_d), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.lapack_complex_double)(_work)))
 11735  }
 11736  
 11737  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/claghe.f.
 11738  func Claghe(n, k int, d []float32, a []complex64, lda int, iseed []int32, work []complex64) bool {
 11739  	var _d *float32
 11740  	if len(d) > 0 {
 11741  		_d = &d[0]
 11742  	}
 11743  	var _a *complex64
 11744  	if len(a) > 0 {
 11745  		_a = &a[0]
 11746  	}
 11747  	var _iseed *int32
 11748  	if len(iseed) > 0 {
 11749  		_iseed = &iseed[0]
 11750  	}
 11751  	var _work *complex64
 11752  	if len(work) > 0 {
 11753  		_work = &work[0]
 11754  	}
 11755  	return isZero(C.LAPACKE_claghe_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_d), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.lapack_complex_float)(_work)))
 11756  }
 11757  
 11758  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlaghe.f.
 11759  func Zlaghe(n, k int, d []float64, a []complex128, lda int, iseed []int32, work []complex128) bool {
 11760  	var _d *float64
 11761  	if len(d) > 0 {
 11762  		_d = &d[0]
 11763  	}
 11764  	var _a *complex128
 11765  	if len(a) > 0 {
 11766  		_a = &a[0]
 11767  	}
 11768  	var _iseed *int32
 11769  	if len(iseed) > 0 {
 11770  		_iseed = &iseed[0]
 11771  	}
 11772  	var _work *complex128
 11773  	if len(work) > 0 {
 11774  		_work = &work[0]
 11775  	}
 11776  	return isZero(C.LAPACKE_zlaghe_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_d), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.lapack_complex_double)(_work)))
 11777  }
 11778  
 11779  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slagsy.f.
 11780  func Slagsy(n, k int, d, a []float32, lda int, iseed []int32, work []float32) bool {
 11781  	var _d *float32
 11782  	if len(d) > 0 {
 11783  		_d = &d[0]
 11784  	}
 11785  	var _a *float32
 11786  	if len(a) > 0 {
 11787  		_a = &a[0]
 11788  	}
 11789  	var _iseed *int32
 11790  	if len(iseed) > 0 {
 11791  		_iseed = &iseed[0]
 11792  	}
 11793  	var _work *float32
 11794  	if len(work) > 0 {
 11795  		_work = &work[0]
 11796  	}
 11797  	return isZero(C.LAPACKE_slagsy_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_d), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.float)(_work)))
 11798  }
 11799  
 11800  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlagsy.f.
 11801  func Dlagsy(n, k int, d, a []float64, lda int, iseed []int32, work []float64) bool {
 11802  	var _d *float64
 11803  	if len(d) > 0 {
 11804  		_d = &d[0]
 11805  	}
 11806  	var _a *float64
 11807  	if len(a) > 0 {
 11808  		_a = &a[0]
 11809  	}
 11810  	var _iseed *int32
 11811  	if len(iseed) > 0 {
 11812  		_iseed = &iseed[0]
 11813  	}
 11814  	var _work *float64
 11815  	if len(work) > 0 {
 11816  		_work = &work[0]
 11817  	}
 11818  	return isZero(C.LAPACKE_dlagsy_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_d), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.double)(_work)))
 11819  }
 11820  
 11821  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clagsy.f.
 11822  func Clagsy(n, k int, d []float32, a []complex64, lda int, iseed []int32, work []complex64) bool {
 11823  	var _d *float32
 11824  	if len(d) > 0 {
 11825  		_d = &d[0]
 11826  	}
 11827  	var _a *complex64
 11828  	if len(a) > 0 {
 11829  		_a = &a[0]
 11830  	}
 11831  	var _iseed *int32
 11832  	if len(iseed) > 0 {
 11833  		_iseed = &iseed[0]
 11834  	}
 11835  	var _work *complex64
 11836  	if len(work) > 0 {
 11837  		_work = &work[0]
 11838  	}
 11839  	return isZero(C.LAPACKE_clagsy_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_d), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.lapack_complex_float)(_work)))
 11840  }
 11841  
 11842  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlagsy.f.
 11843  func Zlagsy(n, k int, d []float64, a []complex128, lda int, iseed []int32, work []complex128) bool {
 11844  	var _d *float64
 11845  	if len(d) > 0 {
 11846  		_d = &d[0]
 11847  	}
 11848  	var _a *complex128
 11849  	if len(a) > 0 {
 11850  		_a = &a[0]
 11851  	}
 11852  	var _iseed *int32
 11853  	if len(iseed) > 0 {
 11854  		_iseed = &iseed[0]
 11855  	}
 11856  	var _work *complex128
 11857  	if len(work) > 0 {
 11858  		_work = &work[0]
 11859  	}
 11860  	return isZero(C.LAPACKE_zlagsy_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_d), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_iseed), (*C.lapack_complex_double)(_work)))
 11861  }
 11862  
 11863  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slapmr.f.
 11864  func Slapmr(forwrd int32, m, n int, x []float32, ldx int, k []int32) bool {
 11865  	var _x *float32
 11866  	if len(x) > 0 {
 11867  		_x = &x[0]
 11868  	}
 11869  	var _k *int32
 11870  	if len(k) > 0 {
 11871  		_k = &k[0]
 11872  	}
 11873  	return isZero(C.LAPACKE_slapmr_work((C.int)(rowMajor), (C.lapack_logical)(forwrd), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_x), (C.lapack_int)(ldx), (*C.lapack_int)(_k)))
 11874  }
 11875  
 11876  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlapmr.f.
 11877  func Dlapmr(forwrd int32, m, n int, x []float64, ldx int, k []int32) bool {
 11878  	var _x *float64
 11879  	if len(x) > 0 {
 11880  		_x = &x[0]
 11881  	}
 11882  	var _k *int32
 11883  	if len(k) > 0 {
 11884  		_k = &k[0]
 11885  	}
 11886  	return isZero(C.LAPACKE_dlapmr_work((C.int)(rowMajor), (C.lapack_logical)(forwrd), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_x), (C.lapack_int)(ldx), (*C.lapack_int)(_k)))
 11887  }
 11888  
 11889  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clapmr.f.
 11890  func Clapmr(forwrd int32, m, n int, x []complex64, ldx int, k []int32) bool {
 11891  	var _x *complex64
 11892  	if len(x) > 0 {
 11893  		_x = &x[0]
 11894  	}
 11895  	var _k *int32
 11896  	if len(k) > 0 {
 11897  		_k = &k[0]
 11898  	}
 11899  	return isZero(C.LAPACKE_clapmr_work((C.int)(rowMajor), (C.lapack_logical)(forwrd), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.lapack_int)(_k)))
 11900  }
 11901  
 11902  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlapmr.f.
 11903  func Zlapmr(forwrd int32, m, n int, x []complex128, ldx int, k []int32) bool {
 11904  	var _x *complex128
 11905  	if len(x) > 0 {
 11906  		_x = &x[0]
 11907  	}
 11908  	var _k *int32
 11909  	if len(k) > 0 {
 11910  		_k = &k[0]
 11911  	}
 11912  	return isZero(C.LAPACKE_zlapmr_work((C.int)(rowMajor), (C.lapack_logical)(forwrd), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.lapack_int)(_k)))
 11913  }
 11914  
 11915  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slapmt.f.
 11916  func Slapmt(forwrd int32, m, n int, x []float32, ldx int, k []int32) bool {
 11917  	var _x *float32
 11918  	if len(x) > 0 {
 11919  		_x = &x[0]
 11920  	}
 11921  	var _k *int32
 11922  	if len(k) > 0 {
 11923  		_k = &k[0]
 11924  	}
 11925  	return isZero(C.LAPACKE_slapmt_work((C.int)(rowMajor), (C.lapack_logical)(forwrd), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_x), (C.lapack_int)(ldx), (*C.lapack_int)(_k)))
 11926  }
 11927  
 11928  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlapmt.f.
 11929  func Dlapmt(forwrd int32, m, n int, x []float64, ldx int, k []int32) bool {
 11930  	var _x *float64
 11931  	if len(x) > 0 {
 11932  		_x = &x[0]
 11933  	}
 11934  	var _k *int32
 11935  	if len(k) > 0 {
 11936  		_k = &k[0]
 11937  	}
 11938  	return isZero(C.LAPACKE_dlapmt_work((C.int)(rowMajor), (C.lapack_logical)(forwrd), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_x), (C.lapack_int)(ldx), (*C.lapack_int)(_k)))
 11939  }
 11940  
 11941  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clapmt.f.
 11942  func Clapmt(forwrd int32, m, n int, x []complex64, ldx int, k []int32) bool {
 11943  	var _x *complex64
 11944  	if len(x) > 0 {
 11945  		_x = &x[0]
 11946  	}
 11947  	var _k *int32
 11948  	if len(k) > 0 {
 11949  		_k = &k[0]
 11950  	}
 11951  	return isZero(C.LAPACKE_clapmt_work((C.int)(rowMajor), (C.lapack_logical)(forwrd), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.lapack_int)(_k)))
 11952  }
 11953  
 11954  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlapmt.f.
 11955  func Zlapmt(forwrd int32, m, n int, x []complex128, ldx int, k []int32) bool {
 11956  	var _x *complex128
 11957  	if len(x) > 0 {
 11958  		_x = &x[0]
 11959  	}
 11960  	var _k *int32
 11961  	if len(k) > 0 {
 11962  		_k = &k[0]
 11963  	}
 11964  	return isZero(C.LAPACKE_zlapmt_work((C.int)(rowMajor), (C.lapack_logical)(forwrd), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.lapack_int)(_k)))
 11965  }
 11966  
 11967  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slartgp.f.
 11968  func Slartgp(f, g float32, cs, sn, r []float32) bool {
 11969  	var _cs *float32
 11970  	if len(cs) > 0 {
 11971  		_cs = &cs[0]
 11972  	}
 11973  	var _sn *float32
 11974  	if len(sn) > 0 {
 11975  		_sn = &sn[0]
 11976  	}
 11977  	var _r *float32
 11978  	if len(r) > 0 {
 11979  		_r = &r[0]
 11980  	}
 11981  	return isZero(C.LAPACKE_slartgp_work((C.float)(f), (C.float)(g), (*C.float)(_cs), (*C.float)(_sn), (*C.float)(_r)))
 11982  }
 11983  
 11984  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlartgp.f.
 11985  func Dlartgp(f, g float64, cs, sn, r []float64) bool {
 11986  	var _cs *float64
 11987  	if len(cs) > 0 {
 11988  		_cs = &cs[0]
 11989  	}
 11990  	var _sn *float64
 11991  	if len(sn) > 0 {
 11992  		_sn = &sn[0]
 11993  	}
 11994  	var _r *float64
 11995  	if len(r) > 0 {
 11996  		_r = &r[0]
 11997  	}
 11998  	return isZero(C.LAPACKE_dlartgp_work((C.double)(f), (C.double)(g), (*C.double)(_cs), (*C.double)(_sn), (*C.double)(_r)))
 11999  }
 12000  
 12001  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slartgs.f.
 12002  func Slartgs(x, y, sigma float32, cs, sn []float32) bool {
 12003  	var _cs *float32
 12004  	if len(cs) > 0 {
 12005  		_cs = &cs[0]
 12006  	}
 12007  	var _sn *float32
 12008  	if len(sn) > 0 {
 12009  		_sn = &sn[0]
 12010  	}
 12011  	return isZero(C.LAPACKE_slartgs_work((C.float)(x), (C.float)(y), (C.float)(sigma), (*C.float)(_cs), (*C.float)(_sn)))
 12012  }
 12013  
 12014  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlartgs.f.
 12015  func Dlartgs(x, y, sigma float64, cs, sn []float64) bool {
 12016  	var _cs *float64
 12017  	if len(cs) > 0 {
 12018  		_cs = &cs[0]
 12019  	}
 12020  	var _sn *float64
 12021  	if len(sn) > 0 {
 12022  		_sn = &sn[0]
 12023  	}
 12024  	return isZero(C.LAPACKE_dlartgs_work((C.double)(x), (C.double)(y), (C.double)(sigma), (*C.double)(_cs), (*C.double)(_sn)))
 12025  }
 12026  
 12027  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slapy2.f.
 12028  func Slapy2(x, y float32) float32 {
 12029  	return float32(C.LAPACKE_slapy2_work((C.float)(x), (C.float)(y)))
 12030  }
 12031  
 12032  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlapy2.f.
 12033  func Dlapy2(x, y float64) float64 {
 12034  	return float64(C.LAPACKE_dlapy2_work((C.double)(x), (C.double)(y)))
 12035  }
 12036  
 12037  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slapy3.f.
 12038  func Slapy3(x, y, z float32) float32 {
 12039  	return float32(C.LAPACKE_slapy3_work((C.float)(x), (C.float)(y), (C.float)(z)))
 12040  }
 12041  
 12042  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlapy3.f.
 12043  func Dlapy3(x, y, z float64) float64 {
 12044  	return float64(C.LAPACKE_dlapy3_work((C.double)(x), (C.double)(y), (C.double)(z)))
 12045  }
 12046  
 12047  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slamch.f.
 12048  func Slamch(cmach byte) float32 {
 12049  	return float32(C.LAPACKE_slamch_work((C.char)(cmach)))
 12050  }
 12051  
 12052  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlamch.f.
 12053  func Dlamch(cmach byte) float64 {
 12054  	return float64(C.LAPACKE_dlamch_work((C.char)(cmach)))
 12055  }
 12056  
 12057  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slange.f.
 12058  func Slange(norm byte, m, n int, a []float32, lda int, work []float32) float32 {
 12059  	var _a *float32
 12060  	if len(a) > 0 {
 12061  		_a = &a[0]
 12062  	}
 12063  	var _work *float32
 12064  	if len(work) > 0 {
 12065  		_work = &work[0]
 12066  	}
 12067  	return float32(C.LAPACKE_slange_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_work)))
 12068  }
 12069  
 12070  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlange.f.
 12071  func Dlange(norm byte, m, n int, a []float64, lda int, work []float64) float64 {
 12072  	var _a *float64
 12073  	if len(a) > 0 {
 12074  		_a = &a[0]
 12075  	}
 12076  	var _work *float64
 12077  	if len(work) > 0 {
 12078  		_work = &work[0]
 12079  	}
 12080  	return float64(C.LAPACKE_dlange_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_work)))
 12081  }
 12082  
 12083  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clange.f.
 12084  func Clange(norm byte, m, n int, a []complex64, lda int, work []float32) float32 {
 12085  	var _a *complex64
 12086  	if len(a) > 0 {
 12087  		_a = &a[0]
 12088  	}
 12089  	var _work *float32
 12090  	if len(work) > 0 {
 12091  		_work = &work[0]
 12092  	}
 12093  	return float32(C.LAPACKE_clange_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_work)))
 12094  }
 12095  
 12096  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlange.f.
 12097  func Zlange(norm byte, m, n int, a []complex128, lda int, work []float64) float64 {
 12098  	var _a *complex128
 12099  	if len(a) > 0 {
 12100  		_a = &a[0]
 12101  	}
 12102  	var _work *float64
 12103  	if len(work) > 0 {
 12104  		_work = &work[0]
 12105  	}
 12106  	return float64(C.LAPACKE_zlange_work((C.int)(rowMajor), (C.char)(norm), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_work)))
 12107  }
 12108  
 12109  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clanhe.f.
 12110  func Clanhe(norm byte, ul blas.Uplo, n int, a []complex64, lda int, work []float32) float32 {
 12111  	switch ul {
 12112  	case blas.Upper:
 12113  		ul = 'U'
 12114  	case blas.Lower:
 12115  		ul = 'L'
 12116  	default:
 12117  		panic("lapack: illegal triangle")
 12118  	}
 12119  	var _a *complex64
 12120  	if len(a) > 0 {
 12121  		_a = &a[0]
 12122  	}
 12123  	var _work *float32
 12124  	if len(work) > 0 {
 12125  		_work = &work[0]
 12126  	}
 12127  	return float32(C.LAPACKE_clanhe_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_work)))
 12128  }
 12129  
 12130  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlanhe.f.
 12131  func Zlanhe(norm byte, ul blas.Uplo, n int, a []complex128, lda int, work []float64) float64 {
 12132  	switch ul {
 12133  	case blas.Upper:
 12134  		ul = 'U'
 12135  	case blas.Lower:
 12136  		ul = 'L'
 12137  	default:
 12138  		panic("lapack: illegal triangle")
 12139  	}
 12140  	var _a *complex128
 12141  	if len(a) > 0 {
 12142  		_a = &a[0]
 12143  	}
 12144  	var _work *float64
 12145  	if len(work) > 0 {
 12146  		_work = &work[0]
 12147  	}
 12148  	return float64(C.LAPACKE_zlanhe_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_work)))
 12149  }
 12150  
 12151  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slansy.f.
 12152  func Slansy(norm byte, ul blas.Uplo, n int, a []float32, lda int, work []float32) float32 {
 12153  	switch ul {
 12154  	case blas.Upper:
 12155  		ul = 'U'
 12156  	case blas.Lower:
 12157  		ul = 'L'
 12158  	default:
 12159  		panic("lapack: illegal triangle")
 12160  	}
 12161  	var _a *float32
 12162  	if len(a) > 0 {
 12163  		_a = &a[0]
 12164  	}
 12165  	var _work *float32
 12166  	if len(work) > 0 {
 12167  		_work = &work[0]
 12168  	}
 12169  	return float32(C.LAPACKE_slansy_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_work)))
 12170  }
 12171  
 12172  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlansy.f.
 12173  func Dlansy(norm byte, ul blas.Uplo, n int, a []float64, lda int, work []float64) float64 {
 12174  	switch ul {
 12175  	case blas.Upper:
 12176  		ul = 'U'
 12177  	case blas.Lower:
 12178  		ul = 'L'
 12179  	default:
 12180  		panic("lapack: illegal triangle")
 12181  	}
 12182  	var _a *float64
 12183  	if len(a) > 0 {
 12184  		_a = &a[0]
 12185  	}
 12186  	var _work *float64
 12187  	if len(work) > 0 {
 12188  		_work = &work[0]
 12189  	}
 12190  	return float64(C.LAPACKE_dlansy_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_work)))
 12191  }
 12192  
 12193  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clansy.f.
 12194  func Clansy(norm byte, ul blas.Uplo, n int, a []complex64, lda int, work []float32) float32 {
 12195  	switch ul {
 12196  	case blas.Upper:
 12197  		ul = 'U'
 12198  	case blas.Lower:
 12199  		ul = 'L'
 12200  	default:
 12201  		panic("lapack: illegal triangle")
 12202  	}
 12203  	var _a *complex64
 12204  	if len(a) > 0 {
 12205  		_a = &a[0]
 12206  	}
 12207  	var _work *float32
 12208  	if len(work) > 0 {
 12209  		_work = &work[0]
 12210  	}
 12211  	return float32(C.LAPACKE_clansy_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_work)))
 12212  }
 12213  
 12214  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlansy.f.
 12215  func Zlansy(norm byte, ul blas.Uplo, n int, a []complex128, lda int, work []float64) float64 {
 12216  	switch ul {
 12217  	case blas.Upper:
 12218  		ul = 'U'
 12219  	case blas.Lower:
 12220  		ul = 'L'
 12221  	default:
 12222  		panic("lapack: illegal triangle")
 12223  	}
 12224  	var _a *complex128
 12225  	if len(a) > 0 {
 12226  		_a = &a[0]
 12227  	}
 12228  	var _work *float64
 12229  	if len(work) > 0 {
 12230  		_work = &work[0]
 12231  	}
 12232  	return float64(C.LAPACKE_zlansy_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_work)))
 12233  }
 12234  
 12235  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slantr.f.
 12236  func Slantr(norm byte, ul blas.Uplo, d blas.Diag, m, n int, a []float32, lda int, work []float32) float32 {
 12237  	switch ul {
 12238  	case blas.Upper:
 12239  		ul = 'U'
 12240  	case blas.Lower:
 12241  		ul = 'L'
 12242  	default:
 12243  		panic("lapack: illegal triangle")
 12244  	}
 12245  	switch d {
 12246  	case blas.Unit:
 12247  		d = 'U'
 12248  	case blas.NonUnit:
 12249  		d = 'N'
 12250  	default:
 12251  		panic("lapack: illegal diagonal")
 12252  	}
 12253  	var _a *float32
 12254  	if len(a) > 0 {
 12255  		_a = &a[0]
 12256  	}
 12257  	var _work *float32
 12258  	if len(work) > 0 {
 12259  		_work = &work[0]
 12260  	}
 12261  	return float32(C.LAPACKE_slantr_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_work)))
 12262  }
 12263  
 12264  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlantr.f.
 12265  func Dlantr(norm byte, ul blas.Uplo, d blas.Diag, m, n int, a []float64, lda int, work []float64) float64 {
 12266  	switch ul {
 12267  	case blas.Upper:
 12268  		ul = 'U'
 12269  	case blas.Lower:
 12270  		ul = 'L'
 12271  	default:
 12272  		panic("lapack: illegal triangle")
 12273  	}
 12274  	switch d {
 12275  	case blas.Unit:
 12276  		d = 'U'
 12277  	case blas.NonUnit:
 12278  		d = 'N'
 12279  	default:
 12280  		panic("lapack: illegal diagonal")
 12281  	}
 12282  	var _a *float64
 12283  	if len(a) > 0 {
 12284  		_a = &a[0]
 12285  	}
 12286  	var _work *float64
 12287  	if len(work) > 0 {
 12288  		_work = &work[0]
 12289  	}
 12290  	return float64(C.LAPACKE_dlantr_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_work)))
 12291  }
 12292  
 12293  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clantr.f.
 12294  func Clantr(norm byte, ul blas.Uplo, d blas.Diag, m, n int, a []complex64, lda int, work []float32) float32 {
 12295  	switch ul {
 12296  	case blas.Upper:
 12297  		ul = 'U'
 12298  	case blas.Lower:
 12299  		ul = 'L'
 12300  	default:
 12301  		panic("lapack: illegal triangle")
 12302  	}
 12303  	switch d {
 12304  	case blas.Unit:
 12305  		d = 'U'
 12306  	case blas.NonUnit:
 12307  		d = 'N'
 12308  	default:
 12309  		panic("lapack: illegal diagonal")
 12310  	}
 12311  	var _a *complex64
 12312  	if len(a) > 0 {
 12313  		_a = &a[0]
 12314  	}
 12315  	var _work *float32
 12316  	if len(work) > 0 {
 12317  		_work = &work[0]
 12318  	}
 12319  	return float32(C.LAPACKE_clantr_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_work)))
 12320  }
 12321  
 12322  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlantr.f.
 12323  func Zlantr(norm byte, ul blas.Uplo, d blas.Diag, m, n int, a []complex128, lda int, work []float64) float64 {
 12324  	switch ul {
 12325  	case blas.Upper:
 12326  		ul = 'U'
 12327  	case blas.Lower:
 12328  		ul = 'L'
 12329  	default:
 12330  		panic("lapack: illegal triangle")
 12331  	}
 12332  	switch d {
 12333  	case blas.Unit:
 12334  		d = 'U'
 12335  	case blas.NonUnit:
 12336  		d = 'N'
 12337  	default:
 12338  		panic("lapack: illegal diagonal")
 12339  	}
 12340  	var _a *complex128
 12341  	if len(a) > 0 {
 12342  		_a = &a[0]
 12343  	}
 12344  	var _work *float64
 12345  	if len(work) > 0 {
 12346  		_work = &work[0]
 12347  	}
 12348  	return float64(C.LAPACKE_zlantr_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_work)))
 12349  }
 12350  
 12351  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slarfb.f.
 12352  func Slarfb(side blas.Side, trans blas.Transpose, direct, storev byte, m, n, k int, v []float32, ldv int, t []float32, ldt int, c []float32, ldc int, work []float32, ldwork int) bool {
 12353  	switch side {
 12354  	case blas.Left:
 12355  		side = 'L'
 12356  	case blas.Right:
 12357  		side = 'R'
 12358  	default:
 12359  		panic("lapack: bad side")
 12360  	}
 12361  	switch trans {
 12362  	case blas.NoTrans:
 12363  		trans = 'N'
 12364  	case blas.Trans:
 12365  		trans = 'T'
 12366  	case blas.ConjTrans:
 12367  		trans = 'C'
 12368  	default:
 12369  		panic("lapack: bad trans")
 12370  	}
 12371  	var _v *float32
 12372  	if len(v) > 0 {
 12373  		_v = &v[0]
 12374  	}
 12375  	var _t *float32
 12376  	if len(t) > 0 {
 12377  		_t = &t[0]
 12378  	}
 12379  	var _c *float32
 12380  	if len(c) > 0 {
 12381  		_c = &c[0]
 12382  	}
 12383  	var _work *float32
 12384  	if len(work) > 0 {
 12385  		_work = &work[0]
 12386  	}
 12387  	return isZero(C.LAPACKE_slarfb_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.char)(direct), (C.char)(storev), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(ldwork)))
 12388  }
 12389  
 12390  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlarfb.f.
 12391  func Dlarfb(side blas.Side, trans blas.Transpose, direct, storev byte, m, n, k int, v []float64, ldv int, t []float64, ldt int, c []float64, ldc int, work []float64, ldwork int) bool {
 12392  	switch side {
 12393  	case blas.Left:
 12394  		side = 'L'
 12395  	case blas.Right:
 12396  		side = 'R'
 12397  	default:
 12398  		panic("lapack: bad side")
 12399  	}
 12400  	switch trans {
 12401  	case blas.NoTrans:
 12402  		trans = 'N'
 12403  	case blas.Trans:
 12404  		trans = 'T'
 12405  	case blas.ConjTrans:
 12406  		trans = 'C'
 12407  	default:
 12408  		panic("lapack: bad trans")
 12409  	}
 12410  	var _v *float64
 12411  	if len(v) > 0 {
 12412  		_v = &v[0]
 12413  	}
 12414  	var _t *float64
 12415  	if len(t) > 0 {
 12416  		_t = &t[0]
 12417  	}
 12418  	var _c *float64
 12419  	if len(c) > 0 {
 12420  		_c = &c[0]
 12421  	}
 12422  	var _work *float64
 12423  	if len(work) > 0 {
 12424  		_work = &work[0]
 12425  	}
 12426  	return isZero(C.LAPACKE_dlarfb_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.char)(direct), (C.char)(storev), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(ldwork)))
 12427  }
 12428  
 12429  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clarfb.f.
 12430  func Clarfb(side blas.Side, trans blas.Transpose, direct, storev byte, m, n, k int, v []complex64, ldv int, t []complex64, ldt int, c []complex64, ldc int, work []complex64, ldwork int) bool {
 12431  	switch side {
 12432  	case blas.Left:
 12433  		side = 'L'
 12434  	case blas.Right:
 12435  		side = 'R'
 12436  	default:
 12437  		panic("lapack: bad side")
 12438  	}
 12439  	switch trans {
 12440  	case blas.NoTrans:
 12441  		trans = 'N'
 12442  	case blas.Trans:
 12443  		trans = 'T'
 12444  	case blas.ConjTrans:
 12445  		trans = 'C'
 12446  	default:
 12447  		panic("lapack: bad trans")
 12448  	}
 12449  	var _v *complex64
 12450  	if len(v) > 0 {
 12451  		_v = &v[0]
 12452  	}
 12453  	var _t *complex64
 12454  	if len(t) > 0 {
 12455  		_t = &t[0]
 12456  	}
 12457  	var _c *complex64
 12458  	if len(c) > 0 {
 12459  		_c = &c[0]
 12460  	}
 12461  	var _work *complex64
 12462  	if len(work) > 0 {
 12463  		_work = &work[0]
 12464  	}
 12465  	return isZero(C.LAPACKE_clarfb_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.char)(direct), (C.char)(storev), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(ldwork)))
 12466  }
 12467  
 12468  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarfb.f.
 12469  func Zlarfb(side blas.Side, trans blas.Transpose, direct, storev byte, m, n, k int, v []complex128, ldv int, t []complex128, ldt int, c []complex128, ldc int, work []complex128, ldwork int) bool {
 12470  	switch side {
 12471  	case blas.Left:
 12472  		side = 'L'
 12473  	case blas.Right:
 12474  		side = 'R'
 12475  	default:
 12476  		panic("lapack: bad side")
 12477  	}
 12478  	switch trans {
 12479  	case blas.NoTrans:
 12480  		trans = 'N'
 12481  	case blas.Trans:
 12482  		trans = 'T'
 12483  	case blas.ConjTrans:
 12484  		trans = 'C'
 12485  	default:
 12486  		panic("lapack: bad trans")
 12487  	}
 12488  	var _v *complex128
 12489  	if len(v) > 0 {
 12490  		_v = &v[0]
 12491  	}
 12492  	var _t *complex128
 12493  	if len(t) > 0 {
 12494  		_t = &t[0]
 12495  	}
 12496  	var _c *complex128
 12497  	if len(c) > 0 {
 12498  		_c = &c[0]
 12499  	}
 12500  	var _work *complex128
 12501  	if len(work) > 0 {
 12502  		_work = &work[0]
 12503  	}
 12504  	return isZero(C.LAPACKE_zlarfb_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.char)(direct), (C.char)(storev), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(ldwork)))
 12505  }
 12506  
 12507  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slarfg.f.
 12508  func Slarfg(n int, alpha, x []float32, incx int, tau []float32) bool {
 12509  	var _alpha *float32
 12510  	if len(alpha) > 0 {
 12511  		_alpha = &alpha[0]
 12512  	}
 12513  	var _x *float32
 12514  	if len(x) > 0 {
 12515  		_x = &x[0]
 12516  	}
 12517  	var _tau *float32
 12518  	if len(tau) > 0 {
 12519  		_tau = &tau[0]
 12520  	}
 12521  	return isZero(C.LAPACKE_slarfg_work((C.lapack_int)(n), (*C.float)(_alpha), (*C.float)(_x), (C.lapack_int)(incx), (*C.float)(_tau)))
 12522  }
 12523  
 12524  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlarfg.f.
 12525  func Dlarfg(n int, alpha, x []float64, incx int, tau []float64) bool {
 12526  	var _alpha *float64
 12527  	if len(alpha) > 0 {
 12528  		_alpha = &alpha[0]
 12529  	}
 12530  	var _x *float64
 12531  	if len(x) > 0 {
 12532  		_x = &x[0]
 12533  	}
 12534  	var _tau *float64
 12535  	if len(tau) > 0 {
 12536  		_tau = &tau[0]
 12537  	}
 12538  	return isZero(C.LAPACKE_dlarfg_work((C.lapack_int)(n), (*C.double)(_alpha), (*C.double)(_x), (C.lapack_int)(incx), (*C.double)(_tau)))
 12539  }
 12540  
 12541  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clarfg.f.
 12542  func Clarfg(n int, alpha, x []complex64, incx int, tau []complex64) bool {
 12543  	var _alpha *complex64
 12544  	if len(alpha) > 0 {
 12545  		_alpha = &alpha[0]
 12546  	}
 12547  	var _x *complex64
 12548  	if len(x) > 0 {
 12549  		_x = &x[0]
 12550  	}
 12551  	var _tau *complex64
 12552  	if len(tau) > 0 {
 12553  		_tau = &tau[0]
 12554  	}
 12555  	return isZero(C.LAPACKE_clarfg_work((C.lapack_int)(n), (*C.lapack_complex_float)(_alpha), (*C.lapack_complex_float)(_x), (C.lapack_int)(incx), (*C.lapack_complex_float)(_tau)))
 12556  }
 12557  
 12558  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarfg.f.
 12559  func Zlarfg(n int, alpha, x []complex128, incx int, tau []complex128) bool {
 12560  	var _alpha *complex128
 12561  	if len(alpha) > 0 {
 12562  		_alpha = &alpha[0]
 12563  	}
 12564  	var _x *complex128
 12565  	if len(x) > 0 {
 12566  		_x = &x[0]
 12567  	}
 12568  	var _tau *complex128
 12569  	if len(tau) > 0 {
 12570  		_tau = &tau[0]
 12571  	}
 12572  	return isZero(C.LAPACKE_zlarfg_work((C.lapack_int)(n), (*C.lapack_complex_double)(_alpha), (*C.lapack_complex_double)(_x), (C.lapack_int)(incx), (*C.lapack_complex_double)(_tau)))
 12573  }
 12574  
 12575  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slarft.f.
 12576  func Slarft(direct, storev byte, n, k int, v []float32, ldv int, tau, t []float32, ldt int) bool {
 12577  	var _v *float32
 12578  	if len(v) > 0 {
 12579  		_v = &v[0]
 12580  	}
 12581  	var _tau *float32
 12582  	if len(tau) > 0 {
 12583  		_tau = &tau[0]
 12584  	}
 12585  	var _t *float32
 12586  	if len(t) > 0 {
 12587  		_t = &t[0]
 12588  	}
 12589  	return isZero(C.LAPACKE_slarft_work((C.int)(rowMajor), (C.char)(direct), (C.char)(storev), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_tau), (*C.float)(_t), (C.lapack_int)(ldt)))
 12590  }
 12591  
 12592  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlarft.f.
 12593  func Dlarft(direct, storev byte, n, k int, v []float64, ldv int, tau, t []float64, ldt int) bool {
 12594  	var _v *float64
 12595  	if len(v) > 0 {
 12596  		_v = &v[0]
 12597  	}
 12598  	var _tau *float64
 12599  	if len(tau) > 0 {
 12600  		_tau = &tau[0]
 12601  	}
 12602  	var _t *float64
 12603  	if len(t) > 0 {
 12604  		_t = &t[0]
 12605  	}
 12606  	return isZero(C.LAPACKE_dlarft_work((C.int)(rowMajor), (C.char)(direct), (C.char)(storev), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_tau), (*C.double)(_t), (C.lapack_int)(ldt)))
 12607  }
 12608  
 12609  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clarft.f.
 12610  func Clarft(direct, storev byte, n, k int, v []complex64, ldv int, tau, t []complex64, ldt int) bool {
 12611  	var _v *complex64
 12612  	if len(v) > 0 {
 12613  		_v = &v[0]
 12614  	}
 12615  	var _tau *complex64
 12616  	if len(tau) > 0 {
 12617  		_tau = &tau[0]
 12618  	}
 12619  	var _t *complex64
 12620  	if len(t) > 0 {
 12621  		_t = &t[0]
 12622  	}
 12623  	return isZero(C.LAPACKE_clarft_work((C.int)(rowMajor), (C.char)(direct), (C.char)(storev), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt)))
 12624  }
 12625  
 12626  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarft.f.
 12627  func Zlarft(direct, storev byte, n, k int, v []complex128, ldv int, tau, t []complex128, ldt int) bool {
 12628  	var _v *complex128
 12629  	if len(v) > 0 {
 12630  		_v = &v[0]
 12631  	}
 12632  	var _tau *complex128
 12633  	if len(tau) > 0 {
 12634  		_tau = &tau[0]
 12635  	}
 12636  	var _t *complex128
 12637  	if len(t) > 0 {
 12638  		_t = &t[0]
 12639  	}
 12640  	return isZero(C.LAPACKE_zlarft_work((C.int)(rowMajor), (C.char)(direct), (C.char)(storev), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt)))
 12641  }
 12642  
 12643  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slarfx.f.
 12644  func Slarfx(side blas.Side, m, n int, v []float32, tau float32, c []float32, ldc int, work []float32) bool {
 12645  	switch side {
 12646  	case blas.Left:
 12647  		side = 'L'
 12648  	case blas.Right:
 12649  		side = 'R'
 12650  	default:
 12651  		panic("lapack: bad side")
 12652  	}
 12653  	var _v *float32
 12654  	if len(v) > 0 {
 12655  		_v = &v[0]
 12656  	}
 12657  	var _c *float32
 12658  	if len(c) > 0 {
 12659  		_c = &c[0]
 12660  	}
 12661  	var _work *float32
 12662  	if len(work) > 0 {
 12663  		_work = &work[0]
 12664  	}
 12665  	return isZero(C.LAPACKE_slarfx_work((C.int)(rowMajor), (C.char)(side), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_v), (C.float)(tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work)))
 12666  }
 12667  
 12668  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlarfx.f.
 12669  func Dlarfx(side blas.Side, m, n int, v []float64, tau float64, c []float64, ldc int, work []float64) bool {
 12670  	switch side {
 12671  	case blas.Left:
 12672  		side = 'L'
 12673  	case blas.Right:
 12674  		side = 'R'
 12675  	default:
 12676  		panic("lapack: bad side")
 12677  	}
 12678  	var _v *float64
 12679  	if len(v) > 0 {
 12680  		_v = &v[0]
 12681  	}
 12682  	var _c *float64
 12683  	if len(c) > 0 {
 12684  		_c = &c[0]
 12685  	}
 12686  	var _work *float64
 12687  	if len(work) > 0 {
 12688  		_work = &work[0]
 12689  	}
 12690  	return isZero(C.LAPACKE_dlarfx_work((C.int)(rowMajor), (C.char)(side), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_v), (C.double)(tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work)))
 12691  }
 12692  
 12693  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clarfx.f.
 12694  func Clarfx(side blas.Side, m, n int, v []complex64, tau complex64, c []complex64, ldc int, work []complex64) bool {
 12695  	switch side {
 12696  	case blas.Left:
 12697  		side = 'L'
 12698  	case blas.Right:
 12699  		side = 'R'
 12700  	default:
 12701  		panic("lapack: bad side")
 12702  	}
 12703  	var _v *complex64
 12704  	if len(v) > 0 {
 12705  		_v = &v[0]
 12706  	}
 12707  	var _c *complex64
 12708  	if len(c) > 0 {
 12709  		_c = &c[0]
 12710  	}
 12711  	var _work *complex64
 12712  	if len(work) > 0 {
 12713  		_work = &work[0]
 12714  	}
 12715  	return isZero(C.LAPACKE_clarfx_work((C.int)(rowMajor), (C.char)(side), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_v), (C.lapack_complex_float)(tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work)))
 12716  }
 12717  
 12718  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarfx.f.
 12719  func Zlarfx(side blas.Side, m, n int, v []complex128, tau complex128, c []complex128, ldc int, work []complex128) bool {
 12720  	switch side {
 12721  	case blas.Left:
 12722  		side = 'L'
 12723  	case blas.Right:
 12724  		side = 'R'
 12725  	default:
 12726  		panic("lapack: bad side")
 12727  	}
 12728  	var _v *complex128
 12729  	if len(v) > 0 {
 12730  		_v = &v[0]
 12731  	}
 12732  	var _c *complex128
 12733  	if len(c) > 0 {
 12734  		_c = &c[0]
 12735  	}
 12736  	var _work *complex128
 12737  	if len(work) > 0 {
 12738  		_work = &work[0]
 12739  	}
 12740  	return isZero(C.LAPACKE_zlarfx_work((C.int)(rowMajor), (C.char)(side), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_v), (C.lapack_complex_double)(tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work)))
 12741  }
 12742  
 12743  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slarnv.f.
 12744  func Slarnv(idist int, iseed []int32, n int, x []float32) bool {
 12745  	var _iseed *int32
 12746  	if len(iseed) > 0 {
 12747  		_iseed = &iseed[0]
 12748  	}
 12749  	var _x *float32
 12750  	if len(x) > 0 {
 12751  		_x = &x[0]
 12752  	}
 12753  	return isZero(C.LAPACKE_slarnv_work((C.lapack_int)(idist), (*C.lapack_int)(_iseed), (C.lapack_int)(n), (*C.float)(_x)))
 12754  }
 12755  
 12756  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlarnv.f.
 12757  func Dlarnv(idist int, iseed []int32, n int, x []float64) bool {
 12758  	var _iseed *int32
 12759  	if len(iseed) > 0 {
 12760  		_iseed = &iseed[0]
 12761  	}
 12762  	var _x *float64
 12763  	if len(x) > 0 {
 12764  		_x = &x[0]
 12765  	}
 12766  	return isZero(C.LAPACKE_dlarnv_work((C.lapack_int)(idist), (*C.lapack_int)(_iseed), (C.lapack_int)(n), (*C.double)(_x)))
 12767  }
 12768  
 12769  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clarnv.f.
 12770  func Clarnv(idist int, iseed []int32, n int, x []complex64) bool {
 12771  	var _iseed *int32
 12772  	if len(iseed) > 0 {
 12773  		_iseed = &iseed[0]
 12774  	}
 12775  	var _x *complex64
 12776  	if len(x) > 0 {
 12777  		_x = &x[0]
 12778  	}
 12779  	return isZero(C.LAPACKE_clarnv_work((C.lapack_int)(idist), (*C.lapack_int)(_iseed), (C.lapack_int)(n), (*C.lapack_complex_float)(_x)))
 12780  }
 12781  
 12782  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarnv.f.
 12783  func Zlarnv(idist int, iseed []int32, n int, x []complex128) bool {
 12784  	var _iseed *int32
 12785  	if len(iseed) > 0 {
 12786  		_iseed = &iseed[0]
 12787  	}
 12788  	var _x *complex128
 12789  	if len(x) > 0 {
 12790  		_x = &x[0]
 12791  	}
 12792  	return isZero(C.LAPACKE_zlarnv_work((C.lapack_int)(idist), (*C.lapack_int)(_iseed), (C.lapack_int)(n), (*C.lapack_complex_double)(_x)))
 12793  }
 12794  
 12795  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slascl.f.
 12796  func Slascl(typ byte, kl, ku int, cfrom, cto float32, m, n int, a []float32, lda int) bool {
 12797  	var _a *float32
 12798  	if len(a) > 0 {
 12799  		_a = &a[0]
 12800  	}
 12801  	return isZero(C.LAPACKE_slascl_work((C.int)(rowMajor), (C.char)(typ), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.float)(cfrom), (C.float)(cto), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda)))
 12802  }
 12803  
 12804  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlascl.f.
 12805  func Dlascl(typ byte, kl, ku int, cfrom, cto float64, m, n int, a []float64, lda int) bool {
 12806  	var _a *float64
 12807  	if len(a) > 0 {
 12808  		_a = &a[0]
 12809  	}
 12810  	return isZero(C.LAPACKE_dlascl_work((C.int)(rowMajor), (C.char)(typ), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.double)(cfrom), (C.double)(cto), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda)))
 12811  }
 12812  
 12813  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clascl.f.
 12814  func Clascl(typ byte, kl, ku int, cfrom, cto float32, m, n int, a []complex64, lda int) bool {
 12815  	var _a *complex64
 12816  	if len(a) > 0 {
 12817  		_a = &a[0]
 12818  	}
 12819  	return isZero(C.LAPACKE_clascl_work((C.int)(rowMajor), (C.char)(typ), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.float)(cfrom), (C.float)(cto), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 12820  }
 12821  
 12822  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlascl.f.
 12823  func Zlascl(typ byte, kl, ku int, cfrom, cto float64, m, n int, a []complex128, lda int) bool {
 12824  	var _a *complex128
 12825  	if len(a) > 0 {
 12826  		_a = &a[0]
 12827  	}
 12828  	return isZero(C.LAPACKE_zlascl_work((C.int)(rowMajor), (C.char)(typ), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.double)(cfrom), (C.double)(cto), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 12829  }
 12830  
 12831  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slaset.f.
 12832  func Slaset(ul blas.Uplo, m, n int, alpha, beta float32, a []float32, lda int) bool {
 12833  	switch ul {
 12834  	case blas.Upper:
 12835  		ul = 'U'
 12836  	case blas.Lower:
 12837  		ul = 'L'
 12838  	default:
 12839  		ul = 'A'
 12840  	}
 12841  	var _a *float32
 12842  	if len(a) > 0 {
 12843  		_a = &a[0]
 12844  	}
 12845  	return isZero(C.LAPACKE_slaset_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (C.float)(alpha), (C.float)(beta), (*C.float)(_a), (C.lapack_int)(lda)))
 12846  }
 12847  
 12848  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlaset.f.
 12849  func Dlaset(ul blas.Uplo, m, n int, alpha, beta float64, a []float64, lda int) bool {
 12850  	switch ul {
 12851  	case blas.Upper:
 12852  		ul = 'U'
 12853  	case blas.Lower:
 12854  		ul = 'L'
 12855  	default:
 12856  		ul = 'A'
 12857  	}
 12858  	var _a *float64
 12859  	if len(a) > 0 {
 12860  		_a = &a[0]
 12861  	}
 12862  	return isZero(C.LAPACKE_dlaset_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (C.double)(alpha), (C.double)(beta), (*C.double)(_a), (C.lapack_int)(lda)))
 12863  }
 12864  
 12865  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/claset.f.
 12866  func Claset(ul blas.Uplo, m, n int, alpha, beta complex64, a []complex64, lda int) bool {
 12867  	switch ul {
 12868  	case blas.Upper:
 12869  		ul = 'U'
 12870  	case blas.Lower:
 12871  		ul = 'L'
 12872  	default:
 12873  		ul = 'A'
 12874  	}
 12875  	var _a *complex64
 12876  	if len(a) > 0 {
 12877  		_a = &a[0]
 12878  	}
 12879  	return isZero(C.LAPACKE_claset_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_complex_float)(alpha), (C.lapack_complex_float)(beta), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 12880  }
 12881  
 12882  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlaset.f.
 12883  func Zlaset(ul blas.Uplo, m, n int, alpha, beta complex128, a []complex128, lda int) bool {
 12884  	switch ul {
 12885  	case blas.Upper:
 12886  		ul = 'U'
 12887  	case blas.Lower:
 12888  		ul = 'L'
 12889  	default:
 12890  		ul = 'A'
 12891  	}
 12892  	var _a *complex128
 12893  	if len(a) > 0 {
 12894  		_a = &a[0]
 12895  	}
 12896  	return isZero(C.LAPACKE_zlaset_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_complex_double)(alpha), (C.lapack_complex_double)(beta), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 12897  }
 12898  
 12899  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slasrt.f.
 12900  func Slasrt(id byte, n int, d []float32) bool {
 12901  	var _d *float32
 12902  	if len(d) > 0 {
 12903  		_d = &d[0]
 12904  	}
 12905  	return isZero(C.LAPACKE_slasrt_work((C.char)(id), (C.lapack_int)(n), (*C.float)(_d)))
 12906  }
 12907  
 12908  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlasrt.f.
 12909  func Dlasrt(id byte, n int, d []float64) bool {
 12910  	var _d *float64
 12911  	if len(d) > 0 {
 12912  		_d = &d[0]
 12913  	}
 12914  	return isZero(C.LAPACKE_dlasrt_work((C.char)(id), (C.lapack_int)(n), (*C.double)(_d)))
 12915  }
 12916  
 12917  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slaswp.f.
 12918  func Slaswp(n int, a []float32, lda, k1, k2 int, ipiv []int32, incx int) bool {
 12919  	var _a *float32
 12920  	if len(a) > 0 {
 12921  		_a = &a[0]
 12922  	}
 12923  	var _ipiv *int32
 12924  	if len(ipiv) > 0 {
 12925  		_ipiv = &ipiv[0]
 12926  	}
 12927  	return isZero(C.LAPACKE_slaswp_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (C.lapack_int)(k1), (C.lapack_int)(k2), (*C.lapack_int)(_ipiv), (C.lapack_int)(incx)))
 12928  }
 12929  
 12930  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlaswp.f.
 12931  func Dlaswp(n int, a []float64, lda, k1, k2 int, ipiv []int32, incx int) bool {
 12932  	var _a *float64
 12933  	if len(a) > 0 {
 12934  		_a = &a[0]
 12935  	}
 12936  	var _ipiv *int32
 12937  	if len(ipiv) > 0 {
 12938  		_ipiv = &ipiv[0]
 12939  	}
 12940  	return isZero(C.LAPACKE_dlaswp_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (C.lapack_int)(k1), (C.lapack_int)(k2), (*C.lapack_int)(_ipiv), (C.lapack_int)(incx)))
 12941  }
 12942  
 12943  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/claswp.f.
 12944  func Claswp(n int, a []complex64, lda, k1, k2 int, ipiv []int32, incx int) bool {
 12945  	var _a *complex64
 12946  	if len(a) > 0 {
 12947  		_a = &a[0]
 12948  	}
 12949  	var _ipiv *int32
 12950  	if len(ipiv) > 0 {
 12951  		_ipiv = &ipiv[0]
 12952  	}
 12953  	return isZero(C.LAPACKE_claswp_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (C.lapack_int)(k1), (C.lapack_int)(k2), (*C.lapack_int)(_ipiv), (C.lapack_int)(incx)))
 12954  }
 12955  
 12956  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlaswp.f.
 12957  func Zlaswp(n int, a []complex128, lda, k1, k2 int, ipiv []int32, incx int) bool {
 12958  	var _a *complex128
 12959  	if len(a) > 0 {
 12960  		_a = &a[0]
 12961  	}
 12962  	var _ipiv *int32
 12963  	if len(ipiv) > 0 {
 12964  		_ipiv = &ipiv[0]
 12965  	}
 12966  	return isZero(C.LAPACKE_zlaswp_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (C.lapack_int)(k1), (C.lapack_int)(k2), (*C.lapack_int)(_ipiv), (C.lapack_int)(incx)))
 12967  }
 12968  
 12969  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slatms.f.
 12970  func Slatms(m, n int, dist byte, iseed []int32, sym byte, d []float32, mode int, cond, dmax float32, kl, ku int, pack byte, a []float32, lda int, work []float32) bool {
 12971  	var _iseed *int32
 12972  	if len(iseed) > 0 {
 12973  		_iseed = &iseed[0]
 12974  	}
 12975  	var _d *float32
 12976  	if len(d) > 0 {
 12977  		_d = &d[0]
 12978  	}
 12979  	var _a *float32
 12980  	if len(a) > 0 {
 12981  		_a = &a[0]
 12982  	}
 12983  	var _work *float32
 12984  	if len(work) > 0 {
 12985  		_work = &work[0]
 12986  	}
 12987  	return isZero(C.LAPACKE_slatms_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.char)(dist), (*C.lapack_int)(_iseed), (C.char)(sym), (*C.float)(_d), (C.lapack_int)(mode), (C.float)(cond), (C.float)(dmax), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.char)(pack), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_work)))
 12988  }
 12989  
 12990  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlatms.f.
 12991  func Dlatms(m, n int, dist byte, iseed []int32, sym byte, d []float64, mode int, cond, dmax float64, kl, ku int, pack byte, a []float64, lda int, work []float64) bool {
 12992  	var _iseed *int32
 12993  	if len(iseed) > 0 {
 12994  		_iseed = &iseed[0]
 12995  	}
 12996  	var _d *float64
 12997  	if len(d) > 0 {
 12998  		_d = &d[0]
 12999  	}
 13000  	var _a *float64
 13001  	if len(a) > 0 {
 13002  		_a = &a[0]
 13003  	}
 13004  	var _work *float64
 13005  	if len(work) > 0 {
 13006  		_work = &work[0]
 13007  	}
 13008  	return isZero(C.LAPACKE_dlatms_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.char)(dist), (*C.lapack_int)(_iseed), (C.char)(sym), (*C.double)(_d), (C.lapack_int)(mode), (C.double)(cond), (C.double)(dmax), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.char)(pack), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_work)))
 13009  }
 13010  
 13011  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clatms.f.
 13012  func Clatms(m, n int, dist byte, iseed []int32, sym byte, d []float32, mode int, cond, dmax float32, kl, ku int, pack byte, a []complex64, lda int, work []complex64) bool {
 13013  	var _iseed *int32
 13014  	if len(iseed) > 0 {
 13015  		_iseed = &iseed[0]
 13016  	}
 13017  	var _d *float32
 13018  	if len(d) > 0 {
 13019  		_d = &d[0]
 13020  	}
 13021  	var _a *complex64
 13022  	if len(a) > 0 {
 13023  		_a = &a[0]
 13024  	}
 13025  	var _work *complex64
 13026  	if len(work) > 0 {
 13027  		_work = &work[0]
 13028  	}
 13029  	return isZero(C.LAPACKE_clatms_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.char)(dist), (*C.lapack_int)(_iseed), (C.char)(sym), (*C.float)(_d), (C.lapack_int)(mode), (C.float)(cond), (C.float)(dmax), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.char)(pack), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_work)))
 13030  }
 13031  
 13032  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlatms.f.
 13033  func Zlatms(m, n int, dist byte, iseed []int32, sym byte, d []float64, mode int, cond, dmax float64, kl, ku int, pack byte, a []complex128, lda int, work []complex128) bool {
 13034  	var _iseed *int32
 13035  	if len(iseed) > 0 {
 13036  		_iseed = &iseed[0]
 13037  	}
 13038  	var _d *float64
 13039  	if len(d) > 0 {
 13040  		_d = &d[0]
 13041  	}
 13042  	var _a *complex128
 13043  	if len(a) > 0 {
 13044  		_a = &a[0]
 13045  	}
 13046  	var _work *complex128
 13047  	if len(work) > 0 {
 13048  		_work = &work[0]
 13049  	}
 13050  	return isZero(C.LAPACKE_zlatms_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.char)(dist), (*C.lapack_int)(_iseed), (C.char)(sym), (*C.double)(_d), (C.lapack_int)(mode), (C.double)(cond), (C.double)(dmax), (C.lapack_int)(kl), (C.lapack_int)(ku), (C.char)(pack), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_work)))
 13051  }
 13052  
 13053  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slauum.f.
 13054  func Slauum(ul blas.Uplo, n int, a []float32, lda int) bool {
 13055  	switch ul {
 13056  	case blas.Upper:
 13057  		ul = 'U'
 13058  	case blas.Lower:
 13059  		ul = 'L'
 13060  	default:
 13061  		panic("lapack: illegal triangle")
 13062  	}
 13063  	var _a *float32
 13064  	if len(a) > 0 {
 13065  		_a = &a[0]
 13066  	}
 13067  	return isZero(C.LAPACKE_slauum_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda)))
 13068  }
 13069  
 13070  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlauum.f.
 13071  func Dlauum(ul blas.Uplo, n int, a []float64, lda int) bool {
 13072  	switch ul {
 13073  	case blas.Upper:
 13074  		ul = 'U'
 13075  	case blas.Lower:
 13076  		ul = 'L'
 13077  	default:
 13078  		panic("lapack: illegal triangle")
 13079  	}
 13080  	var _a *float64
 13081  	if len(a) > 0 {
 13082  		_a = &a[0]
 13083  	}
 13084  	return isZero(C.LAPACKE_dlauum_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda)))
 13085  }
 13086  
 13087  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/clauum.f.
 13088  func Clauum(ul blas.Uplo, n int, a []complex64, lda int) bool {
 13089  	switch ul {
 13090  	case blas.Upper:
 13091  		ul = 'U'
 13092  	case blas.Lower:
 13093  		ul = 'L'
 13094  	default:
 13095  		panic("lapack: illegal triangle")
 13096  	}
 13097  	var _a *complex64
 13098  	if len(a) > 0 {
 13099  		_a = &a[0]
 13100  	}
 13101  	return isZero(C.LAPACKE_clauum_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 13102  }
 13103  
 13104  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlauum.f.
 13105  func Zlauum(ul blas.Uplo, n int, a []complex128, lda int) bool {
 13106  	switch ul {
 13107  	case blas.Upper:
 13108  		ul = 'U'
 13109  	case blas.Lower:
 13110  		ul = 'L'
 13111  	default:
 13112  		panic("lapack: illegal triangle")
 13113  	}
 13114  	var _a *complex128
 13115  	if len(a) > 0 {
 13116  		_a = &a[0]
 13117  	}
 13118  	return isZero(C.LAPACKE_zlauum_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 13119  }
 13120  
 13121  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sopgtr.f.
 13122  func Sopgtr(ul blas.Uplo, n int, ap, tau, q []float32, ldq int, work []float32) bool {
 13123  	switch ul {
 13124  	case blas.Upper:
 13125  		ul = 'U'
 13126  	case blas.Lower:
 13127  		ul = 'L'
 13128  	default:
 13129  		panic("lapack: illegal triangle")
 13130  	}
 13131  	var _ap *float32
 13132  	if len(ap) > 0 {
 13133  		_ap = &ap[0]
 13134  	}
 13135  	var _tau *float32
 13136  	if len(tau) > 0 {
 13137  		_tau = &tau[0]
 13138  	}
 13139  	var _q *float32
 13140  	if len(q) > 0 {
 13141  		_q = &q[0]
 13142  	}
 13143  	var _work *float32
 13144  	if len(work) > 0 {
 13145  		_work = &work[0]
 13146  	}
 13147  	return isZero(C.LAPACKE_sopgtr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_tau), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_work)))
 13148  }
 13149  
 13150  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dopgtr.f.
 13151  func Dopgtr(ul blas.Uplo, n int, ap, tau, q []float64, ldq int, work []float64) bool {
 13152  	switch ul {
 13153  	case blas.Upper:
 13154  		ul = 'U'
 13155  	case blas.Lower:
 13156  		ul = 'L'
 13157  	default:
 13158  		panic("lapack: illegal triangle")
 13159  	}
 13160  	var _ap *float64
 13161  	if len(ap) > 0 {
 13162  		_ap = &ap[0]
 13163  	}
 13164  	var _tau *float64
 13165  	if len(tau) > 0 {
 13166  		_tau = &tau[0]
 13167  	}
 13168  	var _q *float64
 13169  	if len(q) > 0 {
 13170  		_q = &q[0]
 13171  	}
 13172  	var _work *float64
 13173  	if len(work) > 0 {
 13174  		_work = &work[0]
 13175  	}
 13176  	return isZero(C.LAPACKE_dopgtr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_tau), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_work)))
 13177  }
 13178  
 13179  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sopmtr.f.
 13180  func Sopmtr(side blas.Side, ul blas.Uplo, trans blas.Transpose, m, n int, ap, tau, c []float32, ldc int, work []float32) bool {
 13181  	switch side {
 13182  	case blas.Left:
 13183  		side = 'L'
 13184  	case blas.Right:
 13185  		side = 'R'
 13186  	default:
 13187  		panic("lapack: bad side")
 13188  	}
 13189  	switch ul {
 13190  	case blas.Upper:
 13191  		ul = 'U'
 13192  	case blas.Lower:
 13193  		ul = 'L'
 13194  	default:
 13195  		panic("lapack: illegal triangle")
 13196  	}
 13197  	switch trans {
 13198  	case blas.NoTrans:
 13199  		trans = 'N'
 13200  	case blas.Trans:
 13201  		trans = 'T'
 13202  	case blas.ConjTrans:
 13203  		trans = 'C'
 13204  	default:
 13205  		panic("lapack: bad trans")
 13206  	}
 13207  	var _ap *float32
 13208  	if len(ap) > 0 {
 13209  		_ap = &ap[0]
 13210  	}
 13211  	var _tau *float32
 13212  	if len(tau) > 0 {
 13213  		_tau = &tau[0]
 13214  	}
 13215  	var _c *float32
 13216  	if len(c) > 0 {
 13217  		_c = &c[0]
 13218  	}
 13219  	var _work *float32
 13220  	if len(work) > 0 {
 13221  		_work = &work[0]
 13222  	}
 13223  	return isZero(C.LAPACKE_sopmtr_work((C.int)(rowMajor), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work)))
 13224  }
 13225  
 13226  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dopmtr.f.
 13227  func Dopmtr(side blas.Side, ul blas.Uplo, trans blas.Transpose, m, n int, ap, tau, c []float64, ldc int, work []float64) bool {
 13228  	switch side {
 13229  	case blas.Left:
 13230  		side = 'L'
 13231  	case blas.Right:
 13232  		side = 'R'
 13233  	default:
 13234  		panic("lapack: bad side")
 13235  	}
 13236  	switch ul {
 13237  	case blas.Upper:
 13238  		ul = 'U'
 13239  	case blas.Lower:
 13240  		ul = 'L'
 13241  	default:
 13242  		panic("lapack: illegal triangle")
 13243  	}
 13244  	switch trans {
 13245  	case blas.NoTrans:
 13246  		trans = 'N'
 13247  	case blas.Trans:
 13248  		trans = 'T'
 13249  	case blas.ConjTrans:
 13250  		trans = 'C'
 13251  	default:
 13252  		panic("lapack: bad trans")
 13253  	}
 13254  	var _ap *float64
 13255  	if len(ap) > 0 {
 13256  		_ap = &ap[0]
 13257  	}
 13258  	var _tau *float64
 13259  	if len(tau) > 0 {
 13260  		_tau = &tau[0]
 13261  	}
 13262  	var _c *float64
 13263  	if len(c) > 0 {
 13264  		_c = &c[0]
 13265  	}
 13266  	var _work *float64
 13267  	if len(work) > 0 {
 13268  		_work = &work[0]
 13269  	}
 13270  	return isZero(C.LAPACKE_dopmtr_work((C.int)(rowMajor), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work)))
 13271  }
 13272  
 13273  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgbr.f.
 13274  func Sorgbr(vect byte, m, n, k int, a []float32, lda int, tau, work []float32, lwork int) bool {
 13275  	var _a *float32
 13276  	if len(a) > 0 {
 13277  		_a = &a[0]
 13278  	}
 13279  	var _tau *float32
 13280  	if len(tau) > 0 {
 13281  		_tau = &tau[0]
 13282  	}
 13283  	var _work *float32
 13284  	if len(work) > 0 {
 13285  		_work = &work[0]
 13286  	}
 13287  	return isZero(C.LAPACKE_sorgbr_work((C.int)(rowMajor), (C.char)(vect), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 13288  }
 13289  
 13290  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgbr.f.
 13291  func Dorgbr(vect byte, m, n, k int, a []float64, lda int, tau, work []float64, lwork int) bool {
 13292  	var _a *float64
 13293  	if len(a) > 0 {
 13294  		_a = &a[0]
 13295  	}
 13296  	var _tau *float64
 13297  	if len(tau) > 0 {
 13298  		_tau = &tau[0]
 13299  	}
 13300  	var _work *float64
 13301  	if len(work) > 0 {
 13302  		_work = &work[0]
 13303  	}
 13304  	return isZero(C.LAPACKE_dorgbr_work((C.int)(rowMajor), (C.char)(vect), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 13305  }
 13306  
 13307  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorghr.f.
 13308  func Sorghr(n, ilo, ihi int, a []float32, lda int, tau, work []float32, lwork int) bool {
 13309  	var _a *float32
 13310  	if len(a) > 0 {
 13311  		_a = &a[0]
 13312  	}
 13313  	var _tau *float32
 13314  	if len(tau) > 0 {
 13315  		_tau = &tau[0]
 13316  	}
 13317  	var _work *float32
 13318  	if len(work) > 0 {
 13319  		_work = &work[0]
 13320  	}
 13321  	return isZero(C.LAPACKE_sorghr_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 13322  }
 13323  
 13324  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorghr.f.
 13325  func Dorghr(n, ilo, ihi int, a []float64, lda int, tau, work []float64, lwork int) bool {
 13326  	var _a *float64
 13327  	if len(a) > 0 {
 13328  		_a = &a[0]
 13329  	}
 13330  	var _tau *float64
 13331  	if len(tau) > 0 {
 13332  		_tau = &tau[0]
 13333  	}
 13334  	var _work *float64
 13335  	if len(work) > 0 {
 13336  		_work = &work[0]
 13337  	}
 13338  	return isZero(C.LAPACKE_dorghr_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 13339  }
 13340  
 13341  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorglq.f.
 13342  func Sorglq(m, n, k int, a []float32, lda int, tau, work []float32, lwork int) bool {
 13343  	var _a *float32
 13344  	if len(a) > 0 {
 13345  		_a = &a[0]
 13346  	}
 13347  	var _tau *float32
 13348  	if len(tau) > 0 {
 13349  		_tau = &tau[0]
 13350  	}
 13351  	var _work *float32
 13352  	if len(work) > 0 {
 13353  		_work = &work[0]
 13354  	}
 13355  	return isZero(C.LAPACKE_sorglq_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 13356  }
 13357  
 13358  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorglq.f.
 13359  func Dorglq(m, n, k int, a []float64, lda int, tau, work []float64, lwork int) bool {
 13360  	var _a *float64
 13361  	if len(a) > 0 {
 13362  		_a = &a[0]
 13363  	}
 13364  	var _tau *float64
 13365  	if len(tau) > 0 {
 13366  		_tau = &tau[0]
 13367  	}
 13368  	var _work *float64
 13369  	if len(work) > 0 {
 13370  		_work = &work[0]
 13371  	}
 13372  	return isZero(C.LAPACKE_dorglq_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 13373  }
 13374  
 13375  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgql.f.
 13376  func Sorgql(m, n, k int, a []float32, lda int, tau, work []float32, lwork int) bool {
 13377  	var _a *float32
 13378  	if len(a) > 0 {
 13379  		_a = &a[0]
 13380  	}
 13381  	var _tau *float32
 13382  	if len(tau) > 0 {
 13383  		_tau = &tau[0]
 13384  	}
 13385  	var _work *float32
 13386  	if len(work) > 0 {
 13387  		_work = &work[0]
 13388  	}
 13389  	return isZero(C.LAPACKE_sorgql_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 13390  }
 13391  
 13392  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgql.f.
 13393  func Dorgql(m, n, k int, a []float64, lda int, tau, work []float64, lwork int) bool {
 13394  	var _a *float64
 13395  	if len(a) > 0 {
 13396  		_a = &a[0]
 13397  	}
 13398  	var _tau *float64
 13399  	if len(tau) > 0 {
 13400  		_tau = &tau[0]
 13401  	}
 13402  	var _work *float64
 13403  	if len(work) > 0 {
 13404  		_work = &work[0]
 13405  	}
 13406  	return isZero(C.LAPACKE_dorgql_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 13407  }
 13408  
 13409  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgqr.f.
 13410  func Sorgqr(m, n, k int, a []float32, lda int, tau, work []float32, lwork int) bool {
 13411  	var _a *float32
 13412  	if len(a) > 0 {
 13413  		_a = &a[0]
 13414  	}
 13415  	var _tau *float32
 13416  	if len(tau) > 0 {
 13417  		_tau = &tau[0]
 13418  	}
 13419  	var _work *float32
 13420  	if len(work) > 0 {
 13421  		_work = &work[0]
 13422  	}
 13423  	return isZero(C.LAPACKE_sorgqr_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 13424  }
 13425  
 13426  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgqr.f.
 13427  func Dorgqr(m, n, k int, a []float64, lda int, tau, work []float64, lwork int) bool {
 13428  	var _a *float64
 13429  	if len(a) > 0 {
 13430  		_a = &a[0]
 13431  	}
 13432  	var _tau *float64
 13433  	if len(tau) > 0 {
 13434  		_tau = &tau[0]
 13435  	}
 13436  	var _work *float64
 13437  	if len(work) > 0 {
 13438  		_work = &work[0]
 13439  	}
 13440  	return isZero(C.LAPACKE_dorgqr_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 13441  }
 13442  
 13443  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgrq.f.
 13444  func Sorgrq(m, n, k int, a []float32, lda int, tau, work []float32, lwork int) bool {
 13445  	var _a *float32
 13446  	if len(a) > 0 {
 13447  		_a = &a[0]
 13448  	}
 13449  	var _tau *float32
 13450  	if len(tau) > 0 {
 13451  		_tau = &tau[0]
 13452  	}
 13453  	var _work *float32
 13454  	if len(work) > 0 {
 13455  		_work = &work[0]
 13456  	}
 13457  	return isZero(C.LAPACKE_sorgrq_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 13458  }
 13459  
 13460  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgrq.f.
 13461  func Dorgrq(m, n, k int, a []float64, lda int, tau, work []float64, lwork int) bool {
 13462  	var _a *float64
 13463  	if len(a) > 0 {
 13464  		_a = &a[0]
 13465  	}
 13466  	var _tau *float64
 13467  	if len(tau) > 0 {
 13468  		_tau = &tau[0]
 13469  	}
 13470  	var _work *float64
 13471  	if len(work) > 0 {
 13472  		_work = &work[0]
 13473  	}
 13474  	return isZero(C.LAPACKE_dorgrq_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 13475  }
 13476  
 13477  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorgtr.f.
 13478  func Sorgtr(ul blas.Uplo, n int, a []float32, lda int, tau, work []float32, lwork int) bool {
 13479  	switch ul {
 13480  	case blas.Upper:
 13481  		ul = 'U'
 13482  	case blas.Lower:
 13483  		ul = 'L'
 13484  	default:
 13485  		panic("lapack: illegal triangle")
 13486  	}
 13487  	var _a *float32
 13488  	if len(a) > 0 {
 13489  		_a = &a[0]
 13490  	}
 13491  	var _tau *float32
 13492  	if len(tau) > 0 {
 13493  		_tau = &tau[0]
 13494  	}
 13495  	var _work *float32
 13496  	if len(work) > 0 {
 13497  		_work = &work[0]
 13498  	}
 13499  	return isZero(C.LAPACKE_sorgtr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 13500  }
 13501  
 13502  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorgtr.f.
 13503  func Dorgtr(ul blas.Uplo, n int, a []float64, lda int, tau, work []float64, lwork int) bool {
 13504  	switch ul {
 13505  	case blas.Upper:
 13506  		ul = 'U'
 13507  	case blas.Lower:
 13508  		ul = 'L'
 13509  	default:
 13510  		panic("lapack: illegal triangle")
 13511  	}
 13512  	var _a *float64
 13513  	if len(a) > 0 {
 13514  		_a = &a[0]
 13515  	}
 13516  	var _tau *float64
 13517  	if len(tau) > 0 {
 13518  		_tau = &tau[0]
 13519  	}
 13520  	var _work *float64
 13521  	if len(work) > 0 {
 13522  		_work = &work[0]
 13523  	}
 13524  	return isZero(C.LAPACKE_dorgtr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 13525  }
 13526  
 13527  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormbr.f.
 13528  func Sormbr(vect byte, side blas.Side, trans blas.Transpose, m, n, k int, a []float32, lda int, tau, c []float32, ldc int, work []float32, lwork int) bool {
 13529  	switch side {
 13530  	case blas.Left:
 13531  		side = 'L'
 13532  	case blas.Right:
 13533  		side = 'R'
 13534  	default:
 13535  		panic("lapack: bad side")
 13536  	}
 13537  	switch trans {
 13538  	case blas.NoTrans:
 13539  		trans = 'N'
 13540  	case blas.Trans:
 13541  		trans = 'T'
 13542  	case blas.ConjTrans:
 13543  		trans = 'C'
 13544  	default:
 13545  		panic("lapack: bad trans")
 13546  	}
 13547  	var _a *float32
 13548  	if len(a) > 0 {
 13549  		_a = &a[0]
 13550  	}
 13551  	var _tau *float32
 13552  	if len(tau) > 0 {
 13553  		_tau = &tau[0]
 13554  	}
 13555  	var _c *float32
 13556  	if len(c) > 0 {
 13557  		_c = &c[0]
 13558  	}
 13559  	var _work *float32
 13560  	if len(work) > 0 {
 13561  		_work = &work[0]
 13562  	}
 13563  	return isZero(C.LAPACKE_sormbr_work((C.int)(rowMajor), (C.char)(vect), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(lwork)))
 13564  }
 13565  
 13566  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormbr.f.
 13567  func Dormbr(vect byte, side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) bool {
 13568  	switch side {
 13569  	case blas.Left:
 13570  		side = 'L'
 13571  	case blas.Right:
 13572  		side = 'R'
 13573  	default:
 13574  		panic("lapack: bad side")
 13575  	}
 13576  	switch trans {
 13577  	case blas.NoTrans:
 13578  		trans = 'N'
 13579  	case blas.Trans:
 13580  		trans = 'T'
 13581  	case blas.ConjTrans:
 13582  		trans = 'C'
 13583  	default:
 13584  		panic("lapack: bad trans")
 13585  	}
 13586  	var _a *float64
 13587  	if len(a) > 0 {
 13588  		_a = &a[0]
 13589  	}
 13590  	var _tau *float64
 13591  	if len(tau) > 0 {
 13592  		_tau = &tau[0]
 13593  	}
 13594  	var _c *float64
 13595  	if len(c) > 0 {
 13596  		_c = &c[0]
 13597  	}
 13598  	var _work *float64
 13599  	if len(work) > 0 {
 13600  		_work = &work[0]
 13601  	}
 13602  	return isZero(C.LAPACKE_dormbr_work((C.int)(rowMajor), (C.char)(vect), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(lwork)))
 13603  }
 13604  
 13605  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormhr.f.
 13606  func Sormhr(side blas.Side, trans blas.Transpose, m, n, ilo, ihi int, a []float32, lda int, tau, c []float32, ldc int, work []float32, lwork int) bool {
 13607  	switch side {
 13608  	case blas.Left:
 13609  		side = 'L'
 13610  	case blas.Right:
 13611  		side = 'R'
 13612  	default:
 13613  		panic("lapack: bad side")
 13614  	}
 13615  	switch trans {
 13616  	case blas.NoTrans:
 13617  		trans = 'N'
 13618  	case blas.Trans:
 13619  		trans = 'T'
 13620  	case blas.ConjTrans:
 13621  		trans = 'C'
 13622  	default:
 13623  		panic("lapack: bad trans")
 13624  	}
 13625  	var _a *float32
 13626  	if len(a) > 0 {
 13627  		_a = &a[0]
 13628  	}
 13629  	var _tau *float32
 13630  	if len(tau) > 0 {
 13631  		_tau = &tau[0]
 13632  	}
 13633  	var _c *float32
 13634  	if len(c) > 0 {
 13635  		_c = &c[0]
 13636  	}
 13637  	var _work *float32
 13638  	if len(work) > 0 {
 13639  		_work = &work[0]
 13640  	}
 13641  	return isZero(C.LAPACKE_sormhr_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(lwork)))
 13642  }
 13643  
 13644  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormhr.f.
 13645  func Dormhr(side blas.Side, trans blas.Transpose, m, n, ilo, ihi int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) bool {
 13646  	switch side {
 13647  	case blas.Left:
 13648  		side = 'L'
 13649  	case blas.Right:
 13650  		side = 'R'
 13651  	default:
 13652  		panic("lapack: bad side")
 13653  	}
 13654  	switch trans {
 13655  	case blas.NoTrans:
 13656  		trans = 'N'
 13657  	case blas.Trans:
 13658  		trans = 'T'
 13659  	case blas.ConjTrans:
 13660  		trans = 'C'
 13661  	default:
 13662  		panic("lapack: bad trans")
 13663  	}
 13664  	var _a *float64
 13665  	if len(a) > 0 {
 13666  		_a = &a[0]
 13667  	}
 13668  	var _tau *float64
 13669  	if len(tau) > 0 {
 13670  		_tau = &tau[0]
 13671  	}
 13672  	var _c *float64
 13673  	if len(c) > 0 {
 13674  		_c = &c[0]
 13675  	}
 13676  	var _work *float64
 13677  	if len(work) > 0 {
 13678  		_work = &work[0]
 13679  	}
 13680  	return isZero(C.LAPACKE_dormhr_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(lwork)))
 13681  }
 13682  
 13683  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormlq.f.
 13684  func Sormlq(side blas.Side, trans blas.Transpose, m, n, k int, a []float32, lda int, tau, c []float32, ldc int, work []float32, lwork int) bool {
 13685  	switch side {
 13686  	case blas.Left:
 13687  		side = 'L'
 13688  	case blas.Right:
 13689  		side = 'R'
 13690  	default:
 13691  		panic("lapack: bad side")
 13692  	}
 13693  	switch trans {
 13694  	case blas.NoTrans:
 13695  		trans = 'N'
 13696  	case blas.Trans:
 13697  		trans = 'T'
 13698  	case blas.ConjTrans:
 13699  		trans = 'C'
 13700  	default:
 13701  		panic("lapack: bad trans")
 13702  	}
 13703  	var _a *float32
 13704  	if len(a) > 0 {
 13705  		_a = &a[0]
 13706  	}
 13707  	var _tau *float32
 13708  	if len(tau) > 0 {
 13709  		_tau = &tau[0]
 13710  	}
 13711  	var _c *float32
 13712  	if len(c) > 0 {
 13713  		_c = &c[0]
 13714  	}
 13715  	var _work *float32
 13716  	if len(work) > 0 {
 13717  		_work = &work[0]
 13718  	}
 13719  	return isZero(C.LAPACKE_sormlq_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(lwork)))
 13720  }
 13721  
 13722  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormlq.f.
 13723  func Dormlq(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) bool {
 13724  	switch side {
 13725  	case blas.Left:
 13726  		side = 'L'
 13727  	case blas.Right:
 13728  		side = 'R'
 13729  	default:
 13730  		panic("lapack: bad side")
 13731  	}
 13732  	switch trans {
 13733  	case blas.NoTrans:
 13734  		trans = 'N'
 13735  	case blas.Trans:
 13736  		trans = 'T'
 13737  	case blas.ConjTrans:
 13738  		trans = 'C'
 13739  	default:
 13740  		panic("lapack: bad trans")
 13741  	}
 13742  	var _a *float64
 13743  	if len(a) > 0 {
 13744  		_a = &a[0]
 13745  	}
 13746  	var _tau *float64
 13747  	if len(tau) > 0 {
 13748  		_tau = &tau[0]
 13749  	}
 13750  	var _c *float64
 13751  	if len(c) > 0 {
 13752  		_c = &c[0]
 13753  	}
 13754  	var _work *float64
 13755  	if len(work) > 0 {
 13756  		_work = &work[0]
 13757  	}
 13758  	return isZero(C.LAPACKE_dormlq_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(lwork)))
 13759  }
 13760  
 13761  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormql.f.
 13762  func Sormql(side blas.Side, trans blas.Transpose, m, n, k int, a []float32, lda int, tau, c []float32, ldc int, work []float32, lwork int) bool {
 13763  	switch side {
 13764  	case blas.Left:
 13765  		side = 'L'
 13766  	case blas.Right:
 13767  		side = 'R'
 13768  	default:
 13769  		panic("lapack: bad side")
 13770  	}
 13771  	switch trans {
 13772  	case blas.NoTrans:
 13773  		trans = 'N'
 13774  	case blas.Trans:
 13775  		trans = 'T'
 13776  	case blas.ConjTrans:
 13777  		trans = 'C'
 13778  	default:
 13779  		panic("lapack: bad trans")
 13780  	}
 13781  	var _a *float32
 13782  	if len(a) > 0 {
 13783  		_a = &a[0]
 13784  	}
 13785  	var _tau *float32
 13786  	if len(tau) > 0 {
 13787  		_tau = &tau[0]
 13788  	}
 13789  	var _c *float32
 13790  	if len(c) > 0 {
 13791  		_c = &c[0]
 13792  	}
 13793  	var _work *float32
 13794  	if len(work) > 0 {
 13795  		_work = &work[0]
 13796  	}
 13797  	return isZero(C.LAPACKE_sormql_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(lwork)))
 13798  }
 13799  
 13800  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormql.f.
 13801  func Dormql(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) bool {
 13802  	switch side {
 13803  	case blas.Left:
 13804  		side = 'L'
 13805  	case blas.Right:
 13806  		side = 'R'
 13807  	default:
 13808  		panic("lapack: bad side")
 13809  	}
 13810  	switch trans {
 13811  	case blas.NoTrans:
 13812  		trans = 'N'
 13813  	case blas.Trans:
 13814  		trans = 'T'
 13815  	case blas.ConjTrans:
 13816  		trans = 'C'
 13817  	default:
 13818  		panic("lapack: bad trans")
 13819  	}
 13820  	var _a *float64
 13821  	if len(a) > 0 {
 13822  		_a = &a[0]
 13823  	}
 13824  	var _tau *float64
 13825  	if len(tau) > 0 {
 13826  		_tau = &tau[0]
 13827  	}
 13828  	var _c *float64
 13829  	if len(c) > 0 {
 13830  		_c = &c[0]
 13831  	}
 13832  	var _work *float64
 13833  	if len(work) > 0 {
 13834  		_work = &work[0]
 13835  	}
 13836  	return isZero(C.LAPACKE_dormql_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(lwork)))
 13837  }
 13838  
 13839  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormqr.f.
 13840  func Sormqr(side blas.Side, trans blas.Transpose, m, n, k int, a []float32, lda int, tau, c []float32, ldc int, work []float32, lwork int) bool {
 13841  	switch side {
 13842  	case blas.Left:
 13843  		side = 'L'
 13844  	case blas.Right:
 13845  		side = 'R'
 13846  	default:
 13847  		panic("lapack: bad side")
 13848  	}
 13849  	switch trans {
 13850  	case blas.NoTrans:
 13851  		trans = 'N'
 13852  	case blas.Trans:
 13853  		trans = 'T'
 13854  	case blas.ConjTrans:
 13855  		trans = 'C'
 13856  	default:
 13857  		panic("lapack: bad trans")
 13858  	}
 13859  	var _a *float32
 13860  	if len(a) > 0 {
 13861  		_a = &a[0]
 13862  	}
 13863  	var _tau *float32
 13864  	if len(tau) > 0 {
 13865  		_tau = &tau[0]
 13866  	}
 13867  	var _c *float32
 13868  	if len(c) > 0 {
 13869  		_c = &c[0]
 13870  	}
 13871  	var _work *float32
 13872  	if len(work) > 0 {
 13873  		_work = &work[0]
 13874  	}
 13875  	return isZero(C.LAPACKE_sormqr_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(lwork)))
 13876  }
 13877  
 13878  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormqr.f.
 13879  func Dormqr(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) bool {
 13880  	switch side {
 13881  	case blas.Left:
 13882  		side = 'L'
 13883  	case blas.Right:
 13884  		side = 'R'
 13885  	default:
 13886  		panic("lapack: bad side")
 13887  	}
 13888  	switch trans {
 13889  	case blas.NoTrans:
 13890  		trans = 'N'
 13891  	case blas.Trans:
 13892  		trans = 'T'
 13893  	case blas.ConjTrans:
 13894  		trans = 'C'
 13895  	default:
 13896  		panic("lapack: bad trans")
 13897  	}
 13898  	var _a *float64
 13899  	if len(a) > 0 {
 13900  		_a = &a[0]
 13901  	}
 13902  	var _tau *float64
 13903  	if len(tau) > 0 {
 13904  		_tau = &tau[0]
 13905  	}
 13906  	var _c *float64
 13907  	if len(c) > 0 {
 13908  		_c = &c[0]
 13909  	}
 13910  	var _work *float64
 13911  	if len(work) > 0 {
 13912  		_work = &work[0]
 13913  	}
 13914  	return isZero(C.LAPACKE_dormqr_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(lwork)))
 13915  }
 13916  
 13917  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormrq.f.
 13918  func Sormrq(side blas.Side, trans blas.Transpose, m, n, k int, a []float32, lda int, tau, c []float32, ldc int, work []float32, lwork int) bool {
 13919  	switch side {
 13920  	case blas.Left:
 13921  		side = 'L'
 13922  	case blas.Right:
 13923  		side = 'R'
 13924  	default:
 13925  		panic("lapack: bad side")
 13926  	}
 13927  	switch trans {
 13928  	case blas.NoTrans:
 13929  		trans = 'N'
 13930  	case blas.Trans:
 13931  		trans = 'T'
 13932  	case blas.ConjTrans:
 13933  		trans = 'C'
 13934  	default:
 13935  		panic("lapack: bad trans")
 13936  	}
 13937  	var _a *float32
 13938  	if len(a) > 0 {
 13939  		_a = &a[0]
 13940  	}
 13941  	var _tau *float32
 13942  	if len(tau) > 0 {
 13943  		_tau = &tau[0]
 13944  	}
 13945  	var _c *float32
 13946  	if len(c) > 0 {
 13947  		_c = &c[0]
 13948  	}
 13949  	var _work *float32
 13950  	if len(work) > 0 {
 13951  		_work = &work[0]
 13952  	}
 13953  	return isZero(C.LAPACKE_sormrq_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(lwork)))
 13954  }
 13955  
 13956  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormrq.f.
 13957  func Dormrq(side blas.Side, trans blas.Transpose, m, n, k int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) bool {
 13958  	switch side {
 13959  	case blas.Left:
 13960  		side = 'L'
 13961  	case blas.Right:
 13962  		side = 'R'
 13963  	default:
 13964  		panic("lapack: bad side")
 13965  	}
 13966  	switch trans {
 13967  	case blas.NoTrans:
 13968  		trans = 'N'
 13969  	case blas.Trans:
 13970  		trans = 'T'
 13971  	case blas.ConjTrans:
 13972  		trans = 'C'
 13973  	default:
 13974  		panic("lapack: bad trans")
 13975  	}
 13976  	var _a *float64
 13977  	if len(a) > 0 {
 13978  		_a = &a[0]
 13979  	}
 13980  	var _tau *float64
 13981  	if len(tau) > 0 {
 13982  		_tau = &tau[0]
 13983  	}
 13984  	var _c *float64
 13985  	if len(c) > 0 {
 13986  		_c = &c[0]
 13987  	}
 13988  	var _work *float64
 13989  	if len(work) > 0 {
 13990  		_work = &work[0]
 13991  	}
 13992  	return isZero(C.LAPACKE_dormrq_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(lwork)))
 13993  }
 13994  
 13995  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormrz.f.
 13996  func Sormrz(side blas.Side, trans blas.Transpose, m, n, k, l int, a []float32, lda int, tau, c []float32, ldc int, work []float32, lwork int) bool {
 13997  	switch side {
 13998  	case blas.Left:
 13999  		side = 'L'
 14000  	case blas.Right:
 14001  		side = 'R'
 14002  	default:
 14003  		panic("lapack: bad side")
 14004  	}
 14005  	switch trans {
 14006  	case blas.NoTrans:
 14007  		trans = 'N'
 14008  	case blas.Trans:
 14009  		trans = 'T'
 14010  	case blas.ConjTrans:
 14011  		trans = 'C'
 14012  	default:
 14013  		panic("lapack: bad trans")
 14014  	}
 14015  	var _a *float32
 14016  	if len(a) > 0 {
 14017  		_a = &a[0]
 14018  	}
 14019  	var _tau *float32
 14020  	if len(tau) > 0 {
 14021  		_tau = &tau[0]
 14022  	}
 14023  	var _c *float32
 14024  	if len(c) > 0 {
 14025  		_c = &c[0]
 14026  	}
 14027  	var _work *float32
 14028  	if len(work) > 0 {
 14029  		_work = &work[0]
 14030  	}
 14031  	return isZero(C.LAPACKE_sormrz_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(lwork)))
 14032  }
 14033  
 14034  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormrz.f.
 14035  func Dormrz(side blas.Side, trans blas.Transpose, m, n, k, l int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) bool {
 14036  	switch side {
 14037  	case blas.Left:
 14038  		side = 'L'
 14039  	case blas.Right:
 14040  		side = 'R'
 14041  	default:
 14042  		panic("lapack: bad side")
 14043  	}
 14044  	switch trans {
 14045  	case blas.NoTrans:
 14046  		trans = 'N'
 14047  	case blas.Trans:
 14048  		trans = 'T'
 14049  	case blas.ConjTrans:
 14050  		trans = 'C'
 14051  	default:
 14052  		panic("lapack: bad trans")
 14053  	}
 14054  	var _a *float64
 14055  	if len(a) > 0 {
 14056  		_a = &a[0]
 14057  	}
 14058  	var _tau *float64
 14059  	if len(tau) > 0 {
 14060  		_tau = &tau[0]
 14061  	}
 14062  	var _c *float64
 14063  	if len(c) > 0 {
 14064  		_c = &c[0]
 14065  	}
 14066  	var _work *float64
 14067  	if len(work) > 0 {
 14068  		_work = &work[0]
 14069  	}
 14070  	return isZero(C.LAPACKE_dormrz_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(lwork)))
 14071  }
 14072  
 14073  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sormtr.f.
 14074  func Sormtr(side blas.Side, ul blas.Uplo, trans blas.Transpose, m, n int, a []float32, lda int, tau, c []float32, ldc int, work []float32, lwork int) bool {
 14075  	switch side {
 14076  	case blas.Left:
 14077  		side = 'L'
 14078  	case blas.Right:
 14079  		side = 'R'
 14080  	default:
 14081  		panic("lapack: bad side")
 14082  	}
 14083  	switch ul {
 14084  	case blas.Upper:
 14085  		ul = 'U'
 14086  	case blas.Lower:
 14087  		ul = 'L'
 14088  	default:
 14089  		panic("lapack: illegal triangle")
 14090  	}
 14091  	switch trans {
 14092  	case blas.NoTrans:
 14093  		trans = 'N'
 14094  	case blas.Trans:
 14095  		trans = 'T'
 14096  	case blas.ConjTrans:
 14097  		trans = 'C'
 14098  	default:
 14099  		panic("lapack: bad trans")
 14100  	}
 14101  	var _a *float32
 14102  	if len(a) > 0 {
 14103  		_a = &a[0]
 14104  	}
 14105  	var _tau *float32
 14106  	if len(tau) > 0 {
 14107  		_tau = &tau[0]
 14108  	}
 14109  	var _c *float32
 14110  	if len(c) > 0 {
 14111  		_c = &c[0]
 14112  	}
 14113  	var _work *float32
 14114  	if len(work) > 0 {
 14115  		_work = &work[0]
 14116  	}
 14117  	return isZero(C.LAPACKE_sormtr_work((C.int)(rowMajor), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work), (C.lapack_int)(lwork)))
 14118  }
 14119  
 14120  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dormtr.f.
 14121  func Dormtr(side blas.Side, ul blas.Uplo, trans blas.Transpose, m, n int, a []float64, lda int, tau, c []float64, ldc int, work []float64, lwork int) bool {
 14122  	switch side {
 14123  	case blas.Left:
 14124  		side = 'L'
 14125  	case blas.Right:
 14126  		side = 'R'
 14127  	default:
 14128  		panic("lapack: bad side")
 14129  	}
 14130  	switch ul {
 14131  	case blas.Upper:
 14132  		ul = 'U'
 14133  	case blas.Lower:
 14134  		ul = 'L'
 14135  	default:
 14136  		panic("lapack: illegal triangle")
 14137  	}
 14138  	switch trans {
 14139  	case blas.NoTrans:
 14140  		trans = 'N'
 14141  	case blas.Trans:
 14142  		trans = 'T'
 14143  	case blas.ConjTrans:
 14144  		trans = 'C'
 14145  	default:
 14146  		panic("lapack: bad trans")
 14147  	}
 14148  	var _a *float64
 14149  	if len(a) > 0 {
 14150  		_a = &a[0]
 14151  	}
 14152  	var _tau *float64
 14153  	if len(tau) > 0 {
 14154  		_tau = &tau[0]
 14155  	}
 14156  	var _c *float64
 14157  	if len(c) > 0 {
 14158  		_c = &c[0]
 14159  	}
 14160  	var _work *float64
 14161  	if len(work) > 0 {
 14162  		_work = &work[0]
 14163  	}
 14164  	return isZero(C.LAPACKE_dormtr_work((C.int)(rowMajor), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work), (C.lapack_int)(lwork)))
 14165  }
 14166  
 14167  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbcon.f.
 14168  func Spbcon(ul blas.Uplo, n, kd int, ab []float32, ldab int, anorm float32, rcond, work []float32, iwork []int32) bool {
 14169  	switch ul {
 14170  	case blas.Upper:
 14171  		ul = 'U'
 14172  	case blas.Lower:
 14173  		ul = 'L'
 14174  	default:
 14175  		panic("lapack: illegal triangle")
 14176  	}
 14177  	var _ab *float32
 14178  	if len(ab) > 0 {
 14179  		_ab = &ab[0]
 14180  	}
 14181  	var _rcond *float32
 14182  	if len(rcond) > 0 {
 14183  		_rcond = &rcond[0]
 14184  	}
 14185  	var _work *float32
 14186  	if len(work) > 0 {
 14187  		_work = &work[0]
 14188  	}
 14189  	var _iwork *int32
 14190  	if len(iwork) > 0 {
 14191  		_iwork = &iwork[0]
 14192  	}
 14193  	return isZero(C.LAPACKE_spbcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.float)(_ab), (C.lapack_int)(ldab), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 14194  }
 14195  
 14196  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbcon.f.
 14197  func Dpbcon(ul blas.Uplo, n, kd int, ab []float64, ldab int, anorm float64, rcond, work []float64, iwork []int32) bool {
 14198  	switch ul {
 14199  	case blas.Upper:
 14200  		ul = 'U'
 14201  	case blas.Lower:
 14202  		ul = 'L'
 14203  	default:
 14204  		panic("lapack: illegal triangle")
 14205  	}
 14206  	var _ab *float64
 14207  	if len(ab) > 0 {
 14208  		_ab = &ab[0]
 14209  	}
 14210  	var _rcond *float64
 14211  	if len(rcond) > 0 {
 14212  		_rcond = &rcond[0]
 14213  	}
 14214  	var _work *float64
 14215  	if len(work) > 0 {
 14216  		_work = &work[0]
 14217  	}
 14218  	var _iwork *int32
 14219  	if len(iwork) > 0 {
 14220  		_iwork = &iwork[0]
 14221  	}
 14222  	return isZero(C.LAPACKE_dpbcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.double)(_ab), (C.lapack_int)(ldab), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 14223  }
 14224  
 14225  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpbcon.f.
 14226  func Cpbcon(ul blas.Uplo, n, kd int, ab []complex64, ldab int, anorm float32, rcond []float32, work []complex64, rwork []float32) bool {
 14227  	switch ul {
 14228  	case blas.Upper:
 14229  		ul = 'U'
 14230  	case blas.Lower:
 14231  		ul = 'L'
 14232  	default:
 14233  		panic("lapack: illegal triangle")
 14234  	}
 14235  	var _ab *complex64
 14236  	if len(ab) > 0 {
 14237  		_ab = &ab[0]
 14238  	}
 14239  	var _rcond *float32
 14240  	if len(rcond) > 0 {
 14241  		_rcond = &rcond[0]
 14242  	}
 14243  	var _work *complex64
 14244  	if len(work) > 0 {
 14245  		_work = &work[0]
 14246  	}
 14247  	var _rwork *float32
 14248  	if len(rwork) > 0 {
 14249  		_rwork = &rwork[0]
 14250  	}
 14251  	return isZero(C.LAPACKE_cpbcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 14252  }
 14253  
 14254  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpbcon.f.
 14255  func Zpbcon(ul blas.Uplo, n, kd int, ab []complex128, ldab int, anorm float64, rcond []float64, work []complex128, rwork []float64) bool {
 14256  	switch ul {
 14257  	case blas.Upper:
 14258  		ul = 'U'
 14259  	case blas.Lower:
 14260  		ul = 'L'
 14261  	default:
 14262  		panic("lapack: illegal triangle")
 14263  	}
 14264  	var _ab *complex128
 14265  	if len(ab) > 0 {
 14266  		_ab = &ab[0]
 14267  	}
 14268  	var _rcond *float64
 14269  	if len(rcond) > 0 {
 14270  		_rcond = &rcond[0]
 14271  	}
 14272  	var _work *complex128
 14273  	if len(work) > 0 {
 14274  		_work = &work[0]
 14275  	}
 14276  	var _rwork *float64
 14277  	if len(rwork) > 0 {
 14278  		_rwork = &rwork[0]
 14279  	}
 14280  	return isZero(C.LAPACKE_zpbcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 14281  }
 14282  
 14283  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbequ.f.
 14284  func Spbequ(ul blas.Uplo, n, kd int, ab []float32, ldab int, s, scond, amax []float32) bool {
 14285  	switch ul {
 14286  	case blas.Upper:
 14287  		ul = 'U'
 14288  	case blas.Lower:
 14289  		ul = 'L'
 14290  	default:
 14291  		panic("lapack: illegal triangle")
 14292  	}
 14293  	var _ab *float32
 14294  	if len(ab) > 0 {
 14295  		_ab = &ab[0]
 14296  	}
 14297  	var _s *float32
 14298  	if len(s) > 0 {
 14299  		_s = &s[0]
 14300  	}
 14301  	var _scond *float32
 14302  	if len(scond) > 0 {
 14303  		_scond = &scond[0]
 14304  	}
 14305  	var _amax *float32
 14306  	if len(amax) > 0 {
 14307  		_amax = &amax[0]
 14308  	}
 14309  	return isZero(C.LAPACKE_spbequ_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax)))
 14310  }
 14311  
 14312  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbequ.f.
 14313  func Dpbequ(ul blas.Uplo, n, kd int, ab []float64, ldab int, s, scond, amax []float64) bool {
 14314  	switch ul {
 14315  	case blas.Upper:
 14316  		ul = 'U'
 14317  	case blas.Lower:
 14318  		ul = 'L'
 14319  	default:
 14320  		panic("lapack: illegal triangle")
 14321  	}
 14322  	var _ab *float64
 14323  	if len(ab) > 0 {
 14324  		_ab = &ab[0]
 14325  	}
 14326  	var _s *float64
 14327  	if len(s) > 0 {
 14328  		_s = &s[0]
 14329  	}
 14330  	var _scond *float64
 14331  	if len(scond) > 0 {
 14332  		_scond = &scond[0]
 14333  	}
 14334  	var _amax *float64
 14335  	if len(amax) > 0 {
 14336  		_amax = &amax[0]
 14337  	}
 14338  	return isZero(C.LAPACKE_dpbequ_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax)))
 14339  }
 14340  
 14341  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpbequ.f.
 14342  func Cpbequ(ul blas.Uplo, n, kd int, ab []complex64, ldab int, s, scond, amax []float32) bool {
 14343  	switch ul {
 14344  	case blas.Upper:
 14345  		ul = 'U'
 14346  	case blas.Lower:
 14347  		ul = 'L'
 14348  	default:
 14349  		panic("lapack: illegal triangle")
 14350  	}
 14351  	var _ab *complex64
 14352  	if len(ab) > 0 {
 14353  		_ab = &ab[0]
 14354  	}
 14355  	var _s *float32
 14356  	if len(s) > 0 {
 14357  		_s = &s[0]
 14358  	}
 14359  	var _scond *float32
 14360  	if len(scond) > 0 {
 14361  		_scond = &scond[0]
 14362  	}
 14363  	var _amax *float32
 14364  	if len(amax) > 0 {
 14365  		_amax = &amax[0]
 14366  	}
 14367  	return isZero(C.LAPACKE_cpbequ_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax)))
 14368  }
 14369  
 14370  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpbequ.f.
 14371  func Zpbequ(ul blas.Uplo, n, kd int, ab []complex128, ldab int, s, scond, amax []float64) bool {
 14372  	switch ul {
 14373  	case blas.Upper:
 14374  		ul = 'U'
 14375  	case blas.Lower:
 14376  		ul = 'L'
 14377  	default:
 14378  		panic("lapack: illegal triangle")
 14379  	}
 14380  	var _ab *complex128
 14381  	if len(ab) > 0 {
 14382  		_ab = &ab[0]
 14383  	}
 14384  	var _s *float64
 14385  	if len(s) > 0 {
 14386  		_s = &s[0]
 14387  	}
 14388  	var _scond *float64
 14389  	if len(scond) > 0 {
 14390  		_scond = &scond[0]
 14391  	}
 14392  	var _amax *float64
 14393  	if len(amax) > 0 {
 14394  		_amax = &amax[0]
 14395  	}
 14396  	return isZero(C.LAPACKE_zpbequ_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax)))
 14397  }
 14398  
 14399  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbrfs.f.
 14400  func Spbrfs(ul blas.Uplo, n, kd, nrhs int, ab []float32, ldab int, afb []float32, ldafb int, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
 14401  	switch ul {
 14402  	case blas.Upper:
 14403  		ul = 'U'
 14404  	case blas.Lower:
 14405  		ul = 'L'
 14406  	default:
 14407  		panic("lapack: illegal triangle")
 14408  	}
 14409  	var _ab *float32
 14410  	if len(ab) > 0 {
 14411  		_ab = &ab[0]
 14412  	}
 14413  	var _afb *float32
 14414  	if len(afb) > 0 {
 14415  		_afb = &afb[0]
 14416  	}
 14417  	var _b *float32
 14418  	if len(b) > 0 {
 14419  		_b = &b[0]
 14420  	}
 14421  	var _x *float32
 14422  	if len(x) > 0 {
 14423  		_x = &x[0]
 14424  	}
 14425  	var _ferr *float32
 14426  	if len(ferr) > 0 {
 14427  		_ferr = &ferr[0]
 14428  	}
 14429  	var _berr *float32
 14430  	if len(berr) > 0 {
 14431  		_berr = &berr[0]
 14432  	}
 14433  	var _work *float32
 14434  	if len(work) > 0 {
 14435  		_work = &work[0]
 14436  	}
 14437  	var _iwork *int32
 14438  	if len(iwork) > 0 {
 14439  		_iwork = &iwork[0]
 14440  	}
 14441  	return isZero(C.LAPACKE_spbrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_afb), (C.lapack_int)(ldafb), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 14442  }
 14443  
 14444  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbrfs.f.
 14445  func Dpbrfs(ul blas.Uplo, n, kd, nrhs int, ab []float64, ldab int, afb []float64, ldafb int, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
 14446  	switch ul {
 14447  	case blas.Upper:
 14448  		ul = 'U'
 14449  	case blas.Lower:
 14450  		ul = 'L'
 14451  	default:
 14452  		panic("lapack: illegal triangle")
 14453  	}
 14454  	var _ab *float64
 14455  	if len(ab) > 0 {
 14456  		_ab = &ab[0]
 14457  	}
 14458  	var _afb *float64
 14459  	if len(afb) > 0 {
 14460  		_afb = &afb[0]
 14461  	}
 14462  	var _b *float64
 14463  	if len(b) > 0 {
 14464  		_b = &b[0]
 14465  	}
 14466  	var _x *float64
 14467  	if len(x) > 0 {
 14468  		_x = &x[0]
 14469  	}
 14470  	var _ferr *float64
 14471  	if len(ferr) > 0 {
 14472  		_ferr = &ferr[0]
 14473  	}
 14474  	var _berr *float64
 14475  	if len(berr) > 0 {
 14476  		_berr = &berr[0]
 14477  	}
 14478  	var _work *float64
 14479  	if len(work) > 0 {
 14480  		_work = &work[0]
 14481  	}
 14482  	var _iwork *int32
 14483  	if len(iwork) > 0 {
 14484  		_iwork = &iwork[0]
 14485  	}
 14486  	return isZero(C.LAPACKE_dpbrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_afb), (C.lapack_int)(ldafb), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 14487  }
 14488  
 14489  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpbrfs.f.
 14490  func Cpbrfs(ul blas.Uplo, n, kd, nrhs int, ab []complex64, ldab int, afb []complex64, ldafb int, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 14491  	switch ul {
 14492  	case blas.Upper:
 14493  		ul = 'U'
 14494  	case blas.Lower:
 14495  		ul = 'L'
 14496  	default:
 14497  		panic("lapack: illegal triangle")
 14498  	}
 14499  	var _ab *complex64
 14500  	if len(ab) > 0 {
 14501  		_ab = &ab[0]
 14502  	}
 14503  	var _afb *complex64
 14504  	if len(afb) > 0 {
 14505  		_afb = &afb[0]
 14506  	}
 14507  	var _b *complex64
 14508  	if len(b) > 0 {
 14509  		_b = &b[0]
 14510  	}
 14511  	var _x *complex64
 14512  	if len(x) > 0 {
 14513  		_x = &x[0]
 14514  	}
 14515  	var _ferr *float32
 14516  	if len(ferr) > 0 {
 14517  		_ferr = &ferr[0]
 14518  	}
 14519  	var _berr *float32
 14520  	if len(berr) > 0 {
 14521  		_berr = &berr[0]
 14522  	}
 14523  	var _work *complex64
 14524  	if len(work) > 0 {
 14525  		_work = &work[0]
 14526  	}
 14527  	var _rwork *float32
 14528  	if len(rwork) > 0 {
 14529  		_rwork = &rwork[0]
 14530  	}
 14531  	return isZero(C.LAPACKE_cpbrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_afb), (C.lapack_int)(ldafb), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 14532  }
 14533  
 14534  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpbrfs.f.
 14535  func Zpbrfs(ul blas.Uplo, n, kd, nrhs int, ab []complex128, ldab int, afb []complex128, ldafb int, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 14536  	switch ul {
 14537  	case blas.Upper:
 14538  		ul = 'U'
 14539  	case blas.Lower:
 14540  		ul = 'L'
 14541  	default:
 14542  		panic("lapack: illegal triangle")
 14543  	}
 14544  	var _ab *complex128
 14545  	if len(ab) > 0 {
 14546  		_ab = &ab[0]
 14547  	}
 14548  	var _afb *complex128
 14549  	if len(afb) > 0 {
 14550  		_afb = &afb[0]
 14551  	}
 14552  	var _b *complex128
 14553  	if len(b) > 0 {
 14554  		_b = &b[0]
 14555  	}
 14556  	var _x *complex128
 14557  	if len(x) > 0 {
 14558  		_x = &x[0]
 14559  	}
 14560  	var _ferr *float64
 14561  	if len(ferr) > 0 {
 14562  		_ferr = &ferr[0]
 14563  	}
 14564  	var _berr *float64
 14565  	if len(berr) > 0 {
 14566  		_berr = &berr[0]
 14567  	}
 14568  	var _work *complex128
 14569  	if len(work) > 0 {
 14570  		_work = &work[0]
 14571  	}
 14572  	var _rwork *float64
 14573  	if len(rwork) > 0 {
 14574  		_rwork = &rwork[0]
 14575  	}
 14576  	return isZero(C.LAPACKE_zpbrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_afb), (C.lapack_int)(ldafb), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 14577  }
 14578  
 14579  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbstf.f.
 14580  func Spbstf(ul blas.Uplo, n, kb int, bb []float32, ldbb int) bool {
 14581  	switch ul {
 14582  	case blas.Upper:
 14583  		ul = 'U'
 14584  	case blas.Lower:
 14585  		ul = 'L'
 14586  	default:
 14587  		panic("lapack: illegal triangle")
 14588  	}
 14589  	var _bb *float32
 14590  	if len(bb) > 0 {
 14591  		_bb = &bb[0]
 14592  	}
 14593  	return isZero(C.LAPACKE_spbstf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kb), (*C.float)(_bb), (C.lapack_int)(ldbb)))
 14594  }
 14595  
 14596  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbstf.f.
 14597  func Dpbstf(ul blas.Uplo, n, kb int, bb []float64, ldbb int) bool {
 14598  	switch ul {
 14599  	case blas.Upper:
 14600  		ul = 'U'
 14601  	case blas.Lower:
 14602  		ul = 'L'
 14603  	default:
 14604  		panic("lapack: illegal triangle")
 14605  	}
 14606  	var _bb *float64
 14607  	if len(bb) > 0 {
 14608  		_bb = &bb[0]
 14609  	}
 14610  	return isZero(C.LAPACKE_dpbstf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kb), (*C.double)(_bb), (C.lapack_int)(ldbb)))
 14611  }
 14612  
 14613  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpbstf.f.
 14614  func Cpbstf(ul blas.Uplo, n, kb int, bb []complex64, ldbb int) bool {
 14615  	switch ul {
 14616  	case blas.Upper:
 14617  		ul = 'U'
 14618  	case blas.Lower:
 14619  		ul = 'L'
 14620  	default:
 14621  		panic("lapack: illegal triangle")
 14622  	}
 14623  	var _bb *complex64
 14624  	if len(bb) > 0 {
 14625  		_bb = &bb[0]
 14626  	}
 14627  	return isZero(C.LAPACKE_cpbstf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kb), (*C.lapack_complex_float)(_bb), (C.lapack_int)(ldbb)))
 14628  }
 14629  
 14630  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpbstf.f.
 14631  func Zpbstf(ul blas.Uplo, n, kb int, bb []complex128, ldbb int) bool {
 14632  	switch ul {
 14633  	case blas.Upper:
 14634  		ul = 'U'
 14635  	case blas.Lower:
 14636  		ul = 'L'
 14637  	default:
 14638  		panic("lapack: illegal triangle")
 14639  	}
 14640  	var _bb *complex128
 14641  	if len(bb) > 0 {
 14642  		_bb = &bb[0]
 14643  	}
 14644  	return isZero(C.LAPACKE_zpbstf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kb), (*C.lapack_complex_double)(_bb), (C.lapack_int)(ldbb)))
 14645  }
 14646  
 14647  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbsv.f.
 14648  func Spbsv(ul blas.Uplo, n, kd, nrhs int, ab []float32, ldab int, b []float32, ldb int) bool {
 14649  	switch ul {
 14650  	case blas.Upper:
 14651  		ul = 'U'
 14652  	case blas.Lower:
 14653  		ul = 'L'
 14654  	default:
 14655  		panic("lapack: illegal triangle")
 14656  	}
 14657  	var _ab *float32
 14658  	if len(ab) > 0 {
 14659  		_ab = &ab[0]
 14660  	}
 14661  	var _b *float32
 14662  	if len(b) > 0 {
 14663  		_b = &b[0]
 14664  	}
 14665  	return isZero(C.LAPACKE_spbsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_b), (C.lapack_int)(ldb)))
 14666  }
 14667  
 14668  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbsv.f.
 14669  func Dpbsv(ul blas.Uplo, n, kd, nrhs int, ab []float64, ldab int, b []float64, ldb int) bool {
 14670  	switch ul {
 14671  	case blas.Upper:
 14672  		ul = 'U'
 14673  	case blas.Lower:
 14674  		ul = 'L'
 14675  	default:
 14676  		panic("lapack: illegal triangle")
 14677  	}
 14678  	var _ab *float64
 14679  	if len(ab) > 0 {
 14680  		_ab = &ab[0]
 14681  	}
 14682  	var _b *float64
 14683  	if len(b) > 0 {
 14684  		_b = &b[0]
 14685  	}
 14686  	return isZero(C.LAPACKE_dpbsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_b), (C.lapack_int)(ldb)))
 14687  }
 14688  
 14689  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpbsv.f.
 14690  func Cpbsv(ul blas.Uplo, n, kd, nrhs int, ab []complex64, ldab int, b []complex64, ldb int) bool {
 14691  	switch ul {
 14692  	case blas.Upper:
 14693  		ul = 'U'
 14694  	case blas.Lower:
 14695  		ul = 'L'
 14696  	default:
 14697  		panic("lapack: illegal triangle")
 14698  	}
 14699  	var _ab *complex64
 14700  	if len(ab) > 0 {
 14701  		_ab = &ab[0]
 14702  	}
 14703  	var _b *complex64
 14704  	if len(b) > 0 {
 14705  		_b = &b[0]
 14706  	}
 14707  	return isZero(C.LAPACKE_cpbsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 14708  }
 14709  
 14710  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpbsv.f.
 14711  func Zpbsv(ul blas.Uplo, n, kd, nrhs int, ab []complex128, ldab int, b []complex128, ldb int) bool {
 14712  	switch ul {
 14713  	case blas.Upper:
 14714  		ul = 'U'
 14715  	case blas.Lower:
 14716  		ul = 'L'
 14717  	default:
 14718  		panic("lapack: illegal triangle")
 14719  	}
 14720  	var _ab *complex128
 14721  	if len(ab) > 0 {
 14722  		_ab = &ab[0]
 14723  	}
 14724  	var _b *complex128
 14725  	if len(b) > 0 {
 14726  		_b = &b[0]
 14727  	}
 14728  	return isZero(C.LAPACKE_zpbsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 14729  }
 14730  
 14731  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbsvx.f.
 14732  func Spbsvx(fact byte, ul blas.Uplo, n, kd, nrhs int, ab []float32, ldab int, afb []float32, ldafb int, equed []byte, s, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32, iwork []int32) bool {
 14733  	switch ul {
 14734  	case blas.Upper:
 14735  		ul = 'U'
 14736  	case blas.Lower:
 14737  		ul = 'L'
 14738  	default:
 14739  		panic("lapack: illegal triangle")
 14740  	}
 14741  	var _ab *float32
 14742  	if len(ab) > 0 {
 14743  		_ab = &ab[0]
 14744  	}
 14745  	var _afb *float32
 14746  	if len(afb) > 0 {
 14747  		_afb = &afb[0]
 14748  	}
 14749  	var _equed *byte
 14750  	if len(equed) > 0 {
 14751  		_equed = &equed[0]
 14752  	}
 14753  	var _s *float32
 14754  	if len(s) > 0 {
 14755  		_s = &s[0]
 14756  	}
 14757  	var _b *float32
 14758  	if len(b) > 0 {
 14759  		_b = &b[0]
 14760  	}
 14761  	var _x *float32
 14762  	if len(x) > 0 {
 14763  		_x = &x[0]
 14764  	}
 14765  	var _rcond *float32
 14766  	if len(rcond) > 0 {
 14767  		_rcond = &rcond[0]
 14768  	}
 14769  	var _ferr *float32
 14770  	if len(ferr) > 0 {
 14771  		_ferr = &ferr[0]
 14772  	}
 14773  	var _berr *float32
 14774  	if len(berr) > 0 {
 14775  		_berr = &berr[0]
 14776  	}
 14777  	var _work *float32
 14778  	if len(work) > 0 {
 14779  		_work = &work[0]
 14780  	}
 14781  	var _iwork *int32
 14782  	if len(iwork) > 0 {
 14783  		_iwork = &iwork[0]
 14784  	}
 14785  	return isZero(C.LAPACKE_spbsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_afb), (C.lapack_int)(ldafb), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_s), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 14786  }
 14787  
 14788  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbsvx.f.
 14789  func Dpbsvx(fact byte, ul blas.Uplo, n, kd, nrhs int, ab []float64, ldab int, afb []float64, ldafb int, equed []byte, s, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64, iwork []int32) bool {
 14790  	switch ul {
 14791  	case blas.Upper:
 14792  		ul = 'U'
 14793  	case blas.Lower:
 14794  		ul = 'L'
 14795  	default:
 14796  		panic("lapack: illegal triangle")
 14797  	}
 14798  	var _ab *float64
 14799  	if len(ab) > 0 {
 14800  		_ab = &ab[0]
 14801  	}
 14802  	var _afb *float64
 14803  	if len(afb) > 0 {
 14804  		_afb = &afb[0]
 14805  	}
 14806  	var _equed *byte
 14807  	if len(equed) > 0 {
 14808  		_equed = &equed[0]
 14809  	}
 14810  	var _s *float64
 14811  	if len(s) > 0 {
 14812  		_s = &s[0]
 14813  	}
 14814  	var _b *float64
 14815  	if len(b) > 0 {
 14816  		_b = &b[0]
 14817  	}
 14818  	var _x *float64
 14819  	if len(x) > 0 {
 14820  		_x = &x[0]
 14821  	}
 14822  	var _rcond *float64
 14823  	if len(rcond) > 0 {
 14824  		_rcond = &rcond[0]
 14825  	}
 14826  	var _ferr *float64
 14827  	if len(ferr) > 0 {
 14828  		_ferr = &ferr[0]
 14829  	}
 14830  	var _berr *float64
 14831  	if len(berr) > 0 {
 14832  		_berr = &berr[0]
 14833  	}
 14834  	var _work *float64
 14835  	if len(work) > 0 {
 14836  		_work = &work[0]
 14837  	}
 14838  	var _iwork *int32
 14839  	if len(iwork) > 0 {
 14840  		_iwork = &iwork[0]
 14841  	}
 14842  	return isZero(C.LAPACKE_dpbsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_afb), (C.lapack_int)(ldafb), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_s), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 14843  }
 14844  
 14845  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpbsvx.f.
 14846  func Cpbsvx(fact byte, ul blas.Uplo, n, kd, nrhs int, ab []complex64, ldab int, afb []complex64, ldafb int, equed []byte, s []float32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
 14847  	switch ul {
 14848  	case blas.Upper:
 14849  		ul = 'U'
 14850  	case blas.Lower:
 14851  		ul = 'L'
 14852  	default:
 14853  		panic("lapack: illegal triangle")
 14854  	}
 14855  	var _ab *complex64
 14856  	if len(ab) > 0 {
 14857  		_ab = &ab[0]
 14858  	}
 14859  	var _afb *complex64
 14860  	if len(afb) > 0 {
 14861  		_afb = &afb[0]
 14862  	}
 14863  	var _equed *byte
 14864  	if len(equed) > 0 {
 14865  		_equed = &equed[0]
 14866  	}
 14867  	var _s *float32
 14868  	if len(s) > 0 {
 14869  		_s = &s[0]
 14870  	}
 14871  	var _b *complex64
 14872  	if len(b) > 0 {
 14873  		_b = &b[0]
 14874  	}
 14875  	var _x *complex64
 14876  	if len(x) > 0 {
 14877  		_x = &x[0]
 14878  	}
 14879  	var _rcond *float32
 14880  	if len(rcond) > 0 {
 14881  		_rcond = &rcond[0]
 14882  	}
 14883  	var _ferr *float32
 14884  	if len(ferr) > 0 {
 14885  		_ferr = &ferr[0]
 14886  	}
 14887  	var _berr *float32
 14888  	if len(berr) > 0 {
 14889  		_berr = &berr[0]
 14890  	}
 14891  	var _work *complex64
 14892  	if len(work) > 0 {
 14893  		_work = &work[0]
 14894  	}
 14895  	var _rwork *float32
 14896  	if len(rwork) > 0 {
 14897  		_rwork = &rwork[0]
 14898  	}
 14899  	return isZero(C.LAPACKE_cpbsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_afb), (C.lapack_int)(ldafb), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_s), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 14900  }
 14901  
 14902  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpbsvx.f.
 14903  func Zpbsvx(fact byte, ul blas.Uplo, n, kd, nrhs int, ab []complex128, ldab int, afb []complex128, ldafb int, equed []byte, s []float64, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
 14904  	switch ul {
 14905  	case blas.Upper:
 14906  		ul = 'U'
 14907  	case blas.Lower:
 14908  		ul = 'L'
 14909  	default:
 14910  		panic("lapack: illegal triangle")
 14911  	}
 14912  	var _ab *complex128
 14913  	if len(ab) > 0 {
 14914  		_ab = &ab[0]
 14915  	}
 14916  	var _afb *complex128
 14917  	if len(afb) > 0 {
 14918  		_afb = &afb[0]
 14919  	}
 14920  	var _equed *byte
 14921  	if len(equed) > 0 {
 14922  		_equed = &equed[0]
 14923  	}
 14924  	var _s *float64
 14925  	if len(s) > 0 {
 14926  		_s = &s[0]
 14927  	}
 14928  	var _b *complex128
 14929  	if len(b) > 0 {
 14930  		_b = &b[0]
 14931  	}
 14932  	var _x *complex128
 14933  	if len(x) > 0 {
 14934  		_x = &x[0]
 14935  	}
 14936  	var _rcond *float64
 14937  	if len(rcond) > 0 {
 14938  		_rcond = &rcond[0]
 14939  	}
 14940  	var _ferr *float64
 14941  	if len(ferr) > 0 {
 14942  		_ferr = &ferr[0]
 14943  	}
 14944  	var _berr *float64
 14945  	if len(berr) > 0 {
 14946  		_berr = &berr[0]
 14947  	}
 14948  	var _work *complex128
 14949  	if len(work) > 0 {
 14950  		_work = &work[0]
 14951  	}
 14952  	var _rwork *float64
 14953  	if len(rwork) > 0 {
 14954  		_rwork = &rwork[0]
 14955  	}
 14956  	return isZero(C.LAPACKE_zpbsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_afb), (C.lapack_int)(ldafb), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_s), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 14957  }
 14958  
 14959  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbtrf.f.
 14960  func Spbtrf(ul blas.Uplo, n, kd int, ab []float32, ldab int) bool {
 14961  	switch ul {
 14962  	case blas.Upper:
 14963  		ul = 'U'
 14964  	case blas.Lower:
 14965  		ul = 'L'
 14966  	default:
 14967  		panic("lapack: illegal triangle")
 14968  	}
 14969  	var _ab *float32
 14970  	if len(ab) > 0 {
 14971  		_ab = &ab[0]
 14972  	}
 14973  	return isZero(C.LAPACKE_spbtrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.float)(_ab), (C.lapack_int)(ldab)))
 14974  }
 14975  
 14976  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbtrf.f.
 14977  func Dpbtrf(ul blas.Uplo, n, kd int, ab []float64, ldab int) bool {
 14978  	switch ul {
 14979  	case blas.Upper:
 14980  		ul = 'U'
 14981  	case blas.Lower:
 14982  		ul = 'L'
 14983  	default:
 14984  		panic("lapack: illegal triangle")
 14985  	}
 14986  	var _ab *float64
 14987  	if len(ab) > 0 {
 14988  		_ab = &ab[0]
 14989  	}
 14990  	return isZero(C.LAPACKE_dpbtrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.double)(_ab), (C.lapack_int)(ldab)))
 14991  }
 14992  
 14993  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpbtrf.f.
 14994  func Cpbtrf(ul blas.Uplo, n, kd int, ab []complex64, ldab int) bool {
 14995  	switch ul {
 14996  	case blas.Upper:
 14997  		ul = 'U'
 14998  	case blas.Lower:
 14999  		ul = 'L'
 15000  	default:
 15001  		panic("lapack: illegal triangle")
 15002  	}
 15003  	var _ab *complex64
 15004  	if len(ab) > 0 {
 15005  		_ab = &ab[0]
 15006  	}
 15007  	return isZero(C.LAPACKE_cpbtrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab)))
 15008  }
 15009  
 15010  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpbtrf.f.
 15011  func Zpbtrf(ul blas.Uplo, n, kd int, ab []complex128, ldab int) bool {
 15012  	switch ul {
 15013  	case blas.Upper:
 15014  		ul = 'U'
 15015  	case blas.Lower:
 15016  		ul = 'L'
 15017  	default:
 15018  		panic("lapack: illegal triangle")
 15019  	}
 15020  	var _ab *complex128
 15021  	if len(ab) > 0 {
 15022  		_ab = &ab[0]
 15023  	}
 15024  	return isZero(C.LAPACKE_zpbtrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab)))
 15025  }
 15026  
 15027  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spbtrs.f.
 15028  func Spbtrs(ul blas.Uplo, n, kd, nrhs int, ab []float32, ldab int, b []float32, ldb int) bool {
 15029  	switch ul {
 15030  	case blas.Upper:
 15031  		ul = 'U'
 15032  	case blas.Lower:
 15033  		ul = 'L'
 15034  	default:
 15035  		panic("lapack: illegal triangle")
 15036  	}
 15037  	var _ab *float32
 15038  	if len(ab) > 0 {
 15039  		_ab = &ab[0]
 15040  	}
 15041  	var _b *float32
 15042  	if len(b) > 0 {
 15043  		_b = &b[0]
 15044  	}
 15045  	return isZero(C.LAPACKE_spbtrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_b), (C.lapack_int)(ldb)))
 15046  }
 15047  
 15048  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpbtrs.f.
 15049  func Dpbtrs(ul blas.Uplo, n, kd, nrhs int, ab []float64, ldab int, b []float64, ldb int) bool {
 15050  	switch ul {
 15051  	case blas.Upper:
 15052  		ul = 'U'
 15053  	case blas.Lower:
 15054  		ul = 'L'
 15055  	default:
 15056  		panic("lapack: illegal triangle")
 15057  	}
 15058  	var _ab *float64
 15059  	if len(ab) > 0 {
 15060  		_ab = &ab[0]
 15061  	}
 15062  	var _b *float64
 15063  	if len(b) > 0 {
 15064  		_b = &b[0]
 15065  	}
 15066  	return isZero(C.LAPACKE_dpbtrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_b), (C.lapack_int)(ldb)))
 15067  }
 15068  
 15069  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpbtrs.f.
 15070  func Cpbtrs(ul blas.Uplo, n, kd, nrhs int, ab []complex64, ldab int, b []complex64, ldb int) bool {
 15071  	switch ul {
 15072  	case blas.Upper:
 15073  		ul = 'U'
 15074  	case blas.Lower:
 15075  		ul = 'L'
 15076  	default:
 15077  		panic("lapack: illegal triangle")
 15078  	}
 15079  	var _ab *complex64
 15080  	if len(ab) > 0 {
 15081  		_ab = &ab[0]
 15082  	}
 15083  	var _b *complex64
 15084  	if len(b) > 0 {
 15085  		_b = &b[0]
 15086  	}
 15087  	return isZero(C.LAPACKE_cpbtrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 15088  }
 15089  
 15090  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpbtrs.f.
 15091  func Zpbtrs(ul blas.Uplo, n, kd, nrhs int, ab []complex128, ldab int, b []complex128, ldb int) bool {
 15092  	switch ul {
 15093  	case blas.Upper:
 15094  		ul = 'U'
 15095  	case blas.Lower:
 15096  		ul = 'L'
 15097  	default:
 15098  		panic("lapack: illegal triangle")
 15099  	}
 15100  	var _ab *complex128
 15101  	if len(ab) > 0 {
 15102  		_ab = &ab[0]
 15103  	}
 15104  	var _b *complex128
 15105  	if len(b) > 0 {
 15106  		_b = &b[0]
 15107  	}
 15108  	return isZero(C.LAPACKE_zpbtrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 15109  }
 15110  
 15111  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spftrf.f.
 15112  func Spftrf(transr blas.Transpose, ul blas.Uplo, n int, a []float32) bool {
 15113  	switch transr {
 15114  	case blas.NoTrans:
 15115  		transr = 'N'
 15116  	case blas.Trans:
 15117  		transr = 'T'
 15118  	case blas.ConjTrans:
 15119  		transr = 'C'
 15120  	default:
 15121  		panic("lapack: bad trans")
 15122  	}
 15123  	switch ul {
 15124  	case blas.Upper:
 15125  		ul = 'U'
 15126  	case blas.Lower:
 15127  		ul = 'L'
 15128  	default:
 15129  		panic("lapack: illegal triangle")
 15130  	}
 15131  	var _a *float32
 15132  	if len(a) > 0 {
 15133  		_a = &a[0]
 15134  	}
 15135  	return isZero(C.LAPACKE_spftrf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a)))
 15136  }
 15137  
 15138  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpftrf.f.
 15139  func Dpftrf(transr blas.Transpose, ul blas.Uplo, n int, a []float64) bool {
 15140  	switch transr {
 15141  	case blas.NoTrans:
 15142  		transr = 'N'
 15143  	case blas.Trans:
 15144  		transr = 'T'
 15145  	case blas.ConjTrans:
 15146  		transr = 'C'
 15147  	default:
 15148  		panic("lapack: bad trans")
 15149  	}
 15150  	switch ul {
 15151  	case blas.Upper:
 15152  		ul = 'U'
 15153  	case blas.Lower:
 15154  		ul = 'L'
 15155  	default:
 15156  		panic("lapack: illegal triangle")
 15157  	}
 15158  	var _a *float64
 15159  	if len(a) > 0 {
 15160  		_a = &a[0]
 15161  	}
 15162  	return isZero(C.LAPACKE_dpftrf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a)))
 15163  }
 15164  
 15165  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpftrf.f.
 15166  func Cpftrf(transr blas.Transpose, ul blas.Uplo, n int, a []complex64) bool {
 15167  	switch transr {
 15168  	case blas.NoTrans:
 15169  		transr = 'N'
 15170  	case blas.Trans:
 15171  		transr = 'T'
 15172  	case blas.ConjTrans:
 15173  		transr = 'C'
 15174  	default:
 15175  		panic("lapack: bad trans")
 15176  	}
 15177  	switch ul {
 15178  	case blas.Upper:
 15179  		ul = 'U'
 15180  	case blas.Lower:
 15181  		ul = 'L'
 15182  	default:
 15183  		panic("lapack: illegal triangle")
 15184  	}
 15185  	var _a *complex64
 15186  	if len(a) > 0 {
 15187  		_a = &a[0]
 15188  	}
 15189  	return isZero(C.LAPACKE_cpftrf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a)))
 15190  }
 15191  
 15192  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpftrf.f.
 15193  func Zpftrf(transr blas.Transpose, ul blas.Uplo, n int, a []complex128) bool {
 15194  	switch transr {
 15195  	case blas.NoTrans:
 15196  		transr = 'N'
 15197  	case blas.Trans:
 15198  		transr = 'T'
 15199  	case blas.ConjTrans:
 15200  		transr = 'C'
 15201  	default:
 15202  		panic("lapack: bad trans")
 15203  	}
 15204  	switch ul {
 15205  	case blas.Upper:
 15206  		ul = 'U'
 15207  	case blas.Lower:
 15208  		ul = 'L'
 15209  	default:
 15210  		panic("lapack: illegal triangle")
 15211  	}
 15212  	var _a *complex128
 15213  	if len(a) > 0 {
 15214  		_a = &a[0]
 15215  	}
 15216  	return isZero(C.LAPACKE_zpftrf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a)))
 15217  }
 15218  
 15219  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spftri.f.
 15220  func Spftri(transr blas.Transpose, ul blas.Uplo, n int, a []float32) bool {
 15221  	switch transr {
 15222  	case blas.NoTrans:
 15223  		transr = 'N'
 15224  	case blas.Trans:
 15225  		transr = 'T'
 15226  	case blas.ConjTrans:
 15227  		transr = 'C'
 15228  	default:
 15229  		panic("lapack: bad trans")
 15230  	}
 15231  	switch ul {
 15232  	case blas.Upper:
 15233  		ul = 'U'
 15234  	case blas.Lower:
 15235  		ul = 'L'
 15236  	default:
 15237  		panic("lapack: illegal triangle")
 15238  	}
 15239  	var _a *float32
 15240  	if len(a) > 0 {
 15241  		_a = &a[0]
 15242  	}
 15243  	return isZero(C.LAPACKE_spftri_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a)))
 15244  }
 15245  
 15246  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpftri.f.
 15247  func Dpftri(transr blas.Transpose, ul blas.Uplo, n int, a []float64) bool {
 15248  	switch transr {
 15249  	case blas.NoTrans:
 15250  		transr = 'N'
 15251  	case blas.Trans:
 15252  		transr = 'T'
 15253  	case blas.ConjTrans:
 15254  		transr = 'C'
 15255  	default:
 15256  		panic("lapack: bad trans")
 15257  	}
 15258  	switch ul {
 15259  	case blas.Upper:
 15260  		ul = 'U'
 15261  	case blas.Lower:
 15262  		ul = 'L'
 15263  	default:
 15264  		panic("lapack: illegal triangle")
 15265  	}
 15266  	var _a *float64
 15267  	if len(a) > 0 {
 15268  		_a = &a[0]
 15269  	}
 15270  	return isZero(C.LAPACKE_dpftri_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a)))
 15271  }
 15272  
 15273  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpftri.f.
 15274  func Cpftri(transr blas.Transpose, ul blas.Uplo, n int, a []complex64) bool {
 15275  	switch transr {
 15276  	case blas.NoTrans:
 15277  		transr = 'N'
 15278  	case blas.Trans:
 15279  		transr = 'T'
 15280  	case blas.ConjTrans:
 15281  		transr = 'C'
 15282  	default:
 15283  		panic("lapack: bad trans")
 15284  	}
 15285  	switch ul {
 15286  	case blas.Upper:
 15287  		ul = 'U'
 15288  	case blas.Lower:
 15289  		ul = 'L'
 15290  	default:
 15291  		panic("lapack: illegal triangle")
 15292  	}
 15293  	var _a *complex64
 15294  	if len(a) > 0 {
 15295  		_a = &a[0]
 15296  	}
 15297  	return isZero(C.LAPACKE_cpftri_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a)))
 15298  }
 15299  
 15300  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpftri.f.
 15301  func Zpftri(transr blas.Transpose, ul blas.Uplo, n int, a []complex128) bool {
 15302  	switch transr {
 15303  	case blas.NoTrans:
 15304  		transr = 'N'
 15305  	case blas.Trans:
 15306  		transr = 'T'
 15307  	case blas.ConjTrans:
 15308  		transr = 'C'
 15309  	default:
 15310  		panic("lapack: bad trans")
 15311  	}
 15312  	switch ul {
 15313  	case blas.Upper:
 15314  		ul = 'U'
 15315  	case blas.Lower:
 15316  		ul = 'L'
 15317  	default:
 15318  		panic("lapack: illegal triangle")
 15319  	}
 15320  	var _a *complex128
 15321  	if len(a) > 0 {
 15322  		_a = &a[0]
 15323  	}
 15324  	return isZero(C.LAPACKE_zpftri_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a)))
 15325  }
 15326  
 15327  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spftrs.f.
 15328  func Spftrs(transr blas.Transpose, ul blas.Uplo, n, nrhs int, a, b []float32, ldb int) bool {
 15329  	switch transr {
 15330  	case blas.NoTrans:
 15331  		transr = 'N'
 15332  	case blas.Trans:
 15333  		transr = 'T'
 15334  	case blas.ConjTrans:
 15335  		transr = 'C'
 15336  	default:
 15337  		panic("lapack: bad trans")
 15338  	}
 15339  	switch ul {
 15340  	case blas.Upper:
 15341  		ul = 'U'
 15342  	case blas.Lower:
 15343  		ul = 'L'
 15344  	default:
 15345  		panic("lapack: illegal triangle")
 15346  	}
 15347  	var _a *float32
 15348  	if len(a) > 0 {
 15349  		_a = &a[0]
 15350  	}
 15351  	var _b *float32
 15352  	if len(b) > 0 {
 15353  		_b = &b[0]
 15354  	}
 15355  	return isZero(C.LAPACKE_spftrs_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (*C.float)(_b), (C.lapack_int)(ldb)))
 15356  }
 15357  
 15358  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpftrs.f.
 15359  func Dpftrs(transr blas.Transpose, ul blas.Uplo, n, nrhs int, a, b []float64, ldb int) bool {
 15360  	switch transr {
 15361  	case blas.NoTrans:
 15362  		transr = 'N'
 15363  	case blas.Trans:
 15364  		transr = 'T'
 15365  	case blas.ConjTrans:
 15366  		transr = 'C'
 15367  	default:
 15368  		panic("lapack: bad trans")
 15369  	}
 15370  	switch ul {
 15371  	case blas.Upper:
 15372  		ul = 'U'
 15373  	case blas.Lower:
 15374  		ul = 'L'
 15375  	default:
 15376  		panic("lapack: illegal triangle")
 15377  	}
 15378  	var _a *float64
 15379  	if len(a) > 0 {
 15380  		_a = &a[0]
 15381  	}
 15382  	var _b *float64
 15383  	if len(b) > 0 {
 15384  		_b = &b[0]
 15385  	}
 15386  	return isZero(C.LAPACKE_dpftrs_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (*C.double)(_b), (C.lapack_int)(ldb)))
 15387  }
 15388  
 15389  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpftrs.f.
 15390  func Cpftrs(transr blas.Transpose, ul blas.Uplo, n, nrhs int, a, b []complex64, ldb int) bool {
 15391  	switch transr {
 15392  	case blas.NoTrans:
 15393  		transr = 'N'
 15394  	case blas.Trans:
 15395  		transr = 'T'
 15396  	case blas.ConjTrans:
 15397  		transr = 'C'
 15398  	default:
 15399  		panic("lapack: bad trans")
 15400  	}
 15401  	switch ul {
 15402  	case blas.Upper:
 15403  		ul = 'U'
 15404  	case blas.Lower:
 15405  		ul = 'L'
 15406  	default:
 15407  		panic("lapack: illegal triangle")
 15408  	}
 15409  	var _a *complex64
 15410  	if len(a) > 0 {
 15411  		_a = &a[0]
 15412  	}
 15413  	var _b *complex64
 15414  	if len(b) > 0 {
 15415  		_b = &b[0]
 15416  	}
 15417  	return isZero(C.LAPACKE_cpftrs_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 15418  }
 15419  
 15420  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpftrs.f.
 15421  func Zpftrs(transr blas.Transpose, ul blas.Uplo, n, nrhs int, a, b []complex128, ldb int) bool {
 15422  	switch transr {
 15423  	case blas.NoTrans:
 15424  		transr = 'N'
 15425  	case blas.Trans:
 15426  		transr = 'T'
 15427  	case blas.ConjTrans:
 15428  		transr = 'C'
 15429  	default:
 15430  		panic("lapack: bad trans")
 15431  	}
 15432  	switch ul {
 15433  	case blas.Upper:
 15434  		ul = 'U'
 15435  	case blas.Lower:
 15436  		ul = 'L'
 15437  	default:
 15438  		panic("lapack: illegal triangle")
 15439  	}
 15440  	var _a *complex128
 15441  	if len(a) > 0 {
 15442  		_a = &a[0]
 15443  	}
 15444  	var _b *complex128
 15445  	if len(b) > 0 {
 15446  		_b = &b[0]
 15447  	}
 15448  	return isZero(C.LAPACKE_zpftrs_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 15449  }
 15450  
 15451  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spocon.f.
 15452  func Spocon(ul blas.Uplo, n int, a []float32, lda int, anorm float32, rcond, work []float32, iwork []int32) bool {
 15453  	switch ul {
 15454  	case blas.Upper:
 15455  		ul = 'U'
 15456  	case blas.Lower:
 15457  		ul = 'L'
 15458  	default:
 15459  		panic("lapack: illegal triangle")
 15460  	}
 15461  	var _a *float32
 15462  	if len(a) > 0 {
 15463  		_a = &a[0]
 15464  	}
 15465  	var _rcond *float32
 15466  	if len(rcond) > 0 {
 15467  		_rcond = &rcond[0]
 15468  	}
 15469  	var _work *float32
 15470  	if len(work) > 0 {
 15471  		_work = &work[0]
 15472  	}
 15473  	var _iwork *int32
 15474  	if len(iwork) > 0 {
 15475  		_iwork = &iwork[0]
 15476  	}
 15477  	return isZero(C.LAPACKE_spocon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 15478  }
 15479  
 15480  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpocon.f.
 15481  func Dpocon(ul blas.Uplo, n int, a []float64, lda int, anorm float64, rcond, work []float64, iwork []int32) bool {
 15482  	switch ul {
 15483  	case blas.Upper:
 15484  		ul = 'U'
 15485  	case blas.Lower:
 15486  		ul = 'L'
 15487  	default:
 15488  		panic("lapack: illegal triangle")
 15489  	}
 15490  	var _a *float64
 15491  	if len(a) > 0 {
 15492  		_a = &a[0]
 15493  	}
 15494  	var _rcond *float64
 15495  	if len(rcond) > 0 {
 15496  		_rcond = &rcond[0]
 15497  	}
 15498  	var _work *float64
 15499  	if len(work) > 0 {
 15500  		_work = &work[0]
 15501  	}
 15502  	var _iwork *int32
 15503  	if len(iwork) > 0 {
 15504  		_iwork = &iwork[0]
 15505  	}
 15506  	return isZero(C.LAPACKE_dpocon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 15507  }
 15508  
 15509  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpocon.f.
 15510  func Cpocon(ul blas.Uplo, n int, a []complex64, lda int, anorm float32, rcond []float32, work []complex64, rwork []float32) bool {
 15511  	switch ul {
 15512  	case blas.Upper:
 15513  		ul = 'U'
 15514  	case blas.Lower:
 15515  		ul = 'L'
 15516  	default:
 15517  		panic("lapack: illegal triangle")
 15518  	}
 15519  	var _a *complex64
 15520  	if len(a) > 0 {
 15521  		_a = &a[0]
 15522  	}
 15523  	var _rcond *float32
 15524  	if len(rcond) > 0 {
 15525  		_rcond = &rcond[0]
 15526  	}
 15527  	var _work *complex64
 15528  	if len(work) > 0 {
 15529  		_work = &work[0]
 15530  	}
 15531  	var _rwork *float32
 15532  	if len(rwork) > 0 {
 15533  		_rwork = &rwork[0]
 15534  	}
 15535  	return isZero(C.LAPACKE_cpocon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 15536  }
 15537  
 15538  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpocon.f.
 15539  func Zpocon(ul blas.Uplo, n int, a []complex128, lda int, anorm float64, rcond []float64, work []complex128, rwork []float64) bool {
 15540  	switch ul {
 15541  	case blas.Upper:
 15542  		ul = 'U'
 15543  	case blas.Lower:
 15544  		ul = 'L'
 15545  	default:
 15546  		panic("lapack: illegal triangle")
 15547  	}
 15548  	var _a *complex128
 15549  	if len(a) > 0 {
 15550  		_a = &a[0]
 15551  	}
 15552  	var _rcond *float64
 15553  	if len(rcond) > 0 {
 15554  		_rcond = &rcond[0]
 15555  	}
 15556  	var _work *complex128
 15557  	if len(work) > 0 {
 15558  		_work = &work[0]
 15559  	}
 15560  	var _rwork *float64
 15561  	if len(rwork) > 0 {
 15562  		_rwork = &rwork[0]
 15563  	}
 15564  	return isZero(C.LAPACKE_zpocon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 15565  }
 15566  
 15567  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spoequ.f.
 15568  func Spoequ(n int, a []float32, lda int, s, scond, amax []float32) bool {
 15569  	var _a *float32
 15570  	if len(a) > 0 {
 15571  		_a = &a[0]
 15572  	}
 15573  	var _s *float32
 15574  	if len(s) > 0 {
 15575  		_s = &s[0]
 15576  	}
 15577  	var _scond *float32
 15578  	if len(scond) > 0 {
 15579  		_scond = &scond[0]
 15580  	}
 15581  	var _amax *float32
 15582  	if len(amax) > 0 {
 15583  		_amax = &amax[0]
 15584  	}
 15585  	return isZero(C.LAPACKE_spoequ_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax)))
 15586  }
 15587  
 15588  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpoequ.f.
 15589  func Dpoequ(n int, a []float64, lda int, s, scond, amax []float64) bool {
 15590  	var _a *float64
 15591  	if len(a) > 0 {
 15592  		_a = &a[0]
 15593  	}
 15594  	var _s *float64
 15595  	if len(s) > 0 {
 15596  		_s = &s[0]
 15597  	}
 15598  	var _scond *float64
 15599  	if len(scond) > 0 {
 15600  		_scond = &scond[0]
 15601  	}
 15602  	var _amax *float64
 15603  	if len(amax) > 0 {
 15604  		_amax = &amax[0]
 15605  	}
 15606  	return isZero(C.LAPACKE_dpoequ_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax)))
 15607  }
 15608  
 15609  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpoequ.f.
 15610  func Cpoequ(n int, a []complex64, lda int, s, scond, amax []float32) bool {
 15611  	var _a *complex64
 15612  	if len(a) > 0 {
 15613  		_a = &a[0]
 15614  	}
 15615  	var _s *float32
 15616  	if len(s) > 0 {
 15617  		_s = &s[0]
 15618  	}
 15619  	var _scond *float32
 15620  	if len(scond) > 0 {
 15621  		_scond = &scond[0]
 15622  	}
 15623  	var _amax *float32
 15624  	if len(amax) > 0 {
 15625  		_amax = &amax[0]
 15626  	}
 15627  	return isZero(C.LAPACKE_cpoequ_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax)))
 15628  }
 15629  
 15630  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpoequ.f.
 15631  func Zpoequ(n int, a []complex128, lda int, s, scond, amax []float64) bool {
 15632  	var _a *complex128
 15633  	if len(a) > 0 {
 15634  		_a = &a[0]
 15635  	}
 15636  	var _s *float64
 15637  	if len(s) > 0 {
 15638  		_s = &s[0]
 15639  	}
 15640  	var _scond *float64
 15641  	if len(scond) > 0 {
 15642  		_scond = &scond[0]
 15643  	}
 15644  	var _amax *float64
 15645  	if len(amax) > 0 {
 15646  		_amax = &amax[0]
 15647  	}
 15648  	return isZero(C.LAPACKE_zpoequ_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax)))
 15649  }
 15650  
 15651  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spoequb.f.
 15652  func Spoequb(n int, a []float32, lda int, s, scond, amax []float32) bool {
 15653  	var _a *float32
 15654  	if len(a) > 0 {
 15655  		_a = &a[0]
 15656  	}
 15657  	var _s *float32
 15658  	if len(s) > 0 {
 15659  		_s = &s[0]
 15660  	}
 15661  	var _scond *float32
 15662  	if len(scond) > 0 {
 15663  		_scond = &scond[0]
 15664  	}
 15665  	var _amax *float32
 15666  	if len(amax) > 0 {
 15667  		_amax = &amax[0]
 15668  	}
 15669  	return isZero(C.LAPACKE_spoequb_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax)))
 15670  }
 15671  
 15672  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpoequb.f.
 15673  func Dpoequb(n int, a []float64, lda int, s, scond, amax []float64) bool {
 15674  	var _a *float64
 15675  	if len(a) > 0 {
 15676  		_a = &a[0]
 15677  	}
 15678  	var _s *float64
 15679  	if len(s) > 0 {
 15680  		_s = &s[0]
 15681  	}
 15682  	var _scond *float64
 15683  	if len(scond) > 0 {
 15684  		_scond = &scond[0]
 15685  	}
 15686  	var _amax *float64
 15687  	if len(amax) > 0 {
 15688  		_amax = &amax[0]
 15689  	}
 15690  	return isZero(C.LAPACKE_dpoequb_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax)))
 15691  }
 15692  
 15693  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpoequb.f.
 15694  func Cpoequb(n int, a []complex64, lda int, s, scond, amax []float32) bool {
 15695  	var _a *complex64
 15696  	if len(a) > 0 {
 15697  		_a = &a[0]
 15698  	}
 15699  	var _s *float32
 15700  	if len(s) > 0 {
 15701  		_s = &s[0]
 15702  	}
 15703  	var _scond *float32
 15704  	if len(scond) > 0 {
 15705  		_scond = &scond[0]
 15706  	}
 15707  	var _amax *float32
 15708  	if len(amax) > 0 {
 15709  		_amax = &amax[0]
 15710  	}
 15711  	return isZero(C.LAPACKE_cpoequb_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax)))
 15712  }
 15713  
 15714  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpoequb.f.
 15715  func Zpoequb(n int, a []complex128, lda int, s, scond, amax []float64) bool {
 15716  	var _a *complex128
 15717  	if len(a) > 0 {
 15718  		_a = &a[0]
 15719  	}
 15720  	var _s *float64
 15721  	if len(s) > 0 {
 15722  		_s = &s[0]
 15723  	}
 15724  	var _scond *float64
 15725  	if len(scond) > 0 {
 15726  		_scond = &scond[0]
 15727  	}
 15728  	var _amax *float64
 15729  	if len(amax) > 0 {
 15730  		_amax = &amax[0]
 15731  	}
 15732  	return isZero(C.LAPACKE_zpoequb_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax)))
 15733  }
 15734  
 15735  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sporfs.f.
 15736  func Sporfs(ul blas.Uplo, n, nrhs int, a []float32, lda int, af []float32, ldaf int, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
 15737  	switch ul {
 15738  	case blas.Upper:
 15739  		ul = 'U'
 15740  	case blas.Lower:
 15741  		ul = 'L'
 15742  	default:
 15743  		panic("lapack: illegal triangle")
 15744  	}
 15745  	var _a *float32
 15746  	if len(a) > 0 {
 15747  		_a = &a[0]
 15748  	}
 15749  	var _af *float32
 15750  	if len(af) > 0 {
 15751  		_af = &af[0]
 15752  	}
 15753  	var _b *float32
 15754  	if len(b) > 0 {
 15755  		_b = &b[0]
 15756  	}
 15757  	var _x *float32
 15758  	if len(x) > 0 {
 15759  		_x = &x[0]
 15760  	}
 15761  	var _ferr *float32
 15762  	if len(ferr) > 0 {
 15763  		_ferr = &ferr[0]
 15764  	}
 15765  	var _berr *float32
 15766  	if len(berr) > 0 {
 15767  		_berr = &berr[0]
 15768  	}
 15769  	var _work *float32
 15770  	if len(work) > 0 {
 15771  		_work = &work[0]
 15772  	}
 15773  	var _iwork *int32
 15774  	if len(iwork) > 0 {
 15775  		_iwork = &iwork[0]
 15776  	}
 15777  	return isZero(C.LAPACKE_sporfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_af), (C.lapack_int)(ldaf), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 15778  }
 15779  
 15780  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dporfs.f.
 15781  func Dporfs(ul blas.Uplo, n, nrhs int, a []float64, lda int, af []float64, ldaf int, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
 15782  	switch ul {
 15783  	case blas.Upper:
 15784  		ul = 'U'
 15785  	case blas.Lower:
 15786  		ul = 'L'
 15787  	default:
 15788  		panic("lapack: illegal triangle")
 15789  	}
 15790  	var _a *float64
 15791  	if len(a) > 0 {
 15792  		_a = &a[0]
 15793  	}
 15794  	var _af *float64
 15795  	if len(af) > 0 {
 15796  		_af = &af[0]
 15797  	}
 15798  	var _b *float64
 15799  	if len(b) > 0 {
 15800  		_b = &b[0]
 15801  	}
 15802  	var _x *float64
 15803  	if len(x) > 0 {
 15804  		_x = &x[0]
 15805  	}
 15806  	var _ferr *float64
 15807  	if len(ferr) > 0 {
 15808  		_ferr = &ferr[0]
 15809  	}
 15810  	var _berr *float64
 15811  	if len(berr) > 0 {
 15812  		_berr = &berr[0]
 15813  	}
 15814  	var _work *float64
 15815  	if len(work) > 0 {
 15816  		_work = &work[0]
 15817  	}
 15818  	var _iwork *int32
 15819  	if len(iwork) > 0 {
 15820  		_iwork = &iwork[0]
 15821  	}
 15822  	return isZero(C.LAPACKE_dporfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_af), (C.lapack_int)(ldaf), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 15823  }
 15824  
 15825  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cporfs.f.
 15826  func Cporfs(ul blas.Uplo, n, nrhs int, a []complex64, lda int, af []complex64, ldaf int, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 15827  	switch ul {
 15828  	case blas.Upper:
 15829  		ul = 'U'
 15830  	case blas.Lower:
 15831  		ul = 'L'
 15832  	default:
 15833  		panic("lapack: illegal triangle")
 15834  	}
 15835  	var _a *complex64
 15836  	if len(a) > 0 {
 15837  		_a = &a[0]
 15838  	}
 15839  	var _af *complex64
 15840  	if len(af) > 0 {
 15841  		_af = &af[0]
 15842  	}
 15843  	var _b *complex64
 15844  	if len(b) > 0 {
 15845  		_b = &b[0]
 15846  	}
 15847  	var _x *complex64
 15848  	if len(x) > 0 {
 15849  		_x = &x[0]
 15850  	}
 15851  	var _ferr *float32
 15852  	if len(ferr) > 0 {
 15853  		_ferr = &ferr[0]
 15854  	}
 15855  	var _berr *float32
 15856  	if len(berr) > 0 {
 15857  		_berr = &berr[0]
 15858  	}
 15859  	var _work *complex64
 15860  	if len(work) > 0 {
 15861  		_work = &work[0]
 15862  	}
 15863  	var _rwork *float32
 15864  	if len(rwork) > 0 {
 15865  		_rwork = &rwork[0]
 15866  	}
 15867  	return isZero(C.LAPACKE_cporfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_af), (C.lapack_int)(ldaf), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 15868  }
 15869  
 15870  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zporfs.f.
 15871  func Zporfs(ul blas.Uplo, n, nrhs int, a []complex128, lda int, af []complex128, ldaf int, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 15872  	switch ul {
 15873  	case blas.Upper:
 15874  		ul = 'U'
 15875  	case blas.Lower:
 15876  		ul = 'L'
 15877  	default:
 15878  		panic("lapack: illegal triangle")
 15879  	}
 15880  	var _a *complex128
 15881  	if len(a) > 0 {
 15882  		_a = &a[0]
 15883  	}
 15884  	var _af *complex128
 15885  	if len(af) > 0 {
 15886  		_af = &af[0]
 15887  	}
 15888  	var _b *complex128
 15889  	if len(b) > 0 {
 15890  		_b = &b[0]
 15891  	}
 15892  	var _x *complex128
 15893  	if len(x) > 0 {
 15894  		_x = &x[0]
 15895  	}
 15896  	var _ferr *float64
 15897  	if len(ferr) > 0 {
 15898  		_ferr = &ferr[0]
 15899  	}
 15900  	var _berr *float64
 15901  	if len(berr) > 0 {
 15902  		_berr = &berr[0]
 15903  	}
 15904  	var _work *complex128
 15905  	if len(work) > 0 {
 15906  		_work = &work[0]
 15907  	}
 15908  	var _rwork *float64
 15909  	if len(rwork) > 0 {
 15910  		_rwork = &rwork[0]
 15911  	}
 15912  	return isZero(C.LAPACKE_zporfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_af), (C.lapack_int)(ldaf), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 15913  }
 15914  
 15915  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sposv.f.
 15916  func Sposv(ul blas.Uplo, n, nrhs int, a []float32, lda int, b []float32, ldb int) bool {
 15917  	switch ul {
 15918  	case blas.Upper:
 15919  		ul = 'U'
 15920  	case blas.Lower:
 15921  		ul = 'L'
 15922  	default:
 15923  		panic("lapack: illegal triangle")
 15924  	}
 15925  	var _a *float32
 15926  	if len(a) > 0 {
 15927  		_a = &a[0]
 15928  	}
 15929  	var _b *float32
 15930  	if len(b) > 0 {
 15931  		_b = &b[0]
 15932  	}
 15933  	return isZero(C.LAPACKE_sposv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb)))
 15934  }
 15935  
 15936  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dposv.f.
 15937  func Dposv(ul blas.Uplo, n, nrhs int, a []float64, lda int, b []float64, ldb int) bool {
 15938  	switch ul {
 15939  	case blas.Upper:
 15940  		ul = 'U'
 15941  	case blas.Lower:
 15942  		ul = 'L'
 15943  	default:
 15944  		panic("lapack: illegal triangle")
 15945  	}
 15946  	var _a *float64
 15947  	if len(a) > 0 {
 15948  		_a = &a[0]
 15949  	}
 15950  	var _b *float64
 15951  	if len(b) > 0 {
 15952  		_b = &b[0]
 15953  	}
 15954  	return isZero(C.LAPACKE_dposv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb)))
 15955  }
 15956  
 15957  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cposv.f.
 15958  func Cposv(ul blas.Uplo, n, nrhs int, a []complex64, lda int, b []complex64, ldb int) bool {
 15959  	switch ul {
 15960  	case blas.Upper:
 15961  		ul = 'U'
 15962  	case blas.Lower:
 15963  		ul = 'L'
 15964  	default:
 15965  		panic("lapack: illegal triangle")
 15966  	}
 15967  	var _a *complex64
 15968  	if len(a) > 0 {
 15969  		_a = &a[0]
 15970  	}
 15971  	var _b *complex64
 15972  	if len(b) > 0 {
 15973  		_b = &b[0]
 15974  	}
 15975  	return isZero(C.LAPACKE_cposv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 15976  }
 15977  
 15978  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zposv.f.
 15979  func Zposv(ul blas.Uplo, n, nrhs int, a []complex128, lda int, b []complex128, ldb int) bool {
 15980  	switch ul {
 15981  	case blas.Upper:
 15982  		ul = 'U'
 15983  	case blas.Lower:
 15984  		ul = 'L'
 15985  	default:
 15986  		panic("lapack: illegal triangle")
 15987  	}
 15988  	var _a *complex128
 15989  	if len(a) > 0 {
 15990  		_a = &a[0]
 15991  	}
 15992  	var _b *complex128
 15993  	if len(b) > 0 {
 15994  		_b = &b[0]
 15995  	}
 15996  	return isZero(C.LAPACKE_zposv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 15997  }
 15998  
 15999  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsposv.f.
 16000  func Dsposv(ul blas.Uplo, n, nrhs int, a []float64, lda int, b []float64, ldb int, x []float64, ldx int, work []float64, swork []float32, iter []int32) bool {
 16001  	switch ul {
 16002  	case blas.Upper:
 16003  		ul = 'U'
 16004  	case blas.Lower:
 16005  		ul = 'L'
 16006  	default:
 16007  		panic("lapack: illegal triangle")
 16008  	}
 16009  	var _a *float64
 16010  	if len(a) > 0 {
 16011  		_a = &a[0]
 16012  	}
 16013  	var _b *float64
 16014  	if len(b) > 0 {
 16015  		_b = &b[0]
 16016  	}
 16017  	var _x *float64
 16018  	if len(x) > 0 {
 16019  		_x = &x[0]
 16020  	}
 16021  	var _work *float64
 16022  	if len(work) > 0 {
 16023  		_work = &work[0]
 16024  	}
 16025  	var _swork *float32
 16026  	if len(swork) > 0 {
 16027  		_swork = &swork[0]
 16028  	}
 16029  	var _iter *int32
 16030  	if len(iter) > 0 {
 16031  		_iter = &iter[0]
 16032  	}
 16033  	return isZero(C.LAPACKE_dsposv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_work), (*C.float)(_swork), (*C.lapack_int)(_iter)))
 16034  }
 16035  
 16036  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zcposv.f.
 16037  func Zcposv(ul blas.Uplo, n, nrhs int, a []complex128, lda int, b []complex128, ldb int, x []complex128, ldx int, work []complex128, swork []complex64, rwork []float64, iter []int32) bool {
 16038  	switch ul {
 16039  	case blas.Upper:
 16040  		ul = 'U'
 16041  	case blas.Lower:
 16042  		ul = 'L'
 16043  	default:
 16044  		panic("lapack: illegal triangle")
 16045  	}
 16046  	var _a *complex128
 16047  	if len(a) > 0 {
 16048  		_a = &a[0]
 16049  	}
 16050  	var _b *complex128
 16051  	if len(b) > 0 {
 16052  		_b = &b[0]
 16053  	}
 16054  	var _x *complex128
 16055  	if len(x) > 0 {
 16056  		_x = &x[0]
 16057  	}
 16058  	var _work *complex128
 16059  	if len(work) > 0 {
 16060  		_work = &work[0]
 16061  	}
 16062  	var _swork *complex64
 16063  	if len(swork) > 0 {
 16064  		_swork = &swork[0]
 16065  	}
 16066  	var _rwork *float64
 16067  	if len(rwork) > 0 {
 16068  		_rwork = &rwork[0]
 16069  	}
 16070  	var _iter *int32
 16071  	if len(iter) > 0 {
 16072  		_iter = &iter[0]
 16073  	}
 16074  	return isZero(C.LAPACKE_zcposv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.lapack_complex_double)(_work), (*C.lapack_complex_float)(_swork), (*C.double)(_rwork), (*C.lapack_int)(_iter)))
 16075  }
 16076  
 16077  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sposvx.f.
 16078  func Sposvx(fact byte, ul blas.Uplo, n, nrhs int, a []float32, lda int, af []float32, ldaf int, equed []byte, s, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32, iwork []int32) bool {
 16079  	switch ul {
 16080  	case blas.Upper:
 16081  		ul = 'U'
 16082  	case blas.Lower:
 16083  		ul = 'L'
 16084  	default:
 16085  		panic("lapack: illegal triangle")
 16086  	}
 16087  	var _a *float32
 16088  	if len(a) > 0 {
 16089  		_a = &a[0]
 16090  	}
 16091  	var _af *float32
 16092  	if len(af) > 0 {
 16093  		_af = &af[0]
 16094  	}
 16095  	var _equed *byte
 16096  	if len(equed) > 0 {
 16097  		_equed = &equed[0]
 16098  	}
 16099  	var _s *float32
 16100  	if len(s) > 0 {
 16101  		_s = &s[0]
 16102  	}
 16103  	var _b *float32
 16104  	if len(b) > 0 {
 16105  		_b = &b[0]
 16106  	}
 16107  	var _x *float32
 16108  	if len(x) > 0 {
 16109  		_x = &x[0]
 16110  	}
 16111  	var _rcond *float32
 16112  	if len(rcond) > 0 {
 16113  		_rcond = &rcond[0]
 16114  	}
 16115  	var _ferr *float32
 16116  	if len(ferr) > 0 {
 16117  		_ferr = &ferr[0]
 16118  	}
 16119  	var _berr *float32
 16120  	if len(berr) > 0 {
 16121  		_berr = &berr[0]
 16122  	}
 16123  	var _work *float32
 16124  	if len(work) > 0 {
 16125  		_work = &work[0]
 16126  	}
 16127  	var _iwork *int32
 16128  	if len(iwork) > 0 {
 16129  		_iwork = &iwork[0]
 16130  	}
 16131  	return isZero(C.LAPACKE_sposvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_af), (C.lapack_int)(ldaf), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_s), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 16132  }
 16133  
 16134  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dposvx.f.
 16135  func Dposvx(fact byte, ul blas.Uplo, n, nrhs int, a []float64, lda int, af []float64, ldaf int, equed []byte, s, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64, iwork []int32) bool {
 16136  	switch ul {
 16137  	case blas.Upper:
 16138  		ul = 'U'
 16139  	case blas.Lower:
 16140  		ul = 'L'
 16141  	default:
 16142  		panic("lapack: illegal triangle")
 16143  	}
 16144  	var _a *float64
 16145  	if len(a) > 0 {
 16146  		_a = &a[0]
 16147  	}
 16148  	var _af *float64
 16149  	if len(af) > 0 {
 16150  		_af = &af[0]
 16151  	}
 16152  	var _equed *byte
 16153  	if len(equed) > 0 {
 16154  		_equed = &equed[0]
 16155  	}
 16156  	var _s *float64
 16157  	if len(s) > 0 {
 16158  		_s = &s[0]
 16159  	}
 16160  	var _b *float64
 16161  	if len(b) > 0 {
 16162  		_b = &b[0]
 16163  	}
 16164  	var _x *float64
 16165  	if len(x) > 0 {
 16166  		_x = &x[0]
 16167  	}
 16168  	var _rcond *float64
 16169  	if len(rcond) > 0 {
 16170  		_rcond = &rcond[0]
 16171  	}
 16172  	var _ferr *float64
 16173  	if len(ferr) > 0 {
 16174  		_ferr = &ferr[0]
 16175  	}
 16176  	var _berr *float64
 16177  	if len(berr) > 0 {
 16178  		_berr = &berr[0]
 16179  	}
 16180  	var _work *float64
 16181  	if len(work) > 0 {
 16182  		_work = &work[0]
 16183  	}
 16184  	var _iwork *int32
 16185  	if len(iwork) > 0 {
 16186  		_iwork = &iwork[0]
 16187  	}
 16188  	return isZero(C.LAPACKE_dposvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_af), (C.lapack_int)(ldaf), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_s), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 16189  }
 16190  
 16191  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cposvx.f.
 16192  func Cposvx(fact byte, ul blas.Uplo, n, nrhs int, a []complex64, lda int, af []complex64, ldaf int, equed []byte, s []float32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
 16193  	switch ul {
 16194  	case blas.Upper:
 16195  		ul = 'U'
 16196  	case blas.Lower:
 16197  		ul = 'L'
 16198  	default:
 16199  		panic("lapack: illegal triangle")
 16200  	}
 16201  	var _a *complex64
 16202  	if len(a) > 0 {
 16203  		_a = &a[0]
 16204  	}
 16205  	var _af *complex64
 16206  	if len(af) > 0 {
 16207  		_af = &af[0]
 16208  	}
 16209  	var _equed *byte
 16210  	if len(equed) > 0 {
 16211  		_equed = &equed[0]
 16212  	}
 16213  	var _s *float32
 16214  	if len(s) > 0 {
 16215  		_s = &s[0]
 16216  	}
 16217  	var _b *complex64
 16218  	if len(b) > 0 {
 16219  		_b = &b[0]
 16220  	}
 16221  	var _x *complex64
 16222  	if len(x) > 0 {
 16223  		_x = &x[0]
 16224  	}
 16225  	var _rcond *float32
 16226  	if len(rcond) > 0 {
 16227  		_rcond = &rcond[0]
 16228  	}
 16229  	var _ferr *float32
 16230  	if len(ferr) > 0 {
 16231  		_ferr = &ferr[0]
 16232  	}
 16233  	var _berr *float32
 16234  	if len(berr) > 0 {
 16235  		_berr = &berr[0]
 16236  	}
 16237  	var _work *complex64
 16238  	if len(work) > 0 {
 16239  		_work = &work[0]
 16240  	}
 16241  	var _rwork *float32
 16242  	if len(rwork) > 0 {
 16243  		_rwork = &rwork[0]
 16244  	}
 16245  	return isZero(C.LAPACKE_cposvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_af), (C.lapack_int)(ldaf), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_s), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 16246  }
 16247  
 16248  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zposvx.f.
 16249  func Zposvx(fact byte, ul blas.Uplo, n, nrhs int, a []complex128, lda int, af []complex128, ldaf int, equed []byte, s []float64, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
 16250  	switch ul {
 16251  	case blas.Upper:
 16252  		ul = 'U'
 16253  	case blas.Lower:
 16254  		ul = 'L'
 16255  	default:
 16256  		panic("lapack: illegal triangle")
 16257  	}
 16258  	var _a *complex128
 16259  	if len(a) > 0 {
 16260  		_a = &a[0]
 16261  	}
 16262  	var _af *complex128
 16263  	if len(af) > 0 {
 16264  		_af = &af[0]
 16265  	}
 16266  	var _equed *byte
 16267  	if len(equed) > 0 {
 16268  		_equed = &equed[0]
 16269  	}
 16270  	var _s *float64
 16271  	if len(s) > 0 {
 16272  		_s = &s[0]
 16273  	}
 16274  	var _b *complex128
 16275  	if len(b) > 0 {
 16276  		_b = &b[0]
 16277  	}
 16278  	var _x *complex128
 16279  	if len(x) > 0 {
 16280  		_x = &x[0]
 16281  	}
 16282  	var _rcond *float64
 16283  	if len(rcond) > 0 {
 16284  		_rcond = &rcond[0]
 16285  	}
 16286  	var _ferr *float64
 16287  	if len(ferr) > 0 {
 16288  		_ferr = &ferr[0]
 16289  	}
 16290  	var _berr *float64
 16291  	if len(berr) > 0 {
 16292  		_berr = &berr[0]
 16293  	}
 16294  	var _work *complex128
 16295  	if len(work) > 0 {
 16296  		_work = &work[0]
 16297  	}
 16298  	var _rwork *float64
 16299  	if len(rwork) > 0 {
 16300  		_rwork = &rwork[0]
 16301  	}
 16302  	return isZero(C.LAPACKE_zposvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_af), (C.lapack_int)(ldaf), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_s), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 16303  }
 16304  
 16305  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spotrf2.f.
 16306  func Spotrf2(ul blas.Uplo, n int, a []float32, lda int) bool {
 16307  	switch ul {
 16308  	case blas.Upper:
 16309  		ul = 'U'
 16310  	case blas.Lower:
 16311  		ul = 'L'
 16312  	default:
 16313  		panic("lapack: illegal triangle")
 16314  	}
 16315  	var _a *float32
 16316  	if len(a) > 0 {
 16317  		_a = &a[0]
 16318  	}
 16319  	return isZero(C.LAPACKE_spotrf2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda)))
 16320  }
 16321  
 16322  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpotrf2.f.
 16323  func Dpotrf2(ul blas.Uplo, n int, a []float64, lda int) bool {
 16324  	switch ul {
 16325  	case blas.Upper:
 16326  		ul = 'U'
 16327  	case blas.Lower:
 16328  		ul = 'L'
 16329  	default:
 16330  		panic("lapack: illegal triangle")
 16331  	}
 16332  	var _a *float64
 16333  	if len(a) > 0 {
 16334  		_a = &a[0]
 16335  	}
 16336  	return isZero(C.LAPACKE_dpotrf2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda)))
 16337  }
 16338  
 16339  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpotrf2.f.
 16340  func Cpotrf2(ul blas.Uplo, n int, a []complex64, lda int) bool {
 16341  	switch ul {
 16342  	case blas.Upper:
 16343  		ul = 'U'
 16344  	case blas.Lower:
 16345  		ul = 'L'
 16346  	default:
 16347  		panic("lapack: illegal triangle")
 16348  	}
 16349  	var _a *complex64
 16350  	if len(a) > 0 {
 16351  		_a = &a[0]
 16352  	}
 16353  	return isZero(C.LAPACKE_cpotrf2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 16354  }
 16355  
 16356  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpotrf2.f.
 16357  func Zpotrf2(ul blas.Uplo, n int, a []complex128, lda int) bool {
 16358  	switch ul {
 16359  	case blas.Upper:
 16360  		ul = 'U'
 16361  	case blas.Lower:
 16362  		ul = 'L'
 16363  	default:
 16364  		panic("lapack: illegal triangle")
 16365  	}
 16366  	var _a *complex128
 16367  	if len(a) > 0 {
 16368  		_a = &a[0]
 16369  	}
 16370  	return isZero(C.LAPACKE_zpotrf2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 16371  }
 16372  
 16373  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spotrf.f.
 16374  func Spotrf(ul blas.Uplo, n int, a []float32, lda int) bool {
 16375  	switch ul {
 16376  	case blas.Upper:
 16377  		ul = 'U'
 16378  	case blas.Lower:
 16379  		ul = 'L'
 16380  	default:
 16381  		panic("lapack: illegal triangle")
 16382  	}
 16383  	var _a *float32
 16384  	if len(a) > 0 {
 16385  		_a = &a[0]
 16386  	}
 16387  	return isZero(C.LAPACKE_spotrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda)))
 16388  }
 16389  
 16390  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpotrf.f.
 16391  func Dpotrf(ul blas.Uplo, n int, a []float64, lda int) bool {
 16392  	switch ul {
 16393  	case blas.Upper:
 16394  		ul = 'U'
 16395  	case blas.Lower:
 16396  		ul = 'L'
 16397  	default:
 16398  		panic("lapack: illegal triangle")
 16399  	}
 16400  	var _a *float64
 16401  	if len(a) > 0 {
 16402  		_a = &a[0]
 16403  	}
 16404  	return isZero(C.LAPACKE_dpotrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda)))
 16405  }
 16406  
 16407  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpotrf.f.
 16408  func Cpotrf(ul blas.Uplo, n int, a []complex64, lda int) bool {
 16409  	switch ul {
 16410  	case blas.Upper:
 16411  		ul = 'U'
 16412  	case blas.Lower:
 16413  		ul = 'L'
 16414  	default:
 16415  		panic("lapack: illegal triangle")
 16416  	}
 16417  	var _a *complex64
 16418  	if len(a) > 0 {
 16419  		_a = &a[0]
 16420  	}
 16421  	return isZero(C.LAPACKE_cpotrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 16422  }
 16423  
 16424  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpotrf.f.
 16425  func Zpotrf(ul blas.Uplo, n int, a []complex128, lda int) bool {
 16426  	switch ul {
 16427  	case blas.Upper:
 16428  		ul = 'U'
 16429  	case blas.Lower:
 16430  		ul = 'L'
 16431  	default:
 16432  		panic("lapack: illegal triangle")
 16433  	}
 16434  	var _a *complex128
 16435  	if len(a) > 0 {
 16436  		_a = &a[0]
 16437  	}
 16438  	return isZero(C.LAPACKE_zpotrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 16439  }
 16440  
 16441  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spotri.f.
 16442  func Spotri(ul blas.Uplo, n int, a []float32, lda int) bool {
 16443  	switch ul {
 16444  	case blas.Upper:
 16445  		ul = 'U'
 16446  	case blas.Lower:
 16447  		ul = 'L'
 16448  	default:
 16449  		panic("lapack: illegal triangle")
 16450  	}
 16451  	var _a *float32
 16452  	if len(a) > 0 {
 16453  		_a = &a[0]
 16454  	}
 16455  	return isZero(C.LAPACKE_spotri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda)))
 16456  }
 16457  
 16458  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpotri.f.
 16459  func Dpotri(ul blas.Uplo, n int, a []float64, lda int) bool {
 16460  	switch ul {
 16461  	case blas.Upper:
 16462  		ul = 'U'
 16463  	case blas.Lower:
 16464  		ul = 'L'
 16465  	default:
 16466  		panic("lapack: illegal triangle")
 16467  	}
 16468  	var _a *float64
 16469  	if len(a) > 0 {
 16470  		_a = &a[0]
 16471  	}
 16472  	return isZero(C.LAPACKE_dpotri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda)))
 16473  }
 16474  
 16475  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpotri.f.
 16476  func Cpotri(ul blas.Uplo, n int, a []complex64, lda int) bool {
 16477  	switch ul {
 16478  	case blas.Upper:
 16479  		ul = 'U'
 16480  	case blas.Lower:
 16481  		ul = 'L'
 16482  	default:
 16483  		panic("lapack: illegal triangle")
 16484  	}
 16485  	var _a *complex64
 16486  	if len(a) > 0 {
 16487  		_a = &a[0]
 16488  	}
 16489  	return isZero(C.LAPACKE_cpotri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 16490  }
 16491  
 16492  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpotri.f.
 16493  func Zpotri(ul blas.Uplo, n int, a []complex128, lda int) bool {
 16494  	switch ul {
 16495  	case blas.Upper:
 16496  		ul = 'U'
 16497  	case blas.Lower:
 16498  		ul = 'L'
 16499  	default:
 16500  		panic("lapack: illegal triangle")
 16501  	}
 16502  	var _a *complex128
 16503  	if len(a) > 0 {
 16504  		_a = &a[0]
 16505  	}
 16506  	return isZero(C.LAPACKE_zpotri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 16507  }
 16508  
 16509  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spotrs.f.
 16510  func Spotrs(ul blas.Uplo, n, nrhs int, a []float32, lda int, b []float32, ldb int) bool {
 16511  	switch ul {
 16512  	case blas.Upper:
 16513  		ul = 'U'
 16514  	case blas.Lower:
 16515  		ul = 'L'
 16516  	default:
 16517  		panic("lapack: illegal triangle")
 16518  	}
 16519  	var _a *float32
 16520  	if len(a) > 0 {
 16521  		_a = &a[0]
 16522  	}
 16523  	var _b *float32
 16524  	if len(b) > 0 {
 16525  		_b = &b[0]
 16526  	}
 16527  	return isZero(C.LAPACKE_spotrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb)))
 16528  }
 16529  
 16530  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpotrs.f.
 16531  func Dpotrs(ul blas.Uplo, n, nrhs int, a []float64, lda int, b []float64, ldb int) bool {
 16532  	switch ul {
 16533  	case blas.Upper:
 16534  		ul = 'U'
 16535  	case blas.Lower:
 16536  		ul = 'L'
 16537  	default:
 16538  		panic("lapack: illegal triangle")
 16539  	}
 16540  	var _a *float64
 16541  	if len(a) > 0 {
 16542  		_a = &a[0]
 16543  	}
 16544  	var _b *float64
 16545  	if len(b) > 0 {
 16546  		_b = &b[0]
 16547  	}
 16548  	return isZero(C.LAPACKE_dpotrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb)))
 16549  }
 16550  
 16551  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpotrs.f.
 16552  func Cpotrs(ul blas.Uplo, n, nrhs int, a []complex64, lda int, b []complex64, ldb int) bool {
 16553  	switch ul {
 16554  	case blas.Upper:
 16555  		ul = 'U'
 16556  	case blas.Lower:
 16557  		ul = 'L'
 16558  	default:
 16559  		panic("lapack: illegal triangle")
 16560  	}
 16561  	var _a *complex64
 16562  	if len(a) > 0 {
 16563  		_a = &a[0]
 16564  	}
 16565  	var _b *complex64
 16566  	if len(b) > 0 {
 16567  		_b = &b[0]
 16568  	}
 16569  	return isZero(C.LAPACKE_cpotrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 16570  }
 16571  
 16572  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpotrs.f.
 16573  func Zpotrs(ul blas.Uplo, n, nrhs int, a []complex128, lda int, b []complex128, ldb int) bool {
 16574  	switch ul {
 16575  	case blas.Upper:
 16576  		ul = 'U'
 16577  	case blas.Lower:
 16578  		ul = 'L'
 16579  	default:
 16580  		panic("lapack: illegal triangle")
 16581  	}
 16582  	var _a *complex128
 16583  	if len(a) > 0 {
 16584  		_a = &a[0]
 16585  	}
 16586  	var _b *complex128
 16587  	if len(b) > 0 {
 16588  		_b = &b[0]
 16589  	}
 16590  	return isZero(C.LAPACKE_zpotrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 16591  }
 16592  
 16593  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sppcon.f.
 16594  func Sppcon(ul blas.Uplo, n int, ap []float32, anorm float32, rcond, work []float32, iwork []int32) bool {
 16595  	switch ul {
 16596  	case blas.Upper:
 16597  		ul = 'U'
 16598  	case blas.Lower:
 16599  		ul = 'L'
 16600  	default:
 16601  		panic("lapack: illegal triangle")
 16602  	}
 16603  	var _ap *float32
 16604  	if len(ap) > 0 {
 16605  		_ap = &ap[0]
 16606  	}
 16607  	var _rcond *float32
 16608  	if len(rcond) > 0 {
 16609  		_rcond = &rcond[0]
 16610  	}
 16611  	var _work *float32
 16612  	if len(work) > 0 {
 16613  		_work = &work[0]
 16614  	}
 16615  	var _iwork *int32
 16616  	if len(iwork) > 0 {
 16617  		_iwork = &iwork[0]
 16618  	}
 16619  	return isZero(C.LAPACKE_sppcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 16620  }
 16621  
 16622  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dppcon.f.
 16623  func Dppcon(ul blas.Uplo, n int, ap []float64, anorm float64, rcond, work []float64, iwork []int32) bool {
 16624  	switch ul {
 16625  	case blas.Upper:
 16626  		ul = 'U'
 16627  	case blas.Lower:
 16628  		ul = 'L'
 16629  	default:
 16630  		panic("lapack: illegal triangle")
 16631  	}
 16632  	var _ap *float64
 16633  	if len(ap) > 0 {
 16634  		_ap = &ap[0]
 16635  	}
 16636  	var _rcond *float64
 16637  	if len(rcond) > 0 {
 16638  		_rcond = &rcond[0]
 16639  	}
 16640  	var _work *float64
 16641  	if len(work) > 0 {
 16642  		_work = &work[0]
 16643  	}
 16644  	var _iwork *int32
 16645  	if len(iwork) > 0 {
 16646  		_iwork = &iwork[0]
 16647  	}
 16648  	return isZero(C.LAPACKE_dppcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 16649  }
 16650  
 16651  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cppcon.f.
 16652  func Cppcon(ul blas.Uplo, n int, ap []complex64, anorm float32, rcond []float32, work []complex64, rwork []float32) bool {
 16653  	switch ul {
 16654  	case blas.Upper:
 16655  		ul = 'U'
 16656  	case blas.Lower:
 16657  		ul = 'L'
 16658  	default:
 16659  		panic("lapack: illegal triangle")
 16660  	}
 16661  	var _ap *complex64
 16662  	if len(ap) > 0 {
 16663  		_ap = &ap[0]
 16664  	}
 16665  	var _rcond *float32
 16666  	if len(rcond) > 0 {
 16667  		_rcond = &rcond[0]
 16668  	}
 16669  	var _work *complex64
 16670  	if len(work) > 0 {
 16671  		_work = &work[0]
 16672  	}
 16673  	var _rwork *float32
 16674  	if len(rwork) > 0 {
 16675  		_rwork = &rwork[0]
 16676  	}
 16677  	return isZero(C.LAPACKE_cppcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 16678  }
 16679  
 16680  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zppcon.f.
 16681  func Zppcon(ul blas.Uplo, n int, ap []complex128, anorm float64, rcond []float64, work []complex128, rwork []float64) bool {
 16682  	switch ul {
 16683  	case blas.Upper:
 16684  		ul = 'U'
 16685  	case blas.Lower:
 16686  		ul = 'L'
 16687  	default:
 16688  		panic("lapack: illegal triangle")
 16689  	}
 16690  	var _ap *complex128
 16691  	if len(ap) > 0 {
 16692  		_ap = &ap[0]
 16693  	}
 16694  	var _rcond *float64
 16695  	if len(rcond) > 0 {
 16696  		_rcond = &rcond[0]
 16697  	}
 16698  	var _work *complex128
 16699  	if len(work) > 0 {
 16700  		_work = &work[0]
 16701  	}
 16702  	var _rwork *float64
 16703  	if len(rwork) > 0 {
 16704  		_rwork = &rwork[0]
 16705  	}
 16706  	return isZero(C.LAPACKE_zppcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 16707  }
 16708  
 16709  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sppequ.f.
 16710  func Sppequ(ul blas.Uplo, n int, ap, s, scond, amax []float32) bool {
 16711  	switch ul {
 16712  	case blas.Upper:
 16713  		ul = 'U'
 16714  	case blas.Lower:
 16715  		ul = 'L'
 16716  	default:
 16717  		panic("lapack: illegal triangle")
 16718  	}
 16719  	var _ap *float32
 16720  	if len(ap) > 0 {
 16721  		_ap = &ap[0]
 16722  	}
 16723  	var _s *float32
 16724  	if len(s) > 0 {
 16725  		_s = &s[0]
 16726  	}
 16727  	var _scond *float32
 16728  	if len(scond) > 0 {
 16729  		_scond = &scond[0]
 16730  	}
 16731  	var _amax *float32
 16732  	if len(amax) > 0 {
 16733  		_amax = &amax[0]
 16734  	}
 16735  	return isZero(C.LAPACKE_sppequ_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax)))
 16736  }
 16737  
 16738  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dppequ.f.
 16739  func Dppequ(ul blas.Uplo, n int, ap, s, scond, amax []float64) bool {
 16740  	switch ul {
 16741  	case blas.Upper:
 16742  		ul = 'U'
 16743  	case blas.Lower:
 16744  		ul = 'L'
 16745  	default:
 16746  		panic("lapack: illegal triangle")
 16747  	}
 16748  	var _ap *float64
 16749  	if len(ap) > 0 {
 16750  		_ap = &ap[0]
 16751  	}
 16752  	var _s *float64
 16753  	if len(s) > 0 {
 16754  		_s = &s[0]
 16755  	}
 16756  	var _scond *float64
 16757  	if len(scond) > 0 {
 16758  		_scond = &scond[0]
 16759  	}
 16760  	var _amax *float64
 16761  	if len(amax) > 0 {
 16762  		_amax = &amax[0]
 16763  	}
 16764  	return isZero(C.LAPACKE_dppequ_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax)))
 16765  }
 16766  
 16767  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cppequ.f.
 16768  func Cppequ(ul blas.Uplo, n int, ap []complex64, s, scond, amax []float32) bool {
 16769  	switch ul {
 16770  	case blas.Upper:
 16771  		ul = 'U'
 16772  	case blas.Lower:
 16773  		ul = 'L'
 16774  	default:
 16775  		panic("lapack: illegal triangle")
 16776  	}
 16777  	var _ap *complex64
 16778  	if len(ap) > 0 {
 16779  		_ap = &ap[0]
 16780  	}
 16781  	var _s *float32
 16782  	if len(s) > 0 {
 16783  		_s = &s[0]
 16784  	}
 16785  	var _scond *float32
 16786  	if len(scond) > 0 {
 16787  		_scond = &scond[0]
 16788  	}
 16789  	var _amax *float32
 16790  	if len(amax) > 0 {
 16791  		_amax = &amax[0]
 16792  	}
 16793  	return isZero(C.LAPACKE_cppequ_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax)))
 16794  }
 16795  
 16796  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zppequ.f.
 16797  func Zppequ(ul blas.Uplo, n int, ap []complex128, s, scond, amax []float64) bool {
 16798  	switch ul {
 16799  	case blas.Upper:
 16800  		ul = 'U'
 16801  	case blas.Lower:
 16802  		ul = 'L'
 16803  	default:
 16804  		panic("lapack: illegal triangle")
 16805  	}
 16806  	var _ap *complex128
 16807  	if len(ap) > 0 {
 16808  		_ap = &ap[0]
 16809  	}
 16810  	var _s *float64
 16811  	if len(s) > 0 {
 16812  		_s = &s[0]
 16813  	}
 16814  	var _scond *float64
 16815  	if len(scond) > 0 {
 16816  		_scond = &scond[0]
 16817  	}
 16818  	var _amax *float64
 16819  	if len(amax) > 0 {
 16820  		_amax = &amax[0]
 16821  	}
 16822  	return isZero(C.LAPACKE_zppequ_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax)))
 16823  }
 16824  
 16825  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spprfs.f.
 16826  func Spprfs(ul blas.Uplo, n, nrhs int, ap, afp, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
 16827  	switch ul {
 16828  	case blas.Upper:
 16829  		ul = 'U'
 16830  	case blas.Lower:
 16831  		ul = 'L'
 16832  	default:
 16833  		panic("lapack: illegal triangle")
 16834  	}
 16835  	var _ap *float32
 16836  	if len(ap) > 0 {
 16837  		_ap = &ap[0]
 16838  	}
 16839  	var _afp *float32
 16840  	if len(afp) > 0 {
 16841  		_afp = &afp[0]
 16842  	}
 16843  	var _b *float32
 16844  	if len(b) > 0 {
 16845  		_b = &b[0]
 16846  	}
 16847  	var _x *float32
 16848  	if len(x) > 0 {
 16849  		_x = &x[0]
 16850  	}
 16851  	var _ferr *float32
 16852  	if len(ferr) > 0 {
 16853  		_ferr = &ferr[0]
 16854  	}
 16855  	var _berr *float32
 16856  	if len(berr) > 0 {
 16857  		_berr = &berr[0]
 16858  	}
 16859  	var _work *float32
 16860  	if len(work) > 0 {
 16861  		_work = &work[0]
 16862  	}
 16863  	var _iwork *int32
 16864  	if len(iwork) > 0 {
 16865  		_iwork = &iwork[0]
 16866  	}
 16867  	return isZero(C.LAPACKE_spprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.float)(_afp), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 16868  }
 16869  
 16870  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpprfs.f.
 16871  func Dpprfs(ul blas.Uplo, n, nrhs int, ap, afp, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
 16872  	switch ul {
 16873  	case blas.Upper:
 16874  		ul = 'U'
 16875  	case blas.Lower:
 16876  		ul = 'L'
 16877  	default:
 16878  		panic("lapack: illegal triangle")
 16879  	}
 16880  	var _ap *float64
 16881  	if len(ap) > 0 {
 16882  		_ap = &ap[0]
 16883  	}
 16884  	var _afp *float64
 16885  	if len(afp) > 0 {
 16886  		_afp = &afp[0]
 16887  	}
 16888  	var _b *float64
 16889  	if len(b) > 0 {
 16890  		_b = &b[0]
 16891  	}
 16892  	var _x *float64
 16893  	if len(x) > 0 {
 16894  		_x = &x[0]
 16895  	}
 16896  	var _ferr *float64
 16897  	if len(ferr) > 0 {
 16898  		_ferr = &ferr[0]
 16899  	}
 16900  	var _berr *float64
 16901  	if len(berr) > 0 {
 16902  		_berr = &berr[0]
 16903  	}
 16904  	var _work *float64
 16905  	if len(work) > 0 {
 16906  		_work = &work[0]
 16907  	}
 16908  	var _iwork *int32
 16909  	if len(iwork) > 0 {
 16910  		_iwork = &iwork[0]
 16911  	}
 16912  	return isZero(C.LAPACKE_dpprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.double)(_afp), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 16913  }
 16914  
 16915  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpprfs.f.
 16916  func Cpprfs(ul blas.Uplo, n, nrhs int, ap, afp, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 16917  	switch ul {
 16918  	case blas.Upper:
 16919  		ul = 'U'
 16920  	case blas.Lower:
 16921  		ul = 'L'
 16922  	default:
 16923  		panic("lapack: illegal triangle")
 16924  	}
 16925  	var _ap *complex64
 16926  	if len(ap) > 0 {
 16927  		_ap = &ap[0]
 16928  	}
 16929  	var _afp *complex64
 16930  	if len(afp) > 0 {
 16931  		_afp = &afp[0]
 16932  	}
 16933  	var _b *complex64
 16934  	if len(b) > 0 {
 16935  		_b = &b[0]
 16936  	}
 16937  	var _x *complex64
 16938  	if len(x) > 0 {
 16939  		_x = &x[0]
 16940  	}
 16941  	var _ferr *float32
 16942  	if len(ferr) > 0 {
 16943  		_ferr = &ferr[0]
 16944  	}
 16945  	var _berr *float32
 16946  	if len(berr) > 0 {
 16947  		_berr = &berr[0]
 16948  	}
 16949  	var _work *complex64
 16950  	if len(work) > 0 {
 16951  		_work = &work[0]
 16952  	}
 16953  	var _rwork *float32
 16954  	if len(rwork) > 0 {
 16955  		_rwork = &rwork[0]
 16956  	}
 16957  	return isZero(C.LAPACKE_cpprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_afp), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 16958  }
 16959  
 16960  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpprfs.f.
 16961  func Zpprfs(ul blas.Uplo, n, nrhs int, ap, afp, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 16962  	switch ul {
 16963  	case blas.Upper:
 16964  		ul = 'U'
 16965  	case blas.Lower:
 16966  		ul = 'L'
 16967  	default:
 16968  		panic("lapack: illegal triangle")
 16969  	}
 16970  	var _ap *complex128
 16971  	if len(ap) > 0 {
 16972  		_ap = &ap[0]
 16973  	}
 16974  	var _afp *complex128
 16975  	if len(afp) > 0 {
 16976  		_afp = &afp[0]
 16977  	}
 16978  	var _b *complex128
 16979  	if len(b) > 0 {
 16980  		_b = &b[0]
 16981  	}
 16982  	var _x *complex128
 16983  	if len(x) > 0 {
 16984  		_x = &x[0]
 16985  	}
 16986  	var _ferr *float64
 16987  	if len(ferr) > 0 {
 16988  		_ferr = &ferr[0]
 16989  	}
 16990  	var _berr *float64
 16991  	if len(berr) > 0 {
 16992  		_berr = &berr[0]
 16993  	}
 16994  	var _work *complex128
 16995  	if len(work) > 0 {
 16996  		_work = &work[0]
 16997  	}
 16998  	var _rwork *float64
 16999  	if len(rwork) > 0 {
 17000  		_rwork = &rwork[0]
 17001  	}
 17002  	return isZero(C.LAPACKE_zpprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_afp), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 17003  }
 17004  
 17005  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sppsv.f.
 17006  func Sppsv(ul blas.Uplo, n, nrhs int, ap, b []float32, ldb int) bool {
 17007  	switch ul {
 17008  	case blas.Upper:
 17009  		ul = 'U'
 17010  	case blas.Lower:
 17011  		ul = 'L'
 17012  	default:
 17013  		panic("lapack: illegal triangle")
 17014  	}
 17015  	var _ap *float32
 17016  	if len(ap) > 0 {
 17017  		_ap = &ap[0]
 17018  	}
 17019  	var _b *float32
 17020  	if len(b) > 0 {
 17021  		_b = &b[0]
 17022  	}
 17023  	return isZero(C.LAPACKE_sppsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.float)(_b), (C.lapack_int)(ldb)))
 17024  }
 17025  
 17026  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dppsv.f.
 17027  func Dppsv(ul blas.Uplo, n, nrhs int, ap, b []float64, ldb int) bool {
 17028  	switch ul {
 17029  	case blas.Upper:
 17030  		ul = 'U'
 17031  	case blas.Lower:
 17032  		ul = 'L'
 17033  	default:
 17034  		panic("lapack: illegal triangle")
 17035  	}
 17036  	var _ap *float64
 17037  	if len(ap) > 0 {
 17038  		_ap = &ap[0]
 17039  	}
 17040  	var _b *float64
 17041  	if len(b) > 0 {
 17042  		_b = &b[0]
 17043  	}
 17044  	return isZero(C.LAPACKE_dppsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.double)(_b), (C.lapack_int)(ldb)))
 17045  }
 17046  
 17047  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cppsv.f.
 17048  func Cppsv(ul blas.Uplo, n, nrhs int, ap, b []complex64, ldb int) bool {
 17049  	switch ul {
 17050  	case blas.Upper:
 17051  		ul = 'U'
 17052  	case blas.Lower:
 17053  		ul = 'L'
 17054  	default:
 17055  		panic("lapack: illegal triangle")
 17056  	}
 17057  	var _ap *complex64
 17058  	if len(ap) > 0 {
 17059  		_ap = &ap[0]
 17060  	}
 17061  	var _b *complex64
 17062  	if len(b) > 0 {
 17063  		_b = &b[0]
 17064  	}
 17065  	return isZero(C.LAPACKE_cppsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 17066  }
 17067  
 17068  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zppsv.f.
 17069  func Zppsv(ul blas.Uplo, n, nrhs int, ap, b []complex128, ldb int) bool {
 17070  	switch ul {
 17071  	case blas.Upper:
 17072  		ul = 'U'
 17073  	case blas.Lower:
 17074  		ul = 'L'
 17075  	default:
 17076  		panic("lapack: illegal triangle")
 17077  	}
 17078  	var _ap *complex128
 17079  	if len(ap) > 0 {
 17080  		_ap = &ap[0]
 17081  	}
 17082  	var _b *complex128
 17083  	if len(b) > 0 {
 17084  		_b = &b[0]
 17085  	}
 17086  	return isZero(C.LAPACKE_zppsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 17087  }
 17088  
 17089  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sppsvx.f.
 17090  func Sppsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []float32, equed []byte, s, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32, iwork []int32) bool {
 17091  	switch ul {
 17092  	case blas.Upper:
 17093  		ul = 'U'
 17094  	case blas.Lower:
 17095  		ul = 'L'
 17096  	default:
 17097  		panic("lapack: illegal triangle")
 17098  	}
 17099  	var _ap *float32
 17100  	if len(ap) > 0 {
 17101  		_ap = &ap[0]
 17102  	}
 17103  	var _afp *float32
 17104  	if len(afp) > 0 {
 17105  		_afp = &afp[0]
 17106  	}
 17107  	var _equed *byte
 17108  	if len(equed) > 0 {
 17109  		_equed = &equed[0]
 17110  	}
 17111  	var _s *float32
 17112  	if len(s) > 0 {
 17113  		_s = &s[0]
 17114  	}
 17115  	var _b *float32
 17116  	if len(b) > 0 {
 17117  		_b = &b[0]
 17118  	}
 17119  	var _x *float32
 17120  	if len(x) > 0 {
 17121  		_x = &x[0]
 17122  	}
 17123  	var _rcond *float32
 17124  	if len(rcond) > 0 {
 17125  		_rcond = &rcond[0]
 17126  	}
 17127  	var _ferr *float32
 17128  	if len(ferr) > 0 {
 17129  		_ferr = &ferr[0]
 17130  	}
 17131  	var _berr *float32
 17132  	if len(berr) > 0 {
 17133  		_berr = &berr[0]
 17134  	}
 17135  	var _work *float32
 17136  	if len(work) > 0 {
 17137  		_work = &work[0]
 17138  	}
 17139  	var _iwork *int32
 17140  	if len(iwork) > 0 {
 17141  		_iwork = &iwork[0]
 17142  	}
 17143  	return isZero(C.LAPACKE_sppsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.float)(_afp), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_s), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 17144  }
 17145  
 17146  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dppsvx.f.
 17147  func Dppsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []float64, equed []byte, s, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64, iwork []int32) bool {
 17148  	switch ul {
 17149  	case blas.Upper:
 17150  		ul = 'U'
 17151  	case blas.Lower:
 17152  		ul = 'L'
 17153  	default:
 17154  		panic("lapack: illegal triangle")
 17155  	}
 17156  	var _ap *float64
 17157  	if len(ap) > 0 {
 17158  		_ap = &ap[0]
 17159  	}
 17160  	var _afp *float64
 17161  	if len(afp) > 0 {
 17162  		_afp = &afp[0]
 17163  	}
 17164  	var _equed *byte
 17165  	if len(equed) > 0 {
 17166  		_equed = &equed[0]
 17167  	}
 17168  	var _s *float64
 17169  	if len(s) > 0 {
 17170  		_s = &s[0]
 17171  	}
 17172  	var _b *float64
 17173  	if len(b) > 0 {
 17174  		_b = &b[0]
 17175  	}
 17176  	var _x *float64
 17177  	if len(x) > 0 {
 17178  		_x = &x[0]
 17179  	}
 17180  	var _rcond *float64
 17181  	if len(rcond) > 0 {
 17182  		_rcond = &rcond[0]
 17183  	}
 17184  	var _ferr *float64
 17185  	if len(ferr) > 0 {
 17186  		_ferr = &ferr[0]
 17187  	}
 17188  	var _berr *float64
 17189  	if len(berr) > 0 {
 17190  		_berr = &berr[0]
 17191  	}
 17192  	var _work *float64
 17193  	if len(work) > 0 {
 17194  		_work = &work[0]
 17195  	}
 17196  	var _iwork *int32
 17197  	if len(iwork) > 0 {
 17198  		_iwork = &iwork[0]
 17199  	}
 17200  	return isZero(C.LAPACKE_dppsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.double)(_afp), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_s), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 17201  }
 17202  
 17203  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cppsvx.f.
 17204  func Cppsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []complex64, equed []byte, s []float32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
 17205  	switch ul {
 17206  	case blas.Upper:
 17207  		ul = 'U'
 17208  	case blas.Lower:
 17209  		ul = 'L'
 17210  	default:
 17211  		panic("lapack: illegal triangle")
 17212  	}
 17213  	var _ap *complex64
 17214  	if len(ap) > 0 {
 17215  		_ap = &ap[0]
 17216  	}
 17217  	var _afp *complex64
 17218  	if len(afp) > 0 {
 17219  		_afp = &afp[0]
 17220  	}
 17221  	var _equed *byte
 17222  	if len(equed) > 0 {
 17223  		_equed = &equed[0]
 17224  	}
 17225  	var _s *float32
 17226  	if len(s) > 0 {
 17227  		_s = &s[0]
 17228  	}
 17229  	var _b *complex64
 17230  	if len(b) > 0 {
 17231  		_b = &b[0]
 17232  	}
 17233  	var _x *complex64
 17234  	if len(x) > 0 {
 17235  		_x = &x[0]
 17236  	}
 17237  	var _rcond *float32
 17238  	if len(rcond) > 0 {
 17239  		_rcond = &rcond[0]
 17240  	}
 17241  	var _ferr *float32
 17242  	if len(ferr) > 0 {
 17243  		_ferr = &ferr[0]
 17244  	}
 17245  	var _berr *float32
 17246  	if len(berr) > 0 {
 17247  		_berr = &berr[0]
 17248  	}
 17249  	var _work *complex64
 17250  	if len(work) > 0 {
 17251  		_work = &work[0]
 17252  	}
 17253  	var _rwork *float32
 17254  	if len(rwork) > 0 {
 17255  		_rwork = &rwork[0]
 17256  	}
 17257  	return isZero(C.LAPACKE_cppsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_afp), (*C.char)(unsafe.Pointer(_equed)), (*C.float)(_s), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 17258  }
 17259  
 17260  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zppsvx.f.
 17261  func Zppsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []complex128, equed []byte, s []float64, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
 17262  	switch ul {
 17263  	case blas.Upper:
 17264  		ul = 'U'
 17265  	case blas.Lower:
 17266  		ul = 'L'
 17267  	default:
 17268  		panic("lapack: illegal triangle")
 17269  	}
 17270  	var _ap *complex128
 17271  	if len(ap) > 0 {
 17272  		_ap = &ap[0]
 17273  	}
 17274  	var _afp *complex128
 17275  	if len(afp) > 0 {
 17276  		_afp = &afp[0]
 17277  	}
 17278  	var _equed *byte
 17279  	if len(equed) > 0 {
 17280  		_equed = &equed[0]
 17281  	}
 17282  	var _s *float64
 17283  	if len(s) > 0 {
 17284  		_s = &s[0]
 17285  	}
 17286  	var _b *complex128
 17287  	if len(b) > 0 {
 17288  		_b = &b[0]
 17289  	}
 17290  	var _x *complex128
 17291  	if len(x) > 0 {
 17292  		_x = &x[0]
 17293  	}
 17294  	var _rcond *float64
 17295  	if len(rcond) > 0 {
 17296  		_rcond = &rcond[0]
 17297  	}
 17298  	var _ferr *float64
 17299  	if len(ferr) > 0 {
 17300  		_ferr = &ferr[0]
 17301  	}
 17302  	var _berr *float64
 17303  	if len(berr) > 0 {
 17304  		_berr = &berr[0]
 17305  	}
 17306  	var _work *complex128
 17307  	if len(work) > 0 {
 17308  		_work = &work[0]
 17309  	}
 17310  	var _rwork *float64
 17311  	if len(rwork) > 0 {
 17312  		_rwork = &rwork[0]
 17313  	}
 17314  	return isZero(C.LAPACKE_zppsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_afp), (*C.char)(unsafe.Pointer(_equed)), (*C.double)(_s), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 17315  }
 17316  
 17317  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spptrf.f.
 17318  func Spptrf(ul blas.Uplo, n int, ap []float32) bool {
 17319  	switch ul {
 17320  	case blas.Upper:
 17321  		ul = 'U'
 17322  	case blas.Lower:
 17323  		ul = 'L'
 17324  	default:
 17325  		panic("lapack: illegal triangle")
 17326  	}
 17327  	var _ap *float32
 17328  	if len(ap) > 0 {
 17329  		_ap = &ap[0]
 17330  	}
 17331  	return isZero(C.LAPACKE_spptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap)))
 17332  }
 17333  
 17334  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpptrf.f.
 17335  func Dpptrf(ul blas.Uplo, n int, ap []float64) bool {
 17336  	switch ul {
 17337  	case blas.Upper:
 17338  		ul = 'U'
 17339  	case blas.Lower:
 17340  		ul = 'L'
 17341  	default:
 17342  		panic("lapack: illegal triangle")
 17343  	}
 17344  	var _ap *float64
 17345  	if len(ap) > 0 {
 17346  		_ap = &ap[0]
 17347  	}
 17348  	return isZero(C.LAPACKE_dpptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap)))
 17349  }
 17350  
 17351  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpptrf.f.
 17352  func Cpptrf(ul blas.Uplo, n int, ap []complex64) bool {
 17353  	switch ul {
 17354  	case blas.Upper:
 17355  		ul = 'U'
 17356  	case blas.Lower:
 17357  		ul = 'L'
 17358  	default:
 17359  		panic("lapack: illegal triangle")
 17360  	}
 17361  	var _ap *complex64
 17362  	if len(ap) > 0 {
 17363  		_ap = &ap[0]
 17364  	}
 17365  	return isZero(C.LAPACKE_cpptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap)))
 17366  }
 17367  
 17368  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpptrf.f.
 17369  func Zpptrf(ul blas.Uplo, n int, ap []complex128) bool {
 17370  	switch ul {
 17371  	case blas.Upper:
 17372  		ul = 'U'
 17373  	case blas.Lower:
 17374  		ul = 'L'
 17375  	default:
 17376  		panic("lapack: illegal triangle")
 17377  	}
 17378  	var _ap *complex128
 17379  	if len(ap) > 0 {
 17380  		_ap = &ap[0]
 17381  	}
 17382  	return isZero(C.LAPACKE_zpptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap)))
 17383  }
 17384  
 17385  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spptri.f.
 17386  func Spptri(ul blas.Uplo, n int, ap []float32) bool {
 17387  	switch ul {
 17388  	case blas.Upper:
 17389  		ul = 'U'
 17390  	case blas.Lower:
 17391  		ul = 'L'
 17392  	default:
 17393  		panic("lapack: illegal triangle")
 17394  	}
 17395  	var _ap *float32
 17396  	if len(ap) > 0 {
 17397  		_ap = &ap[0]
 17398  	}
 17399  	return isZero(C.LAPACKE_spptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap)))
 17400  }
 17401  
 17402  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpptri.f.
 17403  func Dpptri(ul blas.Uplo, n int, ap []float64) bool {
 17404  	switch ul {
 17405  	case blas.Upper:
 17406  		ul = 'U'
 17407  	case blas.Lower:
 17408  		ul = 'L'
 17409  	default:
 17410  		panic("lapack: illegal triangle")
 17411  	}
 17412  	var _ap *float64
 17413  	if len(ap) > 0 {
 17414  		_ap = &ap[0]
 17415  	}
 17416  	return isZero(C.LAPACKE_dpptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap)))
 17417  }
 17418  
 17419  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpptri.f.
 17420  func Cpptri(ul blas.Uplo, n int, ap []complex64) bool {
 17421  	switch ul {
 17422  	case blas.Upper:
 17423  		ul = 'U'
 17424  	case blas.Lower:
 17425  		ul = 'L'
 17426  	default:
 17427  		panic("lapack: illegal triangle")
 17428  	}
 17429  	var _ap *complex64
 17430  	if len(ap) > 0 {
 17431  		_ap = &ap[0]
 17432  	}
 17433  	return isZero(C.LAPACKE_cpptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap)))
 17434  }
 17435  
 17436  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpptri.f.
 17437  func Zpptri(ul blas.Uplo, n int, ap []complex128) bool {
 17438  	switch ul {
 17439  	case blas.Upper:
 17440  		ul = 'U'
 17441  	case blas.Lower:
 17442  		ul = 'L'
 17443  	default:
 17444  		panic("lapack: illegal triangle")
 17445  	}
 17446  	var _ap *complex128
 17447  	if len(ap) > 0 {
 17448  		_ap = &ap[0]
 17449  	}
 17450  	return isZero(C.LAPACKE_zpptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap)))
 17451  }
 17452  
 17453  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spptrs.f.
 17454  func Spptrs(ul blas.Uplo, n, nrhs int, ap, b []float32, ldb int) bool {
 17455  	switch ul {
 17456  	case blas.Upper:
 17457  		ul = 'U'
 17458  	case blas.Lower:
 17459  		ul = 'L'
 17460  	default:
 17461  		panic("lapack: illegal triangle")
 17462  	}
 17463  	var _ap *float32
 17464  	if len(ap) > 0 {
 17465  		_ap = &ap[0]
 17466  	}
 17467  	var _b *float32
 17468  	if len(b) > 0 {
 17469  		_b = &b[0]
 17470  	}
 17471  	return isZero(C.LAPACKE_spptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.float)(_b), (C.lapack_int)(ldb)))
 17472  }
 17473  
 17474  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpptrs.f.
 17475  func Dpptrs(ul blas.Uplo, n, nrhs int, ap, b []float64, ldb int) bool {
 17476  	switch ul {
 17477  	case blas.Upper:
 17478  		ul = 'U'
 17479  	case blas.Lower:
 17480  		ul = 'L'
 17481  	default:
 17482  		panic("lapack: illegal triangle")
 17483  	}
 17484  	var _ap *float64
 17485  	if len(ap) > 0 {
 17486  		_ap = &ap[0]
 17487  	}
 17488  	var _b *float64
 17489  	if len(b) > 0 {
 17490  		_b = &b[0]
 17491  	}
 17492  	return isZero(C.LAPACKE_dpptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.double)(_b), (C.lapack_int)(ldb)))
 17493  }
 17494  
 17495  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpptrs.f.
 17496  func Cpptrs(ul blas.Uplo, n, nrhs int, ap, b []complex64, ldb int) bool {
 17497  	switch ul {
 17498  	case blas.Upper:
 17499  		ul = 'U'
 17500  	case blas.Lower:
 17501  		ul = 'L'
 17502  	default:
 17503  		panic("lapack: illegal triangle")
 17504  	}
 17505  	var _ap *complex64
 17506  	if len(ap) > 0 {
 17507  		_ap = &ap[0]
 17508  	}
 17509  	var _b *complex64
 17510  	if len(b) > 0 {
 17511  		_b = &b[0]
 17512  	}
 17513  	return isZero(C.LAPACKE_cpptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 17514  }
 17515  
 17516  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpptrs.f.
 17517  func Zpptrs(ul blas.Uplo, n, nrhs int, ap, b []complex128, ldb int) bool {
 17518  	switch ul {
 17519  	case blas.Upper:
 17520  		ul = 'U'
 17521  	case blas.Lower:
 17522  		ul = 'L'
 17523  	default:
 17524  		panic("lapack: illegal triangle")
 17525  	}
 17526  	var _ap *complex128
 17527  	if len(ap) > 0 {
 17528  		_ap = &ap[0]
 17529  	}
 17530  	var _b *complex128
 17531  	if len(b) > 0 {
 17532  		_b = &b[0]
 17533  	}
 17534  	return isZero(C.LAPACKE_zpptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 17535  }
 17536  
 17537  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spstrf.f.
 17538  func Spstrf(ul blas.Uplo, n int, a []float32, lda int, piv, rank []int32, tol float32, work []float32) bool {
 17539  	switch ul {
 17540  	case blas.Upper:
 17541  		ul = 'U'
 17542  	case blas.Lower:
 17543  		ul = 'L'
 17544  	default:
 17545  		panic("lapack: illegal triangle")
 17546  	}
 17547  	var _a *float32
 17548  	if len(a) > 0 {
 17549  		_a = &a[0]
 17550  	}
 17551  	var _piv *int32
 17552  	if len(piv) > 0 {
 17553  		_piv = &piv[0]
 17554  	}
 17555  	var _rank *int32
 17556  	if len(rank) > 0 {
 17557  		_rank = &rank[0]
 17558  	}
 17559  	var _work *float32
 17560  	if len(work) > 0 {
 17561  		_work = &work[0]
 17562  	}
 17563  	return isZero(C.LAPACKE_spstrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_piv), (*C.lapack_int)(_rank), (C.float)(tol), (*C.float)(_work)))
 17564  }
 17565  
 17566  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpstrf.f.
 17567  func Dpstrf(ul blas.Uplo, n int, a []float64, lda int, piv, rank []int32, tol float64, work []float64) bool {
 17568  	switch ul {
 17569  	case blas.Upper:
 17570  		ul = 'U'
 17571  	case blas.Lower:
 17572  		ul = 'L'
 17573  	default:
 17574  		panic("lapack: illegal triangle")
 17575  	}
 17576  	var _a *float64
 17577  	if len(a) > 0 {
 17578  		_a = &a[0]
 17579  	}
 17580  	var _piv *int32
 17581  	if len(piv) > 0 {
 17582  		_piv = &piv[0]
 17583  	}
 17584  	var _rank *int32
 17585  	if len(rank) > 0 {
 17586  		_rank = &rank[0]
 17587  	}
 17588  	var _work *float64
 17589  	if len(work) > 0 {
 17590  		_work = &work[0]
 17591  	}
 17592  	return isZero(C.LAPACKE_dpstrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_piv), (*C.lapack_int)(_rank), (C.double)(tol), (*C.double)(_work)))
 17593  }
 17594  
 17595  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpstrf.f.
 17596  func Cpstrf(ul blas.Uplo, n int, a []complex64, lda int, piv, rank []int32, tol float32, work []float32) bool {
 17597  	switch ul {
 17598  	case blas.Upper:
 17599  		ul = 'U'
 17600  	case blas.Lower:
 17601  		ul = 'L'
 17602  	default:
 17603  		panic("lapack: illegal triangle")
 17604  	}
 17605  	var _a *complex64
 17606  	if len(a) > 0 {
 17607  		_a = &a[0]
 17608  	}
 17609  	var _piv *int32
 17610  	if len(piv) > 0 {
 17611  		_piv = &piv[0]
 17612  	}
 17613  	var _rank *int32
 17614  	if len(rank) > 0 {
 17615  		_rank = &rank[0]
 17616  	}
 17617  	var _work *float32
 17618  	if len(work) > 0 {
 17619  		_work = &work[0]
 17620  	}
 17621  	return isZero(C.LAPACKE_cpstrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_piv), (*C.lapack_int)(_rank), (C.float)(tol), (*C.float)(_work)))
 17622  }
 17623  
 17624  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpstrf.f.
 17625  func Zpstrf(ul blas.Uplo, n int, a []complex128, lda int, piv, rank []int32, tol float64, work []float64) bool {
 17626  	switch ul {
 17627  	case blas.Upper:
 17628  		ul = 'U'
 17629  	case blas.Lower:
 17630  		ul = 'L'
 17631  	default:
 17632  		panic("lapack: illegal triangle")
 17633  	}
 17634  	var _a *complex128
 17635  	if len(a) > 0 {
 17636  		_a = &a[0]
 17637  	}
 17638  	var _piv *int32
 17639  	if len(piv) > 0 {
 17640  		_piv = &piv[0]
 17641  	}
 17642  	var _rank *int32
 17643  	if len(rank) > 0 {
 17644  		_rank = &rank[0]
 17645  	}
 17646  	var _work *float64
 17647  	if len(work) > 0 {
 17648  		_work = &work[0]
 17649  	}
 17650  	return isZero(C.LAPACKE_zpstrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_piv), (*C.lapack_int)(_rank), (C.double)(tol), (*C.double)(_work)))
 17651  }
 17652  
 17653  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sptcon.f.
 17654  func Sptcon(n int, d, e []float32, anorm float32, rcond, work []float32) bool {
 17655  	var _d *float32
 17656  	if len(d) > 0 {
 17657  		_d = &d[0]
 17658  	}
 17659  	var _e *float32
 17660  	if len(e) > 0 {
 17661  		_e = &e[0]
 17662  	}
 17663  	var _rcond *float32
 17664  	if len(rcond) > 0 {
 17665  		_rcond = &rcond[0]
 17666  	}
 17667  	var _work *float32
 17668  	if len(work) > 0 {
 17669  		_work = &work[0]
 17670  	}
 17671  	return isZero(C.LAPACKE_sptcon_work((C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work)))
 17672  }
 17673  
 17674  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dptcon.f.
 17675  func Dptcon(n int, d, e []float64, anorm float64, rcond, work []float64) bool {
 17676  	var _d *float64
 17677  	if len(d) > 0 {
 17678  		_d = &d[0]
 17679  	}
 17680  	var _e *float64
 17681  	if len(e) > 0 {
 17682  		_e = &e[0]
 17683  	}
 17684  	var _rcond *float64
 17685  	if len(rcond) > 0 {
 17686  		_rcond = &rcond[0]
 17687  	}
 17688  	var _work *float64
 17689  	if len(work) > 0 {
 17690  		_work = &work[0]
 17691  	}
 17692  	return isZero(C.LAPACKE_dptcon_work((C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work)))
 17693  }
 17694  
 17695  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cptcon.f.
 17696  func Cptcon(n int, d []float32, e []complex64, anorm float32, rcond, work []float32) bool {
 17697  	var _d *float32
 17698  	if len(d) > 0 {
 17699  		_d = &d[0]
 17700  	}
 17701  	var _e *complex64
 17702  	if len(e) > 0 {
 17703  		_e = &e[0]
 17704  	}
 17705  	var _rcond *float32
 17706  	if len(rcond) > 0 {
 17707  		_rcond = &rcond[0]
 17708  	}
 17709  	var _work *float32
 17710  	if len(work) > 0 {
 17711  		_work = &work[0]
 17712  	}
 17713  	return isZero(C.LAPACKE_cptcon_work((C.lapack_int)(n), (*C.float)(_d), (*C.lapack_complex_float)(_e), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work)))
 17714  }
 17715  
 17716  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zptcon.f.
 17717  func Zptcon(n int, d []float64, e []complex128, anorm float64, rcond, work []float64) bool {
 17718  	var _d *float64
 17719  	if len(d) > 0 {
 17720  		_d = &d[0]
 17721  	}
 17722  	var _e *complex128
 17723  	if len(e) > 0 {
 17724  		_e = &e[0]
 17725  	}
 17726  	var _rcond *float64
 17727  	if len(rcond) > 0 {
 17728  		_rcond = &rcond[0]
 17729  	}
 17730  	var _work *float64
 17731  	if len(work) > 0 {
 17732  		_work = &work[0]
 17733  	}
 17734  	return isZero(C.LAPACKE_zptcon_work((C.lapack_int)(n), (*C.double)(_d), (*C.lapack_complex_double)(_e), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work)))
 17735  }
 17736  
 17737  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spteqr.f.
 17738  func Spteqr(compz lapack.Comp, n int, d, e, z []float32, ldz int, work []float32) bool {
 17739  	var _d *float32
 17740  	if len(d) > 0 {
 17741  		_d = &d[0]
 17742  	}
 17743  	var _e *float32
 17744  	if len(e) > 0 {
 17745  		_e = &e[0]
 17746  	}
 17747  	var _z *float32
 17748  	if len(z) > 0 {
 17749  		_z = &z[0]
 17750  	}
 17751  	var _work *float32
 17752  	if len(work) > 0 {
 17753  		_work = &work[0]
 17754  	}
 17755  	return isZero(C.LAPACKE_spteqr_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 17756  }
 17757  
 17758  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpteqr.f.
 17759  func Dpteqr(compz lapack.Comp, n int, d, e, z []float64, ldz int, work []float64) bool {
 17760  	var _d *float64
 17761  	if len(d) > 0 {
 17762  		_d = &d[0]
 17763  	}
 17764  	var _e *float64
 17765  	if len(e) > 0 {
 17766  		_e = &e[0]
 17767  	}
 17768  	var _z *float64
 17769  	if len(z) > 0 {
 17770  		_z = &z[0]
 17771  	}
 17772  	var _work *float64
 17773  	if len(work) > 0 {
 17774  		_work = &work[0]
 17775  	}
 17776  	return isZero(C.LAPACKE_dpteqr_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 17777  }
 17778  
 17779  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpteqr.f.
 17780  func Cpteqr(compz lapack.Comp, n int, d, e []float32, z []complex64, ldz int, work []float32) bool {
 17781  	var _d *float32
 17782  	if len(d) > 0 {
 17783  		_d = &d[0]
 17784  	}
 17785  	var _e *float32
 17786  	if len(e) > 0 {
 17787  		_e = &e[0]
 17788  	}
 17789  	var _z *complex64
 17790  	if len(z) > 0 {
 17791  		_z = &z[0]
 17792  	}
 17793  	var _work *float32
 17794  	if len(work) > 0 {
 17795  		_work = &work[0]
 17796  	}
 17797  	return isZero(C.LAPACKE_cpteqr_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 17798  }
 17799  
 17800  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpteqr.f.
 17801  func Zpteqr(compz lapack.Comp, n int, d, e []float64, z []complex128, ldz int, work []float64) bool {
 17802  	var _d *float64
 17803  	if len(d) > 0 {
 17804  		_d = &d[0]
 17805  	}
 17806  	var _e *float64
 17807  	if len(e) > 0 {
 17808  		_e = &e[0]
 17809  	}
 17810  	var _z *complex128
 17811  	if len(z) > 0 {
 17812  		_z = &z[0]
 17813  	}
 17814  	var _work *float64
 17815  	if len(work) > 0 {
 17816  		_work = &work[0]
 17817  	}
 17818  	return isZero(C.LAPACKE_zpteqr_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 17819  }
 17820  
 17821  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sptrfs.f.
 17822  func Sptrfs(n, nrhs int, d, e, df, ef, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32) bool {
 17823  	var _d *float32
 17824  	if len(d) > 0 {
 17825  		_d = &d[0]
 17826  	}
 17827  	var _e *float32
 17828  	if len(e) > 0 {
 17829  		_e = &e[0]
 17830  	}
 17831  	var _df *float32
 17832  	if len(df) > 0 {
 17833  		_df = &df[0]
 17834  	}
 17835  	var _ef *float32
 17836  	if len(ef) > 0 {
 17837  		_ef = &ef[0]
 17838  	}
 17839  	var _b *float32
 17840  	if len(b) > 0 {
 17841  		_b = &b[0]
 17842  	}
 17843  	var _x *float32
 17844  	if len(x) > 0 {
 17845  		_x = &x[0]
 17846  	}
 17847  	var _ferr *float32
 17848  	if len(ferr) > 0 {
 17849  		_ferr = &ferr[0]
 17850  	}
 17851  	var _berr *float32
 17852  	if len(berr) > 0 {
 17853  		_berr = &berr[0]
 17854  	}
 17855  	var _work *float32
 17856  	if len(work) > 0 {
 17857  		_work = &work[0]
 17858  	}
 17859  	return isZero(C.LAPACKE_sptrfs_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_d), (*C.float)(_e), (*C.float)(_df), (*C.float)(_ef), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work)))
 17860  }
 17861  
 17862  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dptrfs.f.
 17863  func Dptrfs(n, nrhs int, d, e, df, ef, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64) bool {
 17864  	var _d *float64
 17865  	if len(d) > 0 {
 17866  		_d = &d[0]
 17867  	}
 17868  	var _e *float64
 17869  	if len(e) > 0 {
 17870  		_e = &e[0]
 17871  	}
 17872  	var _df *float64
 17873  	if len(df) > 0 {
 17874  		_df = &df[0]
 17875  	}
 17876  	var _ef *float64
 17877  	if len(ef) > 0 {
 17878  		_ef = &ef[0]
 17879  	}
 17880  	var _b *float64
 17881  	if len(b) > 0 {
 17882  		_b = &b[0]
 17883  	}
 17884  	var _x *float64
 17885  	if len(x) > 0 {
 17886  		_x = &x[0]
 17887  	}
 17888  	var _ferr *float64
 17889  	if len(ferr) > 0 {
 17890  		_ferr = &ferr[0]
 17891  	}
 17892  	var _berr *float64
 17893  	if len(berr) > 0 {
 17894  		_berr = &berr[0]
 17895  	}
 17896  	var _work *float64
 17897  	if len(work) > 0 {
 17898  		_work = &work[0]
 17899  	}
 17900  	return isZero(C.LAPACKE_dptrfs_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_d), (*C.double)(_e), (*C.double)(_df), (*C.double)(_ef), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work)))
 17901  }
 17902  
 17903  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cptrfs.f.
 17904  func Cptrfs(ul blas.Uplo, n, nrhs int, d []float32, e []complex64, df []float32, ef, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 17905  	switch ul {
 17906  	case blas.Upper:
 17907  		ul = 'U'
 17908  	case blas.Lower:
 17909  		ul = 'L'
 17910  	default:
 17911  		panic("lapack: illegal triangle")
 17912  	}
 17913  	var _d *float32
 17914  	if len(d) > 0 {
 17915  		_d = &d[0]
 17916  	}
 17917  	var _e *complex64
 17918  	if len(e) > 0 {
 17919  		_e = &e[0]
 17920  	}
 17921  	var _df *float32
 17922  	if len(df) > 0 {
 17923  		_df = &df[0]
 17924  	}
 17925  	var _ef *complex64
 17926  	if len(ef) > 0 {
 17927  		_ef = &ef[0]
 17928  	}
 17929  	var _b *complex64
 17930  	if len(b) > 0 {
 17931  		_b = &b[0]
 17932  	}
 17933  	var _x *complex64
 17934  	if len(x) > 0 {
 17935  		_x = &x[0]
 17936  	}
 17937  	var _ferr *float32
 17938  	if len(ferr) > 0 {
 17939  		_ferr = &ferr[0]
 17940  	}
 17941  	var _berr *float32
 17942  	if len(berr) > 0 {
 17943  		_berr = &berr[0]
 17944  	}
 17945  	var _work *complex64
 17946  	if len(work) > 0 {
 17947  		_work = &work[0]
 17948  	}
 17949  	var _rwork *float32
 17950  	if len(rwork) > 0 {
 17951  		_rwork = &rwork[0]
 17952  	}
 17953  	return isZero(C.LAPACKE_cptrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_d), (*C.lapack_complex_float)(_e), (*C.float)(_df), (*C.lapack_complex_float)(_ef), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 17954  }
 17955  
 17956  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zptrfs.f.
 17957  func Zptrfs(ul blas.Uplo, n, nrhs int, d []float64, e []complex128, df []float64, ef, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 17958  	switch ul {
 17959  	case blas.Upper:
 17960  		ul = 'U'
 17961  	case blas.Lower:
 17962  		ul = 'L'
 17963  	default:
 17964  		panic("lapack: illegal triangle")
 17965  	}
 17966  	var _d *float64
 17967  	if len(d) > 0 {
 17968  		_d = &d[0]
 17969  	}
 17970  	var _e *complex128
 17971  	if len(e) > 0 {
 17972  		_e = &e[0]
 17973  	}
 17974  	var _df *float64
 17975  	if len(df) > 0 {
 17976  		_df = &df[0]
 17977  	}
 17978  	var _ef *complex128
 17979  	if len(ef) > 0 {
 17980  		_ef = &ef[0]
 17981  	}
 17982  	var _b *complex128
 17983  	if len(b) > 0 {
 17984  		_b = &b[0]
 17985  	}
 17986  	var _x *complex128
 17987  	if len(x) > 0 {
 17988  		_x = &x[0]
 17989  	}
 17990  	var _ferr *float64
 17991  	if len(ferr) > 0 {
 17992  		_ferr = &ferr[0]
 17993  	}
 17994  	var _berr *float64
 17995  	if len(berr) > 0 {
 17996  		_berr = &berr[0]
 17997  	}
 17998  	var _work *complex128
 17999  	if len(work) > 0 {
 18000  		_work = &work[0]
 18001  	}
 18002  	var _rwork *float64
 18003  	if len(rwork) > 0 {
 18004  		_rwork = &rwork[0]
 18005  	}
 18006  	return isZero(C.LAPACKE_zptrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_d), (*C.lapack_complex_double)(_e), (*C.double)(_df), (*C.lapack_complex_double)(_ef), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 18007  }
 18008  
 18009  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sptsv.f.
 18010  func Sptsv(n, nrhs int, d, e, b []float32, ldb int) bool {
 18011  	var _d *float32
 18012  	if len(d) > 0 {
 18013  		_d = &d[0]
 18014  	}
 18015  	var _e *float32
 18016  	if len(e) > 0 {
 18017  		_e = &e[0]
 18018  	}
 18019  	var _b *float32
 18020  	if len(b) > 0 {
 18021  		_b = &b[0]
 18022  	}
 18023  	return isZero(C.LAPACKE_sptsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_d), (*C.float)(_e), (*C.float)(_b), (C.lapack_int)(ldb)))
 18024  }
 18025  
 18026  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dptsv.f.
 18027  func Dptsv(n, nrhs int, d, e, b []float64, ldb int) bool {
 18028  	var _d *float64
 18029  	if len(d) > 0 {
 18030  		_d = &d[0]
 18031  	}
 18032  	var _e *float64
 18033  	if len(e) > 0 {
 18034  		_e = &e[0]
 18035  	}
 18036  	var _b *float64
 18037  	if len(b) > 0 {
 18038  		_b = &b[0]
 18039  	}
 18040  	return isZero(C.LAPACKE_dptsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_d), (*C.double)(_e), (*C.double)(_b), (C.lapack_int)(ldb)))
 18041  }
 18042  
 18043  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cptsv.f.
 18044  func Cptsv(n, nrhs int, d []float32, e, b []complex64, ldb int) bool {
 18045  	var _d *float32
 18046  	if len(d) > 0 {
 18047  		_d = &d[0]
 18048  	}
 18049  	var _e *complex64
 18050  	if len(e) > 0 {
 18051  		_e = &e[0]
 18052  	}
 18053  	var _b *complex64
 18054  	if len(b) > 0 {
 18055  		_b = &b[0]
 18056  	}
 18057  	return isZero(C.LAPACKE_cptsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_d), (*C.lapack_complex_float)(_e), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 18058  }
 18059  
 18060  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zptsv.f.
 18061  func Zptsv(n, nrhs int, d []float64, e, b []complex128, ldb int) bool {
 18062  	var _d *float64
 18063  	if len(d) > 0 {
 18064  		_d = &d[0]
 18065  	}
 18066  	var _e *complex128
 18067  	if len(e) > 0 {
 18068  		_e = &e[0]
 18069  	}
 18070  	var _b *complex128
 18071  	if len(b) > 0 {
 18072  		_b = &b[0]
 18073  	}
 18074  	return isZero(C.LAPACKE_zptsv_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_d), (*C.lapack_complex_double)(_e), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 18075  }
 18076  
 18077  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sptsvx.f.
 18078  func Sptsvx(fact byte, n, nrhs int, d, e, df, ef, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32) bool {
 18079  	var _d *float32
 18080  	if len(d) > 0 {
 18081  		_d = &d[0]
 18082  	}
 18083  	var _e *float32
 18084  	if len(e) > 0 {
 18085  		_e = &e[0]
 18086  	}
 18087  	var _df *float32
 18088  	if len(df) > 0 {
 18089  		_df = &df[0]
 18090  	}
 18091  	var _ef *float32
 18092  	if len(ef) > 0 {
 18093  		_ef = &ef[0]
 18094  	}
 18095  	var _b *float32
 18096  	if len(b) > 0 {
 18097  		_b = &b[0]
 18098  	}
 18099  	var _x *float32
 18100  	if len(x) > 0 {
 18101  		_x = &x[0]
 18102  	}
 18103  	var _rcond *float32
 18104  	if len(rcond) > 0 {
 18105  		_rcond = &rcond[0]
 18106  	}
 18107  	var _ferr *float32
 18108  	if len(ferr) > 0 {
 18109  		_ferr = &ferr[0]
 18110  	}
 18111  	var _berr *float32
 18112  	if len(berr) > 0 {
 18113  		_berr = &berr[0]
 18114  	}
 18115  	var _work *float32
 18116  	if len(work) > 0 {
 18117  		_work = &work[0]
 18118  	}
 18119  	return isZero(C.LAPACKE_sptsvx_work((C.int)(rowMajor), (C.char)(fact), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_d), (*C.float)(_e), (*C.float)(_df), (*C.float)(_ef), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work)))
 18120  }
 18121  
 18122  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dptsvx.f.
 18123  func Dptsvx(fact byte, n, nrhs int, d, e, df, ef, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64) bool {
 18124  	var _d *float64
 18125  	if len(d) > 0 {
 18126  		_d = &d[0]
 18127  	}
 18128  	var _e *float64
 18129  	if len(e) > 0 {
 18130  		_e = &e[0]
 18131  	}
 18132  	var _df *float64
 18133  	if len(df) > 0 {
 18134  		_df = &df[0]
 18135  	}
 18136  	var _ef *float64
 18137  	if len(ef) > 0 {
 18138  		_ef = &ef[0]
 18139  	}
 18140  	var _b *float64
 18141  	if len(b) > 0 {
 18142  		_b = &b[0]
 18143  	}
 18144  	var _x *float64
 18145  	if len(x) > 0 {
 18146  		_x = &x[0]
 18147  	}
 18148  	var _rcond *float64
 18149  	if len(rcond) > 0 {
 18150  		_rcond = &rcond[0]
 18151  	}
 18152  	var _ferr *float64
 18153  	if len(ferr) > 0 {
 18154  		_ferr = &ferr[0]
 18155  	}
 18156  	var _berr *float64
 18157  	if len(berr) > 0 {
 18158  		_berr = &berr[0]
 18159  	}
 18160  	var _work *float64
 18161  	if len(work) > 0 {
 18162  		_work = &work[0]
 18163  	}
 18164  	return isZero(C.LAPACKE_dptsvx_work((C.int)(rowMajor), (C.char)(fact), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_d), (*C.double)(_e), (*C.double)(_df), (*C.double)(_ef), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work)))
 18165  }
 18166  
 18167  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cptsvx.f.
 18168  func Cptsvx(fact byte, n, nrhs int, d []float32, e []complex64, df []float32, ef, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
 18169  	var _d *float32
 18170  	if len(d) > 0 {
 18171  		_d = &d[0]
 18172  	}
 18173  	var _e *complex64
 18174  	if len(e) > 0 {
 18175  		_e = &e[0]
 18176  	}
 18177  	var _df *float32
 18178  	if len(df) > 0 {
 18179  		_df = &df[0]
 18180  	}
 18181  	var _ef *complex64
 18182  	if len(ef) > 0 {
 18183  		_ef = &ef[0]
 18184  	}
 18185  	var _b *complex64
 18186  	if len(b) > 0 {
 18187  		_b = &b[0]
 18188  	}
 18189  	var _x *complex64
 18190  	if len(x) > 0 {
 18191  		_x = &x[0]
 18192  	}
 18193  	var _rcond *float32
 18194  	if len(rcond) > 0 {
 18195  		_rcond = &rcond[0]
 18196  	}
 18197  	var _ferr *float32
 18198  	if len(ferr) > 0 {
 18199  		_ferr = &ferr[0]
 18200  	}
 18201  	var _berr *float32
 18202  	if len(berr) > 0 {
 18203  		_berr = &berr[0]
 18204  	}
 18205  	var _work *complex64
 18206  	if len(work) > 0 {
 18207  		_work = &work[0]
 18208  	}
 18209  	var _rwork *float32
 18210  	if len(rwork) > 0 {
 18211  		_rwork = &rwork[0]
 18212  	}
 18213  	return isZero(C.LAPACKE_cptsvx_work((C.int)(rowMajor), (C.char)(fact), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_d), (*C.lapack_complex_float)(_e), (*C.float)(_df), (*C.lapack_complex_float)(_ef), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 18214  }
 18215  
 18216  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zptsvx.f.
 18217  func Zptsvx(fact byte, n, nrhs int, d []float64, e []complex128, df []float64, ef, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
 18218  	var _d *float64
 18219  	if len(d) > 0 {
 18220  		_d = &d[0]
 18221  	}
 18222  	var _e *complex128
 18223  	if len(e) > 0 {
 18224  		_e = &e[0]
 18225  	}
 18226  	var _df *float64
 18227  	if len(df) > 0 {
 18228  		_df = &df[0]
 18229  	}
 18230  	var _ef *complex128
 18231  	if len(ef) > 0 {
 18232  		_ef = &ef[0]
 18233  	}
 18234  	var _b *complex128
 18235  	if len(b) > 0 {
 18236  		_b = &b[0]
 18237  	}
 18238  	var _x *complex128
 18239  	if len(x) > 0 {
 18240  		_x = &x[0]
 18241  	}
 18242  	var _rcond *float64
 18243  	if len(rcond) > 0 {
 18244  		_rcond = &rcond[0]
 18245  	}
 18246  	var _ferr *float64
 18247  	if len(ferr) > 0 {
 18248  		_ferr = &ferr[0]
 18249  	}
 18250  	var _berr *float64
 18251  	if len(berr) > 0 {
 18252  		_berr = &berr[0]
 18253  	}
 18254  	var _work *complex128
 18255  	if len(work) > 0 {
 18256  		_work = &work[0]
 18257  	}
 18258  	var _rwork *float64
 18259  	if len(rwork) > 0 {
 18260  		_rwork = &rwork[0]
 18261  	}
 18262  	return isZero(C.LAPACKE_zptsvx_work((C.int)(rowMajor), (C.char)(fact), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_d), (*C.lapack_complex_double)(_e), (*C.double)(_df), (*C.lapack_complex_double)(_ef), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 18263  }
 18264  
 18265  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spttrf.f.
 18266  func Spttrf(n int, d, e []float32) bool {
 18267  	var _d *float32
 18268  	if len(d) > 0 {
 18269  		_d = &d[0]
 18270  	}
 18271  	var _e *float32
 18272  	if len(e) > 0 {
 18273  		_e = &e[0]
 18274  	}
 18275  	return isZero(C.LAPACKE_spttrf_work((C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e)))
 18276  }
 18277  
 18278  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpttrf.f.
 18279  func Dpttrf(n int, d, e []float64) bool {
 18280  	var _d *float64
 18281  	if len(d) > 0 {
 18282  		_d = &d[0]
 18283  	}
 18284  	var _e *float64
 18285  	if len(e) > 0 {
 18286  		_e = &e[0]
 18287  	}
 18288  	return isZero(C.LAPACKE_dpttrf_work((C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e)))
 18289  }
 18290  
 18291  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpttrf.f.
 18292  func Cpttrf(n int, d []float32, e []complex64) bool {
 18293  	var _d *float32
 18294  	if len(d) > 0 {
 18295  		_d = &d[0]
 18296  	}
 18297  	var _e *complex64
 18298  	if len(e) > 0 {
 18299  		_e = &e[0]
 18300  	}
 18301  	return isZero(C.LAPACKE_cpttrf_work((C.lapack_int)(n), (*C.float)(_d), (*C.lapack_complex_float)(_e)))
 18302  }
 18303  
 18304  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpttrf.f.
 18305  func Zpttrf(n int, d []float64, e []complex128) bool {
 18306  	var _d *float64
 18307  	if len(d) > 0 {
 18308  		_d = &d[0]
 18309  	}
 18310  	var _e *complex128
 18311  	if len(e) > 0 {
 18312  		_e = &e[0]
 18313  	}
 18314  	return isZero(C.LAPACKE_zpttrf_work((C.lapack_int)(n), (*C.double)(_d), (*C.lapack_complex_double)(_e)))
 18315  }
 18316  
 18317  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/spttrs.f.
 18318  func Spttrs(n, nrhs int, d, e, b []float32, ldb int) bool {
 18319  	var _d *float32
 18320  	if len(d) > 0 {
 18321  		_d = &d[0]
 18322  	}
 18323  	var _e *float32
 18324  	if len(e) > 0 {
 18325  		_e = &e[0]
 18326  	}
 18327  	var _b *float32
 18328  	if len(b) > 0 {
 18329  		_b = &b[0]
 18330  	}
 18331  	return isZero(C.LAPACKE_spttrs_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_d), (*C.float)(_e), (*C.float)(_b), (C.lapack_int)(ldb)))
 18332  }
 18333  
 18334  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dpttrs.f.
 18335  func Dpttrs(n, nrhs int, d, e, b []float64, ldb int) bool {
 18336  	var _d *float64
 18337  	if len(d) > 0 {
 18338  		_d = &d[0]
 18339  	}
 18340  	var _e *float64
 18341  	if len(e) > 0 {
 18342  		_e = &e[0]
 18343  	}
 18344  	var _b *float64
 18345  	if len(b) > 0 {
 18346  		_b = &b[0]
 18347  	}
 18348  	return isZero(C.LAPACKE_dpttrs_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_d), (*C.double)(_e), (*C.double)(_b), (C.lapack_int)(ldb)))
 18349  }
 18350  
 18351  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cpttrs.f.
 18352  func Cpttrs(ul blas.Uplo, n, nrhs int, d []float32, e, b []complex64, ldb int) bool {
 18353  	switch ul {
 18354  	case blas.Upper:
 18355  		ul = 'U'
 18356  	case blas.Lower:
 18357  		ul = 'L'
 18358  	default:
 18359  		panic("lapack: illegal triangle")
 18360  	}
 18361  	var _d *float32
 18362  	if len(d) > 0 {
 18363  		_d = &d[0]
 18364  	}
 18365  	var _e *complex64
 18366  	if len(e) > 0 {
 18367  		_e = &e[0]
 18368  	}
 18369  	var _b *complex64
 18370  	if len(b) > 0 {
 18371  		_b = &b[0]
 18372  	}
 18373  	return isZero(C.LAPACKE_cpttrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_d), (*C.lapack_complex_float)(_e), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 18374  }
 18375  
 18376  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zpttrs.f.
 18377  func Zpttrs(ul blas.Uplo, n, nrhs int, d []float64, e, b []complex128, ldb int) bool {
 18378  	switch ul {
 18379  	case blas.Upper:
 18380  		ul = 'U'
 18381  	case blas.Lower:
 18382  		ul = 'L'
 18383  	default:
 18384  		panic("lapack: illegal triangle")
 18385  	}
 18386  	var _d *float64
 18387  	if len(d) > 0 {
 18388  		_d = &d[0]
 18389  	}
 18390  	var _e *complex128
 18391  	if len(e) > 0 {
 18392  		_e = &e[0]
 18393  	}
 18394  	var _b *complex128
 18395  	if len(b) > 0 {
 18396  		_b = &b[0]
 18397  	}
 18398  	return isZero(C.LAPACKE_zpttrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_d), (*C.lapack_complex_double)(_e), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 18399  }
 18400  
 18401  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbev.f.
 18402  func Ssbev(jobz lapack.Job, ul blas.Uplo, n, kd int, ab []float32, ldab int, w, z []float32, ldz int, work []float32) bool {
 18403  	switch ul {
 18404  	case blas.Upper:
 18405  		ul = 'U'
 18406  	case blas.Lower:
 18407  		ul = 'L'
 18408  	default:
 18409  		panic("lapack: illegal triangle")
 18410  	}
 18411  	var _ab *float32
 18412  	if len(ab) > 0 {
 18413  		_ab = &ab[0]
 18414  	}
 18415  	var _w *float32
 18416  	if len(w) > 0 {
 18417  		_w = &w[0]
 18418  	}
 18419  	var _z *float32
 18420  	if len(z) > 0 {
 18421  		_z = &z[0]
 18422  	}
 18423  	var _work *float32
 18424  	if len(work) > 0 {
 18425  		_work = &work[0]
 18426  	}
 18427  	return isZero(C.LAPACKE_ssbev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 18428  }
 18429  
 18430  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbev.f.
 18431  func Dsbev(jobz lapack.Job, ul blas.Uplo, n, kd int, ab []float64, ldab int, w, z []float64, ldz int, work []float64) bool {
 18432  	switch ul {
 18433  	case blas.Upper:
 18434  		ul = 'U'
 18435  	case blas.Lower:
 18436  		ul = 'L'
 18437  	default:
 18438  		panic("lapack: illegal triangle")
 18439  	}
 18440  	var _ab *float64
 18441  	if len(ab) > 0 {
 18442  		_ab = &ab[0]
 18443  	}
 18444  	var _w *float64
 18445  	if len(w) > 0 {
 18446  		_w = &w[0]
 18447  	}
 18448  	var _z *float64
 18449  	if len(z) > 0 {
 18450  		_z = &z[0]
 18451  	}
 18452  	var _work *float64
 18453  	if len(work) > 0 {
 18454  		_work = &work[0]
 18455  	}
 18456  	return isZero(C.LAPACKE_dsbev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 18457  }
 18458  
 18459  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbevd.f.
 18460  func Ssbevd(jobz lapack.Job, ul blas.Uplo, n, kd int, ab []float32, ldab int, w, z []float32, ldz int, work []float32, lwork int, iwork []int32, liwork int) bool {
 18461  	switch ul {
 18462  	case blas.Upper:
 18463  		ul = 'U'
 18464  	case blas.Lower:
 18465  		ul = 'L'
 18466  	default:
 18467  		panic("lapack: illegal triangle")
 18468  	}
 18469  	var _ab *float32
 18470  	if len(ab) > 0 {
 18471  		_ab = &ab[0]
 18472  	}
 18473  	var _w *float32
 18474  	if len(w) > 0 {
 18475  		_w = &w[0]
 18476  	}
 18477  	var _z *float32
 18478  	if len(z) > 0 {
 18479  		_z = &z[0]
 18480  	}
 18481  	var _work *float32
 18482  	if len(work) > 0 {
 18483  		_work = &work[0]
 18484  	}
 18485  	var _iwork *int32
 18486  	if len(iwork) > 0 {
 18487  		_iwork = &iwork[0]
 18488  	}
 18489  	return isZero(C.LAPACKE_ssbevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 18490  }
 18491  
 18492  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbevd.f.
 18493  func Dsbevd(jobz lapack.Job, ul blas.Uplo, n, kd int, ab []float64, ldab int, w, z []float64, ldz int, work []float64, lwork int, iwork []int32, liwork int) bool {
 18494  	switch ul {
 18495  	case blas.Upper:
 18496  		ul = 'U'
 18497  	case blas.Lower:
 18498  		ul = 'L'
 18499  	default:
 18500  		panic("lapack: illegal triangle")
 18501  	}
 18502  	var _ab *float64
 18503  	if len(ab) > 0 {
 18504  		_ab = &ab[0]
 18505  	}
 18506  	var _w *float64
 18507  	if len(w) > 0 {
 18508  		_w = &w[0]
 18509  	}
 18510  	var _z *float64
 18511  	if len(z) > 0 {
 18512  		_z = &z[0]
 18513  	}
 18514  	var _work *float64
 18515  	if len(work) > 0 {
 18516  		_work = &work[0]
 18517  	}
 18518  	var _iwork *int32
 18519  	if len(iwork) > 0 {
 18520  		_iwork = &iwork[0]
 18521  	}
 18522  	return isZero(C.LAPACKE_dsbevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 18523  }
 18524  
 18525  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbevx.f.
 18526  func Ssbevx(jobz lapack.Job, rng byte, ul blas.Uplo, n, kd int, ab []float32, ldab int, q []float32, ldq int, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, work []float32, iwork, ifail []int32) bool {
 18527  	switch ul {
 18528  	case blas.Upper:
 18529  		ul = 'U'
 18530  	case blas.Lower:
 18531  		ul = 'L'
 18532  	default:
 18533  		panic("lapack: illegal triangle")
 18534  	}
 18535  	var _ab *float32
 18536  	if len(ab) > 0 {
 18537  		_ab = &ab[0]
 18538  	}
 18539  	var _q *float32
 18540  	if len(q) > 0 {
 18541  		_q = &q[0]
 18542  	}
 18543  	var _m *int32
 18544  	if len(m) > 0 {
 18545  		_m = &m[0]
 18546  	}
 18547  	var _w *float32
 18548  	if len(w) > 0 {
 18549  		_w = &w[0]
 18550  	}
 18551  	var _z *float32
 18552  	if len(z) > 0 {
 18553  		_z = &z[0]
 18554  	}
 18555  	var _work *float32
 18556  	if len(work) > 0 {
 18557  		_work = &work[0]
 18558  	}
 18559  	var _iwork *int32
 18560  	if len(iwork) > 0 {
 18561  		_iwork = &iwork[0]
 18562  	}
 18563  	var _ifail *int32
 18564  	if len(ifail) > 0 {
 18565  		_ifail = &ifail[0]
 18566  	}
 18567  	return isZero(C.LAPACKE_ssbevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_q), (C.lapack_int)(ldq), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 18568  }
 18569  
 18570  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbevx.f.
 18571  func Dsbevx(jobz lapack.Job, rng byte, ul blas.Uplo, n, kd int, ab []float64, ldab int, q []float64, ldq int, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, work []float64, iwork, ifail []int32) bool {
 18572  	switch ul {
 18573  	case blas.Upper:
 18574  		ul = 'U'
 18575  	case blas.Lower:
 18576  		ul = 'L'
 18577  	default:
 18578  		panic("lapack: illegal triangle")
 18579  	}
 18580  	var _ab *float64
 18581  	if len(ab) > 0 {
 18582  		_ab = &ab[0]
 18583  	}
 18584  	var _q *float64
 18585  	if len(q) > 0 {
 18586  		_q = &q[0]
 18587  	}
 18588  	var _m *int32
 18589  	if len(m) > 0 {
 18590  		_m = &m[0]
 18591  	}
 18592  	var _w *float64
 18593  	if len(w) > 0 {
 18594  		_w = &w[0]
 18595  	}
 18596  	var _z *float64
 18597  	if len(z) > 0 {
 18598  		_z = &z[0]
 18599  	}
 18600  	var _work *float64
 18601  	if len(work) > 0 {
 18602  		_work = &work[0]
 18603  	}
 18604  	var _iwork *int32
 18605  	if len(iwork) > 0 {
 18606  		_iwork = &iwork[0]
 18607  	}
 18608  	var _ifail *int32
 18609  	if len(ifail) > 0 {
 18610  		_ifail = &ifail[0]
 18611  	}
 18612  	return isZero(C.LAPACKE_dsbevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_q), (C.lapack_int)(ldq), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 18613  }
 18614  
 18615  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgst.f.
 18616  func Ssbgst(vect byte, ul blas.Uplo, n, ka, kb int, ab []float32, ldab int, bb []float32, ldbb int, x []float32, ldx int, work []float32) bool {
 18617  	switch ul {
 18618  	case blas.Upper:
 18619  		ul = 'U'
 18620  	case blas.Lower:
 18621  		ul = 'L'
 18622  	default:
 18623  		panic("lapack: illegal triangle")
 18624  	}
 18625  	var _ab *float32
 18626  	if len(ab) > 0 {
 18627  		_ab = &ab[0]
 18628  	}
 18629  	var _bb *float32
 18630  	if len(bb) > 0 {
 18631  		_bb = &bb[0]
 18632  	}
 18633  	var _x *float32
 18634  	if len(x) > 0 {
 18635  		_x = &x[0]
 18636  	}
 18637  	var _work *float32
 18638  	if len(work) > 0 {
 18639  		_work = &work[0]
 18640  	}
 18641  	return isZero(C.LAPACKE_ssbgst_work((C.int)(rowMajor), (C.char)(vect), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_bb), (C.lapack_int)(ldbb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_work)))
 18642  }
 18643  
 18644  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgst.f.
 18645  func Dsbgst(vect byte, ul blas.Uplo, n, ka, kb int, ab []float64, ldab int, bb []float64, ldbb int, x []float64, ldx int, work []float64) bool {
 18646  	switch ul {
 18647  	case blas.Upper:
 18648  		ul = 'U'
 18649  	case blas.Lower:
 18650  		ul = 'L'
 18651  	default:
 18652  		panic("lapack: illegal triangle")
 18653  	}
 18654  	var _ab *float64
 18655  	if len(ab) > 0 {
 18656  		_ab = &ab[0]
 18657  	}
 18658  	var _bb *float64
 18659  	if len(bb) > 0 {
 18660  		_bb = &bb[0]
 18661  	}
 18662  	var _x *float64
 18663  	if len(x) > 0 {
 18664  		_x = &x[0]
 18665  	}
 18666  	var _work *float64
 18667  	if len(work) > 0 {
 18668  		_work = &work[0]
 18669  	}
 18670  	return isZero(C.LAPACKE_dsbgst_work((C.int)(rowMajor), (C.char)(vect), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_bb), (C.lapack_int)(ldbb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_work)))
 18671  }
 18672  
 18673  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgv.f.
 18674  func Ssbgv(jobz lapack.Job, ul blas.Uplo, n, ka, kb int, ab []float32, ldab int, bb []float32, ldbb int, w, z []float32, ldz int, work []float32) bool {
 18675  	switch ul {
 18676  	case blas.Upper:
 18677  		ul = 'U'
 18678  	case blas.Lower:
 18679  		ul = 'L'
 18680  	default:
 18681  		panic("lapack: illegal triangle")
 18682  	}
 18683  	var _ab *float32
 18684  	if len(ab) > 0 {
 18685  		_ab = &ab[0]
 18686  	}
 18687  	var _bb *float32
 18688  	if len(bb) > 0 {
 18689  		_bb = &bb[0]
 18690  	}
 18691  	var _w *float32
 18692  	if len(w) > 0 {
 18693  		_w = &w[0]
 18694  	}
 18695  	var _z *float32
 18696  	if len(z) > 0 {
 18697  		_z = &z[0]
 18698  	}
 18699  	var _work *float32
 18700  	if len(work) > 0 {
 18701  		_work = &work[0]
 18702  	}
 18703  	return isZero(C.LAPACKE_ssbgv_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_bb), (C.lapack_int)(ldbb), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 18704  }
 18705  
 18706  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgv.f.
 18707  func Dsbgv(jobz lapack.Job, ul blas.Uplo, n, ka, kb int, ab []float64, ldab int, bb []float64, ldbb int, w, z []float64, ldz int, work []float64) bool {
 18708  	switch ul {
 18709  	case blas.Upper:
 18710  		ul = 'U'
 18711  	case blas.Lower:
 18712  		ul = 'L'
 18713  	default:
 18714  		panic("lapack: illegal triangle")
 18715  	}
 18716  	var _ab *float64
 18717  	if len(ab) > 0 {
 18718  		_ab = &ab[0]
 18719  	}
 18720  	var _bb *float64
 18721  	if len(bb) > 0 {
 18722  		_bb = &bb[0]
 18723  	}
 18724  	var _w *float64
 18725  	if len(w) > 0 {
 18726  		_w = &w[0]
 18727  	}
 18728  	var _z *float64
 18729  	if len(z) > 0 {
 18730  		_z = &z[0]
 18731  	}
 18732  	var _work *float64
 18733  	if len(work) > 0 {
 18734  		_work = &work[0]
 18735  	}
 18736  	return isZero(C.LAPACKE_dsbgv_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_bb), (C.lapack_int)(ldbb), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 18737  }
 18738  
 18739  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgvd.f.
 18740  func Ssbgvd(jobz lapack.Job, ul blas.Uplo, n, ka, kb int, ab []float32, ldab int, bb []float32, ldbb int, w, z []float32, ldz int, work []float32, lwork int, iwork []int32, liwork int) bool {
 18741  	switch ul {
 18742  	case blas.Upper:
 18743  		ul = 'U'
 18744  	case blas.Lower:
 18745  		ul = 'L'
 18746  	default:
 18747  		panic("lapack: illegal triangle")
 18748  	}
 18749  	var _ab *float32
 18750  	if len(ab) > 0 {
 18751  		_ab = &ab[0]
 18752  	}
 18753  	var _bb *float32
 18754  	if len(bb) > 0 {
 18755  		_bb = &bb[0]
 18756  	}
 18757  	var _w *float32
 18758  	if len(w) > 0 {
 18759  		_w = &w[0]
 18760  	}
 18761  	var _z *float32
 18762  	if len(z) > 0 {
 18763  		_z = &z[0]
 18764  	}
 18765  	var _work *float32
 18766  	if len(work) > 0 {
 18767  		_work = &work[0]
 18768  	}
 18769  	var _iwork *int32
 18770  	if len(iwork) > 0 {
 18771  		_iwork = &iwork[0]
 18772  	}
 18773  	return isZero(C.LAPACKE_ssbgvd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_bb), (C.lapack_int)(ldbb), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 18774  }
 18775  
 18776  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgvd.f.
 18777  func Dsbgvd(jobz lapack.Job, ul blas.Uplo, n, ka, kb int, ab []float64, ldab int, bb []float64, ldbb int, w, z []float64, ldz int, work []float64, lwork int, iwork []int32, liwork int) bool {
 18778  	switch ul {
 18779  	case blas.Upper:
 18780  		ul = 'U'
 18781  	case blas.Lower:
 18782  		ul = 'L'
 18783  	default:
 18784  		panic("lapack: illegal triangle")
 18785  	}
 18786  	var _ab *float64
 18787  	if len(ab) > 0 {
 18788  		_ab = &ab[0]
 18789  	}
 18790  	var _bb *float64
 18791  	if len(bb) > 0 {
 18792  		_bb = &bb[0]
 18793  	}
 18794  	var _w *float64
 18795  	if len(w) > 0 {
 18796  		_w = &w[0]
 18797  	}
 18798  	var _z *float64
 18799  	if len(z) > 0 {
 18800  		_z = &z[0]
 18801  	}
 18802  	var _work *float64
 18803  	if len(work) > 0 {
 18804  		_work = &work[0]
 18805  	}
 18806  	var _iwork *int32
 18807  	if len(iwork) > 0 {
 18808  		_iwork = &iwork[0]
 18809  	}
 18810  	return isZero(C.LAPACKE_dsbgvd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_bb), (C.lapack_int)(ldbb), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 18811  }
 18812  
 18813  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbgvx.f.
 18814  func Ssbgvx(jobz lapack.Job, rng byte, ul blas.Uplo, n, ka, kb int, ab []float32, ldab int, bb []float32, ldbb int, q []float32, ldq int, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, work []float32, iwork, ifail []int32) bool {
 18815  	switch ul {
 18816  	case blas.Upper:
 18817  		ul = 'U'
 18818  	case blas.Lower:
 18819  		ul = 'L'
 18820  	default:
 18821  		panic("lapack: illegal triangle")
 18822  	}
 18823  	var _ab *float32
 18824  	if len(ab) > 0 {
 18825  		_ab = &ab[0]
 18826  	}
 18827  	var _bb *float32
 18828  	if len(bb) > 0 {
 18829  		_bb = &bb[0]
 18830  	}
 18831  	var _q *float32
 18832  	if len(q) > 0 {
 18833  		_q = &q[0]
 18834  	}
 18835  	var _m *int32
 18836  	if len(m) > 0 {
 18837  		_m = &m[0]
 18838  	}
 18839  	var _w *float32
 18840  	if len(w) > 0 {
 18841  		_w = &w[0]
 18842  	}
 18843  	var _z *float32
 18844  	if len(z) > 0 {
 18845  		_z = &z[0]
 18846  	}
 18847  	var _work *float32
 18848  	if len(work) > 0 {
 18849  		_work = &work[0]
 18850  	}
 18851  	var _iwork *int32
 18852  	if len(iwork) > 0 {
 18853  		_iwork = &iwork[0]
 18854  	}
 18855  	var _ifail *int32
 18856  	if len(ifail) > 0 {
 18857  		_ifail = &ifail[0]
 18858  	}
 18859  	return isZero(C.LAPACKE_ssbgvx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_bb), (C.lapack_int)(ldbb), (*C.float)(_q), (C.lapack_int)(ldq), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 18860  }
 18861  
 18862  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbgvx.f.
 18863  func Dsbgvx(jobz lapack.Job, rng byte, ul blas.Uplo, n, ka, kb int, ab []float64, ldab int, bb []float64, ldbb int, q []float64, ldq int, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, work []float64, iwork, ifail []int32) bool {
 18864  	switch ul {
 18865  	case blas.Upper:
 18866  		ul = 'U'
 18867  	case blas.Lower:
 18868  		ul = 'L'
 18869  	default:
 18870  		panic("lapack: illegal triangle")
 18871  	}
 18872  	var _ab *float64
 18873  	if len(ab) > 0 {
 18874  		_ab = &ab[0]
 18875  	}
 18876  	var _bb *float64
 18877  	if len(bb) > 0 {
 18878  		_bb = &bb[0]
 18879  	}
 18880  	var _q *float64
 18881  	if len(q) > 0 {
 18882  		_q = &q[0]
 18883  	}
 18884  	var _m *int32
 18885  	if len(m) > 0 {
 18886  		_m = &m[0]
 18887  	}
 18888  	var _w *float64
 18889  	if len(w) > 0 {
 18890  		_w = &w[0]
 18891  	}
 18892  	var _z *float64
 18893  	if len(z) > 0 {
 18894  		_z = &z[0]
 18895  	}
 18896  	var _work *float64
 18897  	if len(work) > 0 {
 18898  		_work = &work[0]
 18899  	}
 18900  	var _iwork *int32
 18901  	if len(iwork) > 0 {
 18902  		_iwork = &iwork[0]
 18903  	}
 18904  	var _ifail *int32
 18905  	if len(ifail) > 0 {
 18906  		_ifail = &ifail[0]
 18907  	}
 18908  	return isZero(C.LAPACKE_dsbgvx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(ka), (C.lapack_int)(kb), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_bb), (C.lapack_int)(ldbb), (*C.double)(_q), (C.lapack_int)(ldq), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 18909  }
 18910  
 18911  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssbtrd.f.
 18912  func Ssbtrd(vect byte, ul blas.Uplo, n, kd int, ab []float32, ldab int, d, e, q []float32, ldq int, work []float32) bool {
 18913  	switch ul {
 18914  	case blas.Upper:
 18915  		ul = 'U'
 18916  	case blas.Lower:
 18917  		ul = 'L'
 18918  	default:
 18919  		panic("lapack: illegal triangle")
 18920  	}
 18921  	var _ab *float32
 18922  	if len(ab) > 0 {
 18923  		_ab = &ab[0]
 18924  	}
 18925  	var _d *float32
 18926  	if len(d) > 0 {
 18927  		_d = &d[0]
 18928  	}
 18929  	var _e *float32
 18930  	if len(e) > 0 {
 18931  		_e = &e[0]
 18932  	}
 18933  	var _q *float32
 18934  	if len(q) > 0 {
 18935  		_q = &q[0]
 18936  	}
 18937  	var _work *float32
 18938  	if len(work) > 0 {
 18939  		_work = &work[0]
 18940  	}
 18941  	return isZero(C.LAPACKE_ssbtrd_work((C.int)(rowMajor), (C.char)(vect), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_d), (*C.float)(_e), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_work)))
 18942  }
 18943  
 18944  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsbtrd.f.
 18945  func Dsbtrd(vect byte, ul blas.Uplo, n, kd int, ab []float64, ldab int, d, e, q []float64, ldq int, work []float64) bool {
 18946  	switch ul {
 18947  	case blas.Upper:
 18948  		ul = 'U'
 18949  	case blas.Lower:
 18950  		ul = 'L'
 18951  	default:
 18952  		panic("lapack: illegal triangle")
 18953  	}
 18954  	var _ab *float64
 18955  	if len(ab) > 0 {
 18956  		_ab = &ab[0]
 18957  	}
 18958  	var _d *float64
 18959  	if len(d) > 0 {
 18960  		_d = &d[0]
 18961  	}
 18962  	var _e *float64
 18963  	if len(e) > 0 {
 18964  		_e = &e[0]
 18965  	}
 18966  	var _q *float64
 18967  	if len(q) > 0 {
 18968  		_q = &q[0]
 18969  	}
 18970  	var _work *float64
 18971  	if len(work) > 0 {
 18972  		_work = &work[0]
 18973  	}
 18974  	return isZero(C.LAPACKE_dsbtrd_work((C.int)(rowMajor), (C.char)(vect), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_d), (*C.double)(_e), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_work)))
 18975  }
 18976  
 18977  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssfrk.f.
 18978  func Ssfrk(transr blas.Transpose, ul blas.Uplo, trans blas.Transpose, n, k int, alpha float32, a []float32, lda int, beta float32, c []float32) bool {
 18979  	switch transr {
 18980  	case blas.NoTrans:
 18981  		transr = 'N'
 18982  	case blas.Trans:
 18983  		transr = 'T'
 18984  	case blas.ConjTrans:
 18985  		transr = 'C'
 18986  	default:
 18987  		panic("lapack: bad trans")
 18988  	}
 18989  	switch ul {
 18990  	case blas.Upper:
 18991  		ul = 'U'
 18992  	case blas.Lower:
 18993  		ul = 'L'
 18994  	default:
 18995  		panic("lapack: illegal triangle")
 18996  	}
 18997  	switch trans {
 18998  	case blas.NoTrans:
 18999  		trans = 'N'
 19000  	case blas.Trans:
 19001  		trans = 'T'
 19002  	case blas.ConjTrans:
 19003  		trans = 'C'
 19004  	default:
 19005  		panic("lapack: bad trans")
 19006  	}
 19007  	var _a *float32
 19008  	if len(a) > 0 {
 19009  		_a = &a[0]
 19010  	}
 19011  	var _c *float32
 19012  	if len(c) > 0 {
 19013  		_c = &c[0]
 19014  	}
 19015  	return isZero(C.LAPACKE_ssfrk_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(k), (C.float)(alpha), (*C.float)(_a), (C.lapack_int)(lda), (C.float)(beta), (*C.float)(_c)))
 19016  }
 19017  
 19018  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsfrk.f.
 19019  func Dsfrk(transr blas.Transpose, ul blas.Uplo, trans blas.Transpose, n, k int, alpha float64, a []float64, lda int, beta float64, c []float64) bool {
 19020  	switch transr {
 19021  	case blas.NoTrans:
 19022  		transr = 'N'
 19023  	case blas.Trans:
 19024  		transr = 'T'
 19025  	case blas.ConjTrans:
 19026  		transr = 'C'
 19027  	default:
 19028  		panic("lapack: bad trans")
 19029  	}
 19030  	switch ul {
 19031  	case blas.Upper:
 19032  		ul = 'U'
 19033  	case blas.Lower:
 19034  		ul = 'L'
 19035  	default:
 19036  		panic("lapack: illegal triangle")
 19037  	}
 19038  	switch trans {
 19039  	case blas.NoTrans:
 19040  		trans = 'N'
 19041  	case blas.Trans:
 19042  		trans = 'T'
 19043  	case blas.ConjTrans:
 19044  		trans = 'C'
 19045  	default:
 19046  		panic("lapack: bad trans")
 19047  	}
 19048  	var _a *float64
 19049  	if len(a) > 0 {
 19050  		_a = &a[0]
 19051  	}
 19052  	var _c *float64
 19053  	if len(c) > 0 {
 19054  		_c = &c[0]
 19055  	}
 19056  	return isZero(C.LAPACKE_dsfrk_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.char)(trans), (C.lapack_int)(n), (C.lapack_int)(k), (C.double)(alpha), (*C.double)(_a), (C.lapack_int)(lda), (C.double)(beta), (*C.double)(_c)))
 19057  }
 19058  
 19059  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspcon.f.
 19060  func Sspcon(ul blas.Uplo, n int, ap []float32, ipiv []int32, anorm float32, rcond, work []float32, iwork []int32) bool {
 19061  	switch ul {
 19062  	case blas.Upper:
 19063  		ul = 'U'
 19064  	case blas.Lower:
 19065  		ul = 'L'
 19066  	default:
 19067  		panic("lapack: illegal triangle")
 19068  	}
 19069  	var _ap *float32
 19070  	if len(ap) > 0 {
 19071  		_ap = &ap[0]
 19072  	}
 19073  	var _ipiv *int32
 19074  	if len(ipiv) > 0 {
 19075  		_ipiv = &ipiv[0]
 19076  	}
 19077  	var _rcond *float32
 19078  	if len(rcond) > 0 {
 19079  		_rcond = &rcond[0]
 19080  	}
 19081  	var _work *float32
 19082  	if len(work) > 0 {
 19083  		_work = &work[0]
 19084  	}
 19085  	var _iwork *int32
 19086  	if len(iwork) > 0 {
 19087  		_iwork = &iwork[0]
 19088  	}
 19089  	return isZero(C.LAPACKE_sspcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 19090  }
 19091  
 19092  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspcon.f.
 19093  func Dspcon(ul blas.Uplo, n int, ap []float64, ipiv []int32, anorm float64, rcond, work []float64, iwork []int32) bool {
 19094  	switch ul {
 19095  	case blas.Upper:
 19096  		ul = 'U'
 19097  	case blas.Lower:
 19098  		ul = 'L'
 19099  	default:
 19100  		panic("lapack: illegal triangle")
 19101  	}
 19102  	var _ap *float64
 19103  	if len(ap) > 0 {
 19104  		_ap = &ap[0]
 19105  	}
 19106  	var _ipiv *int32
 19107  	if len(ipiv) > 0 {
 19108  		_ipiv = &ipiv[0]
 19109  	}
 19110  	var _rcond *float64
 19111  	if len(rcond) > 0 {
 19112  		_rcond = &rcond[0]
 19113  	}
 19114  	var _work *float64
 19115  	if len(work) > 0 {
 19116  		_work = &work[0]
 19117  	}
 19118  	var _iwork *int32
 19119  	if len(iwork) > 0 {
 19120  		_iwork = &iwork[0]
 19121  	}
 19122  	return isZero(C.LAPACKE_dspcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 19123  }
 19124  
 19125  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cspcon.f.
 19126  func Cspcon(ul blas.Uplo, n int, ap []complex64, ipiv []int32, anorm float32, rcond []float32, work []complex64) bool {
 19127  	switch ul {
 19128  	case blas.Upper:
 19129  		ul = 'U'
 19130  	case blas.Lower:
 19131  		ul = 'L'
 19132  	default:
 19133  		panic("lapack: illegal triangle")
 19134  	}
 19135  	var _ap *complex64
 19136  	if len(ap) > 0 {
 19137  		_ap = &ap[0]
 19138  	}
 19139  	var _ipiv *int32
 19140  	if len(ipiv) > 0 {
 19141  		_ipiv = &ipiv[0]
 19142  	}
 19143  	var _rcond *float32
 19144  	if len(rcond) > 0 {
 19145  		_rcond = &rcond[0]
 19146  	}
 19147  	var _work *complex64
 19148  	if len(work) > 0 {
 19149  		_work = &work[0]
 19150  	}
 19151  	return isZero(C.LAPACKE_cspcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work)))
 19152  }
 19153  
 19154  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zspcon.f.
 19155  func Zspcon(ul blas.Uplo, n int, ap []complex128, ipiv []int32, anorm float64, rcond []float64, work []complex128) bool {
 19156  	switch ul {
 19157  	case blas.Upper:
 19158  		ul = 'U'
 19159  	case blas.Lower:
 19160  		ul = 'L'
 19161  	default:
 19162  		panic("lapack: illegal triangle")
 19163  	}
 19164  	var _ap *complex128
 19165  	if len(ap) > 0 {
 19166  		_ap = &ap[0]
 19167  	}
 19168  	var _ipiv *int32
 19169  	if len(ipiv) > 0 {
 19170  		_ipiv = &ipiv[0]
 19171  	}
 19172  	var _rcond *float64
 19173  	if len(rcond) > 0 {
 19174  		_rcond = &rcond[0]
 19175  	}
 19176  	var _work *complex128
 19177  	if len(work) > 0 {
 19178  		_work = &work[0]
 19179  	}
 19180  	return isZero(C.LAPACKE_zspcon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work)))
 19181  }
 19182  
 19183  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspev.f.
 19184  func Sspev(jobz lapack.Job, ul blas.Uplo, n int, ap, w, z []float32, ldz int, work []float32) bool {
 19185  	switch ul {
 19186  	case blas.Upper:
 19187  		ul = 'U'
 19188  	case blas.Lower:
 19189  		ul = 'L'
 19190  	default:
 19191  		panic("lapack: illegal triangle")
 19192  	}
 19193  	var _ap *float32
 19194  	if len(ap) > 0 {
 19195  		_ap = &ap[0]
 19196  	}
 19197  	var _w *float32
 19198  	if len(w) > 0 {
 19199  		_w = &w[0]
 19200  	}
 19201  	var _z *float32
 19202  	if len(z) > 0 {
 19203  		_z = &z[0]
 19204  	}
 19205  	var _work *float32
 19206  	if len(work) > 0 {
 19207  		_work = &work[0]
 19208  	}
 19209  	return isZero(C.LAPACKE_sspev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 19210  }
 19211  
 19212  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspev.f.
 19213  func Dspev(jobz lapack.Job, ul blas.Uplo, n int, ap, w, z []float64, ldz int, work []float64) bool {
 19214  	switch ul {
 19215  	case blas.Upper:
 19216  		ul = 'U'
 19217  	case blas.Lower:
 19218  		ul = 'L'
 19219  	default:
 19220  		panic("lapack: illegal triangle")
 19221  	}
 19222  	var _ap *float64
 19223  	if len(ap) > 0 {
 19224  		_ap = &ap[0]
 19225  	}
 19226  	var _w *float64
 19227  	if len(w) > 0 {
 19228  		_w = &w[0]
 19229  	}
 19230  	var _z *float64
 19231  	if len(z) > 0 {
 19232  		_z = &z[0]
 19233  	}
 19234  	var _work *float64
 19235  	if len(work) > 0 {
 19236  		_work = &work[0]
 19237  	}
 19238  	return isZero(C.LAPACKE_dspev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 19239  }
 19240  
 19241  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspevd.f.
 19242  func Sspevd(jobz lapack.Job, ul blas.Uplo, n int, ap, w, z []float32, ldz int, work []float32, lwork int, iwork []int32, liwork int) bool {
 19243  	switch ul {
 19244  	case blas.Upper:
 19245  		ul = 'U'
 19246  	case blas.Lower:
 19247  		ul = 'L'
 19248  	default:
 19249  		panic("lapack: illegal triangle")
 19250  	}
 19251  	var _ap *float32
 19252  	if len(ap) > 0 {
 19253  		_ap = &ap[0]
 19254  	}
 19255  	var _w *float32
 19256  	if len(w) > 0 {
 19257  		_w = &w[0]
 19258  	}
 19259  	var _z *float32
 19260  	if len(z) > 0 {
 19261  		_z = &z[0]
 19262  	}
 19263  	var _work *float32
 19264  	if len(work) > 0 {
 19265  		_work = &work[0]
 19266  	}
 19267  	var _iwork *int32
 19268  	if len(iwork) > 0 {
 19269  		_iwork = &iwork[0]
 19270  	}
 19271  	return isZero(C.LAPACKE_sspevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 19272  }
 19273  
 19274  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspevd.f.
 19275  func Dspevd(jobz lapack.Job, ul blas.Uplo, n int, ap, w, z []float64, ldz int, work []float64, lwork int, iwork []int32, liwork int) bool {
 19276  	switch ul {
 19277  	case blas.Upper:
 19278  		ul = 'U'
 19279  	case blas.Lower:
 19280  		ul = 'L'
 19281  	default:
 19282  		panic("lapack: illegal triangle")
 19283  	}
 19284  	var _ap *float64
 19285  	if len(ap) > 0 {
 19286  		_ap = &ap[0]
 19287  	}
 19288  	var _w *float64
 19289  	if len(w) > 0 {
 19290  		_w = &w[0]
 19291  	}
 19292  	var _z *float64
 19293  	if len(z) > 0 {
 19294  		_z = &z[0]
 19295  	}
 19296  	var _work *float64
 19297  	if len(work) > 0 {
 19298  		_work = &work[0]
 19299  	}
 19300  	var _iwork *int32
 19301  	if len(iwork) > 0 {
 19302  		_iwork = &iwork[0]
 19303  	}
 19304  	return isZero(C.LAPACKE_dspevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 19305  }
 19306  
 19307  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspevx.f.
 19308  func Sspevx(jobz lapack.Job, rng byte, ul blas.Uplo, n int, ap []float32, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, work []float32, iwork, ifail []int32) bool {
 19309  	switch ul {
 19310  	case blas.Upper:
 19311  		ul = 'U'
 19312  	case blas.Lower:
 19313  		ul = 'L'
 19314  	default:
 19315  		panic("lapack: illegal triangle")
 19316  	}
 19317  	var _ap *float32
 19318  	if len(ap) > 0 {
 19319  		_ap = &ap[0]
 19320  	}
 19321  	var _m *int32
 19322  	if len(m) > 0 {
 19323  		_m = &m[0]
 19324  	}
 19325  	var _w *float32
 19326  	if len(w) > 0 {
 19327  		_w = &w[0]
 19328  	}
 19329  	var _z *float32
 19330  	if len(z) > 0 {
 19331  		_z = &z[0]
 19332  	}
 19333  	var _work *float32
 19334  	if len(work) > 0 {
 19335  		_work = &work[0]
 19336  	}
 19337  	var _iwork *int32
 19338  	if len(iwork) > 0 {
 19339  		_iwork = &iwork[0]
 19340  	}
 19341  	var _ifail *int32
 19342  	if len(ifail) > 0 {
 19343  		_ifail = &ifail[0]
 19344  	}
 19345  	return isZero(C.LAPACKE_sspevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 19346  }
 19347  
 19348  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspevx.f.
 19349  func Dspevx(jobz lapack.Job, rng byte, ul blas.Uplo, n int, ap []float64, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, work []float64, iwork, ifail []int32) bool {
 19350  	switch ul {
 19351  	case blas.Upper:
 19352  		ul = 'U'
 19353  	case blas.Lower:
 19354  		ul = 'L'
 19355  	default:
 19356  		panic("lapack: illegal triangle")
 19357  	}
 19358  	var _ap *float64
 19359  	if len(ap) > 0 {
 19360  		_ap = &ap[0]
 19361  	}
 19362  	var _m *int32
 19363  	if len(m) > 0 {
 19364  		_m = &m[0]
 19365  	}
 19366  	var _w *float64
 19367  	if len(w) > 0 {
 19368  		_w = &w[0]
 19369  	}
 19370  	var _z *float64
 19371  	if len(z) > 0 {
 19372  		_z = &z[0]
 19373  	}
 19374  	var _work *float64
 19375  	if len(work) > 0 {
 19376  		_work = &work[0]
 19377  	}
 19378  	var _iwork *int32
 19379  	if len(iwork) > 0 {
 19380  		_iwork = &iwork[0]
 19381  	}
 19382  	var _ifail *int32
 19383  	if len(ifail) > 0 {
 19384  		_ifail = &ifail[0]
 19385  	}
 19386  	return isZero(C.LAPACKE_dspevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 19387  }
 19388  
 19389  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgst.f.
 19390  func Sspgst(itype int, ul blas.Uplo, n int, ap, bp []float32) bool {
 19391  	switch ul {
 19392  	case blas.Upper:
 19393  		ul = 'U'
 19394  	case blas.Lower:
 19395  		ul = 'L'
 19396  	default:
 19397  		panic("lapack: illegal triangle")
 19398  	}
 19399  	var _ap *float32
 19400  	if len(ap) > 0 {
 19401  		_ap = &ap[0]
 19402  	}
 19403  	var _bp *float32
 19404  	if len(bp) > 0 {
 19405  		_bp = &bp[0]
 19406  	}
 19407  	return isZero(C.LAPACKE_sspgst_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_bp)))
 19408  }
 19409  
 19410  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgst.f.
 19411  func Dspgst(itype int, ul blas.Uplo, n int, ap, bp []float64) bool {
 19412  	switch ul {
 19413  	case blas.Upper:
 19414  		ul = 'U'
 19415  	case blas.Lower:
 19416  		ul = 'L'
 19417  	default:
 19418  		panic("lapack: illegal triangle")
 19419  	}
 19420  	var _ap *float64
 19421  	if len(ap) > 0 {
 19422  		_ap = &ap[0]
 19423  	}
 19424  	var _bp *float64
 19425  	if len(bp) > 0 {
 19426  		_bp = &bp[0]
 19427  	}
 19428  	return isZero(C.LAPACKE_dspgst_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_bp)))
 19429  }
 19430  
 19431  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgv.f.
 19432  func Sspgv(itype int, jobz lapack.Job, ul blas.Uplo, n int, ap, bp, w, z []float32, ldz int, work []float32) bool {
 19433  	switch ul {
 19434  	case blas.Upper:
 19435  		ul = 'U'
 19436  	case blas.Lower:
 19437  		ul = 'L'
 19438  	default:
 19439  		panic("lapack: illegal triangle")
 19440  	}
 19441  	var _ap *float32
 19442  	if len(ap) > 0 {
 19443  		_ap = &ap[0]
 19444  	}
 19445  	var _bp *float32
 19446  	if len(bp) > 0 {
 19447  		_bp = &bp[0]
 19448  	}
 19449  	var _w *float32
 19450  	if len(w) > 0 {
 19451  		_w = &w[0]
 19452  	}
 19453  	var _z *float32
 19454  	if len(z) > 0 {
 19455  		_z = &z[0]
 19456  	}
 19457  	var _work *float32
 19458  	if len(work) > 0 {
 19459  		_work = &work[0]
 19460  	}
 19461  	return isZero(C.LAPACKE_sspgv_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_bp), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 19462  }
 19463  
 19464  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgv.f.
 19465  func Dspgv(itype int, jobz lapack.Job, ul blas.Uplo, n int, ap, bp, w, z []float64, ldz int, work []float64) bool {
 19466  	switch ul {
 19467  	case blas.Upper:
 19468  		ul = 'U'
 19469  	case blas.Lower:
 19470  		ul = 'L'
 19471  	default:
 19472  		panic("lapack: illegal triangle")
 19473  	}
 19474  	var _ap *float64
 19475  	if len(ap) > 0 {
 19476  		_ap = &ap[0]
 19477  	}
 19478  	var _bp *float64
 19479  	if len(bp) > 0 {
 19480  		_bp = &bp[0]
 19481  	}
 19482  	var _w *float64
 19483  	if len(w) > 0 {
 19484  		_w = &w[0]
 19485  	}
 19486  	var _z *float64
 19487  	if len(z) > 0 {
 19488  		_z = &z[0]
 19489  	}
 19490  	var _work *float64
 19491  	if len(work) > 0 {
 19492  		_work = &work[0]
 19493  	}
 19494  	return isZero(C.LAPACKE_dspgv_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_bp), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 19495  }
 19496  
 19497  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgvd.f.
 19498  func Sspgvd(itype int, jobz lapack.Job, ul blas.Uplo, n int, ap, bp, w, z []float32, ldz int, work []float32, lwork int, iwork []int32, liwork int) bool {
 19499  	switch ul {
 19500  	case blas.Upper:
 19501  		ul = 'U'
 19502  	case blas.Lower:
 19503  		ul = 'L'
 19504  	default:
 19505  		panic("lapack: illegal triangle")
 19506  	}
 19507  	var _ap *float32
 19508  	if len(ap) > 0 {
 19509  		_ap = &ap[0]
 19510  	}
 19511  	var _bp *float32
 19512  	if len(bp) > 0 {
 19513  		_bp = &bp[0]
 19514  	}
 19515  	var _w *float32
 19516  	if len(w) > 0 {
 19517  		_w = &w[0]
 19518  	}
 19519  	var _z *float32
 19520  	if len(z) > 0 {
 19521  		_z = &z[0]
 19522  	}
 19523  	var _work *float32
 19524  	if len(work) > 0 {
 19525  		_work = &work[0]
 19526  	}
 19527  	var _iwork *int32
 19528  	if len(iwork) > 0 {
 19529  		_iwork = &iwork[0]
 19530  	}
 19531  	return isZero(C.LAPACKE_sspgvd_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_bp), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 19532  }
 19533  
 19534  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgvd.f.
 19535  func Dspgvd(itype int, jobz lapack.Job, ul blas.Uplo, n int, ap, bp, w, z []float64, ldz int, work []float64, lwork int, iwork []int32, liwork int) bool {
 19536  	switch ul {
 19537  	case blas.Upper:
 19538  		ul = 'U'
 19539  	case blas.Lower:
 19540  		ul = 'L'
 19541  	default:
 19542  		panic("lapack: illegal triangle")
 19543  	}
 19544  	var _ap *float64
 19545  	if len(ap) > 0 {
 19546  		_ap = &ap[0]
 19547  	}
 19548  	var _bp *float64
 19549  	if len(bp) > 0 {
 19550  		_bp = &bp[0]
 19551  	}
 19552  	var _w *float64
 19553  	if len(w) > 0 {
 19554  		_w = &w[0]
 19555  	}
 19556  	var _z *float64
 19557  	if len(z) > 0 {
 19558  		_z = &z[0]
 19559  	}
 19560  	var _work *float64
 19561  	if len(work) > 0 {
 19562  		_work = &work[0]
 19563  	}
 19564  	var _iwork *int32
 19565  	if len(iwork) > 0 {
 19566  		_iwork = &iwork[0]
 19567  	}
 19568  	return isZero(C.LAPACKE_dspgvd_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_bp), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 19569  }
 19570  
 19571  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspgvx.f.
 19572  func Sspgvx(itype int, jobz lapack.Job, rng byte, ul blas.Uplo, n int, ap, bp []float32, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, work []float32, iwork, ifail []int32) bool {
 19573  	switch ul {
 19574  	case blas.Upper:
 19575  		ul = 'U'
 19576  	case blas.Lower:
 19577  		ul = 'L'
 19578  	default:
 19579  		panic("lapack: illegal triangle")
 19580  	}
 19581  	var _ap *float32
 19582  	if len(ap) > 0 {
 19583  		_ap = &ap[0]
 19584  	}
 19585  	var _bp *float32
 19586  	if len(bp) > 0 {
 19587  		_bp = &bp[0]
 19588  	}
 19589  	var _m *int32
 19590  	if len(m) > 0 {
 19591  		_m = &m[0]
 19592  	}
 19593  	var _w *float32
 19594  	if len(w) > 0 {
 19595  		_w = &w[0]
 19596  	}
 19597  	var _z *float32
 19598  	if len(z) > 0 {
 19599  		_z = &z[0]
 19600  	}
 19601  	var _work *float32
 19602  	if len(work) > 0 {
 19603  		_work = &work[0]
 19604  	}
 19605  	var _iwork *int32
 19606  	if len(iwork) > 0 {
 19607  		_iwork = &iwork[0]
 19608  	}
 19609  	var _ifail *int32
 19610  	if len(ifail) > 0 {
 19611  		_ifail = &ifail[0]
 19612  	}
 19613  	return isZero(C.LAPACKE_sspgvx_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_bp), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 19614  }
 19615  
 19616  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspgvx.f.
 19617  func Dspgvx(itype int, jobz lapack.Job, rng byte, ul blas.Uplo, n int, ap, bp []float64, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, work []float64, iwork, ifail []int32) bool {
 19618  	switch ul {
 19619  	case blas.Upper:
 19620  		ul = 'U'
 19621  	case blas.Lower:
 19622  		ul = 'L'
 19623  	default:
 19624  		panic("lapack: illegal triangle")
 19625  	}
 19626  	var _ap *float64
 19627  	if len(ap) > 0 {
 19628  		_ap = &ap[0]
 19629  	}
 19630  	var _bp *float64
 19631  	if len(bp) > 0 {
 19632  		_bp = &bp[0]
 19633  	}
 19634  	var _m *int32
 19635  	if len(m) > 0 {
 19636  		_m = &m[0]
 19637  	}
 19638  	var _w *float64
 19639  	if len(w) > 0 {
 19640  		_w = &w[0]
 19641  	}
 19642  	var _z *float64
 19643  	if len(z) > 0 {
 19644  		_z = &z[0]
 19645  	}
 19646  	var _work *float64
 19647  	if len(work) > 0 {
 19648  		_work = &work[0]
 19649  	}
 19650  	var _iwork *int32
 19651  	if len(iwork) > 0 {
 19652  		_iwork = &iwork[0]
 19653  	}
 19654  	var _ifail *int32
 19655  	if len(ifail) > 0 {
 19656  		_ifail = &ifail[0]
 19657  	}
 19658  	return isZero(C.LAPACKE_dspgvx_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_bp), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 19659  }
 19660  
 19661  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssprfs.f.
 19662  func Ssprfs(ul blas.Uplo, n, nrhs int, ap, afp []float32, ipiv []int32, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
 19663  	switch ul {
 19664  	case blas.Upper:
 19665  		ul = 'U'
 19666  	case blas.Lower:
 19667  		ul = 'L'
 19668  	default:
 19669  		panic("lapack: illegal triangle")
 19670  	}
 19671  	var _ap *float32
 19672  	if len(ap) > 0 {
 19673  		_ap = &ap[0]
 19674  	}
 19675  	var _afp *float32
 19676  	if len(afp) > 0 {
 19677  		_afp = &afp[0]
 19678  	}
 19679  	var _ipiv *int32
 19680  	if len(ipiv) > 0 {
 19681  		_ipiv = &ipiv[0]
 19682  	}
 19683  	var _b *float32
 19684  	if len(b) > 0 {
 19685  		_b = &b[0]
 19686  	}
 19687  	var _x *float32
 19688  	if len(x) > 0 {
 19689  		_x = &x[0]
 19690  	}
 19691  	var _ferr *float32
 19692  	if len(ferr) > 0 {
 19693  		_ferr = &ferr[0]
 19694  	}
 19695  	var _berr *float32
 19696  	if len(berr) > 0 {
 19697  		_berr = &berr[0]
 19698  	}
 19699  	var _work *float32
 19700  	if len(work) > 0 {
 19701  		_work = &work[0]
 19702  	}
 19703  	var _iwork *int32
 19704  	if len(iwork) > 0 {
 19705  		_iwork = &iwork[0]
 19706  	}
 19707  	return isZero(C.LAPACKE_ssprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.float)(_afp), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 19708  }
 19709  
 19710  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsprfs.f.
 19711  func Dsprfs(ul blas.Uplo, n, nrhs int, ap, afp []float64, ipiv []int32, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
 19712  	switch ul {
 19713  	case blas.Upper:
 19714  		ul = 'U'
 19715  	case blas.Lower:
 19716  		ul = 'L'
 19717  	default:
 19718  		panic("lapack: illegal triangle")
 19719  	}
 19720  	var _ap *float64
 19721  	if len(ap) > 0 {
 19722  		_ap = &ap[0]
 19723  	}
 19724  	var _afp *float64
 19725  	if len(afp) > 0 {
 19726  		_afp = &afp[0]
 19727  	}
 19728  	var _ipiv *int32
 19729  	if len(ipiv) > 0 {
 19730  		_ipiv = &ipiv[0]
 19731  	}
 19732  	var _b *float64
 19733  	if len(b) > 0 {
 19734  		_b = &b[0]
 19735  	}
 19736  	var _x *float64
 19737  	if len(x) > 0 {
 19738  		_x = &x[0]
 19739  	}
 19740  	var _ferr *float64
 19741  	if len(ferr) > 0 {
 19742  		_ferr = &ferr[0]
 19743  	}
 19744  	var _berr *float64
 19745  	if len(berr) > 0 {
 19746  		_berr = &berr[0]
 19747  	}
 19748  	var _work *float64
 19749  	if len(work) > 0 {
 19750  		_work = &work[0]
 19751  	}
 19752  	var _iwork *int32
 19753  	if len(iwork) > 0 {
 19754  		_iwork = &iwork[0]
 19755  	}
 19756  	return isZero(C.LAPACKE_dsprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.double)(_afp), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 19757  }
 19758  
 19759  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csprfs.f.
 19760  func Csprfs(ul blas.Uplo, n, nrhs int, ap, afp []complex64, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 19761  	switch ul {
 19762  	case blas.Upper:
 19763  		ul = 'U'
 19764  	case blas.Lower:
 19765  		ul = 'L'
 19766  	default:
 19767  		panic("lapack: illegal triangle")
 19768  	}
 19769  	var _ap *complex64
 19770  	if len(ap) > 0 {
 19771  		_ap = &ap[0]
 19772  	}
 19773  	var _afp *complex64
 19774  	if len(afp) > 0 {
 19775  		_afp = &afp[0]
 19776  	}
 19777  	var _ipiv *int32
 19778  	if len(ipiv) > 0 {
 19779  		_ipiv = &ipiv[0]
 19780  	}
 19781  	var _b *complex64
 19782  	if len(b) > 0 {
 19783  		_b = &b[0]
 19784  	}
 19785  	var _x *complex64
 19786  	if len(x) > 0 {
 19787  		_x = &x[0]
 19788  	}
 19789  	var _ferr *float32
 19790  	if len(ferr) > 0 {
 19791  		_ferr = &ferr[0]
 19792  	}
 19793  	var _berr *float32
 19794  	if len(berr) > 0 {
 19795  		_berr = &berr[0]
 19796  	}
 19797  	var _work *complex64
 19798  	if len(work) > 0 {
 19799  		_work = &work[0]
 19800  	}
 19801  	var _rwork *float32
 19802  	if len(rwork) > 0 {
 19803  		_rwork = &rwork[0]
 19804  	}
 19805  	return isZero(C.LAPACKE_csprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_afp), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 19806  }
 19807  
 19808  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsprfs.f.
 19809  func Zsprfs(ul blas.Uplo, n, nrhs int, ap, afp []complex128, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 19810  	switch ul {
 19811  	case blas.Upper:
 19812  		ul = 'U'
 19813  	case blas.Lower:
 19814  		ul = 'L'
 19815  	default:
 19816  		panic("lapack: illegal triangle")
 19817  	}
 19818  	var _ap *complex128
 19819  	if len(ap) > 0 {
 19820  		_ap = &ap[0]
 19821  	}
 19822  	var _afp *complex128
 19823  	if len(afp) > 0 {
 19824  		_afp = &afp[0]
 19825  	}
 19826  	var _ipiv *int32
 19827  	if len(ipiv) > 0 {
 19828  		_ipiv = &ipiv[0]
 19829  	}
 19830  	var _b *complex128
 19831  	if len(b) > 0 {
 19832  		_b = &b[0]
 19833  	}
 19834  	var _x *complex128
 19835  	if len(x) > 0 {
 19836  		_x = &x[0]
 19837  	}
 19838  	var _ferr *float64
 19839  	if len(ferr) > 0 {
 19840  		_ferr = &ferr[0]
 19841  	}
 19842  	var _berr *float64
 19843  	if len(berr) > 0 {
 19844  		_berr = &berr[0]
 19845  	}
 19846  	var _work *complex128
 19847  	if len(work) > 0 {
 19848  		_work = &work[0]
 19849  	}
 19850  	var _rwork *float64
 19851  	if len(rwork) > 0 {
 19852  		_rwork = &rwork[0]
 19853  	}
 19854  	return isZero(C.LAPACKE_zsprfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_afp), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 19855  }
 19856  
 19857  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspsv.f.
 19858  func Sspsv(ul blas.Uplo, n, nrhs int, ap []float32, ipiv []int32, b []float32, ldb int) bool {
 19859  	switch ul {
 19860  	case blas.Upper:
 19861  		ul = 'U'
 19862  	case blas.Lower:
 19863  		ul = 'L'
 19864  	default:
 19865  		panic("lapack: illegal triangle")
 19866  	}
 19867  	var _ap *float32
 19868  	if len(ap) > 0 {
 19869  		_ap = &ap[0]
 19870  	}
 19871  	var _ipiv *int32
 19872  	if len(ipiv) > 0 {
 19873  		_ipiv = &ipiv[0]
 19874  	}
 19875  	var _b *float32
 19876  	if len(b) > 0 {
 19877  		_b = &b[0]
 19878  	}
 19879  	return isZero(C.LAPACKE_sspsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb)))
 19880  }
 19881  
 19882  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspsv.f.
 19883  func Dspsv(ul blas.Uplo, n, nrhs int, ap []float64, ipiv []int32, b []float64, ldb int) bool {
 19884  	switch ul {
 19885  	case blas.Upper:
 19886  		ul = 'U'
 19887  	case blas.Lower:
 19888  		ul = 'L'
 19889  	default:
 19890  		panic("lapack: illegal triangle")
 19891  	}
 19892  	var _ap *float64
 19893  	if len(ap) > 0 {
 19894  		_ap = &ap[0]
 19895  	}
 19896  	var _ipiv *int32
 19897  	if len(ipiv) > 0 {
 19898  		_ipiv = &ipiv[0]
 19899  	}
 19900  	var _b *float64
 19901  	if len(b) > 0 {
 19902  		_b = &b[0]
 19903  	}
 19904  	return isZero(C.LAPACKE_dspsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb)))
 19905  }
 19906  
 19907  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cspsv.f.
 19908  func Cspsv(ul blas.Uplo, n, nrhs int, ap []complex64, ipiv []int32, b []complex64, ldb int) bool {
 19909  	switch ul {
 19910  	case blas.Upper:
 19911  		ul = 'U'
 19912  	case blas.Lower:
 19913  		ul = 'L'
 19914  	default:
 19915  		panic("lapack: illegal triangle")
 19916  	}
 19917  	var _ap *complex64
 19918  	if len(ap) > 0 {
 19919  		_ap = &ap[0]
 19920  	}
 19921  	var _ipiv *int32
 19922  	if len(ipiv) > 0 {
 19923  		_ipiv = &ipiv[0]
 19924  	}
 19925  	var _b *complex64
 19926  	if len(b) > 0 {
 19927  		_b = &b[0]
 19928  	}
 19929  	return isZero(C.LAPACKE_cspsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 19930  }
 19931  
 19932  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zspsv.f.
 19933  func Zspsv(ul blas.Uplo, n, nrhs int, ap []complex128, ipiv []int32, b []complex128, ldb int) bool {
 19934  	switch ul {
 19935  	case blas.Upper:
 19936  		ul = 'U'
 19937  	case blas.Lower:
 19938  		ul = 'L'
 19939  	default:
 19940  		panic("lapack: illegal triangle")
 19941  	}
 19942  	var _ap *complex128
 19943  	if len(ap) > 0 {
 19944  		_ap = &ap[0]
 19945  	}
 19946  	var _ipiv *int32
 19947  	if len(ipiv) > 0 {
 19948  		_ipiv = &ipiv[0]
 19949  	}
 19950  	var _b *complex128
 19951  	if len(b) > 0 {
 19952  		_b = &b[0]
 19953  	}
 19954  	return isZero(C.LAPACKE_zspsv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 19955  }
 19956  
 19957  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sspsvx.f.
 19958  func Sspsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []float32, ipiv []int32, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32, iwork []int32) bool {
 19959  	switch ul {
 19960  	case blas.Upper:
 19961  		ul = 'U'
 19962  	case blas.Lower:
 19963  		ul = 'L'
 19964  	default:
 19965  		panic("lapack: illegal triangle")
 19966  	}
 19967  	var _ap *float32
 19968  	if len(ap) > 0 {
 19969  		_ap = &ap[0]
 19970  	}
 19971  	var _afp *float32
 19972  	if len(afp) > 0 {
 19973  		_afp = &afp[0]
 19974  	}
 19975  	var _ipiv *int32
 19976  	if len(ipiv) > 0 {
 19977  		_ipiv = &ipiv[0]
 19978  	}
 19979  	var _b *float32
 19980  	if len(b) > 0 {
 19981  		_b = &b[0]
 19982  	}
 19983  	var _x *float32
 19984  	if len(x) > 0 {
 19985  		_x = &x[0]
 19986  	}
 19987  	var _rcond *float32
 19988  	if len(rcond) > 0 {
 19989  		_rcond = &rcond[0]
 19990  	}
 19991  	var _ferr *float32
 19992  	if len(ferr) > 0 {
 19993  		_ferr = &ferr[0]
 19994  	}
 19995  	var _berr *float32
 19996  	if len(berr) > 0 {
 19997  		_berr = &berr[0]
 19998  	}
 19999  	var _work *float32
 20000  	if len(work) > 0 {
 20001  		_work = &work[0]
 20002  	}
 20003  	var _iwork *int32
 20004  	if len(iwork) > 0 {
 20005  		_iwork = &iwork[0]
 20006  	}
 20007  	return isZero(C.LAPACKE_sspsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.float)(_afp), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 20008  }
 20009  
 20010  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dspsvx.f.
 20011  func Dspsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []float64, ipiv []int32, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64, iwork []int32) bool {
 20012  	switch ul {
 20013  	case blas.Upper:
 20014  		ul = 'U'
 20015  	case blas.Lower:
 20016  		ul = 'L'
 20017  	default:
 20018  		panic("lapack: illegal triangle")
 20019  	}
 20020  	var _ap *float64
 20021  	if len(ap) > 0 {
 20022  		_ap = &ap[0]
 20023  	}
 20024  	var _afp *float64
 20025  	if len(afp) > 0 {
 20026  		_afp = &afp[0]
 20027  	}
 20028  	var _ipiv *int32
 20029  	if len(ipiv) > 0 {
 20030  		_ipiv = &ipiv[0]
 20031  	}
 20032  	var _b *float64
 20033  	if len(b) > 0 {
 20034  		_b = &b[0]
 20035  	}
 20036  	var _x *float64
 20037  	if len(x) > 0 {
 20038  		_x = &x[0]
 20039  	}
 20040  	var _rcond *float64
 20041  	if len(rcond) > 0 {
 20042  		_rcond = &rcond[0]
 20043  	}
 20044  	var _ferr *float64
 20045  	if len(ferr) > 0 {
 20046  		_ferr = &ferr[0]
 20047  	}
 20048  	var _berr *float64
 20049  	if len(berr) > 0 {
 20050  		_berr = &berr[0]
 20051  	}
 20052  	var _work *float64
 20053  	if len(work) > 0 {
 20054  		_work = &work[0]
 20055  	}
 20056  	var _iwork *int32
 20057  	if len(iwork) > 0 {
 20058  		_iwork = &iwork[0]
 20059  	}
 20060  	return isZero(C.LAPACKE_dspsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.double)(_afp), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 20061  }
 20062  
 20063  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cspsvx.f.
 20064  func Cspsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []complex64, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, rwork []float32) bool {
 20065  	switch ul {
 20066  	case blas.Upper:
 20067  		ul = 'U'
 20068  	case blas.Lower:
 20069  		ul = 'L'
 20070  	default:
 20071  		panic("lapack: illegal triangle")
 20072  	}
 20073  	var _ap *complex64
 20074  	if len(ap) > 0 {
 20075  		_ap = &ap[0]
 20076  	}
 20077  	var _afp *complex64
 20078  	if len(afp) > 0 {
 20079  		_afp = &afp[0]
 20080  	}
 20081  	var _ipiv *int32
 20082  	if len(ipiv) > 0 {
 20083  		_ipiv = &ipiv[0]
 20084  	}
 20085  	var _b *complex64
 20086  	if len(b) > 0 {
 20087  		_b = &b[0]
 20088  	}
 20089  	var _x *complex64
 20090  	if len(x) > 0 {
 20091  		_x = &x[0]
 20092  	}
 20093  	var _rcond *float32
 20094  	if len(rcond) > 0 {
 20095  		_rcond = &rcond[0]
 20096  	}
 20097  	var _ferr *float32
 20098  	if len(ferr) > 0 {
 20099  		_ferr = &ferr[0]
 20100  	}
 20101  	var _berr *float32
 20102  	if len(berr) > 0 {
 20103  		_berr = &berr[0]
 20104  	}
 20105  	var _work *complex64
 20106  	if len(work) > 0 {
 20107  		_work = &work[0]
 20108  	}
 20109  	var _rwork *float32
 20110  	if len(rwork) > 0 {
 20111  		_rwork = &rwork[0]
 20112  	}
 20113  	return isZero(C.LAPACKE_cspsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_afp), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 20114  }
 20115  
 20116  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zspsvx.f.
 20117  func Zspsvx(fact byte, ul blas.Uplo, n, nrhs int, ap, afp []complex128, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, rwork []float64) bool {
 20118  	switch ul {
 20119  	case blas.Upper:
 20120  		ul = 'U'
 20121  	case blas.Lower:
 20122  		ul = 'L'
 20123  	default:
 20124  		panic("lapack: illegal triangle")
 20125  	}
 20126  	var _ap *complex128
 20127  	if len(ap) > 0 {
 20128  		_ap = &ap[0]
 20129  	}
 20130  	var _afp *complex128
 20131  	if len(afp) > 0 {
 20132  		_afp = &afp[0]
 20133  	}
 20134  	var _ipiv *int32
 20135  	if len(ipiv) > 0 {
 20136  		_ipiv = &ipiv[0]
 20137  	}
 20138  	var _b *complex128
 20139  	if len(b) > 0 {
 20140  		_b = &b[0]
 20141  	}
 20142  	var _x *complex128
 20143  	if len(x) > 0 {
 20144  		_x = &x[0]
 20145  	}
 20146  	var _rcond *float64
 20147  	if len(rcond) > 0 {
 20148  		_rcond = &rcond[0]
 20149  	}
 20150  	var _ferr *float64
 20151  	if len(ferr) > 0 {
 20152  		_ferr = &ferr[0]
 20153  	}
 20154  	var _berr *float64
 20155  	if len(berr) > 0 {
 20156  		_berr = &berr[0]
 20157  	}
 20158  	var _work *complex128
 20159  	if len(work) > 0 {
 20160  		_work = &work[0]
 20161  	}
 20162  	var _rwork *float64
 20163  	if len(rwork) > 0 {
 20164  		_rwork = &rwork[0]
 20165  	}
 20166  	return isZero(C.LAPACKE_zspsvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_afp), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 20167  }
 20168  
 20169  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssptrd.f.
 20170  func Ssptrd(ul blas.Uplo, n int, ap, d, e, tau []float32) bool {
 20171  	switch ul {
 20172  	case blas.Upper:
 20173  		ul = 'U'
 20174  	case blas.Lower:
 20175  		ul = 'L'
 20176  	default:
 20177  		panic("lapack: illegal triangle")
 20178  	}
 20179  	var _ap *float32
 20180  	if len(ap) > 0 {
 20181  		_ap = &ap[0]
 20182  	}
 20183  	var _d *float32
 20184  	if len(d) > 0 {
 20185  		_d = &d[0]
 20186  	}
 20187  	var _e *float32
 20188  	if len(e) > 0 {
 20189  		_e = &e[0]
 20190  	}
 20191  	var _tau *float32
 20192  	if len(tau) > 0 {
 20193  		_tau = &tau[0]
 20194  	}
 20195  	return isZero(C.LAPACKE_ssptrd_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_d), (*C.float)(_e), (*C.float)(_tau)))
 20196  }
 20197  
 20198  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsptrd.f.
 20199  func Dsptrd(ul blas.Uplo, n int, ap, d, e, tau []float64) bool {
 20200  	switch ul {
 20201  	case blas.Upper:
 20202  		ul = 'U'
 20203  	case blas.Lower:
 20204  		ul = 'L'
 20205  	default:
 20206  		panic("lapack: illegal triangle")
 20207  	}
 20208  	var _ap *float64
 20209  	if len(ap) > 0 {
 20210  		_ap = &ap[0]
 20211  	}
 20212  	var _d *float64
 20213  	if len(d) > 0 {
 20214  		_d = &d[0]
 20215  	}
 20216  	var _e *float64
 20217  	if len(e) > 0 {
 20218  		_e = &e[0]
 20219  	}
 20220  	var _tau *float64
 20221  	if len(tau) > 0 {
 20222  		_tau = &tau[0]
 20223  	}
 20224  	return isZero(C.LAPACKE_dsptrd_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_d), (*C.double)(_e), (*C.double)(_tau)))
 20225  }
 20226  
 20227  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssptrf.f.
 20228  func Ssptrf(ul blas.Uplo, n int, ap []float32, ipiv []int32) bool {
 20229  	switch ul {
 20230  	case blas.Upper:
 20231  		ul = 'U'
 20232  	case blas.Lower:
 20233  		ul = 'L'
 20234  	default:
 20235  		panic("lapack: illegal triangle")
 20236  	}
 20237  	var _ap *float32
 20238  	if len(ap) > 0 {
 20239  		_ap = &ap[0]
 20240  	}
 20241  	var _ipiv *int32
 20242  	if len(ipiv) > 0 {
 20243  		_ipiv = &ipiv[0]
 20244  	}
 20245  	return isZero(C.LAPACKE_ssptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.lapack_int)(_ipiv)))
 20246  }
 20247  
 20248  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsptrf.f.
 20249  func Dsptrf(ul blas.Uplo, n int, ap []float64, ipiv []int32) bool {
 20250  	switch ul {
 20251  	case blas.Upper:
 20252  		ul = 'U'
 20253  	case blas.Lower:
 20254  		ul = 'L'
 20255  	default:
 20256  		panic("lapack: illegal triangle")
 20257  	}
 20258  	var _ap *float64
 20259  	if len(ap) > 0 {
 20260  		_ap = &ap[0]
 20261  	}
 20262  	var _ipiv *int32
 20263  	if len(ipiv) > 0 {
 20264  		_ipiv = &ipiv[0]
 20265  	}
 20266  	return isZero(C.LAPACKE_dsptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.lapack_int)(_ipiv)))
 20267  }
 20268  
 20269  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csptrf.f.
 20270  func Csptrf(ul blas.Uplo, n int, ap []complex64, ipiv []int32) bool {
 20271  	switch ul {
 20272  	case blas.Upper:
 20273  		ul = 'U'
 20274  	case blas.Lower:
 20275  		ul = 'L'
 20276  	default:
 20277  		panic("lapack: illegal triangle")
 20278  	}
 20279  	var _ap *complex64
 20280  	if len(ap) > 0 {
 20281  		_ap = &ap[0]
 20282  	}
 20283  	var _ipiv *int32
 20284  	if len(ipiv) > 0 {
 20285  		_ipiv = &ipiv[0]
 20286  	}
 20287  	return isZero(C.LAPACKE_csptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv)))
 20288  }
 20289  
 20290  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsptrf.f.
 20291  func Zsptrf(ul blas.Uplo, n int, ap []complex128, ipiv []int32) bool {
 20292  	switch ul {
 20293  	case blas.Upper:
 20294  		ul = 'U'
 20295  	case blas.Lower:
 20296  		ul = 'L'
 20297  	default:
 20298  		panic("lapack: illegal triangle")
 20299  	}
 20300  	var _ap *complex128
 20301  	if len(ap) > 0 {
 20302  		_ap = &ap[0]
 20303  	}
 20304  	var _ipiv *int32
 20305  	if len(ipiv) > 0 {
 20306  		_ipiv = &ipiv[0]
 20307  	}
 20308  	return isZero(C.LAPACKE_zsptrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv)))
 20309  }
 20310  
 20311  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssptri.f.
 20312  func Ssptri(ul blas.Uplo, n int, ap []float32, ipiv []int32, work []float32) bool {
 20313  	switch ul {
 20314  	case blas.Upper:
 20315  		ul = 'U'
 20316  	case blas.Lower:
 20317  		ul = 'L'
 20318  	default:
 20319  		panic("lapack: illegal triangle")
 20320  	}
 20321  	var _ap *float32
 20322  	if len(ap) > 0 {
 20323  		_ap = &ap[0]
 20324  	}
 20325  	var _ipiv *int32
 20326  	if len(ipiv) > 0 {
 20327  		_ipiv = &ipiv[0]
 20328  	}
 20329  	var _work *float32
 20330  	if len(work) > 0 {
 20331  		_work = &work[0]
 20332  	}
 20333  	return isZero(C.LAPACKE_ssptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.lapack_int)(_ipiv), (*C.float)(_work)))
 20334  }
 20335  
 20336  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsptri.f.
 20337  func Dsptri(ul blas.Uplo, n int, ap []float64, ipiv []int32, work []float64) bool {
 20338  	switch ul {
 20339  	case blas.Upper:
 20340  		ul = 'U'
 20341  	case blas.Lower:
 20342  		ul = 'L'
 20343  	default:
 20344  		panic("lapack: illegal triangle")
 20345  	}
 20346  	var _ap *float64
 20347  	if len(ap) > 0 {
 20348  		_ap = &ap[0]
 20349  	}
 20350  	var _ipiv *int32
 20351  	if len(ipiv) > 0 {
 20352  		_ipiv = &ipiv[0]
 20353  	}
 20354  	var _work *float64
 20355  	if len(work) > 0 {
 20356  		_work = &work[0]
 20357  	}
 20358  	return isZero(C.LAPACKE_dsptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.lapack_int)(_ipiv), (*C.double)(_work)))
 20359  }
 20360  
 20361  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csptri.f.
 20362  func Csptri(ul blas.Uplo, n int, ap []complex64, ipiv []int32, work []complex64) bool {
 20363  	switch ul {
 20364  	case blas.Upper:
 20365  		ul = 'U'
 20366  	case blas.Lower:
 20367  		ul = 'L'
 20368  	default:
 20369  		panic("lapack: illegal triangle")
 20370  	}
 20371  	var _ap *complex64
 20372  	if len(ap) > 0 {
 20373  		_ap = &ap[0]
 20374  	}
 20375  	var _ipiv *int32
 20376  	if len(ipiv) > 0 {
 20377  		_ipiv = &ipiv[0]
 20378  	}
 20379  	var _work *complex64
 20380  	if len(work) > 0 {
 20381  		_work = &work[0]
 20382  	}
 20383  	return isZero(C.LAPACKE_csptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work)))
 20384  }
 20385  
 20386  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsptri.f.
 20387  func Zsptri(ul blas.Uplo, n int, ap []complex128, ipiv []int32, work []complex128) bool {
 20388  	switch ul {
 20389  	case blas.Upper:
 20390  		ul = 'U'
 20391  	case blas.Lower:
 20392  		ul = 'L'
 20393  	default:
 20394  		panic("lapack: illegal triangle")
 20395  	}
 20396  	var _ap *complex128
 20397  	if len(ap) > 0 {
 20398  		_ap = &ap[0]
 20399  	}
 20400  	var _ipiv *int32
 20401  	if len(ipiv) > 0 {
 20402  		_ipiv = &ipiv[0]
 20403  	}
 20404  	var _work *complex128
 20405  	if len(work) > 0 {
 20406  		_work = &work[0]
 20407  	}
 20408  	return isZero(C.LAPACKE_zsptri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work)))
 20409  }
 20410  
 20411  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssptrs.f.
 20412  func Ssptrs(ul blas.Uplo, n, nrhs int, ap []float32, ipiv []int32, b []float32, ldb int) bool {
 20413  	switch ul {
 20414  	case blas.Upper:
 20415  		ul = 'U'
 20416  	case blas.Lower:
 20417  		ul = 'L'
 20418  	default:
 20419  		panic("lapack: illegal triangle")
 20420  	}
 20421  	var _ap *float32
 20422  	if len(ap) > 0 {
 20423  		_ap = &ap[0]
 20424  	}
 20425  	var _ipiv *int32
 20426  	if len(ipiv) > 0 {
 20427  		_ipiv = &ipiv[0]
 20428  	}
 20429  	var _b *float32
 20430  	if len(b) > 0 {
 20431  		_b = &b[0]
 20432  	}
 20433  	return isZero(C.LAPACKE_ssptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb)))
 20434  }
 20435  
 20436  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsptrs.f.
 20437  func Dsptrs(ul blas.Uplo, n, nrhs int, ap []float64, ipiv []int32, b []float64, ldb int) bool {
 20438  	switch ul {
 20439  	case blas.Upper:
 20440  		ul = 'U'
 20441  	case blas.Lower:
 20442  		ul = 'L'
 20443  	default:
 20444  		panic("lapack: illegal triangle")
 20445  	}
 20446  	var _ap *float64
 20447  	if len(ap) > 0 {
 20448  		_ap = &ap[0]
 20449  	}
 20450  	var _ipiv *int32
 20451  	if len(ipiv) > 0 {
 20452  		_ipiv = &ipiv[0]
 20453  	}
 20454  	var _b *float64
 20455  	if len(b) > 0 {
 20456  		_b = &b[0]
 20457  	}
 20458  	return isZero(C.LAPACKE_dsptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb)))
 20459  }
 20460  
 20461  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csptrs.f.
 20462  func Csptrs(ul blas.Uplo, n, nrhs int, ap []complex64, ipiv []int32, b []complex64, ldb int) bool {
 20463  	switch ul {
 20464  	case blas.Upper:
 20465  		ul = 'U'
 20466  	case blas.Lower:
 20467  		ul = 'L'
 20468  	default:
 20469  		panic("lapack: illegal triangle")
 20470  	}
 20471  	var _ap *complex64
 20472  	if len(ap) > 0 {
 20473  		_ap = &ap[0]
 20474  	}
 20475  	var _ipiv *int32
 20476  	if len(ipiv) > 0 {
 20477  		_ipiv = &ipiv[0]
 20478  	}
 20479  	var _b *complex64
 20480  	if len(b) > 0 {
 20481  		_b = &b[0]
 20482  	}
 20483  	return isZero(C.LAPACKE_csptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 20484  }
 20485  
 20486  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsptrs.f.
 20487  func Zsptrs(ul blas.Uplo, n, nrhs int, ap []complex128, ipiv []int32, b []complex128, ldb int) bool {
 20488  	switch ul {
 20489  	case blas.Upper:
 20490  		ul = 'U'
 20491  	case blas.Lower:
 20492  		ul = 'L'
 20493  	default:
 20494  		panic("lapack: illegal triangle")
 20495  	}
 20496  	var _ap *complex128
 20497  	if len(ap) > 0 {
 20498  		_ap = &ap[0]
 20499  	}
 20500  	var _ipiv *int32
 20501  	if len(ipiv) > 0 {
 20502  		_ipiv = &ipiv[0]
 20503  	}
 20504  	var _b *complex128
 20505  	if len(b) > 0 {
 20506  		_b = &b[0]
 20507  	}
 20508  	return isZero(C.LAPACKE_zsptrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 20509  }
 20510  
 20511  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstebz.f.
 20512  func Sstebz(rng, order byte, n int, vl, vu float32, il, iu int, abstol float32, d, e []float32, m, nsplit []int32, w []float32, iblock, isplit []int32, work []float32, iwork []int32) bool {
 20513  	var _d *float32
 20514  	if len(d) > 0 {
 20515  		_d = &d[0]
 20516  	}
 20517  	var _e *float32
 20518  	if len(e) > 0 {
 20519  		_e = &e[0]
 20520  	}
 20521  	var _m *int32
 20522  	if len(m) > 0 {
 20523  		_m = &m[0]
 20524  	}
 20525  	var _nsplit *int32
 20526  	if len(nsplit) > 0 {
 20527  		_nsplit = &nsplit[0]
 20528  	}
 20529  	var _w *float32
 20530  	if len(w) > 0 {
 20531  		_w = &w[0]
 20532  	}
 20533  	var _iblock *int32
 20534  	if len(iblock) > 0 {
 20535  		_iblock = &iblock[0]
 20536  	}
 20537  	var _isplit *int32
 20538  	if len(isplit) > 0 {
 20539  		_isplit = &isplit[0]
 20540  	}
 20541  	var _work *float32
 20542  	if len(work) > 0 {
 20543  		_work = &work[0]
 20544  	}
 20545  	var _iwork *int32
 20546  	if len(iwork) > 0 {
 20547  		_iwork = &iwork[0]
 20548  	}
 20549  	return isZero(C.LAPACKE_sstebz_work((C.char)(rng), (C.char)(order), (C.lapack_int)(n), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.float)(_d), (*C.float)(_e), (*C.lapack_int)(_m), (*C.lapack_int)(_nsplit), (*C.float)(_w), (*C.lapack_int)(_iblock), (*C.lapack_int)(_isplit), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 20550  }
 20551  
 20552  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstebz.f.
 20553  func Dstebz(rng, order byte, n int, vl, vu float64, il, iu int, abstol float64, d, e []float64, m, nsplit []int32, w []float64, iblock, isplit []int32, work []float64, iwork []int32) bool {
 20554  	var _d *float64
 20555  	if len(d) > 0 {
 20556  		_d = &d[0]
 20557  	}
 20558  	var _e *float64
 20559  	if len(e) > 0 {
 20560  		_e = &e[0]
 20561  	}
 20562  	var _m *int32
 20563  	if len(m) > 0 {
 20564  		_m = &m[0]
 20565  	}
 20566  	var _nsplit *int32
 20567  	if len(nsplit) > 0 {
 20568  		_nsplit = &nsplit[0]
 20569  	}
 20570  	var _w *float64
 20571  	if len(w) > 0 {
 20572  		_w = &w[0]
 20573  	}
 20574  	var _iblock *int32
 20575  	if len(iblock) > 0 {
 20576  		_iblock = &iblock[0]
 20577  	}
 20578  	var _isplit *int32
 20579  	if len(isplit) > 0 {
 20580  		_isplit = &isplit[0]
 20581  	}
 20582  	var _work *float64
 20583  	if len(work) > 0 {
 20584  		_work = &work[0]
 20585  	}
 20586  	var _iwork *int32
 20587  	if len(iwork) > 0 {
 20588  		_iwork = &iwork[0]
 20589  	}
 20590  	return isZero(C.LAPACKE_dstebz_work((C.char)(rng), (C.char)(order), (C.lapack_int)(n), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.double)(_d), (*C.double)(_e), (*C.lapack_int)(_m), (*C.lapack_int)(_nsplit), (*C.double)(_w), (*C.lapack_int)(_iblock), (*C.lapack_int)(_isplit), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 20591  }
 20592  
 20593  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstedc.f.
 20594  func Sstedc(compz lapack.Comp, n int, d, e, z []float32, ldz int, work []float32, lwork int, iwork []int32, liwork int) bool {
 20595  	var _d *float32
 20596  	if len(d) > 0 {
 20597  		_d = &d[0]
 20598  	}
 20599  	var _e *float32
 20600  	if len(e) > 0 {
 20601  		_e = &e[0]
 20602  	}
 20603  	var _z *float32
 20604  	if len(z) > 0 {
 20605  		_z = &z[0]
 20606  	}
 20607  	var _work *float32
 20608  	if len(work) > 0 {
 20609  		_work = &work[0]
 20610  	}
 20611  	var _iwork *int32
 20612  	if len(iwork) > 0 {
 20613  		_iwork = &iwork[0]
 20614  	}
 20615  	return isZero(C.LAPACKE_sstedc_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 20616  }
 20617  
 20618  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstedc.f.
 20619  func Dstedc(compz lapack.Comp, n int, d, e, z []float64, ldz int, work []float64, lwork int, iwork []int32, liwork int) bool {
 20620  	var _d *float64
 20621  	if len(d) > 0 {
 20622  		_d = &d[0]
 20623  	}
 20624  	var _e *float64
 20625  	if len(e) > 0 {
 20626  		_e = &e[0]
 20627  	}
 20628  	var _z *float64
 20629  	if len(z) > 0 {
 20630  		_z = &z[0]
 20631  	}
 20632  	var _work *float64
 20633  	if len(work) > 0 {
 20634  		_work = &work[0]
 20635  	}
 20636  	var _iwork *int32
 20637  	if len(iwork) > 0 {
 20638  		_iwork = &iwork[0]
 20639  	}
 20640  	return isZero(C.LAPACKE_dstedc_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 20641  }
 20642  
 20643  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cstedc.f.
 20644  func Cstedc(compz lapack.Comp, n int, d, e []float32, z []complex64, ldz int, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32, liwork int) bool {
 20645  	var _d *float32
 20646  	if len(d) > 0 {
 20647  		_d = &d[0]
 20648  	}
 20649  	var _e *float32
 20650  	if len(e) > 0 {
 20651  		_e = &e[0]
 20652  	}
 20653  	var _z *complex64
 20654  	if len(z) > 0 {
 20655  		_z = &z[0]
 20656  	}
 20657  	var _work *complex64
 20658  	if len(work) > 0 {
 20659  		_work = &work[0]
 20660  	}
 20661  	var _rwork *float32
 20662  	if len(rwork) > 0 {
 20663  		_rwork = &rwork[0]
 20664  	}
 20665  	var _iwork *int32
 20666  	if len(iwork) > 0 {
 20667  		_iwork = &iwork[0]
 20668  	}
 20669  	return isZero(C.LAPACKE_cstedc_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 20670  }
 20671  
 20672  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zstedc.f.
 20673  func Zstedc(compz lapack.Comp, n int, d, e []float64, z []complex128, ldz int, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32, liwork int) bool {
 20674  	var _d *float64
 20675  	if len(d) > 0 {
 20676  		_d = &d[0]
 20677  	}
 20678  	var _e *float64
 20679  	if len(e) > 0 {
 20680  		_e = &e[0]
 20681  	}
 20682  	var _z *complex128
 20683  	if len(z) > 0 {
 20684  		_z = &z[0]
 20685  	}
 20686  	var _work *complex128
 20687  	if len(work) > 0 {
 20688  		_work = &work[0]
 20689  	}
 20690  	var _rwork *float64
 20691  	if len(rwork) > 0 {
 20692  		_rwork = &rwork[0]
 20693  	}
 20694  	var _iwork *int32
 20695  	if len(iwork) > 0 {
 20696  		_iwork = &iwork[0]
 20697  	}
 20698  	return isZero(C.LAPACKE_zstedc_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 20699  }
 20700  
 20701  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstegr.f.
 20702  func Sstegr(jobz lapack.Job, rng byte, n int, d, e []float32, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, isuppz []int32, work []float32, lwork int, iwork []int32, liwork int) bool {
 20703  	var _d *float32
 20704  	if len(d) > 0 {
 20705  		_d = &d[0]
 20706  	}
 20707  	var _e *float32
 20708  	if len(e) > 0 {
 20709  		_e = &e[0]
 20710  	}
 20711  	var _m *int32
 20712  	if len(m) > 0 {
 20713  		_m = &m[0]
 20714  	}
 20715  	var _w *float32
 20716  	if len(w) > 0 {
 20717  		_w = &w[0]
 20718  	}
 20719  	var _z *float32
 20720  	if len(z) > 0 {
 20721  		_z = &z[0]
 20722  	}
 20723  	var _isuppz *int32
 20724  	if len(isuppz) > 0 {
 20725  		_isuppz = &isuppz[0]
 20726  	}
 20727  	var _work *float32
 20728  	if len(work) > 0 {
 20729  		_work = &work[0]
 20730  	}
 20731  	var _iwork *int32
 20732  	if len(iwork) > 0 {
 20733  		_iwork = &iwork[0]
 20734  	}
 20735  	return isZero(C.LAPACKE_sstegr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 20736  }
 20737  
 20738  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstegr.f.
 20739  func Dstegr(jobz lapack.Job, rng byte, n int, d, e []float64, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, isuppz []int32, work []float64, lwork int, iwork []int32, liwork int) bool {
 20740  	var _d *float64
 20741  	if len(d) > 0 {
 20742  		_d = &d[0]
 20743  	}
 20744  	var _e *float64
 20745  	if len(e) > 0 {
 20746  		_e = &e[0]
 20747  	}
 20748  	var _m *int32
 20749  	if len(m) > 0 {
 20750  		_m = &m[0]
 20751  	}
 20752  	var _w *float64
 20753  	if len(w) > 0 {
 20754  		_w = &w[0]
 20755  	}
 20756  	var _z *float64
 20757  	if len(z) > 0 {
 20758  		_z = &z[0]
 20759  	}
 20760  	var _isuppz *int32
 20761  	if len(isuppz) > 0 {
 20762  		_isuppz = &isuppz[0]
 20763  	}
 20764  	var _work *float64
 20765  	if len(work) > 0 {
 20766  		_work = &work[0]
 20767  	}
 20768  	var _iwork *int32
 20769  	if len(iwork) > 0 {
 20770  		_iwork = &iwork[0]
 20771  	}
 20772  	return isZero(C.LAPACKE_dstegr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 20773  }
 20774  
 20775  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cstegr.f.
 20776  func Cstegr(jobz lapack.Job, rng byte, n int, d, e []float32, vl, vu float32, il, iu int, abstol float32, m []int32, w []float32, z []complex64, ldz int, isuppz []int32, work []float32, lwork int, iwork []int32, liwork int) bool {
 20777  	var _d *float32
 20778  	if len(d) > 0 {
 20779  		_d = &d[0]
 20780  	}
 20781  	var _e *float32
 20782  	if len(e) > 0 {
 20783  		_e = &e[0]
 20784  	}
 20785  	var _m *int32
 20786  	if len(m) > 0 {
 20787  		_m = &m[0]
 20788  	}
 20789  	var _w *float32
 20790  	if len(w) > 0 {
 20791  		_w = &w[0]
 20792  	}
 20793  	var _z *complex64
 20794  	if len(z) > 0 {
 20795  		_z = &z[0]
 20796  	}
 20797  	var _isuppz *int32
 20798  	if len(isuppz) > 0 {
 20799  		_isuppz = &isuppz[0]
 20800  	}
 20801  	var _work *float32
 20802  	if len(work) > 0 {
 20803  		_work = &work[0]
 20804  	}
 20805  	var _iwork *int32
 20806  	if len(iwork) > 0 {
 20807  		_iwork = &iwork[0]
 20808  	}
 20809  	return isZero(C.LAPACKE_cstegr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 20810  }
 20811  
 20812  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zstegr.f.
 20813  func Zstegr(jobz lapack.Job, rng byte, n int, d, e []float64, vl, vu float64, il, iu int, abstol float64, m []int32, w []float64, z []complex128, ldz int, isuppz []int32, work []float64, lwork int, iwork []int32, liwork int) bool {
 20814  	var _d *float64
 20815  	if len(d) > 0 {
 20816  		_d = &d[0]
 20817  	}
 20818  	var _e *float64
 20819  	if len(e) > 0 {
 20820  		_e = &e[0]
 20821  	}
 20822  	var _m *int32
 20823  	if len(m) > 0 {
 20824  		_m = &m[0]
 20825  	}
 20826  	var _w *float64
 20827  	if len(w) > 0 {
 20828  		_w = &w[0]
 20829  	}
 20830  	var _z *complex128
 20831  	if len(z) > 0 {
 20832  		_z = &z[0]
 20833  	}
 20834  	var _isuppz *int32
 20835  	if len(isuppz) > 0 {
 20836  		_isuppz = &isuppz[0]
 20837  	}
 20838  	var _work *float64
 20839  	if len(work) > 0 {
 20840  		_work = &work[0]
 20841  	}
 20842  	var _iwork *int32
 20843  	if len(iwork) > 0 {
 20844  		_iwork = &iwork[0]
 20845  	}
 20846  	return isZero(C.LAPACKE_zstegr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 20847  }
 20848  
 20849  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstein.f.
 20850  func Sstein(n int, d, e []float32, m int, w []float32, iblock, isplit []int32, z []float32, ldz int, work []float32, iwork, ifailv []int32) bool {
 20851  	var _d *float32
 20852  	if len(d) > 0 {
 20853  		_d = &d[0]
 20854  	}
 20855  	var _e *float32
 20856  	if len(e) > 0 {
 20857  		_e = &e[0]
 20858  	}
 20859  	var _w *float32
 20860  	if len(w) > 0 {
 20861  		_w = &w[0]
 20862  	}
 20863  	var _iblock *int32
 20864  	if len(iblock) > 0 {
 20865  		_iblock = &iblock[0]
 20866  	}
 20867  	var _isplit *int32
 20868  	if len(isplit) > 0 {
 20869  		_isplit = &isplit[0]
 20870  	}
 20871  	var _z *float32
 20872  	if len(z) > 0 {
 20873  		_z = &z[0]
 20874  	}
 20875  	var _work *float32
 20876  	if len(work) > 0 {
 20877  		_work = &work[0]
 20878  	}
 20879  	var _iwork *int32
 20880  	if len(iwork) > 0 {
 20881  		_iwork = &iwork[0]
 20882  	}
 20883  	var _ifailv *int32
 20884  	if len(ifailv) > 0 {
 20885  		_ifailv = &ifailv[0]
 20886  	}
 20887  	return isZero(C.LAPACKE_sstein_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.lapack_int)(m), (*C.float)(_w), (*C.lapack_int)(_iblock), (*C.lapack_int)(_isplit), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifailv)))
 20888  }
 20889  
 20890  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstein.f.
 20891  func Dstein(n int, d, e []float64, m int, w []float64, iblock, isplit []int32, z []float64, ldz int, work []float64, iwork, ifailv []int32) bool {
 20892  	var _d *float64
 20893  	if len(d) > 0 {
 20894  		_d = &d[0]
 20895  	}
 20896  	var _e *float64
 20897  	if len(e) > 0 {
 20898  		_e = &e[0]
 20899  	}
 20900  	var _w *float64
 20901  	if len(w) > 0 {
 20902  		_w = &w[0]
 20903  	}
 20904  	var _iblock *int32
 20905  	if len(iblock) > 0 {
 20906  		_iblock = &iblock[0]
 20907  	}
 20908  	var _isplit *int32
 20909  	if len(isplit) > 0 {
 20910  		_isplit = &isplit[0]
 20911  	}
 20912  	var _z *float64
 20913  	if len(z) > 0 {
 20914  		_z = &z[0]
 20915  	}
 20916  	var _work *float64
 20917  	if len(work) > 0 {
 20918  		_work = &work[0]
 20919  	}
 20920  	var _iwork *int32
 20921  	if len(iwork) > 0 {
 20922  		_iwork = &iwork[0]
 20923  	}
 20924  	var _ifailv *int32
 20925  	if len(ifailv) > 0 {
 20926  		_ifailv = &ifailv[0]
 20927  	}
 20928  	return isZero(C.LAPACKE_dstein_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.lapack_int)(m), (*C.double)(_w), (*C.lapack_int)(_iblock), (*C.lapack_int)(_isplit), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifailv)))
 20929  }
 20930  
 20931  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cstein.f.
 20932  func Cstein(n int, d, e []float32, m int, w []float32, iblock, isplit []int32, z []complex64, ldz int, work []float32, iwork, ifailv []int32) bool {
 20933  	var _d *float32
 20934  	if len(d) > 0 {
 20935  		_d = &d[0]
 20936  	}
 20937  	var _e *float32
 20938  	if len(e) > 0 {
 20939  		_e = &e[0]
 20940  	}
 20941  	var _w *float32
 20942  	if len(w) > 0 {
 20943  		_w = &w[0]
 20944  	}
 20945  	var _iblock *int32
 20946  	if len(iblock) > 0 {
 20947  		_iblock = &iblock[0]
 20948  	}
 20949  	var _isplit *int32
 20950  	if len(isplit) > 0 {
 20951  		_isplit = &isplit[0]
 20952  	}
 20953  	var _z *complex64
 20954  	if len(z) > 0 {
 20955  		_z = &z[0]
 20956  	}
 20957  	var _work *float32
 20958  	if len(work) > 0 {
 20959  		_work = &work[0]
 20960  	}
 20961  	var _iwork *int32
 20962  	if len(iwork) > 0 {
 20963  		_iwork = &iwork[0]
 20964  	}
 20965  	var _ifailv *int32
 20966  	if len(ifailv) > 0 {
 20967  		_ifailv = &ifailv[0]
 20968  	}
 20969  	return isZero(C.LAPACKE_cstein_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.lapack_int)(m), (*C.float)(_w), (*C.lapack_int)(_iblock), (*C.lapack_int)(_isplit), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifailv)))
 20970  }
 20971  
 20972  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zstein.f.
 20973  func Zstein(n int, d, e []float64, m int, w []float64, iblock, isplit []int32, z []complex128, ldz int, work []float64, iwork, ifailv []int32) bool {
 20974  	var _d *float64
 20975  	if len(d) > 0 {
 20976  		_d = &d[0]
 20977  	}
 20978  	var _e *float64
 20979  	if len(e) > 0 {
 20980  		_e = &e[0]
 20981  	}
 20982  	var _w *float64
 20983  	if len(w) > 0 {
 20984  		_w = &w[0]
 20985  	}
 20986  	var _iblock *int32
 20987  	if len(iblock) > 0 {
 20988  		_iblock = &iblock[0]
 20989  	}
 20990  	var _isplit *int32
 20991  	if len(isplit) > 0 {
 20992  		_isplit = &isplit[0]
 20993  	}
 20994  	var _z *complex128
 20995  	if len(z) > 0 {
 20996  		_z = &z[0]
 20997  	}
 20998  	var _work *float64
 20999  	if len(work) > 0 {
 21000  		_work = &work[0]
 21001  	}
 21002  	var _iwork *int32
 21003  	if len(iwork) > 0 {
 21004  		_iwork = &iwork[0]
 21005  	}
 21006  	var _ifailv *int32
 21007  	if len(ifailv) > 0 {
 21008  		_ifailv = &ifailv[0]
 21009  	}
 21010  	return isZero(C.LAPACKE_zstein_work((C.int)(rowMajor), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.lapack_int)(m), (*C.double)(_w), (*C.lapack_int)(_iblock), (*C.lapack_int)(_isplit), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifailv)))
 21011  }
 21012  
 21013  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstemr.f.
 21014  func Sstemr(jobz lapack.Job, rng byte, n int, d, e []float32, vl, vu float32, il, iu int, m []int32, w, z []float32, ldz, nzc int, isuppz, tryrac []int32, work []float32, lwork int, iwork []int32, liwork int) bool {
 21015  	var _d *float32
 21016  	if len(d) > 0 {
 21017  		_d = &d[0]
 21018  	}
 21019  	var _e *float32
 21020  	if len(e) > 0 {
 21021  		_e = &e[0]
 21022  	}
 21023  	var _m *int32
 21024  	if len(m) > 0 {
 21025  		_m = &m[0]
 21026  	}
 21027  	var _w *float32
 21028  	if len(w) > 0 {
 21029  		_w = &w[0]
 21030  	}
 21031  	var _z *float32
 21032  	if len(z) > 0 {
 21033  		_z = &z[0]
 21034  	}
 21035  	var _isuppz *int32
 21036  	if len(isuppz) > 0 {
 21037  		_isuppz = &isuppz[0]
 21038  	}
 21039  	var _tryrac *int32
 21040  	if len(tryrac) > 0 {
 21041  		_tryrac = &tryrac[0]
 21042  	}
 21043  	var _work *float32
 21044  	if len(work) > 0 {
 21045  		_work = &work[0]
 21046  	}
 21047  	var _iwork *int32
 21048  	if len(iwork) > 0 {
 21049  		_iwork = &iwork[0]
 21050  	}
 21051  	return isZero(C.LAPACKE_sstemr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (C.lapack_int)(nzc), (*C.lapack_int)(_isuppz), (*C.lapack_logical)(_tryrac), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21052  }
 21053  
 21054  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstemr.f.
 21055  func Dstemr(jobz lapack.Job, rng byte, n int, d, e []float64, vl, vu float64, il, iu int, m []int32, w, z []float64, ldz, nzc int, isuppz, tryrac []int32, work []float64, lwork int, iwork []int32, liwork int) bool {
 21056  	var _d *float64
 21057  	if len(d) > 0 {
 21058  		_d = &d[0]
 21059  	}
 21060  	var _e *float64
 21061  	if len(e) > 0 {
 21062  		_e = &e[0]
 21063  	}
 21064  	var _m *int32
 21065  	if len(m) > 0 {
 21066  		_m = &m[0]
 21067  	}
 21068  	var _w *float64
 21069  	if len(w) > 0 {
 21070  		_w = &w[0]
 21071  	}
 21072  	var _z *float64
 21073  	if len(z) > 0 {
 21074  		_z = &z[0]
 21075  	}
 21076  	var _isuppz *int32
 21077  	if len(isuppz) > 0 {
 21078  		_isuppz = &isuppz[0]
 21079  	}
 21080  	var _tryrac *int32
 21081  	if len(tryrac) > 0 {
 21082  		_tryrac = &tryrac[0]
 21083  	}
 21084  	var _work *float64
 21085  	if len(work) > 0 {
 21086  		_work = &work[0]
 21087  	}
 21088  	var _iwork *int32
 21089  	if len(iwork) > 0 {
 21090  		_iwork = &iwork[0]
 21091  	}
 21092  	return isZero(C.LAPACKE_dstemr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (C.lapack_int)(nzc), (*C.lapack_int)(_isuppz), (*C.lapack_logical)(_tryrac), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21093  }
 21094  
 21095  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cstemr.f.
 21096  func Cstemr(jobz lapack.Job, rng byte, n int, d, e []float32, vl, vu float32, il, iu int, m []int32, w []float32, z []complex64, ldz, nzc int, isuppz, tryrac []int32, work []float32, lwork int, iwork []int32, liwork int) bool {
 21097  	var _d *float32
 21098  	if len(d) > 0 {
 21099  		_d = &d[0]
 21100  	}
 21101  	var _e *float32
 21102  	if len(e) > 0 {
 21103  		_e = &e[0]
 21104  	}
 21105  	var _m *int32
 21106  	if len(m) > 0 {
 21107  		_m = &m[0]
 21108  	}
 21109  	var _w *float32
 21110  	if len(w) > 0 {
 21111  		_w = &w[0]
 21112  	}
 21113  	var _z *complex64
 21114  	if len(z) > 0 {
 21115  		_z = &z[0]
 21116  	}
 21117  	var _isuppz *int32
 21118  	if len(isuppz) > 0 {
 21119  		_isuppz = &isuppz[0]
 21120  	}
 21121  	var _tryrac *int32
 21122  	if len(tryrac) > 0 {
 21123  		_tryrac = &tryrac[0]
 21124  	}
 21125  	var _work *float32
 21126  	if len(work) > 0 {
 21127  		_work = &work[0]
 21128  	}
 21129  	var _iwork *int32
 21130  	if len(iwork) > 0 {
 21131  		_iwork = &iwork[0]
 21132  	}
 21133  	return isZero(C.LAPACKE_cstemr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (*C.lapack_int)(_m), (*C.float)(_w), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (C.lapack_int)(nzc), (*C.lapack_int)(_isuppz), (*C.lapack_logical)(_tryrac), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21134  }
 21135  
 21136  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zstemr.f.
 21137  func Zstemr(jobz lapack.Job, rng byte, n int, d, e []float64, vl, vu float64, il, iu int, m []int32, w []float64, z []complex128, ldz, nzc int, isuppz, tryrac []int32, work []float64, lwork int, iwork []int32, liwork int) bool {
 21138  	var _d *float64
 21139  	if len(d) > 0 {
 21140  		_d = &d[0]
 21141  	}
 21142  	var _e *float64
 21143  	if len(e) > 0 {
 21144  		_e = &e[0]
 21145  	}
 21146  	var _m *int32
 21147  	if len(m) > 0 {
 21148  		_m = &m[0]
 21149  	}
 21150  	var _w *float64
 21151  	if len(w) > 0 {
 21152  		_w = &w[0]
 21153  	}
 21154  	var _z *complex128
 21155  	if len(z) > 0 {
 21156  		_z = &z[0]
 21157  	}
 21158  	var _isuppz *int32
 21159  	if len(isuppz) > 0 {
 21160  		_isuppz = &isuppz[0]
 21161  	}
 21162  	var _tryrac *int32
 21163  	if len(tryrac) > 0 {
 21164  		_tryrac = &tryrac[0]
 21165  	}
 21166  	var _work *float64
 21167  	if len(work) > 0 {
 21168  		_work = &work[0]
 21169  	}
 21170  	var _iwork *int32
 21171  	if len(iwork) > 0 {
 21172  		_iwork = &iwork[0]
 21173  	}
 21174  	return isZero(C.LAPACKE_zstemr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (*C.lapack_int)(_m), (*C.double)(_w), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (C.lapack_int)(nzc), (*C.lapack_int)(_isuppz), (*C.lapack_logical)(_tryrac), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21175  }
 21176  
 21177  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssteqr.f.
 21178  func Ssteqr(compz lapack.Comp, n int, d, e, z []float32, ldz int, work []float32) bool {
 21179  	var _d *float32
 21180  	if len(d) > 0 {
 21181  		_d = &d[0]
 21182  	}
 21183  	var _e *float32
 21184  	if len(e) > 0 {
 21185  		_e = &e[0]
 21186  	}
 21187  	var _z *float32
 21188  	if len(z) > 0 {
 21189  		_z = &z[0]
 21190  	}
 21191  	var _work *float32
 21192  	if len(work) > 0 {
 21193  		_work = &work[0]
 21194  	}
 21195  	return isZero(C.LAPACKE_ssteqr_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 21196  }
 21197  
 21198  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsteqr.f.
 21199  func Dsteqr(compz lapack.Comp, n int, d, e, z []float64, ldz int, work []float64) bool {
 21200  	var _d *float64
 21201  	if len(d) > 0 {
 21202  		_d = &d[0]
 21203  	}
 21204  	var _e *float64
 21205  	if len(e) > 0 {
 21206  		_e = &e[0]
 21207  	}
 21208  	var _z *float64
 21209  	if len(z) > 0 {
 21210  		_z = &z[0]
 21211  	}
 21212  	var _work *float64
 21213  	if len(work) > 0 {
 21214  		_work = &work[0]
 21215  	}
 21216  	return isZero(C.LAPACKE_dsteqr_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 21217  }
 21218  
 21219  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csteqr.f.
 21220  func Csteqr(compz lapack.Comp, n int, d, e []float32, z []complex64, ldz int, work []float32) bool {
 21221  	var _d *float32
 21222  	if len(d) > 0 {
 21223  		_d = &d[0]
 21224  	}
 21225  	var _e *float32
 21226  	if len(e) > 0 {
 21227  		_e = &e[0]
 21228  	}
 21229  	var _z *complex64
 21230  	if len(z) > 0 {
 21231  		_z = &z[0]
 21232  	}
 21233  	var _work *float32
 21234  	if len(work) > 0 {
 21235  		_work = &work[0]
 21236  	}
 21237  	return isZero(C.LAPACKE_csteqr_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 21238  }
 21239  
 21240  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsteqr.f.
 21241  func Zsteqr(compz lapack.Comp, n int, d, e []float64, z []complex128, ldz int, work []float64) bool {
 21242  	var _d *float64
 21243  	if len(d) > 0 {
 21244  		_d = &d[0]
 21245  	}
 21246  	var _e *float64
 21247  	if len(e) > 0 {
 21248  		_e = &e[0]
 21249  	}
 21250  	var _z *complex128
 21251  	if len(z) > 0 {
 21252  		_z = &z[0]
 21253  	}
 21254  	var _work *float64
 21255  	if len(work) > 0 {
 21256  		_work = &work[0]
 21257  	}
 21258  	return isZero(C.LAPACKE_zsteqr_work((C.int)(rowMajor), (C.char)(compz), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 21259  }
 21260  
 21261  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssterf.f.
 21262  func Ssterf(n int, d, e []float32) bool {
 21263  	var _d *float32
 21264  	if len(d) > 0 {
 21265  		_d = &d[0]
 21266  	}
 21267  	var _e *float32
 21268  	if len(e) > 0 {
 21269  		_e = &e[0]
 21270  	}
 21271  	return isZero(C.LAPACKE_ssterf_work((C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e)))
 21272  }
 21273  
 21274  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsterf.f.
 21275  func Dsterf(n int, d, e []float64) bool {
 21276  	var _d *float64
 21277  	if len(d) > 0 {
 21278  		_d = &d[0]
 21279  	}
 21280  	var _e *float64
 21281  	if len(e) > 0 {
 21282  		_e = &e[0]
 21283  	}
 21284  	return isZero(C.LAPACKE_dsterf_work((C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e)))
 21285  }
 21286  
 21287  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstev.f.
 21288  func Sstev(jobz lapack.Job, n int, d, e, z []float32, ldz int, work []float32) bool {
 21289  	var _d *float32
 21290  	if len(d) > 0 {
 21291  		_d = &d[0]
 21292  	}
 21293  	var _e *float32
 21294  	if len(e) > 0 {
 21295  		_e = &e[0]
 21296  	}
 21297  	var _z *float32
 21298  	if len(z) > 0 {
 21299  		_z = &z[0]
 21300  	}
 21301  	var _work *float32
 21302  	if len(work) > 0 {
 21303  		_work = &work[0]
 21304  	}
 21305  	return isZero(C.LAPACKE_sstev_work((C.int)(rowMajor), (C.char)(jobz), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work)))
 21306  }
 21307  
 21308  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstev.f.
 21309  func Dstev(jobz lapack.Job, n int, d, e, z []float64, ldz int, work []float64) bool {
 21310  	var _d *float64
 21311  	if len(d) > 0 {
 21312  		_d = &d[0]
 21313  	}
 21314  	var _e *float64
 21315  	if len(e) > 0 {
 21316  		_e = &e[0]
 21317  	}
 21318  	var _z *float64
 21319  	if len(z) > 0 {
 21320  		_z = &z[0]
 21321  	}
 21322  	var _work *float64
 21323  	if len(work) > 0 {
 21324  		_work = &work[0]
 21325  	}
 21326  	return isZero(C.LAPACKE_dstev_work((C.int)(rowMajor), (C.char)(jobz), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work)))
 21327  }
 21328  
 21329  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstevd.f.
 21330  func Sstevd(jobz lapack.Job, n int, d, e, z []float32, ldz int, work []float32, lwork int, iwork []int32, liwork int) bool {
 21331  	var _d *float32
 21332  	if len(d) > 0 {
 21333  		_d = &d[0]
 21334  	}
 21335  	var _e *float32
 21336  	if len(e) > 0 {
 21337  		_e = &e[0]
 21338  	}
 21339  	var _z *float32
 21340  	if len(z) > 0 {
 21341  		_z = &z[0]
 21342  	}
 21343  	var _work *float32
 21344  	if len(work) > 0 {
 21345  		_work = &work[0]
 21346  	}
 21347  	var _iwork *int32
 21348  	if len(iwork) > 0 {
 21349  		_iwork = &iwork[0]
 21350  	}
 21351  	return isZero(C.LAPACKE_sstevd_work((C.int)(rowMajor), (C.char)(jobz), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21352  }
 21353  
 21354  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstevd.f.
 21355  func Dstevd(jobz lapack.Job, n int, d, e, z []float64, ldz int, work []float64, lwork int, iwork []int32, liwork int) bool {
 21356  	var _d *float64
 21357  	if len(d) > 0 {
 21358  		_d = &d[0]
 21359  	}
 21360  	var _e *float64
 21361  	if len(e) > 0 {
 21362  		_e = &e[0]
 21363  	}
 21364  	var _z *float64
 21365  	if len(z) > 0 {
 21366  		_z = &z[0]
 21367  	}
 21368  	var _work *float64
 21369  	if len(work) > 0 {
 21370  		_work = &work[0]
 21371  	}
 21372  	var _iwork *int32
 21373  	if len(iwork) > 0 {
 21374  		_iwork = &iwork[0]
 21375  	}
 21376  	return isZero(C.LAPACKE_dstevd_work((C.int)(rowMajor), (C.char)(jobz), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21377  }
 21378  
 21379  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstevr.f.
 21380  func Sstevr(jobz lapack.Job, rng byte, n int, d, e []float32, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, isuppz []int32, work []float32, lwork int, iwork []int32, liwork int) bool {
 21381  	var _d *float32
 21382  	if len(d) > 0 {
 21383  		_d = &d[0]
 21384  	}
 21385  	var _e *float32
 21386  	if len(e) > 0 {
 21387  		_e = &e[0]
 21388  	}
 21389  	var _m *int32
 21390  	if len(m) > 0 {
 21391  		_m = &m[0]
 21392  	}
 21393  	var _w *float32
 21394  	if len(w) > 0 {
 21395  		_w = &w[0]
 21396  	}
 21397  	var _z *float32
 21398  	if len(z) > 0 {
 21399  		_z = &z[0]
 21400  	}
 21401  	var _isuppz *int32
 21402  	if len(isuppz) > 0 {
 21403  		_isuppz = &isuppz[0]
 21404  	}
 21405  	var _work *float32
 21406  	if len(work) > 0 {
 21407  		_work = &work[0]
 21408  	}
 21409  	var _iwork *int32
 21410  	if len(iwork) > 0 {
 21411  		_iwork = &iwork[0]
 21412  	}
 21413  	return isZero(C.LAPACKE_sstevr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21414  }
 21415  
 21416  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstevr.f.
 21417  func Dstevr(jobz lapack.Job, rng byte, n int, d, e []float64, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, isuppz []int32, work []float64, lwork int, iwork []int32, liwork int) bool {
 21418  	var _d *float64
 21419  	if len(d) > 0 {
 21420  		_d = &d[0]
 21421  	}
 21422  	var _e *float64
 21423  	if len(e) > 0 {
 21424  		_e = &e[0]
 21425  	}
 21426  	var _m *int32
 21427  	if len(m) > 0 {
 21428  		_m = &m[0]
 21429  	}
 21430  	var _w *float64
 21431  	if len(w) > 0 {
 21432  		_w = &w[0]
 21433  	}
 21434  	var _z *float64
 21435  	if len(z) > 0 {
 21436  		_z = &z[0]
 21437  	}
 21438  	var _isuppz *int32
 21439  	if len(isuppz) > 0 {
 21440  		_isuppz = &isuppz[0]
 21441  	}
 21442  	var _work *float64
 21443  	if len(work) > 0 {
 21444  		_work = &work[0]
 21445  	}
 21446  	var _iwork *int32
 21447  	if len(iwork) > 0 {
 21448  		_iwork = &iwork[0]
 21449  	}
 21450  	return isZero(C.LAPACKE_dstevr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21451  }
 21452  
 21453  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sstevx.f.
 21454  func Sstevx(jobz lapack.Job, rng byte, n int, d, e []float32, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, work []float32, iwork, ifail []int32) bool {
 21455  	var _d *float32
 21456  	if len(d) > 0 {
 21457  		_d = &d[0]
 21458  	}
 21459  	var _e *float32
 21460  	if len(e) > 0 {
 21461  		_e = &e[0]
 21462  	}
 21463  	var _m *int32
 21464  	if len(m) > 0 {
 21465  		_m = &m[0]
 21466  	}
 21467  	var _w *float32
 21468  	if len(w) > 0 {
 21469  		_w = &w[0]
 21470  	}
 21471  	var _z *float32
 21472  	if len(z) > 0 {
 21473  		_z = &z[0]
 21474  	}
 21475  	var _work *float32
 21476  	if len(work) > 0 {
 21477  		_work = &work[0]
 21478  	}
 21479  	var _iwork *int32
 21480  	if len(iwork) > 0 {
 21481  		_iwork = &iwork[0]
 21482  	}
 21483  	var _ifail *int32
 21484  	if len(ifail) > 0 {
 21485  		_ifail = &ifail[0]
 21486  	}
 21487  	return isZero(C.LAPACKE_sstevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.float)(_d), (*C.float)(_e), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 21488  }
 21489  
 21490  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dstevx.f.
 21491  func Dstevx(jobz lapack.Job, rng byte, n int, d, e []float64, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, work []float64, iwork, ifail []int32) bool {
 21492  	var _d *float64
 21493  	if len(d) > 0 {
 21494  		_d = &d[0]
 21495  	}
 21496  	var _e *float64
 21497  	if len(e) > 0 {
 21498  		_e = &e[0]
 21499  	}
 21500  	var _m *int32
 21501  	if len(m) > 0 {
 21502  		_m = &m[0]
 21503  	}
 21504  	var _w *float64
 21505  	if len(w) > 0 {
 21506  		_w = &w[0]
 21507  	}
 21508  	var _z *float64
 21509  	if len(z) > 0 {
 21510  		_z = &z[0]
 21511  	}
 21512  	var _work *float64
 21513  	if len(work) > 0 {
 21514  		_work = &work[0]
 21515  	}
 21516  	var _iwork *int32
 21517  	if len(iwork) > 0 {
 21518  		_iwork = &iwork[0]
 21519  	}
 21520  	var _ifail *int32
 21521  	if len(ifail) > 0 {
 21522  		_ifail = &ifail[0]
 21523  	}
 21524  	return isZero(C.LAPACKE_dstevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.lapack_int)(n), (*C.double)(_d), (*C.double)(_e), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 21525  }
 21526  
 21527  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssycon.f.
 21528  func Ssycon(ul blas.Uplo, n int, a []float32, lda int, ipiv []int32, anorm float32, rcond, work []float32, iwork []int32) bool {
 21529  	switch ul {
 21530  	case blas.Upper:
 21531  		ul = 'U'
 21532  	case blas.Lower:
 21533  		ul = 'L'
 21534  	default:
 21535  		panic("lapack: illegal triangle")
 21536  	}
 21537  	var _a *float32
 21538  	if len(a) > 0 {
 21539  		_a = &a[0]
 21540  	}
 21541  	var _ipiv *int32
 21542  	if len(ipiv) > 0 {
 21543  		_ipiv = &ipiv[0]
 21544  	}
 21545  	var _rcond *float32
 21546  	if len(rcond) > 0 {
 21547  		_rcond = &rcond[0]
 21548  	}
 21549  	var _work *float32
 21550  	if len(work) > 0 {
 21551  		_work = &work[0]
 21552  	}
 21553  	var _iwork *int32
 21554  	if len(iwork) > 0 {
 21555  		_iwork = &iwork[0]
 21556  	}
 21557  	return isZero(C.LAPACKE_ssycon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 21558  }
 21559  
 21560  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsycon.f.
 21561  func Dsycon(ul blas.Uplo, n int, a []float64, lda int, ipiv []int32, anorm float64, rcond, work []float64, iwork []int32) bool {
 21562  	switch ul {
 21563  	case blas.Upper:
 21564  		ul = 'U'
 21565  	case blas.Lower:
 21566  		ul = 'L'
 21567  	default:
 21568  		panic("lapack: illegal triangle")
 21569  	}
 21570  	var _a *float64
 21571  	if len(a) > 0 {
 21572  		_a = &a[0]
 21573  	}
 21574  	var _ipiv *int32
 21575  	if len(ipiv) > 0 {
 21576  		_ipiv = &ipiv[0]
 21577  	}
 21578  	var _rcond *float64
 21579  	if len(rcond) > 0 {
 21580  		_rcond = &rcond[0]
 21581  	}
 21582  	var _work *float64
 21583  	if len(work) > 0 {
 21584  		_work = &work[0]
 21585  	}
 21586  	var _iwork *int32
 21587  	if len(iwork) > 0 {
 21588  		_iwork = &iwork[0]
 21589  	}
 21590  	return isZero(C.LAPACKE_dsycon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 21591  }
 21592  
 21593  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csycon.f.
 21594  func Csycon(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, anorm float32, rcond []float32, work []complex64) bool {
 21595  	switch ul {
 21596  	case blas.Upper:
 21597  		ul = 'U'
 21598  	case blas.Lower:
 21599  		ul = 'L'
 21600  	default:
 21601  		panic("lapack: illegal triangle")
 21602  	}
 21603  	var _a *complex64
 21604  	if len(a) > 0 {
 21605  		_a = &a[0]
 21606  	}
 21607  	var _ipiv *int32
 21608  	if len(ipiv) > 0 {
 21609  		_ipiv = &ipiv[0]
 21610  	}
 21611  	var _rcond *float32
 21612  	if len(rcond) > 0 {
 21613  		_rcond = &rcond[0]
 21614  	}
 21615  	var _work *complex64
 21616  	if len(work) > 0 {
 21617  		_work = &work[0]
 21618  	}
 21619  	return isZero(C.LAPACKE_csycon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (C.float)(anorm), (*C.float)(_rcond), (*C.lapack_complex_float)(_work)))
 21620  }
 21621  
 21622  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsycon.f.
 21623  func Zsycon(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, anorm float64, rcond []float64, work []complex128) bool {
 21624  	switch ul {
 21625  	case blas.Upper:
 21626  		ul = 'U'
 21627  	case blas.Lower:
 21628  		ul = 'L'
 21629  	default:
 21630  		panic("lapack: illegal triangle")
 21631  	}
 21632  	var _a *complex128
 21633  	if len(a) > 0 {
 21634  		_a = &a[0]
 21635  	}
 21636  	var _ipiv *int32
 21637  	if len(ipiv) > 0 {
 21638  		_ipiv = &ipiv[0]
 21639  	}
 21640  	var _rcond *float64
 21641  	if len(rcond) > 0 {
 21642  		_rcond = &rcond[0]
 21643  	}
 21644  	var _work *complex128
 21645  	if len(work) > 0 {
 21646  		_work = &work[0]
 21647  	}
 21648  	return isZero(C.LAPACKE_zsycon_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (C.double)(anorm), (*C.double)(_rcond), (*C.lapack_complex_double)(_work)))
 21649  }
 21650  
 21651  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyequb.f.
 21652  func Ssyequb(ul blas.Uplo, n int, a []float32, lda int, s, scond, amax, work []float32) bool {
 21653  	switch ul {
 21654  	case blas.Upper:
 21655  		ul = 'U'
 21656  	case blas.Lower:
 21657  		ul = 'L'
 21658  	default:
 21659  		panic("lapack: illegal triangle")
 21660  	}
 21661  	var _a *float32
 21662  	if len(a) > 0 {
 21663  		_a = &a[0]
 21664  	}
 21665  	var _s *float32
 21666  	if len(s) > 0 {
 21667  		_s = &s[0]
 21668  	}
 21669  	var _scond *float32
 21670  	if len(scond) > 0 {
 21671  		_scond = &scond[0]
 21672  	}
 21673  	var _amax *float32
 21674  	if len(amax) > 0 {
 21675  		_amax = &amax[0]
 21676  	}
 21677  	var _work *float32
 21678  	if len(work) > 0 {
 21679  		_work = &work[0]
 21680  	}
 21681  	return isZero(C.LAPACKE_ssyequb_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax), (*C.float)(_work)))
 21682  }
 21683  
 21684  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyequb.f.
 21685  func Dsyequb(ul blas.Uplo, n int, a []float64, lda int, s, scond, amax, work []float64) bool {
 21686  	switch ul {
 21687  	case blas.Upper:
 21688  		ul = 'U'
 21689  	case blas.Lower:
 21690  		ul = 'L'
 21691  	default:
 21692  		panic("lapack: illegal triangle")
 21693  	}
 21694  	var _a *float64
 21695  	if len(a) > 0 {
 21696  		_a = &a[0]
 21697  	}
 21698  	var _s *float64
 21699  	if len(s) > 0 {
 21700  		_s = &s[0]
 21701  	}
 21702  	var _scond *float64
 21703  	if len(scond) > 0 {
 21704  		_scond = &scond[0]
 21705  	}
 21706  	var _amax *float64
 21707  	if len(amax) > 0 {
 21708  		_amax = &amax[0]
 21709  	}
 21710  	var _work *float64
 21711  	if len(work) > 0 {
 21712  		_work = &work[0]
 21713  	}
 21714  	return isZero(C.LAPACKE_dsyequb_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax), (*C.double)(_work)))
 21715  }
 21716  
 21717  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csyequb.f.
 21718  func Csyequb(ul blas.Uplo, n int, a []complex64, lda int, s, scond, amax []float32, work []complex64) bool {
 21719  	switch ul {
 21720  	case blas.Upper:
 21721  		ul = 'U'
 21722  	case blas.Lower:
 21723  		ul = 'L'
 21724  	default:
 21725  		panic("lapack: illegal triangle")
 21726  	}
 21727  	var _a *complex64
 21728  	if len(a) > 0 {
 21729  		_a = &a[0]
 21730  	}
 21731  	var _s *float32
 21732  	if len(s) > 0 {
 21733  		_s = &s[0]
 21734  	}
 21735  	var _scond *float32
 21736  	if len(scond) > 0 {
 21737  		_scond = &scond[0]
 21738  	}
 21739  	var _amax *float32
 21740  	if len(amax) > 0 {
 21741  		_amax = &amax[0]
 21742  	}
 21743  	var _work *complex64
 21744  	if len(work) > 0 {
 21745  		_work = &work[0]
 21746  	}
 21747  	return isZero(C.LAPACKE_csyequb_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_s), (*C.float)(_scond), (*C.float)(_amax), (*C.lapack_complex_float)(_work)))
 21748  }
 21749  
 21750  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsyequb.f.
 21751  func Zsyequb(ul blas.Uplo, n int, a []complex128, lda int, s, scond, amax []float64, work []complex128) bool {
 21752  	switch ul {
 21753  	case blas.Upper:
 21754  		ul = 'U'
 21755  	case blas.Lower:
 21756  		ul = 'L'
 21757  	default:
 21758  		panic("lapack: illegal triangle")
 21759  	}
 21760  	var _a *complex128
 21761  	if len(a) > 0 {
 21762  		_a = &a[0]
 21763  	}
 21764  	var _s *float64
 21765  	if len(s) > 0 {
 21766  		_s = &s[0]
 21767  	}
 21768  	var _scond *float64
 21769  	if len(scond) > 0 {
 21770  		_scond = &scond[0]
 21771  	}
 21772  	var _amax *float64
 21773  	if len(amax) > 0 {
 21774  		_amax = &amax[0]
 21775  	}
 21776  	var _work *complex128
 21777  	if len(work) > 0 {
 21778  		_work = &work[0]
 21779  	}
 21780  	return isZero(C.LAPACKE_zsyequb_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_s), (*C.double)(_scond), (*C.double)(_amax), (*C.lapack_complex_double)(_work)))
 21781  }
 21782  
 21783  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyev.f.
 21784  func Ssyev(jobz lapack.Job, ul blas.Uplo, n int, a []float32, lda int, w, work []float32, lwork int) bool {
 21785  	switch ul {
 21786  	case blas.Upper:
 21787  		ul = 'U'
 21788  	case blas.Lower:
 21789  		ul = 'L'
 21790  	default:
 21791  		panic("lapack: illegal triangle")
 21792  	}
 21793  	var _a *float32
 21794  	if len(a) > 0 {
 21795  		_a = &a[0]
 21796  	}
 21797  	var _w *float32
 21798  	if len(w) > 0 {
 21799  		_w = &w[0]
 21800  	}
 21801  	var _work *float32
 21802  	if len(work) > 0 {
 21803  		_work = &work[0]
 21804  	}
 21805  	return isZero(C.LAPACKE_ssyev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_w), (*C.float)(_work), (C.lapack_int)(lwork)))
 21806  }
 21807  
 21808  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyev.f.
 21809  func Dsyev(jobz lapack.Job, ul blas.Uplo, n int, a []float64, lda int, w, work []float64, lwork int) bool {
 21810  	switch ul {
 21811  	case blas.Upper:
 21812  		ul = 'U'
 21813  	case blas.Lower:
 21814  		ul = 'L'
 21815  	default:
 21816  		panic("lapack: illegal triangle")
 21817  	}
 21818  	var _a *float64
 21819  	if len(a) > 0 {
 21820  		_a = &a[0]
 21821  	}
 21822  	var _w *float64
 21823  	if len(w) > 0 {
 21824  		_w = &w[0]
 21825  	}
 21826  	var _work *float64
 21827  	if len(work) > 0 {
 21828  		_work = &work[0]
 21829  	}
 21830  	return isZero(C.LAPACKE_dsyev_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_w), (*C.double)(_work), (C.lapack_int)(lwork)))
 21831  }
 21832  
 21833  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevd.f.
 21834  func Ssyevd(jobz lapack.Job, ul blas.Uplo, n int, a []float32, lda int, w, work []float32, lwork int, iwork []int32, liwork int) bool {
 21835  	switch ul {
 21836  	case blas.Upper:
 21837  		ul = 'U'
 21838  	case blas.Lower:
 21839  		ul = 'L'
 21840  	default:
 21841  		panic("lapack: illegal triangle")
 21842  	}
 21843  	var _a *float32
 21844  	if len(a) > 0 {
 21845  		_a = &a[0]
 21846  	}
 21847  	var _w *float32
 21848  	if len(w) > 0 {
 21849  		_w = &w[0]
 21850  	}
 21851  	var _work *float32
 21852  	if len(work) > 0 {
 21853  		_work = &work[0]
 21854  	}
 21855  	var _iwork *int32
 21856  	if len(iwork) > 0 {
 21857  		_iwork = &iwork[0]
 21858  	}
 21859  	return isZero(C.LAPACKE_ssyevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_w), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21860  }
 21861  
 21862  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevd.f.
 21863  func Dsyevd(jobz lapack.Job, ul blas.Uplo, n int, a []float64, lda int, w, work []float64, lwork int, iwork []int32, liwork int) bool {
 21864  	switch ul {
 21865  	case blas.Upper:
 21866  		ul = 'U'
 21867  	case blas.Lower:
 21868  		ul = 'L'
 21869  	default:
 21870  		panic("lapack: illegal triangle")
 21871  	}
 21872  	var _a *float64
 21873  	if len(a) > 0 {
 21874  		_a = &a[0]
 21875  	}
 21876  	var _w *float64
 21877  	if len(w) > 0 {
 21878  		_w = &w[0]
 21879  	}
 21880  	var _work *float64
 21881  	if len(work) > 0 {
 21882  		_work = &work[0]
 21883  	}
 21884  	var _iwork *int32
 21885  	if len(iwork) > 0 {
 21886  		_iwork = &iwork[0]
 21887  	}
 21888  	return isZero(C.LAPACKE_dsyevd_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_w), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21889  }
 21890  
 21891  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevr.f.
 21892  func Ssyevr(jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []float32, lda int, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, isuppz []int32, work []float32, lwork int, iwork []int32, liwork int) bool {
 21893  	switch ul {
 21894  	case blas.Upper:
 21895  		ul = 'U'
 21896  	case blas.Lower:
 21897  		ul = 'L'
 21898  	default:
 21899  		panic("lapack: illegal triangle")
 21900  	}
 21901  	var _a *float32
 21902  	if len(a) > 0 {
 21903  		_a = &a[0]
 21904  	}
 21905  	var _m *int32
 21906  	if len(m) > 0 {
 21907  		_m = &m[0]
 21908  	}
 21909  	var _w *float32
 21910  	if len(w) > 0 {
 21911  		_w = &w[0]
 21912  	}
 21913  	var _z *float32
 21914  	if len(z) > 0 {
 21915  		_z = &z[0]
 21916  	}
 21917  	var _isuppz *int32
 21918  	if len(isuppz) > 0 {
 21919  		_isuppz = &isuppz[0]
 21920  	}
 21921  	var _work *float32
 21922  	if len(work) > 0 {
 21923  		_work = &work[0]
 21924  	}
 21925  	var _iwork *int32
 21926  	if len(iwork) > 0 {
 21927  		_iwork = &iwork[0]
 21928  	}
 21929  	return isZero(C.LAPACKE_ssyevr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21930  }
 21931  
 21932  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevr.f.
 21933  func Dsyevr(jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []float64, lda int, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, isuppz []int32, work []float64, lwork int, iwork []int32, liwork int) bool {
 21934  	switch ul {
 21935  	case blas.Upper:
 21936  		ul = 'U'
 21937  	case blas.Lower:
 21938  		ul = 'L'
 21939  	default:
 21940  		panic("lapack: illegal triangle")
 21941  	}
 21942  	var _a *float64
 21943  	if len(a) > 0 {
 21944  		_a = &a[0]
 21945  	}
 21946  	var _m *int32
 21947  	if len(m) > 0 {
 21948  		_m = &m[0]
 21949  	}
 21950  	var _w *float64
 21951  	if len(w) > 0 {
 21952  		_w = &w[0]
 21953  	}
 21954  	var _z *float64
 21955  	if len(z) > 0 {
 21956  		_z = &z[0]
 21957  	}
 21958  	var _isuppz *int32
 21959  	if len(isuppz) > 0 {
 21960  		_isuppz = &isuppz[0]
 21961  	}
 21962  	var _work *float64
 21963  	if len(work) > 0 {
 21964  		_work = &work[0]
 21965  	}
 21966  	var _iwork *int32
 21967  	if len(iwork) > 0 {
 21968  		_iwork = &iwork[0]
 21969  	}
 21970  	return isZero(C.LAPACKE_dsyevr_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_isuppz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 21971  }
 21972  
 21973  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyevx.f.
 21974  func Ssyevx(jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []float32, lda int, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, work []float32, lwork int, iwork, ifail []int32) bool {
 21975  	switch ul {
 21976  	case blas.Upper:
 21977  		ul = 'U'
 21978  	case blas.Lower:
 21979  		ul = 'L'
 21980  	default:
 21981  		panic("lapack: illegal triangle")
 21982  	}
 21983  	var _a *float32
 21984  	if len(a) > 0 {
 21985  		_a = &a[0]
 21986  	}
 21987  	var _m *int32
 21988  	if len(m) > 0 {
 21989  		_m = &m[0]
 21990  	}
 21991  	var _w *float32
 21992  	if len(w) > 0 {
 21993  		_w = &w[0]
 21994  	}
 21995  	var _z *float32
 21996  	if len(z) > 0 {
 21997  		_z = &z[0]
 21998  	}
 21999  	var _work *float32
 22000  	if len(work) > 0 {
 22001  		_work = &work[0]
 22002  	}
 22003  	var _iwork *int32
 22004  	if len(iwork) > 0 {
 22005  		_iwork = &iwork[0]
 22006  	}
 22007  	var _ifail *int32
 22008  	if len(ifail) > 0 {
 22009  		_ifail = &ifail[0]
 22010  	}
 22011  	return isZero(C.LAPACKE_ssyevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 22012  }
 22013  
 22014  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyevx.f.
 22015  func Dsyevx(jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []float64, lda int, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, work []float64, lwork int, iwork, ifail []int32) bool {
 22016  	switch ul {
 22017  	case blas.Upper:
 22018  		ul = 'U'
 22019  	case blas.Lower:
 22020  		ul = 'L'
 22021  	default:
 22022  		panic("lapack: illegal triangle")
 22023  	}
 22024  	var _a *float64
 22025  	if len(a) > 0 {
 22026  		_a = &a[0]
 22027  	}
 22028  	var _m *int32
 22029  	if len(m) > 0 {
 22030  		_m = &m[0]
 22031  	}
 22032  	var _w *float64
 22033  	if len(w) > 0 {
 22034  		_w = &w[0]
 22035  	}
 22036  	var _z *float64
 22037  	if len(z) > 0 {
 22038  		_z = &z[0]
 22039  	}
 22040  	var _work *float64
 22041  	if len(work) > 0 {
 22042  		_work = &work[0]
 22043  	}
 22044  	var _iwork *int32
 22045  	if len(iwork) > 0 {
 22046  		_iwork = &iwork[0]
 22047  	}
 22048  	var _ifail *int32
 22049  	if len(ifail) > 0 {
 22050  		_ifail = &ifail[0]
 22051  	}
 22052  	return isZero(C.LAPACKE_dsyevx_work((C.int)(rowMajor), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 22053  }
 22054  
 22055  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygst.f.
 22056  func Ssygst(itype int, ul blas.Uplo, n int, a []float32, lda int, b []float32, ldb int) bool {
 22057  	switch ul {
 22058  	case blas.Upper:
 22059  		ul = 'U'
 22060  	case blas.Lower:
 22061  		ul = 'L'
 22062  	default:
 22063  		panic("lapack: illegal triangle")
 22064  	}
 22065  	var _a *float32
 22066  	if len(a) > 0 {
 22067  		_a = &a[0]
 22068  	}
 22069  	var _b *float32
 22070  	if len(b) > 0 {
 22071  		_b = &b[0]
 22072  	}
 22073  	return isZero(C.LAPACKE_ssygst_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb)))
 22074  }
 22075  
 22076  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygst.f.
 22077  func Dsygst(itype int, ul blas.Uplo, n int, a []float64, lda int, b []float64, ldb int) bool {
 22078  	switch ul {
 22079  	case blas.Upper:
 22080  		ul = 'U'
 22081  	case blas.Lower:
 22082  		ul = 'L'
 22083  	default:
 22084  		panic("lapack: illegal triangle")
 22085  	}
 22086  	var _a *float64
 22087  	if len(a) > 0 {
 22088  		_a = &a[0]
 22089  	}
 22090  	var _b *float64
 22091  	if len(b) > 0 {
 22092  		_b = &b[0]
 22093  	}
 22094  	return isZero(C.LAPACKE_dsygst_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb)))
 22095  }
 22096  
 22097  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygv.f.
 22098  func Ssygv(itype int, jobz lapack.Job, ul blas.Uplo, n int, a []float32, lda int, b []float32, ldb int, w, work []float32, lwork int) bool {
 22099  	switch ul {
 22100  	case blas.Upper:
 22101  		ul = 'U'
 22102  	case blas.Lower:
 22103  		ul = 'L'
 22104  	default:
 22105  		panic("lapack: illegal triangle")
 22106  	}
 22107  	var _a *float32
 22108  	if len(a) > 0 {
 22109  		_a = &a[0]
 22110  	}
 22111  	var _b *float32
 22112  	if len(b) > 0 {
 22113  		_b = &b[0]
 22114  	}
 22115  	var _w *float32
 22116  	if len(w) > 0 {
 22117  		_w = &w[0]
 22118  	}
 22119  	var _work *float32
 22120  	if len(work) > 0 {
 22121  		_work = &work[0]
 22122  	}
 22123  	return isZero(C.LAPACKE_ssygv_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_w), (*C.float)(_work), (C.lapack_int)(lwork)))
 22124  }
 22125  
 22126  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygv.f.
 22127  func Dsygv(itype int, jobz lapack.Job, ul blas.Uplo, n int, a []float64, lda int, b []float64, ldb int, w, work []float64, lwork int) bool {
 22128  	switch ul {
 22129  	case blas.Upper:
 22130  		ul = 'U'
 22131  	case blas.Lower:
 22132  		ul = 'L'
 22133  	default:
 22134  		panic("lapack: illegal triangle")
 22135  	}
 22136  	var _a *float64
 22137  	if len(a) > 0 {
 22138  		_a = &a[0]
 22139  	}
 22140  	var _b *float64
 22141  	if len(b) > 0 {
 22142  		_b = &b[0]
 22143  	}
 22144  	var _w *float64
 22145  	if len(w) > 0 {
 22146  		_w = &w[0]
 22147  	}
 22148  	var _work *float64
 22149  	if len(work) > 0 {
 22150  		_work = &work[0]
 22151  	}
 22152  	return isZero(C.LAPACKE_dsygv_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_w), (*C.double)(_work), (C.lapack_int)(lwork)))
 22153  }
 22154  
 22155  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygvd.f.
 22156  func Ssygvd(itype int, jobz lapack.Job, ul blas.Uplo, n int, a []float32, lda int, b []float32, ldb int, w, work []float32, lwork int, iwork []int32, liwork int) bool {
 22157  	switch ul {
 22158  	case blas.Upper:
 22159  		ul = 'U'
 22160  	case blas.Lower:
 22161  		ul = 'L'
 22162  	default:
 22163  		panic("lapack: illegal triangle")
 22164  	}
 22165  	var _a *float32
 22166  	if len(a) > 0 {
 22167  		_a = &a[0]
 22168  	}
 22169  	var _b *float32
 22170  	if len(b) > 0 {
 22171  		_b = &b[0]
 22172  	}
 22173  	var _w *float32
 22174  	if len(w) > 0 {
 22175  		_w = &w[0]
 22176  	}
 22177  	var _work *float32
 22178  	if len(work) > 0 {
 22179  		_work = &work[0]
 22180  	}
 22181  	var _iwork *int32
 22182  	if len(iwork) > 0 {
 22183  		_iwork = &iwork[0]
 22184  	}
 22185  	return isZero(C.LAPACKE_ssygvd_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_w), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 22186  }
 22187  
 22188  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygvd.f.
 22189  func Dsygvd(itype int, jobz lapack.Job, ul blas.Uplo, n int, a []float64, lda int, b []float64, ldb int, w, work []float64, lwork int, iwork []int32, liwork int) bool {
 22190  	switch ul {
 22191  	case blas.Upper:
 22192  		ul = 'U'
 22193  	case blas.Lower:
 22194  		ul = 'L'
 22195  	default:
 22196  		panic("lapack: illegal triangle")
 22197  	}
 22198  	var _a *float64
 22199  	if len(a) > 0 {
 22200  		_a = &a[0]
 22201  	}
 22202  	var _b *float64
 22203  	if len(b) > 0 {
 22204  		_b = &b[0]
 22205  	}
 22206  	var _w *float64
 22207  	if len(w) > 0 {
 22208  		_w = &w[0]
 22209  	}
 22210  	var _work *float64
 22211  	if len(work) > 0 {
 22212  		_work = &work[0]
 22213  	}
 22214  	var _iwork *int32
 22215  	if len(iwork) > 0 {
 22216  		_iwork = &iwork[0]
 22217  	}
 22218  	return isZero(C.LAPACKE_dsygvd_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_w), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 22219  }
 22220  
 22221  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssygvx.f.
 22222  func Ssygvx(itype int, jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []float32, lda int, b []float32, ldb int, vl, vu float32, il, iu int, abstol float32, m []int32, w, z []float32, ldz int, work []float32, lwork int, iwork, ifail []int32) bool {
 22223  	switch ul {
 22224  	case blas.Upper:
 22225  		ul = 'U'
 22226  	case blas.Lower:
 22227  		ul = 'L'
 22228  	default:
 22229  		panic("lapack: illegal triangle")
 22230  	}
 22231  	var _a *float32
 22232  	if len(a) > 0 {
 22233  		_a = &a[0]
 22234  	}
 22235  	var _b *float32
 22236  	if len(b) > 0 {
 22237  		_b = &b[0]
 22238  	}
 22239  	var _m *int32
 22240  	if len(m) > 0 {
 22241  		_m = &m[0]
 22242  	}
 22243  	var _w *float32
 22244  	if len(w) > 0 {
 22245  		_w = &w[0]
 22246  	}
 22247  	var _z *float32
 22248  	if len(z) > 0 {
 22249  		_z = &z[0]
 22250  	}
 22251  	var _work *float32
 22252  	if len(work) > 0 {
 22253  		_work = &work[0]
 22254  	}
 22255  	var _iwork *int32
 22256  	if len(iwork) > 0 {
 22257  		_iwork = &iwork[0]
 22258  	}
 22259  	var _ifail *int32
 22260  	if len(ifail) > 0 {
 22261  		_ifail = &ifail[0]
 22262  	}
 22263  	return isZero(C.LAPACKE_ssygvx_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (C.float)(vl), (C.float)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.float)(abstol), (*C.lapack_int)(_m), (*C.float)(_w), (*C.float)(_z), (C.lapack_int)(ldz), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 22264  }
 22265  
 22266  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsygvx.f.
 22267  func Dsygvx(itype int, jobz lapack.Job, rng byte, ul blas.Uplo, n int, a []float64, lda int, b []float64, ldb int, vl, vu float64, il, iu int, abstol float64, m []int32, w, z []float64, ldz int, work []float64, lwork int, iwork, ifail []int32) bool {
 22268  	switch ul {
 22269  	case blas.Upper:
 22270  		ul = 'U'
 22271  	case blas.Lower:
 22272  		ul = 'L'
 22273  	default:
 22274  		panic("lapack: illegal triangle")
 22275  	}
 22276  	var _a *float64
 22277  	if len(a) > 0 {
 22278  		_a = &a[0]
 22279  	}
 22280  	var _b *float64
 22281  	if len(b) > 0 {
 22282  		_b = &b[0]
 22283  	}
 22284  	var _m *int32
 22285  	if len(m) > 0 {
 22286  		_m = &m[0]
 22287  	}
 22288  	var _w *float64
 22289  	if len(w) > 0 {
 22290  		_w = &w[0]
 22291  	}
 22292  	var _z *float64
 22293  	if len(z) > 0 {
 22294  		_z = &z[0]
 22295  	}
 22296  	var _work *float64
 22297  	if len(work) > 0 {
 22298  		_work = &work[0]
 22299  	}
 22300  	var _iwork *int32
 22301  	if len(iwork) > 0 {
 22302  		_iwork = &iwork[0]
 22303  	}
 22304  	var _ifail *int32
 22305  	if len(ifail) > 0 {
 22306  		_ifail = &ifail[0]
 22307  	}
 22308  	return isZero(C.LAPACKE_dsygvx_work((C.int)(rowMajor), (C.lapack_int)(itype), (C.char)(jobz), (C.char)(rng), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (C.double)(vl), (C.double)(vu), (C.lapack_int)(il), (C.lapack_int)(iu), (C.double)(abstol), (*C.lapack_int)(_m), (*C.double)(_w), (*C.double)(_z), (C.lapack_int)(ldz), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (*C.lapack_int)(_ifail)))
 22309  }
 22310  
 22311  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyrfs.f.
 22312  func Ssyrfs(ul blas.Uplo, n, nrhs int, a []float32, lda int, af []float32, ldaf int, ipiv []int32, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
 22313  	switch ul {
 22314  	case blas.Upper:
 22315  		ul = 'U'
 22316  	case blas.Lower:
 22317  		ul = 'L'
 22318  	default:
 22319  		panic("lapack: illegal triangle")
 22320  	}
 22321  	var _a *float32
 22322  	if len(a) > 0 {
 22323  		_a = &a[0]
 22324  	}
 22325  	var _af *float32
 22326  	if len(af) > 0 {
 22327  		_af = &af[0]
 22328  	}
 22329  	var _ipiv *int32
 22330  	if len(ipiv) > 0 {
 22331  		_ipiv = &ipiv[0]
 22332  	}
 22333  	var _b *float32
 22334  	if len(b) > 0 {
 22335  		_b = &b[0]
 22336  	}
 22337  	var _x *float32
 22338  	if len(x) > 0 {
 22339  		_x = &x[0]
 22340  	}
 22341  	var _ferr *float32
 22342  	if len(ferr) > 0 {
 22343  		_ferr = &ferr[0]
 22344  	}
 22345  	var _berr *float32
 22346  	if len(berr) > 0 {
 22347  		_berr = &berr[0]
 22348  	}
 22349  	var _work *float32
 22350  	if len(work) > 0 {
 22351  		_work = &work[0]
 22352  	}
 22353  	var _iwork *int32
 22354  	if len(iwork) > 0 {
 22355  		_iwork = &iwork[0]
 22356  	}
 22357  	return isZero(C.LAPACKE_ssyrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 22358  }
 22359  
 22360  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyrfs.f.
 22361  func Dsyrfs(ul blas.Uplo, n, nrhs int, a []float64, lda int, af []float64, ldaf int, ipiv []int32, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
 22362  	switch ul {
 22363  	case blas.Upper:
 22364  		ul = 'U'
 22365  	case blas.Lower:
 22366  		ul = 'L'
 22367  	default:
 22368  		panic("lapack: illegal triangle")
 22369  	}
 22370  	var _a *float64
 22371  	if len(a) > 0 {
 22372  		_a = &a[0]
 22373  	}
 22374  	var _af *float64
 22375  	if len(af) > 0 {
 22376  		_af = &af[0]
 22377  	}
 22378  	var _ipiv *int32
 22379  	if len(ipiv) > 0 {
 22380  		_ipiv = &ipiv[0]
 22381  	}
 22382  	var _b *float64
 22383  	if len(b) > 0 {
 22384  		_b = &b[0]
 22385  	}
 22386  	var _x *float64
 22387  	if len(x) > 0 {
 22388  		_x = &x[0]
 22389  	}
 22390  	var _ferr *float64
 22391  	if len(ferr) > 0 {
 22392  		_ferr = &ferr[0]
 22393  	}
 22394  	var _berr *float64
 22395  	if len(berr) > 0 {
 22396  		_berr = &berr[0]
 22397  	}
 22398  	var _work *float64
 22399  	if len(work) > 0 {
 22400  		_work = &work[0]
 22401  	}
 22402  	var _iwork *int32
 22403  	if len(iwork) > 0 {
 22404  		_iwork = &iwork[0]
 22405  	}
 22406  	return isZero(C.LAPACKE_dsyrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 22407  }
 22408  
 22409  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csyrfs.f.
 22410  func Csyrfs(ul blas.Uplo, n, nrhs int, a []complex64, lda int, af []complex64, ldaf int, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 22411  	switch ul {
 22412  	case blas.Upper:
 22413  		ul = 'U'
 22414  	case blas.Lower:
 22415  		ul = 'L'
 22416  	default:
 22417  		panic("lapack: illegal triangle")
 22418  	}
 22419  	var _a *complex64
 22420  	if len(a) > 0 {
 22421  		_a = &a[0]
 22422  	}
 22423  	var _af *complex64
 22424  	if len(af) > 0 {
 22425  		_af = &af[0]
 22426  	}
 22427  	var _ipiv *int32
 22428  	if len(ipiv) > 0 {
 22429  		_ipiv = &ipiv[0]
 22430  	}
 22431  	var _b *complex64
 22432  	if len(b) > 0 {
 22433  		_b = &b[0]
 22434  	}
 22435  	var _x *complex64
 22436  	if len(x) > 0 {
 22437  		_x = &x[0]
 22438  	}
 22439  	var _ferr *float32
 22440  	if len(ferr) > 0 {
 22441  		_ferr = &ferr[0]
 22442  	}
 22443  	var _berr *float32
 22444  	if len(berr) > 0 {
 22445  		_berr = &berr[0]
 22446  	}
 22447  	var _work *complex64
 22448  	if len(work) > 0 {
 22449  		_work = &work[0]
 22450  	}
 22451  	var _rwork *float32
 22452  	if len(rwork) > 0 {
 22453  		_rwork = &rwork[0]
 22454  	}
 22455  	return isZero(C.LAPACKE_csyrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 22456  }
 22457  
 22458  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsyrfs.f.
 22459  func Zsyrfs(ul blas.Uplo, n, nrhs int, a []complex128, lda int, af []complex128, ldaf int, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 22460  	switch ul {
 22461  	case blas.Upper:
 22462  		ul = 'U'
 22463  	case blas.Lower:
 22464  		ul = 'L'
 22465  	default:
 22466  		panic("lapack: illegal triangle")
 22467  	}
 22468  	var _a *complex128
 22469  	if len(a) > 0 {
 22470  		_a = &a[0]
 22471  	}
 22472  	var _af *complex128
 22473  	if len(af) > 0 {
 22474  		_af = &af[0]
 22475  	}
 22476  	var _ipiv *int32
 22477  	if len(ipiv) > 0 {
 22478  		_ipiv = &ipiv[0]
 22479  	}
 22480  	var _b *complex128
 22481  	if len(b) > 0 {
 22482  		_b = &b[0]
 22483  	}
 22484  	var _x *complex128
 22485  	if len(x) > 0 {
 22486  		_x = &x[0]
 22487  	}
 22488  	var _ferr *float64
 22489  	if len(ferr) > 0 {
 22490  		_ferr = &ferr[0]
 22491  	}
 22492  	var _berr *float64
 22493  	if len(berr) > 0 {
 22494  		_berr = &berr[0]
 22495  	}
 22496  	var _work *complex128
 22497  	if len(work) > 0 {
 22498  		_work = &work[0]
 22499  	}
 22500  	var _rwork *float64
 22501  	if len(rwork) > 0 {
 22502  		_rwork = &rwork[0]
 22503  	}
 22504  	return isZero(C.LAPACKE_zsyrfs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 22505  }
 22506  
 22507  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssysv.f.
 22508  func Ssysv(ul blas.Uplo, n, nrhs int, a []float32, lda int, ipiv []int32, b []float32, ldb int, work []float32, lwork int) bool {
 22509  	switch ul {
 22510  	case blas.Upper:
 22511  		ul = 'U'
 22512  	case blas.Lower:
 22513  		ul = 'L'
 22514  	default:
 22515  		panic("lapack: illegal triangle")
 22516  	}
 22517  	var _a *float32
 22518  	if len(a) > 0 {
 22519  		_a = &a[0]
 22520  	}
 22521  	var _ipiv *int32
 22522  	if len(ipiv) > 0 {
 22523  		_ipiv = &ipiv[0]
 22524  	}
 22525  	var _b *float32
 22526  	if len(b) > 0 {
 22527  		_b = &b[0]
 22528  	}
 22529  	var _work *float32
 22530  	if len(work) > 0 {
 22531  		_work = &work[0]
 22532  	}
 22533  	return isZero(C.LAPACKE_ssysv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_work), (C.lapack_int)(lwork)))
 22534  }
 22535  
 22536  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsysv.f.
 22537  func Dsysv(ul blas.Uplo, n, nrhs int, a []float64, lda int, ipiv []int32, b []float64, ldb int, work []float64, lwork int) bool {
 22538  	switch ul {
 22539  	case blas.Upper:
 22540  		ul = 'U'
 22541  	case blas.Lower:
 22542  		ul = 'L'
 22543  	default:
 22544  		panic("lapack: illegal triangle")
 22545  	}
 22546  	var _a *float64
 22547  	if len(a) > 0 {
 22548  		_a = &a[0]
 22549  	}
 22550  	var _ipiv *int32
 22551  	if len(ipiv) > 0 {
 22552  		_ipiv = &ipiv[0]
 22553  	}
 22554  	var _b *float64
 22555  	if len(b) > 0 {
 22556  		_b = &b[0]
 22557  	}
 22558  	var _work *float64
 22559  	if len(work) > 0 {
 22560  		_work = &work[0]
 22561  	}
 22562  	return isZero(C.LAPACKE_dsysv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_work), (C.lapack_int)(lwork)))
 22563  }
 22564  
 22565  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csysv.f.
 22566  func Csysv(ul blas.Uplo, n, nrhs int, a []complex64, lda int, ipiv []int32, b []complex64, ldb int, work []complex64, lwork int) bool {
 22567  	switch ul {
 22568  	case blas.Upper:
 22569  		ul = 'U'
 22570  	case blas.Lower:
 22571  		ul = 'L'
 22572  	default:
 22573  		panic("lapack: illegal triangle")
 22574  	}
 22575  	var _a *complex64
 22576  	if len(a) > 0 {
 22577  		_a = &a[0]
 22578  	}
 22579  	var _ipiv *int32
 22580  	if len(ipiv) > 0 {
 22581  		_ipiv = &ipiv[0]
 22582  	}
 22583  	var _b *complex64
 22584  	if len(b) > 0 {
 22585  		_b = &b[0]
 22586  	}
 22587  	var _work *complex64
 22588  	if len(work) > 0 {
 22589  		_work = &work[0]
 22590  	}
 22591  	return isZero(C.LAPACKE_csysv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 22592  }
 22593  
 22594  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsysv.f.
 22595  func Zsysv(ul blas.Uplo, n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int, work []complex128, lwork int) bool {
 22596  	switch ul {
 22597  	case blas.Upper:
 22598  		ul = 'U'
 22599  	case blas.Lower:
 22600  		ul = 'L'
 22601  	default:
 22602  		panic("lapack: illegal triangle")
 22603  	}
 22604  	var _a *complex128
 22605  	if len(a) > 0 {
 22606  		_a = &a[0]
 22607  	}
 22608  	var _ipiv *int32
 22609  	if len(ipiv) > 0 {
 22610  		_ipiv = &ipiv[0]
 22611  	}
 22612  	var _b *complex128
 22613  	if len(b) > 0 {
 22614  		_b = &b[0]
 22615  	}
 22616  	var _work *complex128
 22617  	if len(work) > 0 {
 22618  		_work = &work[0]
 22619  	}
 22620  	return isZero(C.LAPACKE_zsysv_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 22621  }
 22622  
 22623  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssysvx.f.
 22624  func Ssysvx(fact byte, ul blas.Uplo, n, nrhs int, a []float32, lda int, af []float32, ldaf int, ipiv []int32, b []float32, ldb int, x []float32, ldx int, rcond, ferr, berr, work []float32, lwork int, iwork []int32) bool {
 22625  	switch ul {
 22626  	case blas.Upper:
 22627  		ul = 'U'
 22628  	case blas.Lower:
 22629  		ul = 'L'
 22630  	default:
 22631  		panic("lapack: illegal triangle")
 22632  	}
 22633  	var _a *float32
 22634  	if len(a) > 0 {
 22635  		_a = &a[0]
 22636  	}
 22637  	var _af *float32
 22638  	if len(af) > 0 {
 22639  		_af = &af[0]
 22640  	}
 22641  	var _ipiv *int32
 22642  	if len(ipiv) > 0 {
 22643  		_ipiv = &ipiv[0]
 22644  	}
 22645  	var _b *float32
 22646  	if len(b) > 0 {
 22647  		_b = &b[0]
 22648  	}
 22649  	var _x *float32
 22650  	if len(x) > 0 {
 22651  		_x = &x[0]
 22652  	}
 22653  	var _rcond *float32
 22654  	if len(rcond) > 0 {
 22655  		_rcond = &rcond[0]
 22656  	}
 22657  	var _ferr *float32
 22658  	if len(ferr) > 0 {
 22659  		_ferr = &ferr[0]
 22660  	}
 22661  	var _berr *float32
 22662  	if len(berr) > 0 {
 22663  		_berr = &berr[0]
 22664  	}
 22665  	var _work *float32
 22666  	if len(work) > 0 {
 22667  		_work = &work[0]
 22668  	}
 22669  	var _iwork *int32
 22670  	if len(iwork) > 0 {
 22671  		_iwork = &iwork[0]
 22672  	}
 22673  	return isZero(C.LAPACKE_ssysvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 22674  }
 22675  
 22676  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsysvx.f.
 22677  func Dsysvx(fact byte, ul blas.Uplo, n, nrhs int, a []float64, lda int, af []float64, ldaf int, ipiv []int32, b []float64, ldb int, x []float64, ldx int, rcond, ferr, berr, work []float64, lwork int, iwork []int32) bool {
 22678  	switch ul {
 22679  	case blas.Upper:
 22680  		ul = 'U'
 22681  	case blas.Lower:
 22682  		ul = 'L'
 22683  	default:
 22684  		panic("lapack: illegal triangle")
 22685  	}
 22686  	var _a *float64
 22687  	if len(a) > 0 {
 22688  		_a = &a[0]
 22689  	}
 22690  	var _af *float64
 22691  	if len(af) > 0 {
 22692  		_af = &af[0]
 22693  	}
 22694  	var _ipiv *int32
 22695  	if len(ipiv) > 0 {
 22696  		_ipiv = &ipiv[0]
 22697  	}
 22698  	var _b *float64
 22699  	if len(b) > 0 {
 22700  		_b = &b[0]
 22701  	}
 22702  	var _x *float64
 22703  	if len(x) > 0 {
 22704  		_x = &x[0]
 22705  	}
 22706  	var _rcond *float64
 22707  	if len(rcond) > 0 {
 22708  		_rcond = &rcond[0]
 22709  	}
 22710  	var _ferr *float64
 22711  	if len(ferr) > 0 {
 22712  		_ferr = &ferr[0]
 22713  	}
 22714  	var _berr *float64
 22715  	if len(berr) > 0 {
 22716  		_berr = &berr[0]
 22717  	}
 22718  	var _work *float64
 22719  	if len(work) > 0 {
 22720  		_work = &work[0]
 22721  	}
 22722  	var _iwork *int32
 22723  	if len(iwork) > 0 {
 22724  		_iwork = &iwork[0]
 22725  	}
 22726  	return isZero(C.LAPACKE_dsysvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 22727  }
 22728  
 22729  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csysvx.f.
 22730  func Csysvx(fact byte, ul blas.Uplo, n, nrhs int, a []complex64, lda int, af []complex64, ldaf int, ipiv []int32, b []complex64, ldb int, x []complex64, ldx int, rcond, ferr, berr []float32, work []complex64, lwork int, rwork []float32) bool {
 22731  	switch ul {
 22732  	case blas.Upper:
 22733  		ul = 'U'
 22734  	case blas.Lower:
 22735  		ul = 'L'
 22736  	default:
 22737  		panic("lapack: illegal triangle")
 22738  	}
 22739  	var _a *complex64
 22740  	if len(a) > 0 {
 22741  		_a = &a[0]
 22742  	}
 22743  	var _af *complex64
 22744  	if len(af) > 0 {
 22745  		_af = &af[0]
 22746  	}
 22747  	var _ipiv *int32
 22748  	if len(ipiv) > 0 {
 22749  		_ipiv = &ipiv[0]
 22750  	}
 22751  	var _b *complex64
 22752  	if len(b) > 0 {
 22753  		_b = &b[0]
 22754  	}
 22755  	var _x *complex64
 22756  	if len(x) > 0 {
 22757  		_x = &x[0]
 22758  	}
 22759  	var _rcond *float32
 22760  	if len(rcond) > 0 {
 22761  		_rcond = &rcond[0]
 22762  	}
 22763  	var _ferr *float32
 22764  	if len(ferr) > 0 {
 22765  		_ferr = &ferr[0]
 22766  	}
 22767  	var _berr *float32
 22768  	if len(berr) > 0 {
 22769  		_berr = &berr[0]
 22770  	}
 22771  	var _work *complex64
 22772  	if len(work) > 0 {
 22773  		_work = &work[0]
 22774  	}
 22775  	var _rwork *float32
 22776  	if len(rwork) > 0 {
 22777  		_rwork = &rwork[0]
 22778  	}
 22779  	return isZero(C.LAPACKE_csysvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_rcond), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork)))
 22780  }
 22781  
 22782  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsysvx.f.
 22783  func Zsysvx(fact byte, ul blas.Uplo, n, nrhs int, a []complex128, lda int, af []complex128, ldaf int, ipiv []int32, b []complex128, ldb int, x []complex128, ldx int, rcond, ferr, berr []float64, work []complex128, lwork int, rwork []float64) bool {
 22784  	switch ul {
 22785  	case blas.Upper:
 22786  		ul = 'U'
 22787  	case blas.Lower:
 22788  		ul = 'L'
 22789  	default:
 22790  		panic("lapack: illegal triangle")
 22791  	}
 22792  	var _a *complex128
 22793  	if len(a) > 0 {
 22794  		_a = &a[0]
 22795  	}
 22796  	var _af *complex128
 22797  	if len(af) > 0 {
 22798  		_af = &af[0]
 22799  	}
 22800  	var _ipiv *int32
 22801  	if len(ipiv) > 0 {
 22802  		_ipiv = &ipiv[0]
 22803  	}
 22804  	var _b *complex128
 22805  	if len(b) > 0 {
 22806  		_b = &b[0]
 22807  	}
 22808  	var _x *complex128
 22809  	if len(x) > 0 {
 22810  		_x = &x[0]
 22811  	}
 22812  	var _rcond *float64
 22813  	if len(rcond) > 0 {
 22814  		_rcond = &rcond[0]
 22815  	}
 22816  	var _ferr *float64
 22817  	if len(ferr) > 0 {
 22818  		_ferr = &ferr[0]
 22819  	}
 22820  	var _berr *float64
 22821  	if len(berr) > 0 {
 22822  		_berr = &berr[0]
 22823  	}
 22824  	var _work *complex128
 22825  	if len(work) > 0 {
 22826  		_work = &work[0]
 22827  	}
 22828  	var _rwork *float64
 22829  	if len(rwork) > 0 {
 22830  		_rwork = &rwork[0]
 22831  	}
 22832  	return isZero(C.LAPACKE_zsysvx_work((C.int)(rowMajor), (C.char)(fact), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_af), (C.lapack_int)(ldaf), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_rcond), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork)))
 22833  }
 22834  
 22835  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssytrd.f.
 22836  func Ssytrd(ul blas.Uplo, n int, a []float32, lda int, d, e, tau, work []float32, lwork int) bool {
 22837  	switch ul {
 22838  	case blas.Upper:
 22839  		ul = 'U'
 22840  	case blas.Lower:
 22841  		ul = 'L'
 22842  	default:
 22843  		panic("lapack: illegal triangle")
 22844  	}
 22845  	var _a *float32
 22846  	if len(a) > 0 {
 22847  		_a = &a[0]
 22848  	}
 22849  	var _d *float32
 22850  	if len(d) > 0 {
 22851  		_d = &d[0]
 22852  	}
 22853  	var _e *float32
 22854  	if len(e) > 0 {
 22855  		_e = &e[0]
 22856  	}
 22857  	var _tau *float32
 22858  	if len(tau) > 0 {
 22859  		_tau = &tau[0]
 22860  	}
 22861  	var _work *float32
 22862  	if len(work) > 0 {
 22863  		_work = &work[0]
 22864  	}
 22865  	return isZero(C.LAPACKE_ssytrd_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_d), (*C.float)(_e), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 22866  }
 22867  
 22868  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsytrd.f.
 22869  func Dsytrd(ul blas.Uplo, n int, a []float64, lda int, d, e, tau, work []float64, lwork int) bool {
 22870  	switch ul {
 22871  	case blas.Upper:
 22872  		ul = 'U'
 22873  	case blas.Lower:
 22874  		ul = 'L'
 22875  	default:
 22876  		panic("lapack: illegal triangle")
 22877  	}
 22878  	var _a *float64
 22879  	if len(a) > 0 {
 22880  		_a = &a[0]
 22881  	}
 22882  	var _d *float64
 22883  	if len(d) > 0 {
 22884  		_d = &d[0]
 22885  	}
 22886  	var _e *float64
 22887  	if len(e) > 0 {
 22888  		_e = &e[0]
 22889  	}
 22890  	var _tau *float64
 22891  	if len(tau) > 0 {
 22892  		_tau = &tau[0]
 22893  	}
 22894  	var _work *float64
 22895  	if len(work) > 0 {
 22896  		_work = &work[0]
 22897  	}
 22898  	return isZero(C.LAPACKE_dsytrd_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_d), (*C.double)(_e), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 22899  }
 22900  
 22901  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssytrf.f.
 22902  func Ssytrf(ul blas.Uplo, n int, a []float32, lda int, ipiv []int32, work []float32, lwork int) bool {
 22903  	switch ul {
 22904  	case blas.Upper:
 22905  		ul = 'U'
 22906  	case blas.Lower:
 22907  		ul = 'L'
 22908  	default:
 22909  		panic("lapack: illegal triangle")
 22910  	}
 22911  	var _a *float32
 22912  	if len(a) > 0 {
 22913  		_a = &a[0]
 22914  	}
 22915  	var _ipiv *int32
 22916  	if len(ipiv) > 0 {
 22917  		_ipiv = &ipiv[0]
 22918  	}
 22919  	var _work *float32
 22920  	if len(work) > 0 {
 22921  		_work = &work[0]
 22922  	}
 22923  	return isZero(C.LAPACKE_ssytrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_work), (C.lapack_int)(lwork)))
 22924  }
 22925  
 22926  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsytrf.f.
 22927  func Dsytrf(ul blas.Uplo, n int, a []float64, lda int, ipiv []int32, work []float64, lwork int) bool {
 22928  	switch ul {
 22929  	case blas.Upper:
 22930  		ul = 'U'
 22931  	case blas.Lower:
 22932  		ul = 'L'
 22933  	default:
 22934  		panic("lapack: illegal triangle")
 22935  	}
 22936  	var _a *float64
 22937  	if len(a) > 0 {
 22938  		_a = &a[0]
 22939  	}
 22940  	var _ipiv *int32
 22941  	if len(ipiv) > 0 {
 22942  		_ipiv = &ipiv[0]
 22943  	}
 22944  	var _work *float64
 22945  	if len(work) > 0 {
 22946  		_work = &work[0]
 22947  	}
 22948  	return isZero(C.LAPACKE_dsytrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_work), (C.lapack_int)(lwork)))
 22949  }
 22950  
 22951  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csytrf.f.
 22952  func Csytrf(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, work []complex64, lwork int) bool {
 22953  	switch ul {
 22954  	case blas.Upper:
 22955  		ul = 'U'
 22956  	case blas.Lower:
 22957  		ul = 'L'
 22958  	default:
 22959  		panic("lapack: illegal triangle")
 22960  	}
 22961  	var _a *complex64
 22962  	if len(a) > 0 {
 22963  		_a = &a[0]
 22964  	}
 22965  	var _ipiv *int32
 22966  	if len(ipiv) > 0 {
 22967  		_ipiv = &ipiv[0]
 22968  	}
 22969  	var _work *complex64
 22970  	if len(work) > 0 {
 22971  		_work = &work[0]
 22972  	}
 22973  	return isZero(C.LAPACKE_csytrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 22974  }
 22975  
 22976  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsytrf.f.
 22977  func Zsytrf(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, work []complex128, lwork int) bool {
 22978  	switch ul {
 22979  	case blas.Upper:
 22980  		ul = 'U'
 22981  	case blas.Lower:
 22982  		ul = 'L'
 22983  	default:
 22984  		panic("lapack: illegal triangle")
 22985  	}
 22986  	var _a *complex128
 22987  	if len(a) > 0 {
 22988  		_a = &a[0]
 22989  	}
 22990  	var _ipiv *int32
 22991  	if len(ipiv) > 0 {
 22992  		_ipiv = &ipiv[0]
 22993  	}
 22994  	var _work *complex128
 22995  	if len(work) > 0 {
 22996  		_work = &work[0]
 22997  	}
 22998  	return isZero(C.LAPACKE_zsytrf_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 22999  }
 23000  
 23001  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssytri.f.
 23002  func Ssytri(ul blas.Uplo, n int, a []float32, lda int, ipiv []int32, work []float32) bool {
 23003  	switch ul {
 23004  	case blas.Upper:
 23005  		ul = 'U'
 23006  	case blas.Lower:
 23007  		ul = 'L'
 23008  	default:
 23009  		panic("lapack: illegal triangle")
 23010  	}
 23011  	var _a *float32
 23012  	if len(a) > 0 {
 23013  		_a = &a[0]
 23014  	}
 23015  	var _ipiv *int32
 23016  	if len(ipiv) > 0 {
 23017  		_ipiv = &ipiv[0]
 23018  	}
 23019  	var _work *float32
 23020  	if len(work) > 0 {
 23021  		_work = &work[0]
 23022  	}
 23023  	return isZero(C.LAPACKE_ssytri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_work)))
 23024  }
 23025  
 23026  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsytri.f.
 23027  func Dsytri(ul blas.Uplo, n int, a []float64, lda int, ipiv []int32, work []float64) bool {
 23028  	switch ul {
 23029  	case blas.Upper:
 23030  		ul = 'U'
 23031  	case blas.Lower:
 23032  		ul = 'L'
 23033  	default:
 23034  		panic("lapack: illegal triangle")
 23035  	}
 23036  	var _a *float64
 23037  	if len(a) > 0 {
 23038  		_a = &a[0]
 23039  	}
 23040  	var _ipiv *int32
 23041  	if len(ipiv) > 0 {
 23042  		_ipiv = &ipiv[0]
 23043  	}
 23044  	var _work *float64
 23045  	if len(work) > 0 {
 23046  		_work = &work[0]
 23047  	}
 23048  	return isZero(C.LAPACKE_dsytri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_work)))
 23049  }
 23050  
 23051  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csytri.f.
 23052  func Csytri(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, work []complex64) bool {
 23053  	switch ul {
 23054  	case blas.Upper:
 23055  		ul = 'U'
 23056  	case blas.Lower:
 23057  		ul = 'L'
 23058  	default:
 23059  		panic("lapack: illegal triangle")
 23060  	}
 23061  	var _a *complex64
 23062  	if len(a) > 0 {
 23063  		_a = &a[0]
 23064  	}
 23065  	var _ipiv *int32
 23066  	if len(ipiv) > 0 {
 23067  		_ipiv = &ipiv[0]
 23068  	}
 23069  	var _work *complex64
 23070  	if len(work) > 0 {
 23071  		_work = &work[0]
 23072  	}
 23073  	return isZero(C.LAPACKE_csytri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work)))
 23074  }
 23075  
 23076  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsytri.f.
 23077  func Zsytri(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, work []complex128) bool {
 23078  	switch ul {
 23079  	case blas.Upper:
 23080  		ul = 'U'
 23081  	case blas.Lower:
 23082  		ul = 'L'
 23083  	default:
 23084  		panic("lapack: illegal triangle")
 23085  	}
 23086  	var _a *complex128
 23087  	if len(a) > 0 {
 23088  		_a = &a[0]
 23089  	}
 23090  	var _ipiv *int32
 23091  	if len(ipiv) > 0 {
 23092  		_ipiv = &ipiv[0]
 23093  	}
 23094  	var _work *complex128
 23095  	if len(work) > 0 {
 23096  		_work = &work[0]
 23097  	}
 23098  	return isZero(C.LAPACKE_zsytri_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work)))
 23099  }
 23100  
 23101  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssytrs.f.
 23102  func Ssytrs(ul blas.Uplo, n, nrhs int, a []float32, lda int, ipiv []int32, b []float32, ldb int) bool {
 23103  	switch ul {
 23104  	case blas.Upper:
 23105  		ul = 'U'
 23106  	case blas.Lower:
 23107  		ul = 'L'
 23108  	default:
 23109  		panic("lapack: illegal triangle")
 23110  	}
 23111  	var _a *float32
 23112  	if len(a) > 0 {
 23113  		_a = &a[0]
 23114  	}
 23115  	var _ipiv *int32
 23116  	if len(ipiv) > 0 {
 23117  		_ipiv = &ipiv[0]
 23118  	}
 23119  	var _b *float32
 23120  	if len(b) > 0 {
 23121  		_b = &b[0]
 23122  	}
 23123  	return isZero(C.LAPACKE_ssytrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb)))
 23124  }
 23125  
 23126  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsytrs.f.
 23127  func Dsytrs(ul blas.Uplo, n, nrhs int, a []float64, lda int, ipiv []int32, b []float64, ldb int) bool {
 23128  	switch ul {
 23129  	case blas.Upper:
 23130  		ul = 'U'
 23131  	case blas.Lower:
 23132  		ul = 'L'
 23133  	default:
 23134  		panic("lapack: illegal triangle")
 23135  	}
 23136  	var _a *float64
 23137  	if len(a) > 0 {
 23138  		_a = &a[0]
 23139  	}
 23140  	var _ipiv *int32
 23141  	if len(ipiv) > 0 {
 23142  		_ipiv = &ipiv[0]
 23143  	}
 23144  	var _b *float64
 23145  	if len(b) > 0 {
 23146  		_b = &b[0]
 23147  	}
 23148  	return isZero(C.LAPACKE_dsytrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb)))
 23149  }
 23150  
 23151  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csytrs.f.
 23152  func Csytrs(ul blas.Uplo, n, nrhs int, a []complex64, lda int, ipiv []int32, b []complex64, ldb int) bool {
 23153  	switch ul {
 23154  	case blas.Upper:
 23155  		ul = 'U'
 23156  	case blas.Lower:
 23157  		ul = 'L'
 23158  	default:
 23159  		panic("lapack: illegal triangle")
 23160  	}
 23161  	var _a *complex64
 23162  	if len(a) > 0 {
 23163  		_a = &a[0]
 23164  	}
 23165  	var _ipiv *int32
 23166  	if len(ipiv) > 0 {
 23167  		_ipiv = &ipiv[0]
 23168  	}
 23169  	var _b *complex64
 23170  	if len(b) > 0 {
 23171  		_b = &b[0]
 23172  	}
 23173  	return isZero(C.LAPACKE_csytrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 23174  }
 23175  
 23176  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsytrs.f.
 23177  func Zsytrs(ul blas.Uplo, n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int) bool {
 23178  	switch ul {
 23179  	case blas.Upper:
 23180  		ul = 'U'
 23181  	case blas.Lower:
 23182  		ul = 'L'
 23183  	default:
 23184  		panic("lapack: illegal triangle")
 23185  	}
 23186  	var _a *complex128
 23187  	if len(a) > 0 {
 23188  		_a = &a[0]
 23189  	}
 23190  	var _ipiv *int32
 23191  	if len(ipiv) > 0 {
 23192  		_ipiv = &ipiv[0]
 23193  	}
 23194  	var _b *complex128
 23195  	if len(b) > 0 {
 23196  		_b = &b[0]
 23197  	}
 23198  	return isZero(C.LAPACKE_zsytrs_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 23199  }
 23200  
 23201  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stbcon.f.
 23202  func Stbcon(norm byte, ul blas.Uplo, d blas.Diag, n, kd int, ab []float32, ldab int, rcond, work []float32, iwork []int32) bool {
 23203  	switch ul {
 23204  	case blas.Upper:
 23205  		ul = 'U'
 23206  	case blas.Lower:
 23207  		ul = 'L'
 23208  	default:
 23209  		panic("lapack: illegal triangle")
 23210  	}
 23211  	switch d {
 23212  	case blas.Unit:
 23213  		d = 'U'
 23214  	case blas.NonUnit:
 23215  		d = 'N'
 23216  	default:
 23217  		panic("lapack: illegal diagonal")
 23218  	}
 23219  	var _ab *float32
 23220  	if len(ab) > 0 {
 23221  		_ab = &ab[0]
 23222  	}
 23223  	var _rcond *float32
 23224  	if len(rcond) > 0 {
 23225  		_rcond = &rcond[0]
 23226  	}
 23227  	var _work *float32
 23228  	if len(work) > 0 {
 23229  		_work = &work[0]
 23230  	}
 23231  	var _iwork *int32
 23232  	if len(iwork) > 0 {
 23233  		_iwork = &iwork[0]
 23234  	}
 23235  	return isZero(C.LAPACKE_stbcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 23236  }
 23237  
 23238  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtbcon.f.
 23239  func Dtbcon(norm byte, ul blas.Uplo, d blas.Diag, n, kd int, ab []float64, ldab int, rcond, work []float64, iwork []int32) bool {
 23240  	switch ul {
 23241  	case blas.Upper:
 23242  		ul = 'U'
 23243  	case blas.Lower:
 23244  		ul = 'L'
 23245  	default:
 23246  		panic("lapack: illegal triangle")
 23247  	}
 23248  	switch d {
 23249  	case blas.Unit:
 23250  		d = 'U'
 23251  	case blas.NonUnit:
 23252  		d = 'N'
 23253  	default:
 23254  		panic("lapack: illegal diagonal")
 23255  	}
 23256  	var _ab *float64
 23257  	if len(ab) > 0 {
 23258  		_ab = &ab[0]
 23259  	}
 23260  	var _rcond *float64
 23261  	if len(rcond) > 0 {
 23262  		_rcond = &rcond[0]
 23263  	}
 23264  	var _work *float64
 23265  	if len(work) > 0 {
 23266  		_work = &work[0]
 23267  	}
 23268  	var _iwork *int32
 23269  	if len(iwork) > 0 {
 23270  		_iwork = &iwork[0]
 23271  	}
 23272  	return isZero(C.LAPACKE_dtbcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 23273  }
 23274  
 23275  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctbcon.f.
 23276  func Ctbcon(norm byte, ul blas.Uplo, d blas.Diag, n, kd int, ab []complex64, ldab int, rcond []float32, work []complex64, rwork []float32) bool {
 23277  	switch ul {
 23278  	case blas.Upper:
 23279  		ul = 'U'
 23280  	case blas.Lower:
 23281  		ul = 'L'
 23282  	default:
 23283  		panic("lapack: illegal triangle")
 23284  	}
 23285  	switch d {
 23286  	case blas.Unit:
 23287  		d = 'U'
 23288  	case blas.NonUnit:
 23289  		d = 'N'
 23290  	default:
 23291  		panic("lapack: illegal diagonal")
 23292  	}
 23293  	var _ab *complex64
 23294  	if len(ab) > 0 {
 23295  		_ab = &ab[0]
 23296  	}
 23297  	var _rcond *float32
 23298  	if len(rcond) > 0 {
 23299  		_rcond = &rcond[0]
 23300  	}
 23301  	var _work *complex64
 23302  	if len(work) > 0 {
 23303  		_work = &work[0]
 23304  	}
 23305  	var _rwork *float32
 23306  	if len(rwork) > 0 {
 23307  		_rwork = &rwork[0]
 23308  	}
 23309  	return isZero(C.LAPACKE_ctbcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.float)(_rcond), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 23310  }
 23311  
 23312  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztbcon.f.
 23313  func Ztbcon(norm byte, ul blas.Uplo, d blas.Diag, n, kd int, ab []complex128, ldab int, rcond []float64, work []complex128, rwork []float64) bool {
 23314  	switch ul {
 23315  	case blas.Upper:
 23316  		ul = 'U'
 23317  	case blas.Lower:
 23318  		ul = 'L'
 23319  	default:
 23320  		panic("lapack: illegal triangle")
 23321  	}
 23322  	switch d {
 23323  	case blas.Unit:
 23324  		d = 'U'
 23325  	case blas.NonUnit:
 23326  		d = 'N'
 23327  	default:
 23328  		panic("lapack: illegal diagonal")
 23329  	}
 23330  	var _ab *complex128
 23331  	if len(ab) > 0 {
 23332  		_ab = &ab[0]
 23333  	}
 23334  	var _rcond *float64
 23335  	if len(rcond) > 0 {
 23336  		_rcond = &rcond[0]
 23337  	}
 23338  	var _work *complex128
 23339  	if len(work) > 0 {
 23340  		_work = &work[0]
 23341  	}
 23342  	var _rwork *float64
 23343  	if len(rwork) > 0 {
 23344  		_rwork = &rwork[0]
 23345  	}
 23346  	return isZero(C.LAPACKE_ztbcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.double)(_rcond), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 23347  }
 23348  
 23349  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stbrfs.f.
 23350  func Stbrfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, kd, nrhs int, ab []float32, ldab int, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
 23351  	switch ul {
 23352  	case blas.Upper:
 23353  		ul = 'U'
 23354  	case blas.Lower:
 23355  		ul = 'L'
 23356  	default:
 23357  		panic("lapack: illegal triangle")
 23358  	}
 23359  	switch trans {
 23360  	case blas.NoTrans:
 23361  		trans = 'N'
 23362  	case blas.Trans:
 23363  		trans = 'T'
 23364  	case blas.ConjTrans:
 23365  		trans = 'C'
 23366  	default:
 23367  		panic("lapack: bad trans")
 23368  	}
 23369  	switch d {
 23370  	case blas.Unit:
 23371  		d = 'U'
 23372  	case blas.NonUnit:
 23373  		d = 'N'
 23374  	default:
 23375  		panic("lapack: illegal diagonal")
 23376  	}
 23377  	var _ab *float32
 23378  	if len(ab) > 0 {
 23379  		_ab = &ab[0]
 23380  	}
 23381  	var _b *float32
 23382  	if len(b) > 0 {
 23383  		_b = &b[0]
 23384  	}
 23385  	var _x *float32
 23386  	if len(x) > 0 {
 23387  		_x = &x[0]
 23388  	}
 23389  	var _ferr *float32
 23390  	if len(ferr) > 0 {
 23391  		_ferr = &ferr[0]
 23392  	}
 23393  	var _berr *float32
 23394  	if len(berr) > 0 {
 23395  		_berr = &berr[0]
 23396  	}
 23397  	var _work *float32
 23398  	if len(work) > 0 {
 23399  		_work = &work[0]
 23400  	}
 23401  	var _iwork *int32
 23402  	if len(iwork) > 0 {
 23403  		_iwork = &iwork[0]
 23404  	}
 23405  	return isZero(C.LAPACKE_stbrfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 23406  }
 23407  
 23408  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtbrfs.f.
 23409  func Dtbrfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, kd, nrhs int, ab []float64, ldab int, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
 23410  	switch ul {
 23411  	case blas.Upper:
 23412  		ul = 'U'
 23413  	case blas.Lower:
 23414  		ul = 'L'
 23415  	default:
 23416  		panic("lapack: illegal triangle")
 23417  	}
 23418  	switch trans {
 23419  	case blas.NoTrans:
 23420  		trans = 'N'
 23421  	case blas.Trans:
 23422  		trans = 'T'
 23423  	case blas.ConjTrans:
 23424  		trans = 'C'
 23425  	default:
 23426  		panic("lapack: bad trans")
 23427  	}
 23428  	switch d {
 23429  	case blas.Unit:
 23430  		d = 'U'
 23431  	case blas.NonUnit:
 23432  		d = 'N'
 23433  	default:
 23434  		panic("lapack: illegal diagonal")
 23435  	}
 23436  	var _ab *float64
 23437  	if len(ab) > 0 {
 23438  		_ab = &ab[0]
 23439  	}
 23440  	var _b *float64
 23441  	if len(b) > 0 {
 23442  		_b = &b[0]
 23443  	}
 23444  	var _x *float64
 23445  	if len(x) > 0 {
 23446  		_x = &x[0]
 23447  	}
 23448  	var _ferr *float64
 23449  	if len(ferr) > 0 {
 23450  		_ferr = &ferr[0]
 23451  	}
 23452  	var _berr *float64
 23453  	if len(berr) > 0 {
 23454  		_berr = &berr[0]
 23455  	}
 23456  	var _work *float64
 23457  	if len(work) > 0 {
 23458  		_work = &work[0]
 23459  	}
 23460  	var _iwork *int32
 23461  	if len(iwork) > 0 {
 23462  		_iwork = &iwork[0]
 23463  	}
 23464  	return isZero(C.LAPACKE_dtbrfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 23465  }
 23466  
 23467  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctbrfs.f.
 23468  func Ctbrfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, kd, nrhs int, ab []complex64, ldab int, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 23469  	switch ul {
 23470  	case blas.Upper:
 23471  		ul = 'U'
 23472  	case blas.Lower:
 23473  		ul = 'L'
 23474  	default:
 23475  		panic("lapack: illegal triangle")
 23476  	}
 23477  	switch trans {
 23478  	case blas.NoTrans:
 23479  		trans = 'N'
 23480  	case blas.Trans:
 23481  		trans = 'T'
 23482  	case blas.ConjTrans:
 23483  		trans = 'C'
 23484  	default:
 23485  		panic("lapack: bad trans")
 23486  	}
 23487  	switch d {
 23488  	case blas.Unit:
 23489  		d = 'U'
 23490  	case blas.NonUnit:
 23491  		d = 'N'
 23492  	default:
 23493  		panic("lapack: illegal diagonal")
 23494  	}
 23495  	var _ab *complex64
 23496  	if len(ab) > 0 {
 23497  		_ab = &ab[0]
 23498  	}
 23499  	var _b *complex64
 23500  	if len(b) > 0 {
 23501  		_b = &b[0]
 23502  	}
 23503  	var _x *complex64
 23504  	if len(x) > 0 {
 23505  		_x = &x[0]
 23506  	}
 23507  	var _ferr *float32
 23508  	if len(ferr) > 0 {
 23509  		_ferr = &ferr[0]
 23510  	}
 23511  	var _berr *float32
 23512  	if len(berr) > 0 {
 23513  		_berr = &berr[0]
 23514  	}
 23515  	var _work *complex64
 23516  	if len(work) > 0 {
 23517  		_work = &work[0]
 23518  	}
 23519  	var _rwork *float32
 23520  	if len(rwork) > 0 {
 23521  		_rwork = &rwork[0]
 23522  	}
 23523  	return isZero(C.LAPACKE_ctbrfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 23524  }
 23525  
 23526  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztbrfs.f.
 23527  func Ztbrfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, kd, nrhs int, ab []complex128, ldab int, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 23528  	switch ul {
 23529  	case blas.Upper:
 23530  		ul = 'U'
 23531  	case blas.Lower:
 23532  		ul = 'L'
 23533  	default:
 23534  		panic("lapack: illegal triangle")
 23535  	}
 23536  	switch trans {
 23537  	case blas.NoTrans:
 23538  		trans = 'N'
 23539  	case blas.Trans:
 23540  		trans = 'T'
 23541  	case blas.ConjTrans:
 23542  		trans = 'C'
 23543  	default:
 23544  		panic("lapack: bad trans")
 23545  	}
 23546  	switch d {
 23547  	case blas.Unit:
 23548  		d = 'U'
 23549  	case blas.NonUnit:
 23550  		d = 'N'
 23551  	default:
 23552  		panic("lapack: illegal diagonal")
 23553  	}
 23554  	var _ab *complex128
 23555  	if len(ab) > 0 {
 23556  		_ab = &ab[0]
 23557  	}
 23558  	var _b *complex128
 23559  	if len(b) > 0 {
 23560  		_b = &b[0]
 23561  	}
 23562  	var _x *complex128
 23563  	if len(x) > 0 {
 23564  		_x = &x[0]
 23565  	}
 23566  	var _ferr *float64
 23567  	if len(ferr) > 0 {
 23568  		_ferr = &ferr[0]
 23569  	}
 23570  	var _berr *float64
 23571  	if len(berr) > 0 {
 23572  		_berr = &berr[0]
 23573  	}
 23574  	var _work *complex128
 23575  	if len(work) > 0 {
 23576  		_work = &work[0]
 23577  	}
 23578  	var _rwork *float64
 23579  	if len(rwork) > 0 {
 23580  		_rwork = &rwork[0]
 23581  	}
 23582  	return isZero(C.LAPACKE_ztbrfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 23583  }
 23584  
 23585  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stbtrs.f.
 23586  func Stbtrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, kd, nrhs int, ab []float32, ldab int, b []float32, ldb int) bool {
 23587  	switch ul {
 23588  	case blas.Upper:
 23589  		ul = 'U'
 23590  	case blas.Lower:
 23591  		ul = 'L'
 23592  	default:
 23593  		panic("lapack: illegal triangle")
 23594  	}
 23595  	switch trans {
 23596  	case blas.NoTrans:
 23597  		trans = 'N'
 23598  	case blas.Trans:
 23599  		trans = 'T'
 23600  	case blas.ConjTrans:
 23601  		trans = 'C'
 23602  	default:
 23603  		panic("lapack: bad trans")
 23604  	}
 23605  	switch d {
 23606  	case blas.Unit:
 23607  		d = 'U'
 23608  	case blas.NonUnit:
 23609  		d = 'N'
 23610  	default:
 23611  		panic("lapack: illegal diagonal")
 23612  	}
 23613  	var _ab *float32
 23614  	if len(ab) > 0 {
 23615  		_ab = &ab[0]
 23616  	}
 23617  	var _b *float32
 23618  	if len(b) > 0 {
 23619  		_b = &b[0]
 23620  	}
 23621  	return isZero(C.LAPACKE_stbtrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.float)(_ab), (C.lapack_int)(ldab), (*C.float)(_b), (C.lapack_int)(ldb)))
 23622  }
 23623  
 23624  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtbtrs.f.
 23625  func Dtbtrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, kd, nrhs int, ab []float64, ldab int, b []float64, ldb int) bool {
 23626  	switch ul {
 23627  	case blas.Upper:
 23628  		ul = 'U'
 23629  	case blas.Lower:
 23630  		ul = 'L'
 23631  	default:
 23632  		panic("lapack: illegal triangle")
 23633  	}
 23634  	switch trans {
 23635  	case blas.NoTrans:
 23636  		trans = 'N'
 23637  	case blas.Trans:
 23638  		trans = 'T'
 23639  	case blas.ConjTrans:
 23640  		trans = 'C'
 23641  	default:
 23642  		panic("lapack: bad trans")
 23643  	}
 23644  	switch d {
 23645  	case blas.Unit:
 23646  		d = 'U'
 23647  	case blas.NonUnit:
 23648  		d = 'N'
 23649  	default:
 23650  		panic("lapack: illegal diagonal")
 23651  	}
 23652  	var _ab *float64
 23653  	if len(ab) > 0 {
 23654  		_ab = &ab[0]
 23655  	}
 23656  	var _b *float64
 23657  	if len(b) > 0 {
 23658  		_b = &b[0]
 23659  	}
 23660  	return isZero(C.LAPACKE_dtbtrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.double)(_ab), (C.lapack_int)(ldab), (*C.double)(_b), (C.lapack_int)(ldb)))
 23661  }
 23662  
 23663  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctbtrs.f.
 23664  func Ctbtrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, kd, nrhs int, ab []complex64, ldab int, b []complex64, ldb int) bool {
 23665  	switch ul {
 23666  	case blas.Upper:
 23667  		ul = 'U'
 23668  	case blas.Lower:
 23669  		ul = 'L'
 23670  	default:
 23671  		panic("lapack: illegal triangle")
 23672  	}
 23673  	switch trans {
 23674  	case blas.NoTrans:
 23675  		trans = 'N'
 23676  	case blas.Trans:
 23677  		trans = 'T'
 23678  	case blas.ConjTrans:
 23679  		trans = 'C'
 23680  	default:
 23681  		panic("lapack: bad trans")
 23682  	}
 23683  	switch d {
 23684  	case blas.Unit:
 23685  		d = 'U'
 23686  	case blas.NonUnit:
 23687  		d = 'N'
 23688  	default:
 23689  		panic("lapack: illegal diagonal")
 23690  	}
 23691  	var _ab *complex64
 23692  	if len(ab) > 0 {
 23693  		_ab = &ab[0]
 23694  	}
 23695  	var _b *complex64
 23696  	if len(b) > 0 {
 23697  		_b = &b[0]
 23698  	}
 23699  	return isZero(C.LAPACKE_ctbtrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 23700  }
 23701  
 23702  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztbtrs.f.
 23703  func Ztbtrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, kd, nrhs int, ab []complex128, ldab int, b []complex128, ldb int) bool {
 23704  	switch ul {
 23705  	case blas.Upper:
 23706  		ul = 'U'
 23707  	case blas.Lower:
 23708  		ul = 'L'
 23709  	default:
 23710  		panic("lapack: illegal triangle")
 23711  	}
 23712  	switch trans {
 23713  	case blas.NoTrans:
 23714  		trans = 'N'
 23715  	case blas.Trans:
 23716  		trans = 'T'
 23717  	case blas.ConjTrans:
 23718  		trans = 'C'
 23719  	default:
 23720  		panic("lapack: bad trans")
 23721  	}
 23722  	switch d {
 23723  	case blas.Unit:
 23724  		d = 'U'
 23725  	case blas.NonUnit:
 23726  		d = 'N'
 23727  	default:
 23728  		panic("lapack: illegal diagonal")
 23729  	}
 23730  	var _ab *complex128
 23731  	if len(ab) > 0 {
 23732  		_ab = &ab[0]
 23733  	}
 23734  	var _b *complex128
 23735  	if len(b) > 0 {
 23736  		_b = &b[0]
 23737  	}
 23738  	return isZero(C.LAPACKE_ztbtrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(kd), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ab), (C.lapack_int)(ldab), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 23739  }
 23740  
 23741  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stfsm.f.
 23742  func Stfsm(transr blas.Transpose, side blas.Side, ul blas.Uplo, trans blas.Transpose, d blas.Diag, m, n int, alpha float32, a, b []float32, ldb int) bool {
 23743  	switch transr {
 23744  	case blas.NoTrans:
 23745  		transr = 'N'
 23746  	case blas.Trans:
 23747  		transr = 'T'
 23748  	case blas.ConjTrans:
 23749  		transr = 'C'
 23750  	default:
 23751  		panic("lapack: bad trans")
 23752  	}
 23753  	switch side {
 23754  	case blas.Left:
 23755  		side = 'L'
 23756  	case blas.Right:
 23757  		side = 'R'
 23758  	default:
 23759  		panic("lapack: bad side")
 23760  	}
 23761  	switch ul {
 23762  	case blas.Upper:
 23763  		ul = 'U'
 23764  	case blas.Lower:
 23765  		ul = 'L'
 23766  	default:
 23767  		panic("lapack: illegal triangle")
 23768  	}
 23769  	switch trans {
 23770  	case blas.NoTrans:
 23771  		trans = 'N'
 23772  	case blas.Trans:
 23773  		trans = 'T'
 23774  	case blas.ConjTrans:
 23775  		trans = 'C'
 23776  	default:
 23777  		panic("lapack: bad trans")
 23778  	}
 23779  	switch d {
 23780  	case blas.Unit:
 23781  		d = 'U'
 23782  	case blas.NonUnit:
 23783  		d = 'N'
 23784  	default:
 23785  		panic("lapack: illegal diagonal")
 23786  	}
 23787  	var _a *float32
 23788  	if len(a) > 0 {
 23789  		_a = &a[0]
 23790  	}
 23791  	var _b *float32
 23792  	if len(b) > 0 {
 23793  		_b = &b[0]
 23794  	}
 23795  	return isZero(C.LAPACKE_stfsm_work((C.int)(rowMajor), (C.char)(transr), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(m), (C.lapack_int)(n), (C.float)(alpha), (*C.float)(_a), (*C.float)(_b), (C.lapack_int)(ldb)))
 23796  }
 23797  
 23798  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtfsm.f.
 23799  func Dtfsm(transr blas.Transpose, side blas.Side, ul blas.Uplo, trans blas.Transpose, d blas.Diag, m, n int, alpha float64, a, b []float64, ldb int) bool {
 23800  	switch transr {
 23801  	case blas.NoTrans:
 23802  		transr = 'N'
 23803  	case blas.Trans:
 23804  		transr = 'T'
 23805  	case blas.ConjTrans:
 23806  		transr = 'C'
 23807  	default:
 23808  		panic("lapack: bad trans")
 23809  	}
 23810  	switch side {
 23811  	case blas.Left:
 23812  		side = 'L'
 23813  	case blas.Right:
 23814  		side = 'R'
 23815  	default:
 23816  		panic("lapack: bad side")
 23817  	}
 23818  	switch ul {
 23819  	case blas.Upper:
 23820  		ul = 'U'
 23821  	case blas.Lower:
 23822  		ul = 'L'
 23823  	default:
 23824  		panic("lapack: illegal triangle")
 23825  	}
 23826  	switch trans {
 23827  	case blas.NoTrans:
 23828  		trans = 'N'
 23829  	case blas.Trans:
 23830  		trans = 'T'
 23831  	case blas.ConjTrans:
 23832  		trans = 'C'
 23833  	default:
 23834  		panic("lapack: bad trans")
 23835  	}
 23836  	switch d {
 23837  	case blas.Unit:
 23838  		d = 'U'
 23839  	case blas.NonUnit:
 23840  		d = 'N'
 23841  	default:
 23842  		panic("lapack: illegal diagonal")
 23843  	}
 23844  	var _a *float64
 23845  	if len(a) > 0 {
 23846  		_a = &a[0]
 23847  	}
 23848  	var _b *float64
 23849  	if len(b) > 0 {
 23850  		_b = &b[0]
 23851  	}
 23852  	return isZero(C.LAPACKE_dtfsm_work((C.int)(rowMajor), (C.char)(transr), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(m), (C.lapack_int)(n), (C.double)(alpha), (*C.double)(_a), (*C.double)(_b), (C.lapack_int)(ldb)))
 23853  }
 23854  
 23855  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctfsm.f.
 23856  func Ctfsm(transr blas.Transpose, side blas.Side, ul blas.Uplo, trans blas.Transpose, d blas.Diag, m, n int, alpha complex64, a, b []complex64, ldb int) bool {
 23857  	switch transr {
 23858  	case blas.NoTrans:
 23859  		transr = 'N'
 23860  	case blas.Trans:
 23861  		transr = 'T'
 23862  	case blas.ConjTrans:
 23863  		transr = 'C'
 23864  	default:
 23865  		panic("lapack: bad trans")
 23866  	}
 23867  	switch side {
 23868  	case blas.Left:
 23869  		side = 'L'
 23870  	case blas.Right:
 23871  		side = 'R'
 23872  	default:
 23873  		panic("lapack: bad side")
 23874  	}
 23875  	switch ul {
 23876  	case blas.Upper:
 23877  		ul = 'U'
 23878  	case blas.Lower:
 23879  		ul = 'L'
 23880  	default:
 23881  		panic("lapack: illegal triangle")
 23882  	}
 23883  	switch trans {
 23884  	case blas.NoTrans:
 23885  		trans = 'N'
 23886  	case blas.Trans:
 23887  		trans = 'T'
 23888  	case blas.ConjTrans:
 23889  		trans = 'C'
 23890  	default:
 23891  		panic("lapack: bad trans")
 23892  	}
 23893  	switch d {
 23894  	case blas.Unit:
 23895  		d = 'U'
 23896  	case blas.NonUnit:
 23897  		d = 'N'
 23898  	default:
 23899  		panic("lapack: illegal diagonal")
 23900  	}
 23901  	var _a *complex64
 23902  	if len(a) > 0 {
 23903  		_a = &a[0]
 23904  	}
 23905  	var _b *complex64
 23906  	if len(b) > 0 {
 23907  		_b = &b[0]
 23908  	}
 23909  	return isZero(C.LAPACKE_ctfsm_work((C.int)(rowMajor), (C.char)(transr), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_complex_float)(alpha), (*C.lapack_complex_float)(_a), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 23910  }
 23911  
 23912  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztfsm.f.
 23913  func Ztfsm(transr blas.Transpose, side blas.Side, ul blas.Uplo, trans blas.Transpose, d blas.Diag, m, n int, alpha complex128, a, b []complex128, ldb int) bool {
 23914  	switch transr {
 23915  	case blas.NoTrans:
 23916  		transr = 'N'
 23917  	case blas.Trans:
 23918  		transr = 'T'
 23919  	case blas.ConjTrans:
 23920  		transr = 'C'
 23921  	default:
 23922  		panic("lapack: bad trans")
 23923  	}
 23924  	switch side {
 23925  	case blas.Left:
 23926  		side = 'L'
 23927  	case blas.Right:
 23928  		side = 'R'
 23929  	default:
 23930  		panic("lapack: bad side")
 23931  	}
 23932  	switch ul {
 23933  	case blas.Upper:
 23934  		ul = 'U'
 23935  	case blas.Lower:
 23936  		ul = 'L'
 23937  	default:
 23938  		panic("lapack: illegal triangle")
 23939  	}
 23940  	switch trans {
 23941  	case blas.NoTrans:
 23942  		trans = 'N'
 23943  	case blas.Trans:
 23944  		trans = 'T'
 23945  	case blas.ConjTrans:
 23946  		trans = 'C'
 23947  	default:
 23948  		panic("lapack: bad trans")
 23949  	}
 23950  	switch d {
 23951  	case blas.Unit:
 23952  		d = 'U'
 23953  	case blas.NonUnit:
 23954  		d = 'N'
 23955  	default:
 23956  		panic("lapack: illegal diagonal")
 23957  	}
 23958  	var _a *complex128
 23959  	if len(a) > 0 {
 23960  		_a = &a[0]
 23961  	}
 23962  	var _b *complex128
 23963  	if len(b) > 0 {
 23964  		_b = &b[0]
 23965  	}
 23966  	return isZero(C.LAPACKE_ztfsm_work((C.int)(rowMajor), (C.char)(transr), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_complex_double)(alpha), (*C.lapack_complex_double)(_a), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 23967  }
 23968  
 23969  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stftri.f.
 23970  func Stftri(transr blas.Transpose, ul blas.Uplo, d blas.Diag, n int, a []float32) bool {
 23971  	switch transr {
 23972  	case blas.NoTrans:
 23973  		transr = 'N'
 23974  	case blas.Trans:
 23975  		transr = 'T'
 23976  	case blas.ConjTrans:
 23977  		transr = 'C'
 23978  	default:
 23979  		panic("lapack: bad trans")
 23980  	}
 23981  	switch ul {
 23982  	case blas.Upper:
 23983  		ul = 'U'
 23984  	case blas.Lower:
 23985  		ul = 'L'
 23986  	default:
 23987  		panic("lapack: illegal triangle")
 23988  	}
 23989  	switch d {
 23990  	case blas.Unit:
 23991  		d = 'U'
 23992  	case blas.NonUnit:
 23993  		d = 'N'
 23994  	default:
 23995  		panic("lapack: illegal diagonal")
 23996  	}
 23997  	var _a *float32
 23998  	if len(a) > 0 {
 23999  		_a = &a[0]
 24000  	}
 24001  	return isZero(C.LAPACKE_stftri_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.float)(_a)))
 24002  }
 24003  
 24004  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtftri.f.
 24005  func Dtftri(transr blas.Transpose, ul blas.Uplo, d blas.Diag, n int, a []float64) bool {
 24006  	switch transr {
 24007  	case blas.NoTrans:
 24008  		transr = 'N'
 24009  	case blas.Trans:
 24010  		transr = 'T'
 24011  	case blas.ConjTrans:
 24012  		transr = 'C'
 24013  	default:
 24014  		panic("lapack: bad trans")
 24015  	}
 24016  	switch ul {
 24017  	case blas.Upper:
 24018  		ul = 'U'
 24019  	case blas.Lower:
 24020  		ul = 'L'
 24021  	default:
 24022  		panic("lapack: illegal triangle")
 24023  	}
 24024  	switch d {
 24025  	case blas.Unit:
 24026  		d = 'U'
 24027  	case blas.NonUnit:
 24028  		d = 'N'
 24029  	default:
 24030  		panic("lapack: illegal diagonal")
 24031  	}
 24032  	var _a *float64
 24033  	if len(a) > 0 {
 24034  		_a = &a[0]
 24035  	}
 24036  	return isZero(C.LAPACKE_dtftri_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.double)(_a)))
 24037  }
 24038  
 24039  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctftri.f.
 24040  func Ctftri(transr blas.Transpose, ul blas.Uplo, d blas.Diag, n int, a []complex64) bool {
 24041  	switch transr {
 24042  	case blas.NoTrans:
 24043  		transr = 'N'
 24044  	case blas.Trans:
 24045  		transr = 'T'
 24046  	case blas.ConjTrans:
 24047  		transr = 'C'
 24048  	default:
 24049  		panic("lapack: bad trans")
 24050  	}
 24051  	switch ul {
 24052  	case blas.Upper:
 24053  		ul = 'U'
 24054  	case blas.Lower:
 24055  		ul = 'L'
 24056  	default:
 24057  		panic("lapack: illegal triangle")
 24058  	}
 24059  	switch d {
 24060  	case blas.Unit:
 24061  		d = 'U'
 24062  	case blas.NonUnit:
 24063  		d = 'N'
 24064  	default:
 24065  		panic("lapack: illegal diagonal")
 24066  	}
 24067  	var _a *complex64
 24068  	if len(a) > 0 {
 24069  		_a = &a[0]
 24070  	}
 24071  	return isZero(C.LAPACKE_ctftri_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_float)(_a)))
 24072  }
 24073  
 24074  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztftri.f.
 24075  func Ztftri(transr blas.Transpose, ul blas.Uplo, d blas.Diag, n int, a []complex128) bool {
 24076  	switch transr {
 24077  	case blas.NoTrans:
 24078  		transr = 'N'
 24079  	case blas.Trans:
 24080  		transr = 'T'
 24081  	case blas.ConjTrans:
 24082  		transr = 'C'
 24083  	default:
 24084  		panic("lapack: bad trans")
 24085  	}
 24086  	switch ul {
 24087  	case blas.Upper:
 24088  		ul = 'U'
 24089  	case blas.Lower:
 24090  		ul = 'L'
 24091  	default:
 24092  		panic("lapack: illegal triangle")
 24093  	}
 24094  	switch d {
 24095  	case blas.Unit:
 24096  		d = 'U'
 24097  	case blas.NonUnit:
 24098  		d = 'N'
 24099  	default:
 24100  		panic("lapack: illegal diagonal")
 24101  	}
 24102  	var _a *complex128
 24103  	if len(a) > 0 {
 24104  		_a = &a[0]
 24105  	}
 24106  	return isZero(C.LAPACKE_ztftri_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_double)(_a)))
 24107  }
 24108  
 24109  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stfttp.f.
 24110  func Stfttp(transr blas.Transpose, ul blas.Uplo, n int, arf, ap []float32) bool {
 24111  	switch transr {
 24112  	case blas.NoTrans:
 24113  		transr = 'N'
 24114  	case blas.Trans:
 24115  		transr = 'T'
 24116  	case blas.ConjTrans:
 24117  		transr = 'C'
 24118  	default:
 24119  		panic("lapack: bad trans")
 24120  	}
 24121  	switch ul {
 24122  	case blas.Upper:
 24123  		ul = 'U'
 24124  	case blas.Lower:
 24125  		ul = 'L'
 24126  	default:
 24127  		panic("lapack: illegal triangle")
 24128  	}
 24129  	var _arf *float32
 24130  	if len(arf) > 0 {
 24131  		_arf = &arf[0]
 24132  	}
 24133  	var _ap *float32
 24134  	if len(ap) > 0 {
 24135  		_ap = &ap[0]
 24136  	}
 24137  	return isZero(C.LAPACKE_stfttp_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_arf), (*C.float)(_ap)))
 24138  }
 24139  
 24140  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtfttp.f.
 24141  func Dtfttp(transr blas.Transpose, ul blas.Uplo, n int, arf, ap []float64) bool {
 24142  	switch transr {
 24143  	case blas.NoTrans:
 24144  		transr = 'N'
 24145  	case blas.Trans:
 24146  		transr = 'T'
 24147  	case blas.ConjTrans:
 24148  		transr = 'C'
 24149  	default:
 24150  		panic("lapack: bad trans")
 24151  	}
 24152  	switch ul {
 24153  	case blas.Upper:
 24154  		ul = 'U'
 24155  	case blas.Lower:
 24156  		ul = 'L'
 24157  	default:
 24158  		panic("lapack: illegal triangle")
 24159  	}
 24160  	var _arf *float64
 24161  	if len(arf) > 0 {
 24162  		_arf = &arf[0]
 24163  	}
 24164  	var _ap *float64
 24165  	if len(ap) > 0 {
 24166  		_ap = &ap[0]
 24167  	}
 24168  	return isZero(C.LAPACKE_dtfttp_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_arf), (*C.double)(_ap)))
 24169  }
 24170  
 24171  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctfttp.f.
 24172  func Ctfttp(transr blas.Transpose, ul blas.Uplo, n int, arf, ap []complex64) bool {
 24173  	switch transr {
 24174  	case blas.NoTrans:
 24175  		transr = 'N'
 24176  	case blas.Trans:
 24177  		transr = 'T'
 24178  	case blas.ConjTrans:
 24179  		transr = 'C'
 24180  	default:
 24181  		panic("lapack: bad trans")
 24182  	}
 24183  	switch ul {
 24184  	case blas.Upper:
 24185  		ul = 'U'
 24186  	case blas.Lower:
 24187  		ul = 'L'
 24188  	default:
 24189  		panic("lapack: illegal triangle")
 24190  	}
 24191  	var _arf *complex64
 24192  	if len(arf) > 0 {
 24193  		_arf = &arf[0]
 24194  	}
 24195  	var _ap *complex64
 24196  	if len(ap) > 0 {
 24197  		_ap = &ap[0]
 24198  	}
 24199  	return isZero(C.LAPACKE_ctfttp_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_arf), (*C.lapack_complex_float)(_ap)))
 24200  }
 24201  
 24202  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztfttp.f.
 24203  func Ztfttp(transr blas.Transpose, ul blas.Uplo, n int, arf, ap []complex128) bool {
 24204  	switch transr {
 24205  	case blas.NoTrans:
 24206  		transr = 'N'
 24207  	case blas.Trans:
 24208  		transr = 'T'
 24209  	case blas.ConjTrans:
 24210  		transr = 'C'
 24211  	default:
 24212  		panic("lapack: bad trans")
 24213  	}
 24214  	switch ul {
 24215  	case blas.Upper:
 24216  		ul = 'U'
 24217  	case blas.Lower:
 24218  		ul = 'L'
 24219  	default:
 24220  		panic("lapack: illegal triangle")
 24221  	}
 24222  	var _arf *complex128
 24223  	if len(arf) > 0 {
 24224  		_arf = &arf[0]
 24225  	}
 24226  	var _ap *complex128
 24227  	if len(ap) > 0 {
 24228  		_ap = &ap[0]
 24229  	}
 24230  	return isZero(C.LAPACKE_ztfttp_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_arf), (*C.lapack_complex_double)(_ap)))
 24231  }
 24232  
 24233  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stfttr.f.
 24234  func Stfttr(transr blas.Transpose, ul blas.Uplo, n int, arf, a []float32, lda int) bool {
 24235  	switch transr {
 24236  	case blas.NoTrans:
 24237  		transr = 'N'
 24238  	case blas.Trans:
 24239  		transr = 'T'
 24240  	case blas.ConjTrans:
 24241  		transr = 'C'
 24242  	default:
 24243  		panic("lapack: bad trans")
 24244  	}
 24245  	switch ul {
 24246  	case blas.Upper:
 24247  		ul = 'U'
 24248  	case blas.Lower:
 24249  		ul = 'L'
 24250  	default:
 24251  		panic("lapack: illegal triangle")
 24252  	}
 24253  	var _arf *float32
 24254  	if len(arf) > 0 {
 24255  		_arf = &arf[0]
 24256  	}
 24257  	var _a *float32
 24258  	if len(a) > 0 {
 24259  		_a = &a[0]
 24260  	}
 24261  	return isZero(C.LAPACKE_stfttr_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_arf), (*C.float)(_a), (C.lapack_int)(lda)))
 24262  }
 24263  
 24264  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtfttr.f.
 24265  func Dtfttr(transr blas.Transpose, ul blas.Uplo, n int, arf, a []float64, lda int) bool {
 24266  	switch transr {
 24267  	case blas.NoTrans:
 24268  		transr = 'N'
 24269  	case blas.Trans:
 24270  		transr = 'T'
 24271  	case blas.ConjTrans:
 24272  		transr = 'C'
 24273  	default:
 24274  		panic("lapack: bad trans")
 24275  	}
 24276  	switch ul {
 24277  	case blas.Upper:
 24278  		ul = 'U'
 24279  	case blas.Lower:
 24280  		ul = 'L'
 24281  	default:
 24282  		panic("lapack: illegal triangle")
 24283  	}
 24284  	var _arf *float64
 24285  	if len(arf) > 0 {
 24286  		_arf = &arf[0]
 24287  	}
 24288  	var _a *float64
 24289  	if len(a) > 0 {
 24290  		_a = &a[0]
 24291  	}
 24292  	return isZero(C.LAPACKE_dtfttr_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_arf), (*C.double)(_a), (C.lapack_int)(lda)))
 24293  }
 24294  
 24295  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctfttr.f.
 24296  func Ctfttr(transr blas.Transpose, ul blas.Uplo, n int, arf, a []complex64, lda int) bool {
 24297  	switch transr {
 24298  	case blas.NoTrans:
 24299  		transr = 'N'
 24300  	case blas.Trans:
 24301  		transr = 'T'
 24302  	case blas.ConjTrans:
 24303  		transr = 'C'
 24304  	default:
 24305  		panic("lapack: bad trans")
 24306  	}
 24307  	switch ul {
 24308  	case blas.Upper:
 24309  		ul = 'U'
 24310  	case blas.Lower:
 24311  		ul = 'L'
 24312  	default:
 24313  		panic("lapack: illegal triangle")
 24314  	}
 24315  	var _arf *complex64
 24316  	if len(arf) > 0 {
 24317  		_arf = &arf[0]
 24318  	}
 24319  	var _a *complex64
 24320  	if len(a) > 0 {
 24321  		_a = &a[0]
 24322  	}
 24323  	return isZero(C.LAPACKE_ctfttr_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_arf), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 24324  }
 24325  
 24326  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztfttr.f.
 24327  func Ztfttr(transr blas.Transpose, ul blas.Uplo, n int, arf, a []complex128, lda int) bool {
 24328  	switch transr {
 24329  	case blas.NoTrans:
 24330  		transr = 'N'
 24331  	case blas.Trans:
 24332  		transr = 'T'
 24333  	case blas.ConjTrans:
 24334  		transr = 'C'
 24335  	default:
 24336  		panic("lapack: bad trans")
 24337  	}
 24338  	switch ul {
 24339  	case blas.Upper:
 24340  		ul = 'U'
 24341  	case blas.Lower:
 24342  		ul = 'L'
 24343  	default:
 24344  		panic("lapack: illegal triangle")
 24345  	}
 24346  	var _arf *complex128
 24347  	if len(arf) > 0 {
 24348  		_arf = &arf[0]
 24349  	}
 24350  	var _a *complex128
 24351  	if len(a) > 0 {
 24352  		_a = &a[0]
 24353  	}
 24354  	return isZero(C.LAPACKE_ztfttr_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_arf), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 24355  }
 24356  
 24357  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stgevc.f.
 24358  func Stgevc(side blas.Side, howmny byte, sel []int32, n int, s []float32, lds int, p []float32, ldp int, vl []float32, ldvl int, vr []float32, ldvr, mm int, m []int32, work []float32) bool {
 24359  	switch side {
 24360  	case blas.Left:
 24361  		side = 'L'
 24362  	case blas.Right:
 24363  		side = 'R'
 24364  	default:
 24365  		panic("lapack: bad side")
 24366  	}
 24367  	var _sel *int32
 24368  	if len(sel) > 0 {
 24369  		_sel = &sel[0]
 24370  	}
 24371  	var _s *float32
 24372  	if len(s) > 0 {
 24373  		_s = &s[0]
 24374  	}
 24375  	var _p *float32
 24376  	if len(p) > 0 {
 24377  		_p = &p[0]
 24378  	}
 24379  	var _vl *float32
 24380  	if len(vl) > 0 {
 24381  		_vl = &vl[0]
 24382  	}
 24383  	var _vr *float32
 24384  	if len(vr) > 0 {
 24385  		_vr = &vr[0]
 24386  	}
 24387  	var _m *int32
 24388  	if len(m) > 0 {
 24389  		_m = &m[0]
 24390  	}
 24391  	var _work *float32
 24392  	if len(work) > 0 {
 24393  		_work = &work[0]
 24394  	}
 24395  	return isZero(C.LAPACKE_stgevc_work((C.int)(rowMajor), (C.char)(side), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.float)(_s), (C.lapack_int)(lds), (*C.float)(_p), (C.lapack_int)(ldp), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.float)(_work)))
 24396  }
 24397  
 24398  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtgevc.f.
 24399  func Dtgevc(side blas.Side, howmny byte, sel []int32, n int, s []float64, lds int, p []float64, ldp int, vl []float64, ldvl int, vr []float64, ldvr, mm int, m []int32, work []float64) bool {
 24400  	switch side {
 24401  	case blas.Left:
 24402  		side = 'L'
 24403  	case blas.Right:
 24404  		side = 'R'
 24405  	default:
 24406  		panic("lapack: bad side")
 24407  	}
 24408  	var _sel *int32
 24409  	if len(sel) > 0 {
 24410  		_sel = &sel[0]
 24411  	}
 24412  	var _s *float64
 24413  	if len(s) > 0 {
 24414  		_s = &s[0]
 24415  	}
 24416  	var _p *float64
 24417  	if len(p) > 0 {
 24418  		_p = &p[0]
 24419  	}
 24420  	var _vl *float64
 24421  	if len(vl) > 0 {
 24422  		_vl = &vl[0]
 24423  	}
 24424  	var _vr *float64
 24425  	if len(vr) > 0 {
 24426  		_vr = &vr[0]
 24427  	}
 24428  	var _m *int32
 24429  	if len(m) > 0 {
 24430  		_m = &m[0]
 24431  	}
 24432  	var _work *float64
 24433  	if len(work) > 0 {
 24434  		_work = &work[0]
 24435  	}
 24436  	return isZero(C.LAPACKE_dtgevc_work((C.int)(rowMajor), (C.char)(side), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.double)(_s), (C.lapack_int)(lds), (*C.double)(_p), (C.lapack_int)(ldp), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.double)(_work)))
 24437  }
 24438  
 24439  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctgevc.f.
 24440  func Ctgevc(side blas.Side, howmny byte, sel []int32, n int, s []complex64, lds int, p []complex64, ldp int, vl []complex64, ldvl int, vr []complex64, ldvr, mm int, m []int32, work []complex64, rwork []float32) bool {
 24441  	switch side {
 24442  	case blas.Left:
 24443  		side = 'L'
 24444  	case blas.Right:
 24445  		side = 'R'
 24446  	default:
 24447  		panic("lapack: bad side")
 24448  	}
 24449  	var _sel *int32
 24450  	if len(sel) > 0 {
 24451  		_sel = &sel[0]
 24452  	}
 24453  	var _s *complex64
 24454  	if len(s) > 0 {
 24455  		_s = &s[0]
 24456  	}
 24457  	var _p *complex64
 24458  	if len(p) > 0 {
 24459  		_p = &p[0]
 24460  	}
 24461  	var _vl *complex64
 24462  	if len(vl) > 0 {
 24463  		_vl = &vl[0]
 24464  	}
 24465  	var _vr *complex64
 24466  	if len(vr) > 0 {
 24467  		_vr = &vr[0]
 24468  	}
 24469  	var _m *int32
 24470  	if len(m) > 0 {
 24471  		_m = &m[0]
 24472  	}
 24473  	var _work *complex64
 24474  	if len(work) > 0 {
 24475  		_work = &work[0]
 24476  	}
 24477  	var _rwork *float32
 24478  	if len(rwork) > 0 {
 24479  		_rwork = &rwork[0]
 24480  	}
 24481  	return isZero(C.LAPACKE_ctgevc_work((C.int)(rowMajor), (C.char)(side), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_float)(_s), (C.lapack_int)(lds), (*C.lapack_complex_float)(_p), (C.lapack_int)(ldp), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 24482  }
 24483  
 24484  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztgevc.f.
 24485  func Ztgevc(side blas.Side, howmny byte, sel []int32, n int, s []complex128, lds int, p []complex128, ldp int, vl []complex128, ldvl int, vr []complex128, ldvr, mm int, m []int32, work []complex128, rwork []float64) bool {
 24486  	switch side {
 24487  	case blas.Left:
 24488  		side = 'L'
 24489  	case blas.Right:
 24490  		side = 'R'
 24491  	default:
 24492  		panic("lapack: bad side")
 24493  	}
 24494  	var _sel *int32
 24495  	if len(sel) > 0 {
 24496  		_sel = &sel[0]
 24497  	}
 24498  	var _s *complex128
 24499  	if len(s) > 0 {
 24500  		_s = &s[0]
 24501  	}
 24502  	var _p *complex128
 24503  	if len(p) > 0 {
 24504  		_p = &p[0]
 24505  	}
 24506  	var _vl *complex128
 24507  	if len(vl) > 0 {
 24508  		_vl = &vl[0]
 24509  	}
 24510  	var _vr *complex128
 24511  	if len(vr) > 0 {
 24512  		_vr = &vr[0]
 24513  	}
 24514  	var _m *int32
 24515  	if len(m) > 0 {
 24516  		_m = &m[0]
 24517  	}
 24518  	var _work *complex128
 24519  	if len(work) > 0 {
 24520  		_work = &work[0]
 24521  	}
 24522  	var _rwork *float64
 24523  	if len(rwork) > 0 {
 24524  		_rwork = &rwork[0]
 24525  	}
 24526  	return isZero(C.LAPACKE_ztgevc_work((C.int)(rowMajor), (C.char)(side), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_double)(_s), (C.lapack_int)(lds), (*C.lapack_complex_double)(_p), (C.lapack_int)(ldp), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 24527  }
 24528  
 24529  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stgexc.f.
 24530  func Stgexc(wantq, wantz int32, n int, a []float32, lda int, b []float32, ldb int, q []float32, ldq int, z []float32, ldz int, ifst, ilst []int32, work []float32, lwork int) bool {
 24531  	var _a *float32
 24532  	if len(a) > 0 {
 24533  		_a = &a[0]
 24534  	}
 24535  	var _b *float32
 24536  	if len(b) > 0 {
 24537  		_b = &b[0]
 24538  	}
 24539  	var _q *float32
 24540  	if len(q) > 0 {
 24541  		_q = &q[0]
 24542  	}
 24543  	var _z *float32
 24544  	if len(z) > 0 {
 24545  		_z = &z[0]
 24546  	}
 24547  	var _ifst *int32
 24548  	if len(ifst) > 0 {
 24549  		_ifst = &ifst[0]
 24550  	}
 24551  	var _ilst *int32
 24552  	if len(ilst) > 0 {
 24553  		_ilst = &ilst[0]
 24554  	}
 24555  	var _work *float32
 24556  	if len(work) > 0 {
 24557  		_work = &work[0]
 24558  	}
 24559  	return isZero(C.LAPACKE_stgexc_work((C.int)(rowMajor), (C.lapack_logical)(wantq), (C.lapack_logical)(wantz), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_ifst), (*C.lapack_int)(_ilst), (*C.float)(_work), (C.lapack_int)(lwork)))
 24560  }
 24561  
 24562  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtgexc.f.
 24563  func Dtgexc(wantq, wantz int32, n int, a []float64, lda int, b []float64, ldb int, q []float64, ldq int, z []float64, ldz int, ifst, ilst []int32, work []float64, lwork int) bool {
 24564  	var _a *float64
 24565  	if len(a) > 0 {
 24566  		_a = &a[0]
 24567  	}
 24568  	var _b *float64
 24569  	if len(b) > 0 {
 24570  		_b = &b[0]
 24571  	}
 24572  	var _q *float64
 24573  	if len(q) > 0 {
 24574  		_q = &q[0]
 24575  	}
 24576  	var _z *float64
 24577  	if len(z) > 0 {
 24578  		_z = &z[0]
 24579  	}
 24580  	var _ifst *int32
 24581  	if len(ifst) > 0 {
 24582  		_ifst = &ifst[0]
 24583  	}
 24584  	var _ilst *int32
 24585  	if len(ilst) > 0 {
 24586  		_ilst = &ilst[0]
 24587  	}
 24588  	var _work *float64
 24589  	if len(work) > 0 {
 24590  		_work = &work[0]
 24591  	}
 24592  	return isZero(C.LAPACKE_dtgexc_work((C.int)(rowMajor), (C.lapack_logical)(wantq), (C.lapack_logical)(wantz), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_ifst), (*C.lapack_int)(_ilst), (*C.double)(_work), (C.lapack_int)(lwork)))
 24593  }
 24594  
 24595  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctgexc.f.
 24596  func Ctgexc(wantq, wantz int32, n int, a []complex64, lda int, b []complex64, ldb int, q []complex64, ldq int, z []complex64, ldz, ifst, ilst int) bool {
 24597  	var _a *complex64
 24598  	if len(a) > 0 {
 24599  		_a = &a[0]
 24600  	}
 24601  	var _b *complex64
 24602  	if len(b) > 0 {
 24603  		_b = &b[0]
 24604  	}
 24605  	var _q *complex64
 24606  	if len(q) > 0 {
 24607  		_q = &q[0]
 24608  	}
 24609  	var _z *complex64
 24610  	if len(z) > 0 {
 24611  		_z = &z[0]
 24612  	}
 24613  	return isZero(C.LAPACKE_ctgexc_work((C.int)(rowMajor), (C.lapack_logical)(wantq), (C.lapack_logical)(wantz), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (C.lapack_int)(ifst), (C.lapack_int)(ilst)))
 24614  }
 24615  
 24616  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztgexc.f.
 24617  func Ztgexc(wantq, wantz int32, n int, a []complex128, lda int, b []complex128, ldb int, q []complex128, ldq int, z []complex128, ldz, ifst, ilst int) bool {
 24618  	var _a *complex128
 24619  	if len(a) > 0 {
 24620  		_a = &a[0]
 24621  	}
 24622  	var _b *complex128
 24623  	if len(b) > 0 {
 24624  		_b = &b[0]
 24625  	}
 24626  	var _q *complex128
 24627  	if len(q) > 0 {
 24628  		_q = &q[0]
 24629  	}
 24630  	var _z *complex128
 24631  	if len(z) > 0 {
 24632  		_z = &z[0]
 24633  	}
 24634  	return isZero(C.LAPACKE_ztgexc_work((C.int)(rowMajor), (C.lapack_logical)(wantq), (C.lapack_logical)(wantz), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (C.lapack_int)(ifst), (C.lapack_int)(ilst)))
 24635  }
 24636  
 24637  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stgsen.f.
 24638  func Stgsen(ijob lapack.Job, wantq, wantz int32, sel []int32, n int, a []float32, lda int, b []float32, ldb int, alphar, alphai, beta, q []float32, ldq int, z []float32, ldz int, m []int32, pl, pr, dif, work []float32, lwork int, iwork []int32, liwork int) bool {
 24639  	var _sel *int32
 24640  	if len(sel) > 0 {
 24641  		_sel = &sel[0]
 24642  	}
 24643  	var _a *float32
 24644  	if len(a) > 0 {
 24645  		_a = &a[0]
 24646  	}
 24647  	var _b *float32
 24648  	if len(b) > 0 {
 24649  		_b = &b[0]
 24650  	}
 24651  	var _alphar *float32
 24652  	if len(alphar) > 0 {
 24653  		_alphar = &alphar[0]
 24654  	}
 24655  	var _alphai *float32
 24656  	if len(alphai) > 0 {
 24657  		_alphai = &alphai[0]
 24658  	}
 24659  	var _beta *float32
 24660  	if len(beta) > 0 {
 24661  		_beta = &beta[0]
 24662  	}
 24663  	var _q *float32
 24664  	if len(q) > 0 {
 24665  		_q = &q[0]
 24666  	}
 24667  	var _z *float32
 24668  	if len(z) > 0 {
 24669  		_z = &z[0]
 24670  	}
 24671  	var _m *int32
 24672  	if len(m) > 0 {
 24673  		_m = &m[0]
 24674  	}
 24675  	var _pl *float32
 24676  	if len(pl) > 0 {
 24677  		_pl = &pl[0]
 24678  	}
 24679  	var _pr *float32
 24680  	if len(pr) > 0 {
 24681  		_pr = &pr[0]
 24682  	}
 24683  	var _dif *float32
 24684  	if len(dif) > 0 {
 24685  		_dif = &dif[0]
 24686  	}
 24687  	var _work *float32
 24688  	if len(work) > 0 {
 24689  		_work = &work[0]
 24690  	}
 24691  	var _iwork *int32
 24692  	if len(iwork) > 0 {
 24693  		_iwork = &iwork[0]
 24694  	}
 24695  	return isZero(C.LAPACKE_stgsen_work((C.int)(rowMajor), (C.lapack_int)(ijob), (C.lapack_logical)(wantq), (C.lapack_logical)(wantz), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_alphar), (*C.float)(_alphai), (*C.float)(_beta), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_m), (*C.float)(_pl), (*C.float)(_pr), (*C.float)(_dif), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 24696  }
 24697  
 24698  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtgsen.f.
 24699  func Dtgsen(ijob lapack.Job, wantq, wantz int32, sel []int32, n int, a []float64, lda int, b []float64, ldb int, alphar, alphai, beta, q []float64, ldq int, z []float64, ldz int, m []int32, pl, pr, dif, work []float64, lwork int, iwork []int32, liwork int) bool {
 24700  	var _sel *int32
 24701  	if len(sel) > 0 {
 24702  		_sel = &sel[0]
 24703  	}
 24704  	var _a *float64
 24705  	if len(a) > 0 {
 24706  		_a = &a[0]
 24707  	}
 24708  	var _b *float64
 24709  	if len(b) > 0 {
 24710  		_b = &b[0]
 24711  	}
 24712  	var _alphar *float64
 24713  	if len(alphar) > 0 {
 24714  		_alphar = &alphar[0]
 24715  	}
 24716  	var _alphai *float64
 24717  	if len(alphai) > 0 {
 24718  		_alphai = &alphai[0]
 24719  	}
 24720  	var _beta *float64
 24721  	if len(beta) > 0 {
 24722  		_beta = &beta[0]
 24723  	}
 24724  	var _q *float64
 24725  	if len(q) > 0 {
 24726  		_q = &q[0]
 24727  	}
 24728  	var _z *float64
 24729  	if len(z) > 0 {
 24730  		_z = &z[0]
 24731  	}
 24732  	var _m *int32
 24733  	if len(m) > 0 {
 24734  		_m = &m[0]
 24735  	}
 24736  	var _pl *float64
 24737  	if len(pl) > 0 {
 24738  		_pl = &pl[0]
 24739  	}
 24740  	var _pr *float64
 24741  	if len(pr) > 0 {
 24742  		_pr = &pr[0]
 24743  	}
 24744  	var _dif *float64
 24745  	if len(dif) > 0 {
 24746  		_dif = &dif[0]
 24747  	}
 24748  	var _work *float64
 24749  	if len(work) > 0 {
 24750  		_work = &work[0]
 24751  	}
 24752  	var _iwork *int32
 24753  	if len(iwork) > 0 {
 24754  		_iwork = &iwork[0]
 24755  	}
 24756  	return isZero(C.LAPACKE_dtgsen_work((C.int)(rowMajor), (C.lapack_int)(ijob), (C.lapack_logical)(wantq), (C.lapack_logical)(wantz), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_alphar), (*C.double)(_alphai), (*C.double)(_beta), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_m), (*C.double)(_pl), (*C.double)(_pr), (*C.double)(_dif), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 24757  }
 24758  
 24759  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctgsen.f.
 24760  func Ctgsen(ijob lapack.Job, wantq, wantz int32, sel []int32, n int, a []complex64, lda int, b []complex64, ldb int, alpha, beta, q []complex64, ldq int, z []complex64, ldz int, m []int32, pl, pr, dif []float32, work []complex64, lwork int, iwork []int32, liwork int) bool {
 24761  	var _sel *int32
 24762  	if len(sel) > 0 {
 24763  		_sel = &sel[0]
 24764  	}
 24765  	var _a *complex64
 24766  	if len(a) > 0 {
 24767  		_a = &a[0]
 24768  	}
 24769  	var _b *complex64
 24770  	if len(b) > 0 {
 24771  		_b = &b[0]
 24772  	}
 24773  	var _alpha *complex64
 24774  	if len(alpha) > 0 {
 24775  		_alpha = &alpha[0]
 24776  	}
 24777  	var _beta *complex64
 24778  	if len(beta) > 0 {
 24779  		_beta = &beta[0]
 24780  	}
 24781  	var _q *complex64
 24782  	if len(q) > 0 {
 24783  		_q = &q[0]
 24784  	}
 24785  	var _z *complex64
 24786  	if len(z) > 0 {
 24787  		_z = &z[0]
 24788  	}
 24789  	var _m *int32
 24790  	if len(m) > 0 {
 24791  		_m = &m[0]
 24792  	}
 24793  	var _pl *float32
 24794  	if len(pl) > 0 {
 24795  		_pl = &pl[0]
 24796  	}
 24797  	var _pr *float32
 24798  	if len(pr) > 0 {
 24799  		_pr = &pr[0]
 24800  	}
 24801  	var _dif *float32
 24802  	if len(dif) > 0 {
 24803  		_dif = &dif[0]
 24804  	}
 24805  	var _work *complex64
 24806  	if len(work) > 0 {
 24807  		_work = &work[0]
 24808  	}
 24809  	var _iwork *int32
 24810  	if len(iwork) > 0 {
 24811  		_iwork = &iwork[0]
 24812  	}
 24813  	return isZero(C.LAPACKE_ctgsen_work((C.int)(rowMajor), (C.lapack_int)(ijob), (C.lapack_logical)(wantq), (C.lapack_logical)(wantz), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_alpha), (*C.lapack_complex_float)(_beta), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_m), (*C.float)(_pl), (*C.float)(_pr), (*C.float)(_dif), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 24814  }
 24815  
 24816  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztgsen.f.
 24817  func Ztgsen(ijob lapack.Job, wantq, wantz int32, sel []int32, n int, a []complex128, lda int, b []complex128, ldb int, alpha, beta, q []complex128, ldq int, z []complex128, ldz int, m []int32, pl, pr, dif []float64, work []complex128, lwork int, iwork []int32, liwork int) bool {
 24818  	var _sel *int32
 24819  	if len(sel) > 0 {
 24820  		_sel = &sel[0]
 24821  	}
 24822  	var _a *complex128
 24823  	if len(a) > 0 {
 24824  		_a = &a[0]
 24825  	}
 24826  	var _b *complex128
 24827  	if len(b) > 0 {
 24828  		_b = &b[0]
 24829  	}
 24830  	var _alpha *complex128
 24831  	if len(alpha) > 0 {
 24832  		_alpha = &alpha[0]
 24833  	}
 24834  	var _beta *complex128
 24835  	if len(beta) > 0 {
 24836  		_beta = &beta[0]
 24837  	}
 24838  	var _q *complex128
 24839  	if len(q) > 0 {
 24840  		_q = &q[0]
 24841  	}
 24842  	var _z *complex128
 24843  	if len(z) > 0 {
 24844  		_z = &z[0]
 24845  	}
 24846  	var _m *int32
 24847  	if len(m) > 0 {
 24848  		_m = &m[0]
 24849  	}
 24850  	var _pl *float64
 24851  	if len(pl) > 0 {
 24852  		_pl = &pl[0]
 24853  	}
 24854  	var _pr *float64
 24855  	if len(pr) > 0 {
 24856  		_pr = &pr[0]
 24857  	}
 24858  	var _dif *float64
 24859  	if len(dif) > 0 {
 24860  		_dif = &dif[0]
 24861  	}
 24862  	var _work *complex128
 24863  	if len(work) > 0 {
 24864  		_work = &work[0]
 24865  	}
 24866  	var _iwork *int32
 24867  	if len(iwork) > 0 {
 24868  		_iwork = &iwork[0]
 24869  	}
 24870  	return isZero(C.LAPACKE_ztgsen_work((C.int)(rowMajor), (C.lapack_int)(ijob), (C.lapack_logical)(wantq), (C.lapack_logical)(wantz), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_alpha), (*C.lapack_complex_double)(_beta), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_z), (C.lapack_int)(ldz), (*C.lapack_int)(_m), (*C.double)(_pl), (*C.double)(_pr), (*C.double)(_dif), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 24871  }
 24872  
 24873  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stgsja.f.
 24874  func Stgsja(jobu, jobv, jobq lapack.Job, m, p, n, k, l int, a []float32, lda int, b []float32, ldb int, tola, tolb float32, alpha, beta, u []float32, ldu int, v []float32, ldv int, q []float32, ldq int, work []float32, ncycle []int32) bool {
 24875  	var _a *float32
 24876  	if len(a) > 0 {
 24877  		_a = &a[0]
 24878  	}
 24879  	var _b *float32
 24880  	if len(b) > 0 {
 24881  		_b = &b[0]
 24882  	}
 24883  	var _alpha *float32
 24884  	if len(alpha) > 0 {
 24885  		_alpha = &alpha[0]
 24886  	}
 24887  	var _beta *float32
 24888  	if len(beta) > 0 {
 24889  		_beta = &beta[0]
 24890  	}
 24891  	var _u *float32
 24892  	if len(u) > 0 {
 24893  		_u = &u[0]
 24894  	}
 24895  	var _v *float32
 24896  	if len(v) > 0 {
 24897  		_v = &v[0]
 24898  	}
 24899  	var _q *float32
 24900  	if len(q) > 0 {
 24901  		_q = &q[0]
 24902  	}
 24903  	var _work *float32
 24904  	if len(work) > 0 {
 24905  		_work = &work[0]
 24906  	}
 24907  	var _ncycle *int32
 24908  	if len(ncycle) > 0 {
 24909  		_ncycle = &ncycle[0]
 24910  	}
 24911  	return isZero(C.LAPACKE_stgsja_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (C.float)(tola), (C.float)(tolb), (*C.float)(_alpha), (*C.float)(_beta), (*C.float)(_u), (C.lapack_int)(ldu), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_work), (*C.lapack_int)(_ncycle)))
 24912  }
 24913  
 24914  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtgsja.f.
 24915  func Dtgsja(jobu, jobv, jobq lapack.Job, m, p, n, k, l int, a []float64, lda int, b []float64, ldb int, tola, tolb float64, alpha, beta, u []float64, ldu int, v []float64, ldv int, q []float64, ldq int, work []float64, ncycle []int32) bool {
 24916  	var _a *float64
 24917  	if len(a) > 0 {
 24918  		_a = &a[0]
 24919  	}
 24920  	var _b *float64
 24921  	if len(b) > 0 {
 24922  		_b = &b[0]
 24923  	}
 24924  	var _alpha *float64
 24925  	if len(alpha) > 0 {
 24926  		_alpha = &alpha[0]
 24927  	}
 24928  	var _beta *float64
 24929  	if len(beta) > 0 {
 24930  		_beta = &beta[0]
 24931  	}
 24932  	var _u *float64
 24933  	if len(u) > 0 {
 24934  		_u = &u[0]
 24935  	}
 24936  	var _v *float64
 24937  	if len(v) > 0 {
 24938  		_v = &v[0]
 24939  	}
 24940  	var _q *float64
 24941  	if len(q) > 0 {
 24942  		_q = &q[0]
 24943  	}
 24944  	var _work *float64
 24945  	if len(work) > 0 {
 24946  		_work = &work[0]
 24947  	}
 24948  	var _ncycle *int32
 24949  	if len(ncycle) > 0 {
 24950  		_ncycle = &ncycle[0]
 24951  	}
 24952  	return isZero(C.LAPACKE_dtgsja_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (C.double)(tola), (C.double)(tolb), (*C.double)(_alpha), (*C.double)(_beta), (*C.double)(_u), (C.lapack_int)(ldu), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_work), (*C.lapack_int)(_ncycle)))
 24953  }
 24954  
 24955  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctgsja.f.
 24956  func Ctgsja(jobu, jobv, jobq lapack.Job, m, p, n, k, l int, a []complex64, lda int, b []complex64, ldb int, tola, tolb float32, alpha, beta []float32, u []complex64, ldu int, v []complex64, ldv int, q []complex64, ldq int, work []complex64, ncycle []int32) bool {
 24957  	var _a *complex64
 24958  	if len(a) > 0 {
 24959  		_a = &a[0]
 24960  	}
 24961  	var _b *complex64
 24962  	if len(b) > 0 {
 24963  		_b = &b[0]
 24964  	}
 24965  	var _alpha *float32
 24966  	if len(alpha) > 0 {
 24967  		_alpha = &alpha[0]
 24968  	}
 24969  	var _beta *float32
 24970  	if len(beta) > 0 {
 24971  		_beta = &beta[0]
 24972  	}
 24973  	var _u *complex64
 24974  	if len(u) > 0 {
 24975  		_u = &u[0]
 24976  	}
 24977  	var _v *complex64
 24978  	if len(v) > 0 {
 24979  		_v = &v[0]
 24980  	}
 24981  	var _q *complex64
 24982  	if len(q) > 0 {
 24983  		_q = &q[0]
 24984  	}
 24985  	var _work *complex64
 24986  	if len(work) > 0 {
 24987  		_work = &work[0]
 24988  	}
 24989  	var _ncycle *int32
 24990  	if len(ncycle) > 0 {
 24991  		_ncycle = &ncycle[0]
 24992  	}
 24993  	return isZero(C.LAPACKE_ctgsja_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (C.float)(tola), (C.float)(tolb), (*C.float)(_alpha), (*C.float)(_beta), (*C.lapack_complex_float)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_work), (*C.lapack_int)(_ncycle)))
 24994  }
 24995  
 24996  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztgsja.f.
 24997  func Ztgsja(jobu, jobv, jobq lapack.Job, m, p, n, k, l int, a []complex128, lda int, b []complex128, ldb int, tola, tolb float64, alpha, beta []float64, u []complex128, ldu int, v []complex128, ldv int, q []complex128, ldq int, work []complex128, ncycle []int32) bool {
 24998  	var _a *complex128
 24999  	if len(a) > 0 {
 25000  		_a = &a[0]
 25001  	}
 25002  	var _b *complex128
 25003  	if len(b) > 0 {
 25004  		_b = &b[0]
 25005  	}
 25006  	var _alpha *float64
 25007  	if len(alpha) > 0 {
 25008  		_alpha = &alpha[0]
 25009  	}
 25010  	var _beta *float64
 25011  	if len(beta) > 0 {
 25012  		_beta = &beta[0]
 25013  	}
 25014  	var _u *complex128
 25015  	if len(u) > 0 {
 25016  		_u = &u[0]
 25017  	}
 25018  	var _v *complex128
 25019  	if len(v) > 0 {
 25020  		_v = &v[0]
 25021  	}
 25022  	var _q *complex128
 25023  	if len(q) > 0 {
 25024  		_q = &q[0]
 25025  	}
 25026  	var _work *complex128
 25027  	if len(work) > 0 {
 25028  		_work = &work[0]
 25029  	}
 25030  	var _ncycle *int32
 25031  	if len(ncycle) > 0 {
 25032  		_ncycle = &ncycle[0]
 25033  	}
 25034  	return isZero(C.LAPACKE_ztgsja_work((C.int)(rowMajor), (C.char)(jobu), (C.char)(jobv), (C.char)(jobq), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (C.double)(tola), (C.double)(tolb), (*C.double)(_alpha), (*C.double)(_beta), (*C.lapack_complex_double)(_u), (C.lapack_int)(ldu), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_work), (*C.lapack_int)(_ncycle)))
 25035  }
 25036  
 25037  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stgsna.f.
 25038  func Stgsna(job lapack.Job, howmny byte, sel []int32, n int, a []float32, lda int, b []float32, ldb int, vl []float32, ldvl int, vr []float32, ldvr int, s, dif []float32, mm int, m []int32, work []float32, lwork int, iwork []int32) bool {
 25039  	var _sel *int32
 25040  	if len(sel) > 0 {
 25041  		_sel = &sel[0]
 25042  	}
 25043  	var _a *float32
 25044  	if len(a) > 0 {
 25045  		_a = &a[0]
 25046  	}
 25047  	var _b *float32
 25048  	if len(b) > 0 {
 25049  		_b = &b[0]
 25050  	}
 25051  	var _vl *float32
 25052  	if len(vl) > 0 {
 25053  		_vl = &vl[0]
 25054  	}
 25055  	var _vr *float32
 25056  	if len(vr) > 0 {
 25057  		_vr = &vr[0]
 25058  	}
 25059  	var _s *float32
 25060  	if len(s) > 0 {
 25061  		_s = &s[0]
 25062  	}
 25063  	var _dif *float32
 25064  	if len(dif) > 0 {
 25065  		_dif = &dif[0]
 25066  	}
 25067  	var _m *int32
 25068  	if len(m) > 0 {
 25069  		_m = &m[0]
 25070  	}
 25071  	var _work *float32
 25072  	if len(work) > 0 {
 25073  		_work = &work[0]
 25074  	}
 25075  	var _iwork *int32
 25076  	if len(iwork) > 0 {
 25077  		_iwork = &iwork[0]
 25078  	}
 25079  	return isZero(C.LAPACKE_stgsna_work((C.int)(rowMajor), (C.char)(job), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (*C.float)(_s), (*C.float)(_dif), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 25080  }
 25081  
 25082  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtgsna.f.
 25083  func Dtgsna(job lapack.Job, howmny byte, sel []int32, n int, a []float64, lda int, b []float64, ldb int, vl []float64, ldvl int, vr []float64, ldvr int, s, dif []float64, mm int, m []int32, work []float64, lwork int, iwork []int32) bool {
 25084  	var _sel *int32
 25085  	if len(sel) > 0 {
 25086  		_sel = &sel[0]
 25087  	}
 25088  	var _a *float64
 25089  	if len(a) > 0 {
 25090  		_a = &a[0]
 25091  	}
 25092  	var _b *float64
 25093  	if len(b) > 0 {
 25094  		_b = &b[0]
 25095  	}
 25096  	var _vl *float64
 25097  	if len(vl) > 0 {
 25098  		_vl = &vl[0]
 25099  	}
 25100  	var _vr *float64
 25101  	if len(vr) > 0 {
 25102  		_vr = &vr[0]
 25103  	}
 25104  	var _s *float64
 25105  	if len(s) > 0 {
 25106  		_s = &s[0]
 25107  	}
 25108  	var _dif *float64
 25109  	if len(dif) > 0 {
 25110  		_dif = &dif[0]
 25111  	}
 25112  	var _m *int32
 25113  	if len(m) > 0 {
 25114  		_m = &m[0]
 25115  	}
 25116  	var _work *float64
 25117  	if len(work) > 0 {
 25118  		_work = &work[0]
 25119  	}
 25120  	var _iwork *int32
 25121  	if len(iwork) > 0 {
 25122  		_iwork = &iwork[0]
 25123  	}
 25124  	return isZero(C.LAPACKE_dtgsna_work((C.int)(rowMajor), (C.char)(job), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (*C.double)(_s), (*C.double)(_dif), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 25125  }
 25126  
 25127  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctgsna.f.
 25128  func Ctgsna(job lapack.Job, howmny byte, sel []int32, n int, a []complex64, lda int, b []complex64, ldb int, vl []complex64, ldvl int, vr []complex64, ldvr int, s, dif []float32, mm int, m []int32, work []complex64, lwork int, iwork []int32) bool {
 25129  	var _sel *int32
 25130  	if len(sel) > 0 {
 25131  		_sel = &sel[0]
 25132  	}
 25133  	var _a *complex64
 25134  	if len(a) > 0 {
 25135  		_a = &a[0]
 25136  	}
 25137  	var _b *complex64
 25138  	if len(b) > 0 {
 25139  		_b = &b[0]
 25140  	}
 25141  	var _vl *complex64
 25142  	if len(vl) > 0 {
 25143  		_vl = &vl[0]
 25144  	}
 25145  	var _vr *complex64
 25146  	if len(vr) > 0 {
 25147  		_vr = &vr[0]
 25148  	}
 25149  	var _s *float32
 25150  	if len(s) > 0 {
 25151  		_s = &s[0]
 25152  	}
 25153  	var _dif *float32
 25154  	if len(dif) > 0 {
 25155  		_dif = &dif[0]
 25156  	}
 25157  	var _m *int32
 25158  	if len(m) > 0 {
 25159  		_m = &m[0]
 25160  	}
 25161  	var _work *complex64
 25162  	if len(work) > 0 {
 25163  		_work = &work[0]
 25164  	}
 25165  	var _iwork *int32
 25166  	if len(iwork) > 0 {
 25167  		_iwork = &iwork[0]
 25168  	}
 25169  	return isZero(C.LAPACKE_ctgsna_work((C.int)(rowMajor), (C.char)(job), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (*C.float)(_s), (*C.float)(_dif), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 25170  }
 25171  
 25172  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztgsna.f.
 25173  func Ztgsna(job lapack.Job, howmny byte, sel []int32, n int, a []complex128, lda int, b []complex128, ldb int, vl []complex128, ldvl int, vr []complex128, ldvr int, s, dif []float64, mm int, m []int32, work []complex128, lwork int, iwork []int32) bool {
 25174  	var _sel *int32
 25175  	if len(sel) > 0 {
 25176  		_sel = &sel[0]
 25177  	}
 25178  	var _a *complex128
 25179  	if len(a) > 0 {
 25180  		_a = &a[0]
 25181  	}
 25182  	var _b *complex128
 25183  	if len(b) > 0 {
 25184  		_b = &b[0]
 25185  	}
 25186  	var _vl *complex128
 25187  	if len(vl) > 0 {
 25188  		_vl = &vl[0]
 25189  	}
 25190  	var _vr *complex128
 25191  	if len(vr) > 0 {
 25192  		_vr = &vr[0]
 25193  	}
 25194  	var _s *float64
 25195  	if len(s) > 0 {
 25196  		_s = &s[0]
 25197  	}
 25198  	var _dif *float64
 25199  	if len(dif) > 0 {
 25200  		_dif = &dif[0]
 25201  	}
 25202  	var _m *int32
 25203  	if len(m) > 0 {
 25204  		_m = &m[0]
 25205  	}
 25206  	var _work *complex128
 25207  	if len(work) > 0 {
 25208  		_work = &work[0]
 25209  	}
 25210  	var _iwork *int32
 25211  	if len(iwork) > 0 {
 25212  		_iwork = &iwork[0]
 25213  	}
 25214  	return isZero(C.LAPACKE_ztgsna_work((C.int)(rowMajor), (C.char)(job), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (*C.double)(_s), (*C.double)(_dif), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 25215  }
 25216  
 25217  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stgsyl.f.
 25218  func Stgsyl(trans blas.Transpose, ijob lapack.Job, m, n int, a []float32, lda int, b []float32, ldb int, c []float32, ldc int, d []float32, ldd int, e []float32, lde int, f []float32, ldf int, scale, dif, work []float32, lwork int, iwork []int32) bool {
 25219  	switch trans {
 25220  	case blas.NoTrans:
 25221  		trans = 'N'
 25222  	case blas.Trans:
 25223  		trans = 'T'
 25224  	case blas.ConjTrans:
 25225  		trans = 'C'
 25226  	default:
 25227  		panic("lapack: bad trans")
 25228  	}
 25229  	var _a *float32
 25230  	if len(a) > 0 {
 25231  		_a = &a[0]
 25232  	}
 25233  	var _b *float32
 25234  	if len(b) > 0 {
 25235  		_b = &b[0]
 25236  	}
 25237  	var _c *float32
 25238  	if len(c) > 0 {
 25239  		_c = &c[0]
 25240  	}
 25241  	var _d *float32
 25242  	if len(d) > 0 {
 25243  		_d = &d[0]
 25244  	}
 25245  	var _e *float32
 25246  	if len(e) > 0 {
 25247  		_e = &e[0]
 25248  	}
 25249  	var _f *float32
 25250  	if len(f) > 0 {
 25251  		_f = &f[0]
 25252  	}
 25253  	var _scale *float32
 25254  	if len(scale) > 0 {
 25255  		_scale = &scale[0]
 25256  	}
 25257  	var _dif *float32
 25258  	if len(dif) > 0 {
 25259  		_dif = &dif[0]
 25260  	}
 25261  	var _work *float32
 25262  	if len(work) > 0 {
 25263  		_work = &work[0]
 25264  	}
 25265  	var _iwork *int32
 25266  	if len(iwork) > 0 {
 25267  		_iwork = &iwork[0]
 25268  	}
 25269  	return isZero(C.LAPACKE_stgsyl_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(ijob), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_d), (C.lapack_int)(ldd), (*C.float)(_e), (C.lapack_int)(lde), (*C.float)(_f), (C.lapack_int)(ldf), (*C.float)(_scale), (*C.float)(_dif), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 25270  }
 25271  
 25272  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtgsyl.f.
 25273  func Dtgsyl(trans blas.Transpose, ijob lapack.Job, m, n int, a []float64, lda int, b []float64, ldb int, c []float64, ldc int, d []float64, ldd int, e []float64, lde int, f []float64, ldf int, scale, dif, work []float64, lwork int, iwork []int32) bool {
 25274  	switch trans {
 25275  	case blas.NoTrans:
 25276  		trans = 'N'
 25277  	case blas.Trans:
 25278  		trans = 'T'
 25279  	case blas.ConjTrans:
 25280  		trans = 'C'
 25281  	default:
 25282  		panic("lapack: bad trans")
 25283  	}
 25284  	var _a *float64
 25285  	if len(a) > 0 {
 25286  		_a = &a[0]
 25287  	}
 25288  	var _b *float64
 25289  	if len(b) > 0 {
 25290  		_b = &b[0]
 25291  	}
 25292  	var _c *float64
 25293  	if len(c) > 0 {
 25294  		_c = &c[0]
 25295  	}
 25296  	var _d *float64
 25297  	if len(d) > 0 {
 25298  		_d = &d[0]
 25299  	}
 25300  	var _e *float64
 25301  	if len(e) > 0 {
 25302  		_e = &e[0]
 25303  	}
 25304  	var _f *float64
 25305  	if len(f) > 0 {
 25306  		_f = &f[0]
 25307  	}
 25308  	var _scale *float64
 25309  	if len(scale) > 0 {
 25310  		_scale = &scale[0]
 25311  	}
 25312  	var _dif *float64
 25313  	if len(dif) > 0 {
 25314  		_dif = &dif[0]
 25315  	}
 25316  	var _work *float64
 25317  	if len(work) > 0 {
 25318  		_work = &work[0]
 25319  	}
 25320  	var _iwork *int32
 25321  	if len(iwork) > 0 {
 25322  		_iwork = &iwork[0]
 25323  	}
 25324  	return isZero(C.LAPACKE_dtgsyl_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(ijob), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_d), (C.lapack_int)(ldd), (*C.double)(_e), (C.lapack_int)(lde), (*C.double)(_f), (C.lapack_int)(ldf), (*C.double)(_scale), (*C.double)(_dif), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 25325  }
 25326  
 25327  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctgsyl.f.
 25328  func Ctgsyl(trans blas.Transpose, ijob lapack.Job, m, n int, a []complex64, lda int, b []complex64, ldb int, c []complex64, ldc int, d []complex64, ldd int, e []complex64, lde int, f []complex64, ldf int, scale, dif []float32, work []complex64, lwork int, iwork []int32) bool {
 25329  	switch trans {
 25330  	case blas.NoTrans:
 25331  		trans = 'N'
 25332  	case blas.Trans:
 25333  		trans = 'T'
 25334  	case blas.ConjTrans:
 25335  		trans = 'C'
 25336  	default:
 25337  		panic("lapack: bad trans")
 25338  	}
 25339  	var _a *complex64
 25340  	if len(a) > 0 {
 25341  		_a = &a[0]
 25342  	}
 25343  	var _b *complex64
 25344  	if len(b) > 0 {
 25345  		_b = &b[0]
 25346  	}
 25347  	var _c *complex64
 25348  	if len(c) > 0 {
 25349  		_c = &c[0]
 25350  	}
 25351  	var _d *complex64
 25352  	if len(d) > 0 {
 25353  		_d = &d[0]
 25354  	}
 25355  	var _e *complex64
 25356  	if len(e) > 0 {
 25357  		_e = &e[0]
 25358  	}
 25359  	var _f *complex64
 25360  	if len(f) > 0 {
 25361  		_f = &f[0]
 25362  	}
 25363  	var _scale *float32
 25364  	if len(scale) > 0 {
 25365  		_scale = &scale[0]
 25366  	}
 25367  	var _dif *float32
 25368  	if len(dif) > 0 {
 25369  		_dif = &dif[0]
 25370  	}
 25371  	var _work *complex64
 25372  	if len(work) > 0 {
 25373  		_work = &work[0]
 25374  	}
 25375  	var _iwork *int32
 25376  	if len(iwork) > 0 {
 25377  		_iwork = &iwork[0]
 25378  	}
 25379  	return isZero(C.LAPACKE_ctgsyl_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(ijob), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_d), (C.lapack_int)(ldd), (*C.lapack_complex_float)(_e), (C.lapack_int)(lde), (*C.lapack_complex_float)(_f), (C.lapack_int)(ldf), (*C.float)(_scale), (*C.float)(_dif), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 25380  }
 25381  
 25382  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztgsyl.f.
 25383  func Ztgsyl(trans blas.Transpose, ijob lapack.Job, m, n int, a []complex128, lda int, b []complex128, ldb int, c []complex128, ldc int, d []complex128, ldd int, e []complex128, lde int, f []complex128, ldf int, scale, dif []float64, work []complex128, lwork int, iwork []int32) bool {
 25384  	switch trans {
 25385  	case blas.NoTrans:
 25386  		trans = 'N'
 25387  	case blas.Trans:
 25388  		trans = 'T'
 25389  	case blas.ConjTrans:
 25390  		trans = 'C'
 25391  	default:
 25392  		panic("lapack: bad trans")
 25393  	}
 25394  	var _a *complex128
 25395  	if len(a) > 0 {
 25396  		_a = &a[0]
 25397  	}
 25398  	var _b *complex128
 25399  	if len(b) > 0 {
 25400  		_b = &b[0]
 25401  	}
 25402  	var _c *complex128
 25403  	if len(c) > 0 {
 25404  		_c = &c[0]
 25405  	}
 25406  	var _d *complex128
 25407  	if len(d) > 0 {
 25408  		_d = &d[0]
 25409  	}
 25410  	var _e *complex128
 25411  	if len(e) > 0 {
 25412  		_e = &e[0]
 25413  	}
 25414  	var _f *complex128
 25415  	if len(f) > 0 {
 25416  		_f = &f[0]
 25417  	}
 25418  	var _scale *float64
 25419  	if len(scale) > 0 {
 25420  		_scale = &scale[0]
 25421  	}
 25422  	var _dif *float64
 25423  	if len(dif) > 0 {
 25424  		_dif = &dif[0]
 25425  	}
 25426  	var _work *complex128
 25427  	if len(work) > 0 {
 25428  		_work = &work[0]
 25429  	}
 25430  	var _iwork *int32
 25431  	if len(iwork) > 0 {
 25432  		_iwork = &iwork[0]
 25433  	}
 25434  	return isZero(C.LAPACKE_ztgsyl_work((C.int)(rowMajor), (C.char)(trans), (C.lapack_int)(ijob), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_d), (C.lapack_int)(ldd), (*C.lapack_complex_double)(_e), (C.lapack_int)(lde), (*C.lapack_complex_double)(_f), (C.lapack_int)(ldf), (*C.double)(_scale), (*C.double)(_dif), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 25435  }
 25436  
 25437  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stpcon.f.
 25438  func Stpcon(norm byte, ul blas.Uplo, d blas.Diag, n int, ap, rcond, work []float32, iwork []int32) bool {
 25439  	switch ul {
 25440  	case blas.Upper:
 25441  		ul = 'U'
 25442  	case blas.Lower:
 25443  		ul = 'L'
 25444  	default:
 25445  		panic("lapack: illegal triangle")
 25446  	}
 25447  	switch d {
 25448  	case blas.Unit:
 25449  		d = 'U'
 25450  	case blas.NonUnit:
 25451  		d = 'N'
 25452  	default:
 25453  		panic("lapack: illegal diagonal")
 25454  	}
 25455  	var _ap *float32
 25456  	if len(ap) > 0 {
 25457  		_ap = &ap[0]
 25458  	}
 25459  	var _rcond *float32
 25460  	if len(rcond) > 0 {
 25461  		_rcond = &rcond[0]
 25462  	}
 25463  	var _work *float32
 25464  	if len(work) > 0 {
 25465  		_work = &work[0]
 25466  	}
 25467  	var _iwork *int32
 25468  	if len(iwork) > 0 {
 25469  		_iwork = &iwork[0]
 25470  	}
 25471  	return isZero(C.LAPACKE_stpcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 25472  }
 25473  
 25474  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtpcon.f.
 25475  func Dtpcon(norm byte, ul blas.Uplo, d blas.Diag, n int, ap, rcond, work []float64, iwork []int32) bool {
 25476  	switch ul {
 25477  	case blas.Upper:
 25478  		ul = 'U'
 25479  	case blas.Lower:
 25480  		ul = 'L'
 25481  	default:
 25482  		panic("lapack: illegal triangle")
 25483  	}
 25484  	switch d {
 25485  	case blas.Unit:
 25486  		d = 'U'
 25487  	case blas.NonUnit:
 25488  		d = 'N'
 25489  	default:
 25490  		panic("lapack: illegal diagonal")
 25491  	}
 25492  	var _ap *float64
 25493  	if len(ap) > 0 {
 25494  		_ap = &ap[0]
 25495  	}
 25496  	var _rcond *float64
 25497  	if len(rcond) > 0 {
 25498  		_rcond = &rcond[0]
 25499  	}
 25500  	var _work *float64
 25501  	if len(work) > 0 {
 25502  		_work = &work[0]
 25503  	}
 25504  	var _iwork *int32
 25505  	if len(iwork) > 0 {
 25506  		_iwork = &iwork[0]
 25507  	}
 25508  	return isZero(C.LAPACKE_dtpcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 25509  }
 25510  
 25511  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctpcon.f.
 25512  func Ctpcon(norm byte, ul blas.Uplo, d blas.Diag, n int, ap []complex64, rcond []float32, work []complex64, rwork []float32) bool {
 25513  	switch ul {
 25514  	case blas.Upper:
 25515  		ul = 'U'
 25516  	case blas.Lower:
 25517  		ul = 'L'
 25518  	default:
 25519  		panic("lapack: illegal triangle")
 25520  	}
 25521  	switch d {
 25522  	case blas.Unit:
 25523  		d = 'U'
 25524  	case blas.NonUnit:
 25525  		d = 'N'
 25526  	default:
 25527  		panic("lapack: illegal diagonal")
 25528  	}
 25529  	var _ap *complex64
 25530  	if len(ap) > 0 {
 25531  		_ap = &ap[0]
 25532  	}
 25533  	var _rcond *float32
 25534  	if len(rcond) > 0 {
 25535  		_rcond = &rcond[0]
 25536  	}
 25537  	var _work *complex64
 25538  	if len(work) > 0 {
 25539  		_work = &work[0]
 25540  	}
 25541  	var _rwork *float32
 25542  	if len(rwork) > 0 {
 25543  		_rwork = &rwork[0]
 25544  	}
 25545  	return isZero(C.LAPACKE_ctpcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.float)(_rcond), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 25546  }
 25547  
 25548  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztpcon.f.
 25549  func Ztpcon(norm byte, ul blas.Uplo, d blas.Diag, n int, ap []complex128, rcond []float64, work []complex128, rwork []float64) bool {
 25550  	switch ul {
 25551  	case blas.Upper:
 25552  		ul = 'U'
 25553  	case blas.Lower:
 25554  		ul = 'L'
 25555  	default:
 25556  		panic("lapack: illegal triangle")
 25557  	}
 25558  	switch d {
 25559  	case blas.Unit:
 25560  		d = 'U'
 25561  	case blas.NonUnit:
 25562  		d = 'N'
 25563  	default:
 25564  		panic("lapack: illegal diagonal")
 25565  	}
 25566  	var _ap *complex128
 25567  	if len(ap) > 0 {
 25568  		_ap = &ap[0]
 25569  	}
 25570  	var _rcond *float64
 25571  	if len(rcond) > 0 {
 25572  		_rcond = &rcond[0]
 25573  	}
 25574  	var _work *complex128
 25575  	if len(work) > 0 {
 25576  		_work = &work[0]
 25577  	}
 25578  	var _rwork *float64
 25579  	if len(rwork) > 0 {
 25580  		_rwork = &rwork[0]
 25581  	}
 25582  	return isZero(C.LAPACKE_ztpcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.double)(_rcond), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 25583  }
 25584  
 25585  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stprfs.f.
 25586  func Stprfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, ap, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
 25587  	switch ul {
 25588  	case blas.Upper:
 25589  		ul = 'U'
 25590  	case blas.Lower:
 25591  		ul = 'L'
 25592  	default:
 25593  		panic("lapack: illegal triangle")
 25594  	}
 25595  	switch trans {
 25596  	case blas.NoTrans:
 25597  		trans = 'N'
 25598  	case blas.Trans:
 25599  		trans = 'T'
 25600  	case blas.ConjTrans:
 25601  		trans = 'C'
 25602  	default:
 25603  		panic("lapack: bad trans")
 25604  	}
 25605  	switch d {
 25606  	case blas.Unit:
 25607  		d = 'U'
 25608  	case blas.NonUnit:
 25609  		d = 'N'
 25610  	default:
 25611  		panic("lapack: illegal diagonal")
 25612  	}
 25613  	var _ap *float32
 25614  	if len(ap) > 0 {
 25615  		_ap = &ap[0]
 25616  	}
 25617  	var _b *float32
 25618  	if len(b) > 0 {
 25619  		_b = &b[0]
 25620  	}
 25621  	var _x *float32
 25622  	if len(x) > 0 {
 25623  		_x = &x[0]
 25624  	}
 25625  	var _ferr *float32
 25626  	if len(ferr) > 0 {
 25627  		_ferr = &ferr[0]
 25628  	}
 25629  	var _berr *float32
 25630  	if len(berr) > 0 {
 25631  		_berr = &berr[0]
 25632  	}
 25633  	var _work *float32
 25634  	if len(work) > 0 {
 25635  		_work = &work[0]
 25636  	}
 25637  	var _iwork *int32
 25638  	if len(iwork) > 0 {
 25639  		_iwork = &iwork[0]
 25640  	}
 25641  	return isZero(C.LAPACKE_stprfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 25642  }
 25643  
 25644  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtprfs.f.
 25645  func Dtprfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, ap, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
 25646  	switch ul {
 25647  	case blas.Upper:
 25648  		ul = 'U'
 25649  	case blas.Lower:
 25650  		ul = 'L'
 25651  	default:
 25652  		panic("lapack: illegal triangle")
 25653  	}
 25654  	switch trans {
 25655  	case blas.NoTrans:
 25656  		trans = 'N'
 25657  	case blas.Trans:
 25658  		trans = 'T'
 25659  	case blas.ConjTrans:
 25660  		trans = 'C'
 25661  	default:
 25662  		panic("lapack: bad trans")
 25663  	}
 25664  	switch d {
 25665  	case blas.Unit:
 25666  		d = 'U'
 25667  	case blas.NonUnit:
 25668  		d = 'N'
 25669  	default:
 25670  		panic("lapack: illegal diagonal")
 25671  	}
 25672  	var _ap *float64
 25673  	if len(ap) > 0 {
 25674  		_ap = &ap[0]
 25675  	}
 25676  	var _b *float64
 25677  	if len(b) > 0 {
 25678  		_b = &b[0]
 25679  	}
 25680  	var _x *float64
 25681  	if len(x) > 0 {
 25682  		_x = &x[0]
 25683  	}
 25684  	var _ferr *float64
 25685  	if len(ferr) > 0 {
 25686  		_ferr = &ferr[0]
 25687  	}
 25688  	var _berr *float64
 25689  	if len(berr) > 0 {
 25690  		_berr = &berr[0]
 25691  	}
 25692  	var _work *float64
 25693  	if len(work) > 0 {
 25694  		_work = &work[0]
 25695  	}
 25696  	var _iwork *int32
 25697  	if len(iwork) > 0 {
 25698  		_iwork = &iwork[0]
 25699  	}
 25700  	return isZero(C.LAPACKE_dtprfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 25701  }
 25702  
 25703  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctprfs.f.
 25704  func Ctprfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, ap, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 25705  	switch ul {
 25706  	case blas.Upper:
 25707  		ul = 'U'
 25708  	case blas.Lower:
 25709  		ul = 'L'
 25710  	default:
 25711  		panic("lapack: illegal triangle")
 25712  	}
 25713  	switch trans {
 25714  	case blas.NoTrans:
 25715  		trans = 'N'
 25716  	case blas.Trans:
 25717  		trans = 'T'
 25718  	case blas.ConjTrans:
 25719  		trans = 'C'
 25720  	default:
 25721  		panic("lapack: bad trans")
 25722  	}
 25723  	switch d {
 25724  	case blas.Unit:
 25725  		d = 'U'
 25726  	case blas.NonUnit:
 25727  		d = 'N'
 25728  	default:
 25729  		panic("lapack: illegal diagonal")
 25730  	}
 25731  	var _ap *complex64
 25732  	if len(ap) > 0 {
 25733  		_ap = &ap[0]
 25734  	}
 25735  	var _b *complex64
 25736  	if len(b) > 0 {
 25737  		_b = &b[0]
 25738  	}
 25739  	var _x *complex64
 25740  	if len(x) > 0 {
 25741  		_x = &x[0]
 25742  	}
 25743  	var _ferr *float32
 25744  	if len(ferr) > 0 {
 25745  		_ferr = &ferr[0]
 25746  	}
 25747  	var _berr *float32
 25748  	if len(berr) > 0 {
 25749  		_berr = &berr[0]
 25750  	}
 25751  	var _work *complex64
 25752  	if len(work) > 0 {
 25753  		_work = &work[0]
 25754  	}
 25755  	var _rwork *float32
 25756  	if len(rwork) > 0 {
 25757  		_rwork = &rwork[0]
 25758  	}
 25759  	return isZero(C.LAPACKE_ctprfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 25760  }
 25761  
 25762  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztprfs.f.
 25763  func Ztprfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, ap, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 25764  	switch ul {
 25765  	case blas.Upper:
 25766  		ul = 'U'
 25767  	case blas.Lower:
 25768  		ul = 'L'
 25769  	default:
 25770  		panic("lapack: illegal triangle")
 25771  	}
 25772  	switch trans {
 25773  	case blas.NoTrans:
 25774  		trans = 'N'
 25775  	case blas.Trans:
 25776  		trans = 'T'
 25777  	case blas.ConjTrans:
 25778  		trans = 'C'
 25779  	default:
 25780  		panic("lapack: bad trans")
 25781  	}
 25782  	switch d {
 25783  	case blas.Unit:
 25784  		d = 'U'
 25785  	case blas.NonUnit:
 25786  		d = 'N'
 25787  	default:
 25788  		panic("lapack: illegal diagonal")
 25789  	}
 25790  	var _ap *complex128
 25791  	if len(ap) > 0 {
 25792  		_ap = &ap[0]
 25793  	}
 25794  	var _b *complex128
 25795  	if len(b) > 0 {
 25796  		_b = &b[0]
 25797  	}
 25798  	var _x *complex128
 25799  	if len(x) > 0 {
 25800  		_x = &x[0]
 25801  	}
 25802  	var _ferr *float64
 25803  	if len(ferr) > 0 {
 25804  		_ferr = &ferr[0]
 25805  	}
 25806  	var _berr *float64
 25807  	if len(berr) > 0 {
 25808  		_berr = &berr[0]
 25809  	}
 25810  	var _work *complex128
 25811  	if len(work) > 0 {
 25812  		_work = &work[0]
 25813  	}
 25814  	var _rwork *float64
 25815  	if len(rwork) > 0 {
 25816  		_rwork = &rwork[0]
 25817  	}
 25818  	return isZero(C.LAPACKE_ztprfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 25819  }
 25820  
 25821  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stptri.f.
 25822  func Stptri(ul blas.Uplo, d blas.Diag, n int, ap []float32) bool {
 25823  	switch ul {
 25824  	case blas.Upper:
 25825  		ul = 'U'
 25826  	case blas.Lower:
 25827  		ul = 'L'
 25828  	default:
 25829  		panic("lapack: illegal triangle")
 25830  	}
 25831  	switch d {
 25832  	case blas.Unit:
 25833  		d = 'U'
 25834  	case blas.NonUnit:
 25835  		d = 'N'
 25836  	default:
 25837  		panic("lapack: illegal diagonal")
 25838  	}
 25839  	var _ap *float32
 25840  	if len(ap) > 0 {
 25841  		_ap = &ap[0]
 25842  	}
 25843  	return isZero(C.LAPACKE_stptri_work((C.int)(rowMajor), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.float)(_ap)))
 25844  }
 25845  
 25846  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtptri.f.
 25847  func Dtptri(ul blas.Uplo, d blas.Diag, n int, ap []float64) bool {
 25848  	switch ul {
 25849  	case blas.Upper:
 25850  		ul = 'U'
 25851  	case blas.Lower:
 25852  		ul = 'L'
 25853  	default:
 25854  		panic("lapack: illegal triangle")
 25855  	}
 25856  	switch d {
 25857  	case blas.Unit:
 25858  		d = 'U'
 25859  	case blas.NonUnit:
 25860  		d = 'N'
 25861  	default:
 25862  		panic("lapack: illegal diagonal")
 25863  	}
 25864  	var _ap *float64
 25865  	if len(ap) > 0 {
 25866  		_ap = &ap[0]
 25867  	}
 25868  	return isZero(C.LAPACKE_dtptri_work((C.int)(rowMajor), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.double)(_ap)))
 25869  }
 25870  
 25871  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctptri.f.
 25872  func Ctptri(ul blas.Uplo, d blas.Diag, n int, ap []complex64) bool {
 25873  	switch ul {
 25874  	case blas.Upper:
 25875  		ul = 'U'
 25876  	case blas.Lower:
 25877  		ul = 'L'
 25878  	default:
 25879  		panic("lapack: illegal triangle")
 25880  	}
 25881  	switch d {
 25882  	case blas.Unit:
 25883  		d = 'U'
 25884  	case blas.NonUnit:
 25885  		d = 'N'
 25886  	default:
 25887  		panic("lapack: illegal diagonal")
 25888  	}
 25889  	var _ap *complex64
 25890  	if len(ap) > 0 {
 25891  		_ap = &ap[0]
 25892  	}
 25893  	return isZero(C.LAPACKE_ctptri_work((C.int)(rowMajor), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap)))
 25894  }
 25895  
 25896  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztptri.f.
 25897  func Ztptri(ul blas.Uplo, d blas.Diag, n int, ap []complex128) bool {
 25898  	switch ul {
 25899  	case blas.Upper:
 25900  		ul = 'U'
 25901  	case blas.Lower:
 25902  		ul = 'L'
 25903  	default:
 25904  		panic("lapack: illegal triangle")
 25905  	}
 25906  	switch d {
 25907  	case blas.Unit:
 25908  		d = 'U'
 25909  	case blas.NonUnit:
 25910  		d = 'N'
 25911  	default:
 25912  		panic("lapack: illegal diagonal")
 25913  	}
 25914  	var _ap *complex128
 25915  	if len(ap) > 0 {
 25916  		_ap = &ap[0]
 25917  	}
 25918  	return isZero(C.LAPACKE_ztptri_work((C.int)(rowMajor), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap)))
 25919  }
 25920  
 25921  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stptrs.f.
 25922  func Stptrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, ap, b []float32, ldb int) bool {
 25923  	switch ul {
 25924  	case blas.Upper:
 25925  		ul = 'U'
 25926  	case blas.Lower:
 25927  		ul = 'L'
 25928  	default:
 25929  		panic("lapack: illegal triangle")
 25930  	}
 25931  	switch trans {
 25932  	case blas.NoTrans:
 25933  		trans = 'N'
 25934  	case blas.Trans:
 25935  		trans = 'T'
 25936  	case blas.ConjTrans:
 25937  		trans = 'C'
 25938  	default:
 25939  		panic("lapack: bad trans")
 25940  	}
 25941  	switch d {
 25942  	case blas.Unit:
 25943  		d = 'U'
 25944  	case blas.NonUnit:
 25945  		d = 'N'
 25946  	default:
 25947  		panic("lapack: illegal diagonal")
 25948  	}
 25949  	var _ap *float32
 25950  	if len(ap) > 0 {
 25951  		_ap = &ap[0]
 25952  	}
 25953  	var _b *float32
 25954  	if len(b) > 0 {
 25955  		_b = &b[0]
 25956  	}
 25957  	return isZero(C.LAPACKE_stptrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_ap), (*C.float)(_b), (C.lapack_int)(ldb)))
 25958  }
 25959  
 25960  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtptrs.f.
 25961  func Dtptrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, ap, b []float64, ldb int) bool {
 25962  	switch ul {
 25963  	case blas.Upper:
 25964  		ul = 'U'
 25965  	case blas.Lower:
 25966  		ul = 'L'
 25967  	default:
 25968  		panic("lapack: illegal triangle")
 25969  	}
 25970  	switch trans {
 25971  	case blas.NoTrans:
 25972  		trans = 'N'
 25973  	case blas.Trans:
 25974  		trans = 'T'
 25975  	case blas.ConjTrans:
 25976  		trans = 'C'
 25977  	default:
 25978  		panic("lapack: bad trans")
 25979  	}
 25980  	switch d {
 25981  	case blas.Unit:
 25982  		d = 'U'
 25983  	case blas.NonUnit:
 25984  		d = 'N'
 25985  	default:
 25986  		panic("lapack: illegal diagonal")
 25987  	}
 25988  	var _ap *float64
 25989  	if len(ap) > 0 {
 25990  		_ap = &ap[0]
 25991  	}
 25992  	var _b *float64
 25993  	if len(b) > 0 {
 25994  		_b = &b[0]
 25995  	}
 25996  	return isZero(C.LAPACKE_dtptrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_ap), (*C.double)(_b), (C.lapack_int)(ldb)))
 25997  }
 25998  
 25999  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctptrs.f.
 26000  func Ctptrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, ap, b []complex64, ldb int) bool {
 26001  	switch ul {
 26002  	case blas.Upper:
 26003  		ul = 'U'
 26004  	case blas.Lower:
 26005  		ul = 'L'
 26006  	default:
 26007  		panic("lapack: illegal triangle")
 26008  	}
 26009  	switch trans {
 26010  	case blas.NoTrans:
 26011  		trans = 'N'
 26012  	case blas.Trans:
 26013  		trans = 'T'
 26014  	case blas.ConjTrans:
 26015  		trans = 'C'
 26016  	default:
 26017  		panic("lapack: bad trans")
 26018  	}
 26019  	switch d {
 26020  	case blas.Unit:
 26021  		d = 'U'
 26022  	case blas.NonUnit:
 26023  		d = 'N'
 26024  	default:
 26025  		panic("lapack: illegal diagonal")
 26026  	}
 26027  	var _ap *complex64
 26028  	if len(ap) > 0 {
 26029  		_ap = &ap[0]
 26030  	}
 26031  	var _b *complex64
 26032  	if len(b) > 0 {
 26033  		_b = &b[0]
 26034  	}
 26035  	return isZero(C.LAPACKE_ctptrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 26036  }
 26037  
 26038  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztptrs.f.
 26039  func Ztptrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, ap, b []complex128, ldb int) bool {
 26040  	switch ul {
 26041  	case blas.Upper:
 26042  		ul = 'U'
 26043  	case blas.Lower:
 26044  		ul = 'L'
 26045  	default:
 26046  		panic("lapack: illegal triangle")
 26047  	}
 26048  	switch trans {
 26049  	case blas.NoTrans:
 26050  		trans = 'N'
 26051  	case blas.Trans:
 26052  		trans = 'T'
 26053  	case blas.ConjTrans:
 26054  		trans = 'C'
 26055  	default:
 26056  		panic("lapack: bad trans")
 26057  	}
 26058  	switch d {
 26059  	case blas.Unit:
 26060  		d = 'U'
 26061  	case blas.NonUnit:
 26062  		d = 'N'
 26063  	default:
 26064  		panic("lapack: illegal diagonal")
 26065  	}
 26066  	var _ap *complex128
 26067  	if len(ap) > 0 {
 26068  		_ap = &ap[0]
 26069  	}
 26070  	var _b *complex128
 26071  	if len(b) > 0 {
 26072  		_b = &b[0]
 26073  	}
 26074  	return isZero(C.LAPACKE_ztptrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 26075  }
 26076  
 26077  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stpttf.f.
 26078  func Stpttf(transr blas.Transpose, ul blas.Uplo, n int, ap, arf []float32) bool {
 26079  	switch transr {
 26080  	case blas.NoTrans:
 26081  		transr = 'N'
 26082  	case blas.Trans:
 26083  		transr = 'T'
 26084  	case blas.ConjTrans:
 26085  		transr = 'C'
 26086  	default:
 26087  		panic("lapack: bad trans")
 26088  	}
 26089  	switch ul {
 26090  	case blas.Upper:
 26091  		ul = 'U'
 26092  	case blas.Lower:
 26093  		ul = 'L'
 26094  	default:
 26095  		panic("lapack: illegal triangle")
 26096  	}
 26097  	var _ap *float32
 26098  	if len(ap) > 0 {
 26099  		_ap = &ap[0]
 26100  	}
 26101  	var _arf *float32
 26102  	if len(arf) > 0 {
 26103  		_arf = &arf[0]
 26104  	}
 26105  	return isZero(C.LAPACKE_stpttf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_arf)))
 26106  }
 26107  
 26108  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtpttf.f.
 26109  func Dtpttf(transr blas.Transpose, ul blas.Uplo, n int, ap, arf []float64) bool {
 26110  	switch transr {
 26111  	case blas.NoTrans:
 26112  		transr = 'N'
 26113  	case blas.Trans:
 26114  		transr = 'T'
 26115  	case blas.ConjTrans:
 26116  		transr = 'C'
 26117  	default:
 26118  		panic("lapack: bad trans")
 26119  	}
 26120  	switch ul {
 26121  	case blas.Upper:
 26122  		ul = 'U'
 26123  	case blas.Lower:
 26124  		ul = 'L'
 26125  	default:
 26126  		panic("lapack: illegal triangle")
 26127  	}
 26128  	var _ap *float64
 26129  	if len(ap) > 0 {
 26130  		_ap = &ap[0]
 26131  	}
 26132  	var _arf *float64
 26133  	if len(arf) > 0 {
 26134  		_arf = &arf[0]
 26135  	}
 26136  	return isZero(C.LAPACKE_dtpttf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_arf)))
 26137  }
 26138  
 26139  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctpttf.f.
 26140  func Ctpttf(transr blas.Transpose, ul blas.Uplo, n int, ap, arf []complex64) bool {
 26141  	switch transr {
 26142  	case blas.NoTrans:
 26143  		transr = 'N'
 26144  	case blas.Trans:
 26145  		transr = 'T'
 26146  	case blas.ConjTrans:
 26147  		transr = 'C'
 26148  	default:
 26149  		panic("lapack: bad trans")
 26150  	}
 26151  	switch ul {
 26152  	case blas.Upper:
 26153  		ul = 'U'
 26154  	case blas.Lower:
 26155  		ul = 'L'
 26156  	default:
 26157  		panic("lapack: illegal triangle")
 26158  	}
 26159  	var _ap *complex64
 26160  	if len(ap) > 0 {
 26161  		_ap = &ap[0]
 26162  	}
 26163  	var _arf *complex64
 26164  	if len(arf) > 0 {
 26165  		_arf = &arf[0]
 26166  	}
 26167  	return isZero(C.LAPACKE_ctpttf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_arf)))
 26168  }
 26169  
 26170  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztpttf.f.
 26171  func Ztpttf(transr blas.Transpose, ul blas.Uplo, n int, ap, arf []complex128) bool {
 26172  	switch transr {
 26173  	case blas.NoTrans:
 26174  		transr = 'N'
 26175  	case blas.Trans:
 26176  		transr = 'T'
 26177  	case blas.ConjTrans:
 26178  		transr = 'C'
 26179  	default:
 26180  		panic("lapack: bad trans")
 26181  	}
 26182  	switch ul {
 26183  	case blas.Upper:
 26184  		ul = 'U'
 26185  	case blas.Lower:
 26186  		ul = 'L'
 26187  	default:
 26188  		panic("lapack: illegal triangle")
 26189  	}
 26190  	var _ap *complex128
 26191  	if len(ap) > 0 {
 26192  		_ap = &ap[0]
 26193  	}
 26194  	var _arf *complex128
 26195  	if len(arf) > 0 {
 26196  		_arf = &arf[0]
 26197  	}
 26198  	return isZero(C.LAPACKE_ztpttf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_arf)))
 26199  }
 26200  
 26201  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stpttr.f.
 26202  func Stpttr(ul blas.Uplo, n int, ap, a []float32, lda int) bool {
 26203  	switch ul {
 26204  	case blas.Upper:
 26205  		ul = 'U'
 26206  	case blas.Lower:
 26207  		ul = 'L'
 26208  	default:
 26209  		panic("lapack: illegal triangle")
 26210  	}
 26211  	var _ap *float32
 26212  	if len(ap) > 0 {
 26213  		_ap = &ap[0]
 26214  	}
 26215  	var _a *float32
 26216  	if len(a) > 0 {
 26217  		_a = &a[0]
 26218  	}
 26219  	return isZero(C.LAPACKE_stpttr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_ap), (*C.float)(_a), (C.lapack_int)(lda)))
 26220  }
 26221  
 26222  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtpttr.f.
 26223  func Dtpttr(ul blas.Uplo, n int, ap, a []float64, lda int) bool {
 26224  	switch ul {
 26225  	case blas.Upper:
 26226  		ul = 'U'
 26227  	case blas.Lower:
 26228  		ul = 'L'
 26229  	default:
 26230  		panic("lapack: illegal triangle")
 26231  	}
 26232  	var _ap *float64
 26233  	if len(ap) > 0 {
 26234  		_ap = &ap[0]
 26235  	}
 26236  	var _a *float64
 26237  	if len(a) > 0 {
 26238  		_a = &a[0]
 26239  	}
 26240  	return isZero(C.LAPACKE_dtpttr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_ap), (*C.double)(_a), (C.lapack_int)(lda)))
 26241  }
 26242  
 26243  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctpttr.f.
 26244  func Ctpttr(ul blas.Uplo, n int, ap, a []complex64, lda int) bool {
 26245  	switch ul {
 26246  	case blas.Upper:
 26247  		ul = 'U'
 26248  	case blas.Lower:
 26249  		ul = 'L'
 26250  	default:
 26251  		panic("lapack: illegal triangle")
 26252  	}
 26253  	var _ap *complex64
 26254  	if len(ap) > 0 {
 26255  		_ap = &ap[0]
 26256  	}
 26257  	var _a *complex64
 26258  	if len(a) > 0 {
 26259  		_a = &a[0]
 26260  	}
 26261  	return isZero(C.LAPACKE_ctpttr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 26262  }
 26263  
 26264  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztpttr.f.
 26265  func Ztpttr(ul blas.Uplo, n int, ap, a []complex128, lda int) bool {
 26266  	switch ul {
 26267  	case blas.Upper:
 26268  		ul = 'U'
 26269  	case blas.Lower:
 26270  		ul = 'L'
 26271  	default:
 26272  		panic("lapack: illegal triangle")
 26273  	}
 26274  	var _ap *complex128
 26275  	if len(ap) > 0 {
 26276  		_ap = &ap[0]
 26277  	}
 26278  	var _a *complex128
 26279  	if len(a) > 0 {
 26280  		_a = &a[0]
 26281  	}
 26282  	return isZero(C.LAPACKE_ztpttr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 26283  }
 26284  
 26285  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strcon.f.
 26286  func Strcon(norm byte, ul blas.Uplo, d blas.Diag, n int, a []float32, lda int, rcond, work []float32, iwork []int32) bool {
 26287  	switch ul {
 26288  	case blas.Upper:
 26289  		ul = 'U'
 26290  	case blas.Lower:
 26291  		ul = 'L'
 26292  	default:
 26293  		panic("lapack: illegal triangle")
 26294  	}
 26295  	switch d {
 26296  	case blas.Unit:
 26297  		d = 'U'
 26298  	case blas.NonUnit:
 26299  		d = 'N'
 26300  	default:
 26301  		panic("lapack: illegal diagonal")
 26302  	}
 26303  	var _a *float32
 26304  	if len(a) > 0 {
 26305  		_a = &a[0]
 26306  	}
 26307  	var _rcond *float32
 26308  	if len(rcond) > 0 {
 26309  		_rcond = &rcond[0]
 26310  	}
 26311  	var _work *float32
 26312  	if len(work) > 0 {
 26313  		_work = &work[0]
 26314  	}
 26315  	var _iwork *int32
 26316  	if len(iwork) > 0 {
 26317  		_iwork = &iwork[0]
 26318  	}
 26319  	return isZero(C.LAPACKE_strcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_rcond), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 26320  }
 26321  
 26322  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrcon.f.
 26323  func Dtrcon(norm byte, ul blas.Uplo, d blas.Diag, n int, a []float64, lda int, rcond, work []float64, iwork []int32) bool {
 26324  	switch ul {
 26325  	case blas.Upper:
 26326  		ul = 'U'
 26327  	case blas.Lower:
 26328  		ul = 'L'
 26329  	default:
 26330  		panic("lapack: illegal triangle")
 26331  	}
 26332  	switch d {
 26333  	case blas.Unit:
 26334  		d = 'U'
 26335  	case blas.NonUnit:
 26336  		d = 'N'
 26337  	default:
 26338  		panic("lapack: illegal diagonal")
 26339  	}
 26340  	var _a *float64
 26341  	if len(a) > 0 {
 26342  		_a = &a[0]
 26343  	}
 26344  	var _rcond *float64
 26345  	if len(rcond) > 0 {
 26346  		_rcond = &rcond[0]
 26347  	}
 26348  	var _work *float64
 26349  	if len(work) > 0 {
 26350  		_work = &work[0]
 26351  	}
 26352  	var _iwork *int32
 26353  	if len(iwork) > 0 {
 26354  		_iwork = &iwork[0]
 26355  	}
 26356  	return isZero(C.LAPACKE_dtrcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_rcond), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 26357  }
 26358  
 26359  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrcon.f.
 26360  func Ctrcon(norm byte, ul blas.Uplo, d blas.Diag, n int, a []complex64, lda int, rcond []float32, work []complex64, rwork []float32) bool {
 26361  	switch ul {
 26362  	case blas.Upper:
 26363  		ul = 'U'
 26364  	case blas.Lower:
 26365  		ul = 'L'
 26366  	default:
 26367  		panic("lapack: illegal triangle")
 26368  	}
 26369  	switch d {
 26370  	case blas.Unit:
 26371  		d = 'U'
 26372  	case blas.NonUnit:
 26373  		d = 'N'
 26374  	default:
 26375  		panic("lapack: illegal diagonal")
 26376  	}
 26377  	var _a *complex64
 26378  	if len(a) > 0 {
 26379  		_a = &a[0]
 26380  	}
 26381  	var _rcond *float32
 26382  	if len(rcond) > 0 {
 26383  		_rcond = &rcond[0]
 26384  	}
 26385  	var _work *complex64
 26386  	if len(work) > 0 {
 26387  		_work = &work[0]
 26388  	}
 26389  	var _rwork *float32
 26390  	if len(rwork) > 0 {
 26391  		_rwork = &rwork[0]
 26392  	}
 26393  	return isZero(C.LAPACKE_ctrcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.float)(_rcond), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 26394  }
 26395  
 26396  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrcon.f.
 26397  func Ztrcon(norm byte, ul blas.Uplo, d blas.Diag, n int, a []complex128, lda int, rcond []float64, work []complex128, rwork []float64) bool {
 26398  	switch ul {
 26399  	case blas.Upper:
 26400  		ul = 'U'
 26401  	case blas.Lower:
 26402  		ul = 'L'
 26403  	default:
 26404  		panic("lapack: illegal triangle")
 26405  	}
 26406  	switch d {
 26407  	case blas.Unit:
 26408  		d = 'U'
 26409  	case blas.NonUnit:
 26410  		d = 'N'
 26411  	default:
 26412  		panic("lapack: illegal diagonal")
 26413  	}
 26414  	var _a *complex128
 26415  	if len(a) > 0 {
 26416  		_a = &a[0]
 26417  	}
 26418  	var _rcond *float64
 26419  	if len(rcond) > 0 {
 26420  		_rcond = &rcond[0]
 26421  	}
 26422  	var _work *complex128
 26423  	if len(work) > 0 {
 26424  		_work = &work[0]
 26425  	}
 26426  	var _rwork *float64
 26427  	if len(rwork) > 0 {
 26428  		_rwork = &rwork[0]
 26429  	}
 26430  	return isZero(C.LAPACKE_ztrcon_work((C.int)(rowMajor), (C.char)(norm), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.double)(_rcond), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 26431  }
 26432  
 26433  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strevc.f.
 26434  func Strevc(side blas.Side, howmny byte, sel []int32, n int, t []float32, ldt int, vl []float32, ldvl int, vr []float32, ldvr, mm int, m []int32, work []float32) bool {
 26435  	switch side {
 26436  	case blas.Left:
 26437  		side = 'L'
 26438  	case blas.Right:
 26439  		side = 'R'
 26440  	default:
 26441  		panic("lapack: bad side")
 26442  	}
 26443  	var _sel *int32
 26444  	if len(sel) > 0 {
 26445  		_sel = &sel[0]
 26446  	}
 26447  	var _t *float32
 26448  	if len(t) > 0 {
 26449  		_t = &t[0]
 26450  	}
 26451  	var _vl *float32
 26452  	if len(vl) > 0 {
 26453  		_vl = &vl[0]
 26454  	}
 26455  	var _vr *float32
 26456  	if len(vr) > 0 {
 26457  		_vr = &vr[0]
 26458  	}
 26459  	var _m *int32
 26460  	if len(m) > 0 {
 26461  		_m = &m[0]
 26462  	}
 26463  	var _work *float32
 26464  	if len(work) > 0 {
 26465  		_work = &work[0]
 26466  	}
 26467  	return isZero(C.LAPACKE_strevc_work((C.int)(rowMajor), (C.char)(side), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.float)(_work)))
 26468  }
 26469  
 26470  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrevc.f.
 26471  func Dtrevc(side blas.Side, howmny byte, sel []int32, n int, t []float64, ldt int, vl []float64, ldvl int, vr []float64, ldvr, mm int, m []int32, work []float64) bool {
 26472  	switch side {
 26473  	case blas.Left:
 26474  		side = 'L'
 26475  	case blas.Right:
 26476  		side = 'R'
 26477  	default:
 26478  		panic("lapack: bad side")
 26479  	}
 26480  	var _sel *int32
 26481  	if len(sel) > 0 {
 26482  		_sel = &sel[0]
 26483  	}
 26484  	var _t *float64
 26485  	if len(t) > 0 {
 26486  		_t = &t[0]
 26487  	}
 26488  	var _vl *float64
 26489  	if len(vl) > 0 {
 26490  		_vl = &vl[0]
 26491  	}
 26492  	var _vr *float64
 26493  	if len(vr) > 0 {
 26494  		_vr = &vr[0]
 26495  	}
 26496  	var _m *int32
 26497  	if len(m) > 0 {
 26498  		_m = &m[0]
 26499  	}
 26500  	var _work *float64
 26501  	if len(work) > 0 {
 26502  		_work = &work[0]
 26503  	}
 26504  	return isZero(C.LAPACKE_dtrevc_work((C.int)(rowMajor), (C.char)(side), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.double)(_work)))
 26505  }
 26506  
 26507  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrevc.f.
 26508  func Ctrevc(side blas.Side, howmny byte, sel []int32, n int, t []complex64, ldt int, vl []complex64, ldvl int, vr []complex64, ldvr, mm int, m []int32, work []complex64, rwork []float32) bool {
 26509  	switch side {
 26510  	case blas.Left:
 26511  		side = 'L'
 26512  	case blas.Right:
 26513  		side = 'R'
 26514  	default:
 26515  		panic("lapack: bad side")
 26516  	}
 26517  	var _sel *int32
 26518  	if len(sel) > 0 {
 26519  		_sel = &sel[0]
 26520  	}
 26521  	var _t *complex64
 26522  	if len(t) > 0 {
 26523  		_t = &t[0]
 26524  	}
 26525  	var _vl *complex64
 26526  	if len(vl) > 0 {
 26527  		_vl = &vl[0]
 26528  	}
 26529  	var _vr *complex64
 26530  	if len(vr) > 0 {
 26531  		_vr = &vr[0]
 26532  	}
 26533  	var _m *int32
 26534  	if len(m) > 0 {
 26535  		_m = &m[0]
 26536  	}
 26537  	var _work *complex64
 26538  	if len(work) > 0 {
 26539  		_work = &work[0]
 26540  	}
 26541  	var _rwork *float32
 26542  	if len(rwork) > 0 {
 26543  		_rwork = &rwork[0]
 26544  	}
 26545  	return isZero(C.LAPACKE_ctrevc_work((C.int)(rowMajor), (C.char)(side), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 26546  }
 26547  
 26548  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrevc.f.
 26549  func Ztrevc(side blas.Side, howmny byte, sel []int32, n int, t []complex128, ldt int, vl []complex128, ldvl int, vr []complex128, ldvr, mm int, m []int32, work []complex128, rwork []float64) bool {
 26550  	switch side {
 26551  	case blas.Left:
 26552  		side = 'L'
 26553  	case blas.Right:
 26554  		side = 'R'
 26555  	default:
 26556  		panic("lapack: bad side")
 26557  	}
 26558  	var _sel *int32
 26559  	if len(sel) > 0 {
 26560  		_sel = &sel[0]
 26561  	}
 26562  	var _t *complex128
 26563  	if len(t) > 0 {
 26564  		_t = &t[0]
 26565  	}
 26566  	var _vl *complex128
 26567  	if len(vl) > 0 {
 26568  		_vl = &vl[0]
 26569  	}
 26570  	var _vr *complex128
 26571  	if len(vr) > 0 {
 26572  		_vr = &vr[0]
 26573  	}
 26574  	var _m *int32
 26575  	if len(m) > 0 {
 26576  		_m = &m[0]
 26577  	}
 26578  	var _work *complex128
 26579  	if len(work) > 0 {
 26580  		_work = &work[0]
 26581  	}
 26582  	var _rwork *float64
 26583  	if len(rwork) > 0 {
 26584  		_rwork = &rwork[0]
 26585  	}
 26586  	return isZero(C.LAPACKE_ztrevc_work((C.int)(rowMajor), (C.char)(side), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 26587  }
 26588  
 26589  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strexc.f.
 26590  func Strexc(compq lapack.Comp, n int, t []float32, ldt int, q []float32, ldq int, ifst, ilst []int32, work []float32) bool {
 26591  	var _t *float32
 26592  	if len(t) > 0 {
 26593  		_t = &t[0]
 26594  	}
 26595  	var _q *float32
 26596  	if len(q) > 0 {
 26597  		_q = &q[0]
 26598  	}
 26599  	var _ifst *int32
 26600  	if len(ifst) > 0 {
 26601  		_ifst = &ifst[0]
 26602  	}
 26603  	var _ilst *int32
 26604  	if len(ilst) > 0 {
 26605  		_ilst = &ilst[0]
 26606  	}
 26607  	var _work *float32
 26608  	if len(work) > 0 {
 26609  		_work = &work[0]
 26610  	}
 26611  	return isZero(C.LAPACKE_strexc_work((C.int)(rowMajor), (C.char)(compq), (C.lapack_int)(n), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_q), (C.lapack_int)(ldq), (*C.lapack_int)(_ifst), (*C.lapack_int)(_ilst), (*C.float)(_work)))
 26612  }
 26613  
 26614  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrexc.f.
 26615  func Dtrexc(compq lapack.Comp, n int, t []float64, ldt int, q []float64, ldq int, ifst, ilst []int32, work []float64) bool {
 26616  	var _t *float64
 26617  	if len(t) > 0 {
 26618  		_t = &t[0]
 26619  	}
 26620  	var _q *float64
 26621  	if len(q) > 0 {
 26622  		_q = &q[0]
 26623  	}
 26624  	var _ifst *int32
 26625  	if len(ifst) > 0 {
 26626  		_ifst = &ifst[0]
 26627  	}
 26628  	var _ilst *int32
 26629  	if len(ilst) > 0 {
 26630  		_ilst = &ilst[0]
 26631  	}
 26632  	var _work *float64
 26633  	if len(work) > 0 {
 26634  		_work = &work[0]
 26635  	}
 26636  	return isZero(C.LAPACKE_dtrexc_work((C.int)(rowMajor), (C.char)(compq), (C.lapack_int)(n), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_q), (C.lapack_int)(ldq), (*C.lapack_int)(_ifst), (*C.lapack_int)(_ilst), (*C.double)(_work)))
 26637  }
 26638  
 26639  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrexc.f.
 26640  func Ctrexc(compq lapack.Comp, n int, t []complex64, ldt int, q []complex64, ldq, ifst, ilst int) bool {
 26641  	var _t *complex64
 26642  	if len(t) > 0 {
 26643  		_t = &t[0]
 26644  	}
 26645  	var _q *complex64
 26646  	if len(q) > 0 {
 26647  		_q = &q[0]
 26648  	}
 26649  	return isZero(C.LAPACKE_ctrexc_work((C.int)(rowMajor), (C.char)(compq), (C.lapack_int)(n), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (C.lapack_int)(ifst), (C.lapack_int)(ilst)))
 26650  }
 26651  
 26652  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrexc.f.
 26653  func Ztrexc(compq lapack.Comp, n int, t []complex128, ldt int, q []complex128, ldq, ifst, ilst int) bool {
 26654  	var _t *complex128
 26655  	if len(t) > 0 {
 26656  		_t = &t[0]
 26657  	}
 26658  	var _q *complex128
 26659  	if len(q) > 0 {
 26660  		_q = &q[0]
 26661  	}
 26662  	return isZero(C.LAPACKE_ztrexc_work((C.int)(rowMajor), (C.char)(compq), (C.lapack_int)(n), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (C.lapack_int)(ifst), (C.lapack_int)(ilst)))
 26663  }
 26664  
 26665  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strrfs.f.
 26666  func Strrfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, a []float32, lda int, b []float32, ldb int, x []float32, ldx int, ferr, berr, work []float32, iwork []int32) bool {
 26667  	switch ul {
 26668  	case blas.Upper:
 26669  		ul = 'U'
 26670  	case blas.Lower:
 26671  		ul = 'L'
 26672  	default:
 26673  		panic("lapack: illegal triangle")
 26674  	}
 26675  	switch trans {
 26676  	case blas.NoTrans:
 26677  		trans = 'N'
 26678  	case blas.Trans:
 26679  		trans = 'T'
 26680  	case blas.ConjTrans:
 26681  		trans = 'C'
 26682  	default:
 26683  		panic("lapack: bad trans")
 26684  	}
 26685  	switch d {
 26686  	case blas.Unit:
 26687  		d = 'U'
 26688  	case blas.NonUnit:
 26689  		d = 'N'
 26690  	default:
 26691  		panic("lapack: illegal diagonal")
 26692  	}
 26693  	var _a *float32
 26694  	if len(a) > 0 {
 26695  		_a = &a[0]
 26696  	}
 26697  	var _b *float32
 26698  	if len(b) > 0 {
 26699  		_b = &b[0]
 26700  	}
 26701  	var _x *float32
 26702  	if len(x) > 0 {
 26703  		_x = &x[0]
 26704  	}
 26705  	var _ferr *float32
 26706  	if len(ferr) > 0 {
 26707  		_ferr = &ferr[0]
 26708  	}
 26709  	var _berr *float32
 26710  	if len(berr) > 0 {
 26711  		_berr = &berr[0]
 26712  	}
 26713  	var _work *float32
 26714  	if len(work) > 0 {
 26715  		_work = &work[0]
 26716  	}
 26717  	var _iwork *int32
 26718  	if len(iwork) > 0 {
 26719  		_iwork = &iwork[0]
 26720  	}
 26721  	return isZero(C.LAPACKE_strrfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.float)(_work), (*C.lapack_int)(_iwork)))
 26722  }
 26723  
 26724  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrrfs.f.
 26725  func Dtrrfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, a []float64, lda int, b []float64, ldb int, x []float64, ldx int, ferr, berr, work []float64, iwork []int32) bool {
 26726  	switch ul {
 26727  	case blas.Upper:
 26728  		ul = 'U'
 26729  	case blas.Lower:
 26730  		ul = 'L'
 26731  	default:
 26732  		panic("lapack: illegal triangle")
 26733  	}
 26734  	switch trans {
 26735  	case blas.NoTrans:
 26736  		trans = 'N'
 26737  	case blas.Trans:
 26738  		trans = 'T'
 26739  	case blas.ConjTrans:
 26740  		trans = 'C'
 26741  	default:
 26742  		panic("lapack: bad trans")
 26743  	}
 26744  	switch d {
 26745  	case blas.Unit:
 26746  		d = 'U'
 26747  	case blas.NonUnit:
 26748  		d = 'N'
 26749  	default:
 26750  		panic("lapack: illegal diagonal")
 26751  	}
 26752  	var _a *float64
 26753  	if len(a) > 0 {
 26754  		_a = &a[0]
 26755  	}
 26756  	var _b *float64
 26757  	if len(b) > 0 {
 26758  		_b = &b[0]
 26759  	}
 26760  	var _x *float64
 26761  	if len(x) > 0 {
 26762  		_x = &x[0]
 26763  	}
 26764  	var _ferr *float64
 26765  	if len(ferr) > 0 {
 26766  		_ferr = &ferr[0]
 26767  	}
 26768  	var _berr *float64
 26769  	if len(berr) > 0 {
 26770  		_berr = &berr[0]
 26771  	}
 26772  	var _work *float64
 26773  	if len(work) > 0 {
 26774  		_work = &work[0]
 26775  	}
 26776  	var _iwork *int32
 26777  	if len(iwork) > 0 {
 26778  		_iwork = &iwork[0]
 26779  	}
 26780  	return isZero(C.LAPACKE_dtrrfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.double)(_work), (*C.lapack_int)(_iwork)))
 26781  }
 26782  
 26783  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrrfs.f.
 26784  func Ctrrfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, a []complex64, lda int, b []complex64, ldb int, x []complex64, ldx int, ferr, berr []float32, work []complex64, rwork []float32) bool {
 26785  	switch ul {
 26786  	case blas.Upper:
 26787  		ul = 'U'
 26788  	case blas.Lower:
 26789  		ul = 'L'
 26790  	default:
 26791  		panic("lapack: illegal triangle")
 26792  	}
 26793  	switch trans {
 26794  	case blas.NoTrans:
 26795  		trans = 'N'
 26796  	case blas.Trans:
 26797  		trans = 'T'
 26798  	case blas.ConjTrans:
 26799  		trans = 'C'
 26800  	default:
 26801  		panic("lapack: bad trans")
 26802  	}
 26803  	switch d {
 26804  	case blas.Unit:
 26805  		d = 'U'
 26806  	case blas.NonUnit:
 26807  		d = 'N'
 26808  	default:
 26809  		panic("lapack: illegal diagonal")
 26810  	}
 26811  	var _a *complex64
 26812  	if len(a) > 0 {
 26813  		_a = &a[0]
 26814  	}
 26815  	var _b *complex64
 26816  	if len(b) > 0 {
 26817  		_b = &b[0]
 26818  	}
 26819  	var _x *complex64
 26820  	if len(x) > 0 {
 26821  		_x = &x[0]
 26822  	}
 26823  	var _ferr *float32
 26824  	if len(ferr) > 0 {
 26825  		_ferr = &ferr[0]
 26826  	}
 26827  	var _berr *float32
 26828  	if len(berr) > 0 {
 26829  		_berr = &berr[0]
 26830  	}
 26831  	var _work *complex64
 26832  	if len(work) > 0 {
 26833  		_work = &work[0]
 26834  	}
 26835  	var _rwork *float32
 26836  	if len(rwork) > 0 {
 26837  		_rwork = &rwork[0]
 26838  	}
 26839  	return isZero(C.LAPACKE_ctrrfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_x), (C.lapack_int)(ldx), (*C.float)(_ferr), (*C.float)(_berr), (*C.lapack_complex_float)(_work), (*C.float)(_rwork)))
 26840  }
 26841  
 26842  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrrfs.f.
 26843  func Ztrrfs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, a []complex128, lda int, b []complex128, ldb int, x []complex128, ldx int, ferr, berr []float64, work []complex128, rwork []float64) bool {
 26844  	switch ul {
 26845  	case blas.Upper:
 26846  		ul = 'U'
 26847  	case blas.Lower:
 26848  		ul = 'L'
 26849  	default:
 26850  		panic("lapack: illegal triangle")
 26851  	}
 26852  	switch trans {
 26853  	case blas.NoTrans:
 26854  		trans = 'N'
 26855  	case blas.Trans:
 26856  		trans = 'T'
 26857  	case blas.ConjTrans:
 26858  		trans = 'C'
 26859  	default:
 26860  		panic("lapack: bad trans")
 26861  	}
 26862  	switch d {
 26863  	case blas.Unit:
 26864  		d = 'U'
 26865  	case blas.NonUnit:
 26866  		d = 'N'
 26867  	default:
 26868  		panic("lapack: illegal diagonal")
 26869  	}
 26870  	var _a *complex128
 26871  	if len(a) > 0 {
 26872  		_a = &a[0]
 26873  	}
 26874  	var _b *complex128
 26875  	if len(b) > 0 {
 26876  		_b = &b[0]
 26877  	}
 26878  	var _x *complex128
 26879  	if len(x) > 0 {
 26880  		_x = &x[0]
 26881  	}
 26882  	var _ferr *float64
 26883  	if len(ferr) > 0 {
 26884  		_ferr = &ferr[0]
 26885  	}
 26886  	var _berr *float64
 26887  	if len(berr) > 0 {
 26888  		_berr = &berr[0]
 26889  	}
 26890  	var _work *complex128
 26891  	if len(work) > 0 {
 26892  		_work = &work[0]
 26893  	}
 26894  	var _rwork *float64
 26895  	if len(rwork) > 0 {
 26896  		_rwork = &rwork[0]
 26897  	}
 26898  	return isZero(C.LAPACKE_ztrrfs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_x), (C.lapack_int)(ldx), (*C.double)(_ferr), (*C.double)(_berr), (*C.lapack_complex_double)(_work), (*C.double)(_rwork)))
 26899  }
 26900  
 26901  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strsen.f.
 26902  func Strsen(job lapack.Job, compq lapack.Comp, sel []int32, n int, t []float32, ldt int, q []float32, ldq int, wr, wi []float32, m []int32, s, sep, work []float32, lwork int, iwork []int32, liwork int) bool {
 26903  	var _sel *int32
 26904  	if len(sel) > 0 {
 26905  		_sel = &sel[0]
 26906  	}
 26907  	var _t *float32
 26908  	if len(t) > 0 {
 26909  		_t = &t[0]
 26910  	}
 26911  	var _q *float32
 26912  	if len(q) > 0 {
 26913  		_q = &q[0]
 26914  	}
 26915  	var _wr *float32
 26916  	if len(wr) > 0 {
 26917  		_wr = &wr[0]
 26918  	}
 26919  	var _wi *float32
 26920  	if len(wi) > 0 {
 26921  		_wi = &wi[0]
 26922  	}
 26923  	var _m *int32
 26924  	if len(m) > 0 {
 26925  		_m = &m[0]
 26926  	}
 26927  	var _s *float32
 26928  	if len(s) > 0 {
 26929  		_s = &s[0]
 26930  	}
 26931  	var _sep *float32
 26932  	if len(sep) > 0 {
 26933  		_sep = &sep[0]
 26934  	}
 26935  	var _work *float32
 26936  	if len(work) > 0 {
 26937  		_work = &work[0]
 26938  	}
 26939  	var _iwork *int32
 26940  	if len(iwork) > 0 {
 26941  		_iwork = &iwork[0]
 26942  	}
 26943  	return isZero(C.LAPACKE_strsen_work((C.int)(rowMajor), (C.char)(job), (C.char)(compq), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_q), (C.lapack_int)(ldq), (*C.float)(_wr), (*C.float)(_wi), (*C.lapack_int)(_m), (*C.float)(_s), (*C.float)(_sep), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 26944  }
 26945  
 26946  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrsen.f.
 26947  func Dtrsen(job lapack.Job, compq lapack.Comp, sel []int32, n int, t []float64, ldt int, q []float64, ldq int, wr, wi []float64, m []int32, s, sep, work []float64, lwork int, iwork []int32, liwork int) bool {
 26948  	var _sel *int32
 26949  	if len(sel) > 0 {
 26950  		_sel = &sel[0]
 26951  	}
 26952  	var _t *float64
 26953  	if len(t) > 0 {
 26954  		_t = &t[0]
 26955  	}
 26956  	var _q *float64
 26957  	if len(q) > 0 {
 26958  		_q = &q[0]
 26959  	}
 26960  	var _wr *float64
 26961  	if len(wr) > 0 {
 26962  		_wr = &wr[0]
 26963  	}
 26964  	var _wi *float64
 26965  	if len(wi) > 0 {
 26966  		_wi = &wi[0]
 26967  	}
 26968  	var _m *int32
 26969  	if len(m) > 0 {
 26970  		_m = &m[0]
 26971  	}
 26972  	var _s *float64
 26973  	if len(s) > 0 {
 26974  		_s = &s[0]
 26975  	}
 26976  	var _sep *float64
 26977  	if len(sep) > 0 {
 26978  		_sep = &sep[0]
 26979  	}
 26980  	var _work *float64
 26981  	if len(work) > 0 {
 26982  		_work = &work[0]
 26983  	}
 26984  	var _iwork *int32
 26985  	if len(iwork) > 0 {
 26986  		_iwork = &iwork[0]
 26987  	}
 26988  	return isZero(C.LAPACKE_dtrsen_work((C.int)(rowMajor), (C.char)(job), (C.char)(compq), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_q), (C.lapack_int)(ldq), (*C.double)(_wr), (*C.double)(_wi), (*C.lapack_int)(_m), (*C.double)(_s), (*C.double)(_sep), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork), (C.lapack_int)(liwork)))
 26989  }
 26990  
 26991  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrsen.f.
 26992  func Ctrsen(job lapack.Job, compq lapack.Comp, sel []int32, n int, t []complex64, ldt int, q []complex64, ldq int, w []complex64, m []int32, s, sep []float32, work []complex64, lwork int) bool {
 26993  	var _sel *int32
 26994  	if len(sel) > 0 {
 26995  		_sel = &sel[0]
 26996  	}
 26997  	var _t *complex64
 26998  	if len(t) > 0 {
 26999  		_t = &t[0]
 27000  	}
 27001  	var _q *complex64
 27002  	if len(q) > 0 {
 27003  		_q = &q[0]
 27004  	}
 27005  	var _w *complex64
 27006  	if len(w) > 0 {
 27007  		_w = &w[0]
 27008  	}
 27009  	var _m *int32
 27010  	if len(m) > 0 {
 27011  		_m = &m[0]
 27012  	}
 27013  	var _s *float32
 27014  	if len(s) > 0 {
 27015  		_s = &s[0]
 27016  	}
 27017  	var _sep *float32
 27018  	if len(sep) > 0 {
 27019  		_sep = &sep[0]
 27020  	}
 27021  	var _work *complex64
 27022  	if len(work) > 0 {
 27023  		_work = &work[0]
 27024  	}
 27025  	return isZero(C.LAPACKE_ctrsen_work((C.int)(rowMajor), (C.char)(job), (C.char)(compq), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_w), (*C.lapack_int)(_m), (*C.float)(_s), (*C.float)(_sep), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 27026  }
 27027  
 27028  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrsen.f.
 27029  func Ztrsen(job lapack.Job, compq lapack.Comp, sel []int32, n int, t []complex128, ldt int, q []complex128, ldq int, w []complex128, m []int32, s, sep []float64, work []complex128, lwork int) bool {
 27030  	var _sel *int32
 27031  	if len(sel) > 0 {
 27032  		_sel = &sel[0]
 27033  	}
 27034  	var _t *complex128
 27035  	if len(t) > 0 {
 27036  		_t = &t[0]
 27037  	}
 27038  	var _q *complex128
 27039  	if len(q) > 0 {
 27040  		_q = &q[0]
 27041  	}
 27042  	var _w *complex128
 27043  	if len(w) > 0 {
 27044  		_w = &w[0]
 27045  	}
 27046  	var _m *int32
 27047  	if len(m) > 0 {
 27048  		_m = &m[0]
 27049  	}
 27050  	var _s *float64
 27051  	if len(s) > 0 {
 27052  		_s = &s[0]
 27053  	}
 27054  	var _sep *float64
 27055  	if len(sep) > 0 {
 27056  		_sep = &sep[0]
 27057  	}
 27058  	var _work *complex128
 27059  	if len(work) > 0 {
 27060  		_work = &work[0]
 27061  	}
 27062  	return isZero(C.LAPACKE_ztrsen_work((C.int)(rowMajor), (C.char)(job), (C.char)(compq), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_w), (*C.lapack_int)(_m), (*C.double)(_s), (*C.double)(_sep), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 27063  }
 27064  
 27065  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strsna.f.
 27066  func Strsna(job lapack.Job, howmny byte, sel []int32, n int, t []float32, ldt int, vl []float32, ldvl int, vr []float32, ldvr int, s, sep []float32, mm int, m []int32, work []float32, ldwork int, iwork []int32) bool {
 27067  	var _sel *int32
 27068  	if len(sel) > 0 {
 27069  		_sel = &sel[0]
 27070  	}
 27071  	var _t *float32
 27072  	if len(t) > 0 {
 27073  		_t = &t[0]
 27074  	}
 27075  	var _vl *float32
 27076  	if len(vl) > 0 {
 27077  		_vl = &vl[0]
 27078  	}
 27079  	var _vr *float32
 27080  	if len(vr) > 0 {
 27081  		_vr = &vr[0]
 27082  	}
 27083  	var _s *float32
 27084  	if len(s) > 0 {
 27085  		_s = &s[0]
 27086  	}
 27087  	var _sep *float32
 27088  	if len(sep) > 0 {
 27089  		_sep = &sep[0]
 27090  	}
 27091  	var _m *int32
 27092  	if len(m) > 0 {
 27093  		_m = &m[0]
 27094  	}
 27095  	var _work *float32
 27096  	if len(work) > 0 {
 27097  		_work = &work[0]
 27098  	}
 27099  	var _iwork *int32
 27100  	if len(iwork) > 0 {
 27101  		_iwork = &iwork[0]
 27102  	}
 27103  	return isZero(C.LAPACKE_strsna_work((C.int)(rowMajor), (C.char)(job), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_vl), (C.lapack_int)(ldvl), (*C.float)(_vr), (C.lapack_int)(ldvr), (*C.float)(_s), (*C.float)(_sep), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.float)(_work), (C.lapack_int)(ldwork), (*C.lapack_int)(_iwork)))
 27104  }
 27105  
 27106  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrsna.f.
 27107  func Dtrsna(job lapack.Job, howmny byte, sel []int32, n int, t []float64, ldt int, vl []float64, ldvl int, vr []float64, ldvr int, s, sep []float64, mm int, m []int32, work []float64, ldwork int, iwork []int32) bool {
 27108  	var _sel *int32
 27109  	if len(sel) > 0 {
 27110  		_sel = &sel[0]
 27111  	}
 27112  	var _t *float64
 27113  	if len(t) > 0 {
 27114  		_t = &t[0]
 27115  	}
 27116  	var _vl *float64
 27117  	if len(vl) > 0 {
 27118  		_vl = &vl[0]
 27119  	}
 27120  	var _vr *float64
 27121  	if len(vr) > 0 {
 27122  		_vr = &vr[0]
 27123  	}
 27124  	var _s *float64
 27125  	if len(s) > 0 {
 27126  		_s = &s[0]
 27127  	}
 27128  	var _sep *float64
 27129  	if len(sep) > 0 {
 27130  		_sep = &sep[0]
 27131  	}
 27132  	var _m *int32
 27133  	if len(m) > 0 {
 27134  		_m = &m[0]
 27135  	}
 27136  	var _work *float64
 27137  	if len(work) > 0 {
 27138  		_work = &work[0]
 27139  	}
 27140  	var _iwork *int32
 27141  	if len(iwork) > 0 {
 27142  		_iwork = &iwork[0]
 27143  	}
 27144  	return isZero(C.LAPACKE_dtrsna_work((C.int)(rowMajor), (C.char)(job), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_vl), (C.lapack_int)(ldvl), (*C.double)(_vr), (C.lapack_int)(ldvr), (*C.double)(_s), (*C.double)(_sep), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.double)(_work), (C.lapack_int)(ldwork), (*C.lapack_int)(_iwork)))
 27145  }
 27146  
 27147  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrsna.f.
 27148  func Ctrsna(job lapack.Job, howmny byte, sel []int32, n int, t []complex64, ldt int, vl []complex64, ldvl int, vr []complex64, ldvr int, s, sep []float32, mm int, m []int32, work []complex64, ldwork int, rwork []float32) bool {
 27149  	var _sel *int32
 27150  	if len(sel) > 0 {
 27151  		_sel = &sel[0]
 27152  	}
 27153  	var _t *complex64
 27154  	if len(t) > 0 {
 27155  		_t = &t[0]
 27156  	}
 27157  	var _vl *complex64
 27158  	if len(vl) > 0 {
 27159  		_vl = &vl[0]
 27160  	}
 27161  	var _vr *complex64
 27162  	if len(vr) > 0 {
 27163  		_vr = &vr[0]
 27164  	}
 27165  	var _s *float32
 27166  	if len(s) > 0 {
 27167  		_s = &s[0]
 27168  	}
 27169  	var _sep *float32
 27170  	if len(sep) > 0 {
 27171  		_sep = &sep[0]
 27172  	}
 27173  	var _m *int32
 27174  	if len(m) > 0 {
 27175  		_m = &m[0]
 27176  	}
 27177  	var _work *complex64
 27178  	if len(work) > 0 {
 27179  		_work = &work[0]
 27180  	}
 27181  	var _rwork *float32
 27182  	if len(rwork) > 0 {
 27183  		_rwork = &rwork[0]
 27184  	}
 27185  	return isZero(C.LAPACKE_ctrsna_work((C.int)(rowMajor), (C.char)(job), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_float)(_vr), (C.lapack_int)(ldvr), (*C.float)(_s), (*C.float)(_sep), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_float)(_work), (C.lapack_int)(ldwork), (*C.float)(_rwork)))
 27186  }
 27187  
 27188  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrsna.f.
 27189  func Ztrsna(job lapack.Job, howmny byte, sel []int32, n int, t []complex128, ldt int, vl []complex128, ldvl int, vr []complex128, ldvr int, s, sep []float64, mm int, m []int32, work []complex128, ldwork int, rwork []float64) bool {
 27190  	var _sel *int32
 27191  	if len(sel) > 0 {
 27192  		_sel = &sel[0]
 27193  	}
 27194  	var _t *complex128
 27195  	if len(t) > 0 {
 27196  		_t = &t[0]
 27197  	}
 27198  	var _vl *complex128
 27199  	if len(vl) > 0 {
 27200  		_vl = &vl[0]
 27201  	}
 27202  	var _vr *complex128
 27203  	if len(vr) > 0 {
 27204  		_vr = &vr[0]
 27205  	}
 27206  	var _s *float64
 27207  	if len(s) > 0 {
 27208  		_s = &s[0]
 27209  	}
 27210  	var _sep *float64
 27211  	if len(sep) > 0 {
 27212  		_sep = &sep[0]
 27213  	}
 27214  	var _m *int32
 27215  	if len(m) > 0 {
 27216  		_m = &m[0]
 27217  	}
 27218  	var _work *complex128
 27219  	if len(work) > 0 {
 27220  		_work = &work[0]
 27221  	}
 27222  	var _rwork *float64
 27223  	if len(rwork) > 0 {
 27224  		_rwork = &rwork[0]
 27225  	}
 27226  	return isZero(C.LAPACKE_ztrsna_work((C.int)(rowMajor), (C.char)(job), (C.char)(howmny), (*C.lapack_int)(_sel), (C.lapack_int)(n), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_vl), (C.lapack_int)(ldvl), (*C.lapack_complex_double)(_vr), (C.lapack_int)(ldvr), (*C.double)(_s), (*C.double)(_sep), (C.lapack_int)(mm), (*C.lapack_int)(_m), (*C.lapack_complex_double)(_work), (C.lapack_int)(ldwork), (*C.double)(_rwork)))
 27227  }
 27228  
 27229  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strsyl.f.
 27230  func Strsyl(trana, tranb blas.Transpose, isgn, m, n int, a []float32, lda int, b []float32, ldb int, c []float32, ldc int, scale []float32) bool {
 27231  	switch trana {
 27232  	case blas.NoTrans:
 27233  		trana = 'N'
 27234  	case blas.Trans:
 27235  		trana = 'T'
 27236  	case blas.ConjTrans:
 27237  		trana = 'C'
 27238  	default:
 27239  		panic("lapack: bad trans")
 27240  	}
 27241  	switch tranb {
 27242  	case blas.NoTrans:
 27243  		tranb = 'N'
 27244  	case blas.Trans:
 27245  		tranb = 'T'
 27246  	case blas.ConjTrans:
 27247  		tranb = 'C'
 27248  	default:
 27249  		panic("lapack: bad trans")
 27250  	}
 27251  	var _a *float32
 27252  	if len(a) > 0 {
 27253  		_a = &a[0]
 27254  	}
 27255  	var _b *float32
 27256  	if len(b) > 0 {
 27257  		_b = &b[0]
 27258  	}
 27259  	var _c *float32
 27260  	if len(c) > 0 {
 27261  		_c = &c[0]
 27262  	}
 27263  	var _scale *float32
 27264  	if len(scale) > 0 {
 27265  		_scale = &scale[0]
 27266  	}
 27267  	return isZero(C.LAPACKE_strsyl_work((C.int)(rowMajor), (C.char)(trana), (C.char)(tranb), (C.lapack_int)(isgn), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_scale)))
 27268  }
 27269  
 27270  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrsyl.f.
 27271  func Dtrsyl(trana, tranb blas.Transpose, isgn, m, n int, a []float64, lda int, b []float64, ldb int, c []float64, ldc int, scale []float64) bool {
 27272  	switch trana {
 27273  	case blas.NoTrans:
 27274  		trana = 'N'
 27275  	case blas.Trans:
 27276  		trana = 'T'
 27277  	case blas.ConjTrans:
 27278  		trana = 'C'
 27279  	default:
 27280  		panic("lapack: bad trans")
 27281  	}
 27282  	switch tranb {
 27283  	case blas.NoTrans:
 27284  		tranb = 'N'
 27285  	case blas.Trans:
 27286  		tranb = 'T'
 27287  	case blas.ConjTrans:
 27288  		tranb = 'C'
 27289  	default:
 27290  		panic("lapack: bad trans")
 27291  	}
 27292  	var _a *float64
 27293  	if len(a) > 0 {
 27294  		_a = &a[0]
 27295  	}
 27296  	var _b *float64
 27297  	if len(b) > 0 {
 27298  		_b = &b[0]
 27299  	}
 27300  	var _c *float64
 27301  	if len(c) > 0 {
 27302  		_c = &c[0]
 27303  	}
 27304  	var _scale *float64
 27305  	if len(scale) > 0 {
 27306  		_scale = &scale[0]
 27307  	}
 27308  	return isZero(C.LAPACKE_dtrsyl_work((C.int)(rowMajor), (C.char)(trana), (C.char)(tranb), (C.lapack_int)(isgn), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_scale)))
 27309  }
 27310  
 27311  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrsyl.f.
 27312  func Ctrsyl(trana, tranb blas.Transpose, isgn, m, n int, a []complex64, lda int, b []complex64, ldb int, c []complex64, ldc int, scale []float32) bool {
 27313  	switch trana {
 27314  	case blas.NoTrans:
 27315  		trana = 'N'
 27316  	case blas.Trans:
 27317  		trana = 'T'
 27318  	case blas.ConjTrans:
 27319  		trana = 'C'
 27320  	default:
 27321  		panic("lapack: bad trans")
 27322  	}
 27323  	switch tranb {
 27324  	case blas.NoTrans:
 27325  		tranb = 'N'
 27326  	case blas.Trans:
 27327  		tranb = 'T'
 27328  	case blas.ConjTrans:
 27329  		tranb = 'C'
 27330  	default:
 27331  		panic("lapack: bad trans")
 27332  	}
 27333  	var _a *complex64
 27334  	if len(a) > 0 {
 27335  		_a = &a[0]
 27336  	}
 27337  	var _b *complex64
 27338  	if len(b) > 0 {
 27339  		_b = &b[0]
 27340  	}
 27341  	var _c *complex64
 27342  	if len(c) > 0 {
 27343  		_c = &c[0]
 27344  	}
 27345  	var _scale *float32
 27346  	if len(scale) > 0 {
 27347  		_scale = &scale[0]
 27348  	}
 27349  	return isZero(C.LAPACKE_ctrsyl_work((C.int)(rowMajor), (C.char)(trana), (C.char)(tranb), (C.lapack_int)(isgn), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.float)(_scale)))
 27350  }
 27351  
 27352  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrsyl.f.
 27353  func Ztrsyl(trana, tranb blas.Transpose, isgn, m, n int, a []complex128, lda int, b []complex128, ldb int, c []complex128, ldc int, scale []float64) bool {
 27354  	switch trana {
 27355  	case blas.NoTrans:
 27356  		trana = 'N'
 27357  	case blas.Trans:
 27358  		trana = 'T'
 27359  	case blas.ConjTrans:
 27360  		trana = 'C'
 27361  	default:
 27362  		panic("lapack: bad trans")
 27363  	}
 27364  	switch tranb {
 27365  	case blas.NoTrans:
 27366  		tranb = 'N'
 27367  	case blas.Trans:
 27368  		tranb = 'T'
 27369  	case blas.ConjTrans:
 27370  		tranb = 'C'
 27371  	default:
 27372  		panic("lapack: bad trans")
 27373  	}
 27374  	var _a *complex128
 27375  	if len(a) > 0 {
 27376  		_a = &a[0]
 27377  	}
 27378  	var _b *complex128
 27379  	if len(b) > 0 {
 27380  		_b = &b[0]
 27381  	}
 27382  	var _c *complex128
 27383  	if len(c) > 0 {
 27384  		_c = &c[0]
 27385  	}
 27386  	var _scale *float64
 27387  	if len(scale) > 0 {
 27388  		_scale = &scale[0]
 27389  	}
 27390  	return isZero(C.LAPACKE_ztrsyl_work((C.int)(rowMajor), (C.char)(trana), (C.char)(tranb), (C.lapack_int)(isgn), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.double)(_scale)))
 27391  }
 27392  
 27393  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strtri.f.
 27394  func Strtri(ul blas.Uplo, d blas.Diag, n int, a []float32, lda int) bool {
 27395  	switch ul {
 27396  	case blas.Upper:
 27397  		ul = 'U'
 27398  	case blas.Lower:
 27399  		ul = 'L'
 27400  	default:
 27401  		panic("lapack: illegal triangle")
 27402  	}
 27403  	switch d {
 27404  	case blas.Unit:
 27405  		d = 'U'
 27406  	case blas.NonUnit:
 27407  		d = 'N'
 27408  	default:
 27409  		panic("lapack: illegal diagonal")
 27410  	}
 27411  	var _a *float32
 27412  	if len(a) > 0 {
 27413  		_a = &a[0]
 27414  	}
 27415  	return isZero(C.LAPACKE_strtri_work((C.int)(rowMajor), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda)))
 27416  }
 27417  
 27418  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrtri.f.
 27419  func Dtrtri(ul blas.Uplo, d blas.Diag, n int, a []float64, lda int) bool {
 27420  	switch ul {
 27421  	case blas.Upper:
 27422  		ul = 'U'
 27423  	case blas.Lower:
 27424  		ul = 'L'
 27425  	default:
 27426  		panic("lapack: illegal triangle")
 27427  	}
 27428  	switch d {
 27429  	case blas.Unit:
 27430  		d = 'U'
 27431  	case blas.NonUnit:
 27432  		d = 'N'
 27433  	default:
 27434  		panic("lapack: illegal diagonal")
 27435  	}
 27436  	var _a *float64
 27437  	if len(a) > 0 {
 27438  		_a = &a[0]
 27439  	}
 27440  	return isZero(C.LAPACKE_dtrtri_work((C.int)(rowMajor), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda)))
 27441  }
 27442  
 27443  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrtri.f.
 27444  func Ctrtri(ul blas.Uplo, d blas.Diag, n int, a []complex64, lda int) bool {
 27445  	switch ul {
 27446  	case blas.Upper:
 27447  		ul = 'U'
 27448  	case blas.Lower:
 27449  		ul = 'L'
 27450  	default:
 27451  		panic("lapack: illegal triangle")
 27452  	}
 27453  	switch d {
 27454  	case blas.Unit:
 27455  		d = 'U'
 27456  	case blas.NonUnit:
 27457  		d = 'N'
 27458  	default:
 27459  		panic("lapack: illegal diagonal")
 27460  	}
 27461  	var _a *complex64
 27462  	if len(a) > 0 {
 27463  		_a = &a[0]
 27464  	}
 27465  	return isZero(C.LAPACKE_ctrtri_work((C.int)(rowMajor), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 27466  }
 27467  
 27468  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrtri.f.
 27469  func Ztrtri(ul blas.Uplo, d blas.Diag, n int, a []complex128, lda int) bool {
 27470  	switch ul {
 27471  	case blas.Upper:
 27472  		ul = 'U'
 27473  	case blas.Lower:
 27474  		ul = 'L'
 27475  	default:
 27476  		panic("lapack: illegal triangle")
 27477  	}
 27478  	switch d {
 27479  	case blas.Unit:
 27480  		d = 'U'
 27481  	case blas.NonUnit:
 27482  		d = 'N'
 27483  	default:
 27484  		panic("lapack: illegal diagonal")
 27485  	}
 27486  	var _a *complex128
 27487  	if len(a) > 0 {
 27488  		_a = &a[0]
 27489  	}
 27490  	return isZero(C.LAPACKE_ztrtri_work((C.int)(rowMajor), (C.char)(ul), (C.char)(d), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 27491  }
 27492  
 27493  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strtrs.f.
 27494  func Strtrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, a []float32, lda int, b []float32, ldb int) bool {
 27495  	switch ul {
 27496  	case blas.Upper:
 27497  		ul = 'U'
 27498  	case blas.Lower:
 27499  		ul = 'L'
 27500  	default:
 27501  		panic("lapack: illegal triangle")
 27502  	}
 27503  	switch trans {
 27504  	case blas.NoTrans:
 27505  		trans = 'N'
 27506  	case blas.Trans:
 27507  		trans = 'T'
 27508  	case blas.ConjTrans:
 27509  		trans = 'C'
 27510  	default:
 27511  		panic("lapack: bad trans")
 27512  	}
 27513  	switch d {
 27514  	case blas.Unit:
 27515  		d = 'U'
 27516  	case blas.NonUnit:
 27517  		d = 'N'
 27518  	default:
 27519  		panic("lapack: illegal diagonal")
 27520  	}
 27521  	var _a *float32
 27522  	if len(a) > 0 {
 27523  		_a = &a[0]
 27524  	}
 27525  	var _b *float32
 27526  	if len(b) > 0 {
 27527  		_b = &b[0]
 27528  	}
 27529  	return isZero(C.LAPACKE_strtrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb)))
 27530  }
 27531  
 27532  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrtrs.f.
 27533  func Dtrtrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, a []float64, lda int, b []float64, ldb int) bool {
 27534  	switch ul {
 27535  	case blas.Upper:
 27536  		ul = 'U'
 27537  	case blas.Lower:
 27538  		ul = 'L'
 27539  	default:
 27540  		panic("lapack: illegal triangle")
 27541  	}
 27542  	switch trans {
 27543  	case blas.NoTrans:
 27544  		trans = 'N'
 27545  	case blas.Trans:
 27546  		trans = 'T'
 27547  	case blas.ConjTrans:
 27548  		trans = 'C'
 27549  	default:
 27550  		panic("lapack: bad trans")
 27551  	}
 27552  	switch d {
 27553  	case blas.Unit:
 27554  		d = 'U'
 27555  	case blas.NonUnit:
 27556  		d = 'N'
 27557  	default:
 27558  		panic("lapack: illegal diagonal")
 27559  	}
 27560  	var _a *float64
 27561  	if len(a) > 0 {
 27562  		_a = &a[0]
 27563  	}
 27564  	var _b *float64
 27565  	if len(b) > 0 {
 27566  		_b = &b[0]
 27567  	}
 27568  	return isZero(C.LAPACKE_dtrtrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb)))
 27569  }
 27570  
 27571  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrtrs.f.
 27572  func Ctrtrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, a []complex64, lda int, b []complex64, ldb int) bool {
 27573  	switch ul {
 27574  	case blas.Upper:
 27575  		ul = 'U'
 27576  	case blas.Lower:
 27577  		ul = 'L'
 27578  	default:
 27579  		panic("lapack: illegal triangle")
 27580  	}
 27581  	switch trans {
 27582  	case blas.NoTrans:
 27583  		trans = 'N'
 27584  	case blas.Trans:
 27585  		trans = 'T'
 27586  	case blas.ConjTrans:
 27587  		trans = 'C'
 27588  	default:
 27589  		panic("lapack: bad trans")
 27590  	}
 27591  	switch d {
 27592  	case blas.Unit:
 27593  		d = 'U'
 27594  	case blas.NonUnit:
 27595  		d = 'N'
 27596  	default:
 27597  		panic("lapack: illegal diagonal")
 27598  	}
 27599  	var _a *complex64
 27600  	if len(a) > 0 {
 27601  		_a = &a[0]
 27602  	}
 27603  	var _b *complex64
 27604  	if len(b) > 0 {
 27605  		_b = &b[0]
 27606  	}
 27607  	return isZero(C.LAPACKE_ctrtrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb)))
 27608  }
 27609  
 27610  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrtrs.f.
 27611  func Ztrtrs(ul blas.Uplo, trans blas.Transpose, d blas.Diag, n, nrhs int, a []complex128, lda int, b []complex128, ldb int) bool {
 27612  	switch ul {
 27613  	case blas.Upper:
 27614  		ul = 'U'
 27615  	case blas.Lower:
 27616  		ul = 'L'
 27617  	default:
 27618  		panic("lapack: illegal triangle")
 27619  	}
 27620  	switch trans {
 27621  	case blas.NoTrans:
 27622  		trans = 'N'
 27623  	case blas.Trans:
 27624  		trans = 'T'
 27625  	case blas.ConjTrans:
 27626  		trans = 'C'
 27627  	default:
 27628  		panic("lapack: bad trans")
 27629  	}
 27630  	switch d {
 27631  	case blas.Unit:
 27632  		d = 'U'
 27633  	case blas.NonUnit:
 27634  		d = 'N'
 27635  	default:
 27636  		panic("lapack: illegal diagonal")
 27637  	}
 27638  	var _a *complex128
 27639  	if len(a) > 0 {
 27640  		_a = &a[0]
 27641  	}
 27642  	var _b *complex128
 27643  	if len(b) > 0 {
 27644  		_b = &b[0]
 27645  	}
 27646  	return isZero(C.LAPACKE_ztrtrs_work((C.int)(rowMajor), (C.char)(ul), (C.char)(trans), (C.char)(d), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb)))
 27647  }
 27648  
 27649  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strttf.f.
 27650  func Strttf(transr blas.Transpose, ul blas.Uplo, n int, a []float32, lda int, arf []float32) bool {
 27651  	switch transr {
 27652  	case blas.NoTrans:
 27653  		transr = 'N'
 27654  	case blas.Trans:
 27655  		transr = 'T'
 27656  	case blas.ConjTrans:
 27657  		transr = 'C'
 27658  	default:
 27659  		panic("lapack: bad trans")
 27660  	}
 27661  	switch ul {
 27662  	case blas.Upper:
 27663  		ul = 'U'
 27664  	case blas.Lower:
 27665  		ul = 'L'
 27666  	default:
 27667  		panic("lapack: illegal triangle")
 27668  	}
 27669  	var _a *float32
 27670  	if len(a) > 0 {
 27671  		_a = &a[0]
 27672  	}
 27673  	var _arf *float32
 27674  	if len(arf) > 0 {
 27675  		_arf = &arf[0]
 27676  	}
 27677  	return isZero(C.LAPACKE_strttf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_arf)))
 27678  }
 27679  
 27680  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrttf.f.
 27681  func Dtrttf(transr blas.Transpose, ul blas.Uplo, n int, a []float64, lda int, arf []float64) bool {
 27682  	switch transr {
 27683  	case blas.NoTrans:
 27684  		transr = 'N'
 27685  	case blas.Trans:
 27686  		transr = 'T'
 27687  	case blas.ConjTrans:
 27688  		transr = 'C'
 27689  	default:
 27690  		panic("lapack: bad trans")
 27691  	}
 27692  	switch ul {
 27693  	case blas.Upper:
 27694  		ul = 'U'
 27695  	case blas.Lower:
 27696  		ul = 'L'
 27697  	default:
 27698  		panic("lapack: illegal triangle")
 27699  	}
 27700  	var _a *float64
 27701  	if len(a) > 0 {
 27702  		_a = &a[0]
 27703  	}
 27704  	var _arf *float64
 27705  	if len(arf) > 0 {
 27706  		_arf = &arf[0]
 27707  	}
 27708  	return isZero(C.LAPACKE_dtrttf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_arf)))
 27709  }
 27710  
 27711  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrttf.f.
 27712  func Ctrttf(transr blas.Transpose, ul blas.Uplo, n int, a []complex64, lda int, arf []complex64) bool {
 27713  	switch transr {
 27714  	case blas.NoTrans:
 27715  		transr = 'N'
 27716  	case blas.Trans:
 27717  		transr = 'T'
 27718  	case blas.ConjTrans:
 27719  		transr = 'C'
 27720  	default:
 27721  		panic("lapack: bad trans")
 27722  	}
 27723  	switch ul {
 27724  	case blas.Upper:
 27725  		ul = 'U'
 27726  	case blas.Lower:
 27727  		ul = 'L'
 27728  	default:
 27729  		panic("lapack: illegal triangle")
 27730  	}
 27731  	var _a *complex64
 27732  	if len(a) > 0 {
 27733  		_a = &a[0]
 27734  	}
 27735  	var _arf *complex64
 27736  	if len(arf) > 0 {
 27737  		_arf = &arf[0]
 27738  	}
 27739  	return isZero(C.LAPACKE_ctrttf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_arf)))
 27740  }
 27741  
 27742  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrttf.f.
 27743  func Ztrttf(transr blas.Transpose, ul blas.Uplo, n int, a []complex128, lda int, arf []complex128) bool {
 27744  	switch transr {
 27745  	case blas.NoTrans:
 27746  		transr = 'N'
 27747  	case blas.Trans:
 27748  		transr = 'T'
 27749  	case blas.ConjTrans:
 27750  		transr = 'C'
 27751  	default:
 27752  		panic("lapack: bad trans")
 27753  	}
 27754  	switch ul {
 27755  	case blas.Upper:
 27756  		ul = 'U'
 27757  	case blas.Lower:
 27758  		ul = 'L'
 27759  	default:
 27760  		panic("lapack: illegal triangle")
 27761  	}
 27762  	var _a *complex128
 27763  	if len(a) > 0 {
 27764  		_a = &a[0]
 27765  	}
 27766  	var _arf *complex128
 27767  	if len(arf) > 0 {
 27768  		_arf = &arf[0]
 27769  	}
 27770  	return isZero(C.LAPACKE_ztrttf_work((C.int)(rowMajor), (C.char)(transr), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_arf)))
 27771  }
 27772  
 27773  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/strttp.f.
 27774  func Strttp(ul blas.Uplo, n int, a []float32, lda int, ap []float32) bool {
 27775  	switch ul {
 27776  	case blas.Upper:
 27777  		ul = 'U'
 27778  	case blas.Lower:
 27779  		ul = 'L'
 27780  	default:
 27781  		panic("lapack: illegal triangle")
 27782  	}
 27783  	var _a *float32
 27784  	if len(a) > 0 {
 27785  		_a = &a[0]
 27786  	}
 27787  	var _ap *float32
 27788  	if len(ap) > 0 {
 27789  		_ap = &ap[0]
 27790  	}
 27791  	return isZero(C.LAPACKE_strttp_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_ap)))
 27792  }
 27793  
 27794  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtrttp.f.
 27795  func Dtrttp(ul blas.Uplo, n int, a []float64, lda int, ap []float64) bool {
 27796  	switch ul {
 27797  	case blas.Upper:
 27798  		ul = 'U'
 27799  	case blas.Lower:
 27800  		ul = 'L'
 27801  	default:
 27802  		panic("lapack: illegal triangle")
 27803  	}
 27804  	var _a *float64
 27805  	if len(a) > 0 {
 27806  		_a = &a[0]
 27807  	}
 27808  	var _ap *float64
 27809  	if len(ap) > 0 {
 27810  		_ap = &ap[0]
 27811  	}
 27812  	return isZero(C.LAPACKE_dtrttp_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_ap)))
 27813  }
 27814  
 27815  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctrttp.f.
 27816  func Ctrttp(ul blas.Uplo, n int, a []complex64, lda int, ap []complex64) bool {
 27817  	switch ul {
 27818  	case blas.Upper:
 27819  		ul = 'U'
 27820  	case blas.Lower:
 27821  		ul = 'L'
 27822  	default:
 27823  		panic("lapack: illegal triangle")
 27824  	}
 27825  	var _a *complex64
 27826  	if len(a) > 0 {
 27827  		_a = &a[0]
 27828  	}
 27829  	var _ap *complex64
 27830  	if len(ap) > 0 {
 27831  		_ap = &ap[0]
 27832  	}
 27833  	return isZero(C.LAPACKE_ctrttp_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_ap)))
 27834  }
 27835  
 27836  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztrttp.f.
 27837  func Ztrttp(ul blas.Uplo, n int, a []complex128, lda int, ap []complex128) bool {
 27838  	switch ul {
 27839  	case blas.Upper:
 27840  		ul = 'U'
 27841  	case blas.Lower:
 27842  		ul = 'L'
 27843  	default:
 27844  		panic("lapack: illegal triangle")
 27845  	}
 27846  	var _a *complex128
 27847  	if len(a) > 0 {
 27848  		_a = &a[0]
 27849  	}
 27850  	var _ap *complex128
 27851  	if len(ap) > 0 {
 27852  		_ap = &ap[0]
 27853  	}
 27854  	return isZero(C.LAPACKE_ztrttp_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_ap)))
 27855  }
 27856  
 27857  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stzrzf.f.
 27858  func Stzrzf(m, n int, a []float32, lda int, tau, work []float32, lwork int) bool {
 27859  	var _a *float32
 27860  	if len(a) > 0 {
 27861  		_a = &a[0]
 27862  	}
 27863  	var _tau *float32
 27864  	if len(tau) > 0 {
 27865  		_tau = &tau[0]
 27866  	}
 27867  	var _work *float32
 27868  	if len(work) > 0 {
 27869  		_work = &work[0]
 27870  	}
 27871  	return isZero(C.LAPACKE_stzrzf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_tau), (*C.float)(_work), (C.lapack_int)(lwork)))
 27872  }
 27873  
 27874  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtzrzf.f.
 27875  func Dtzrzf(m, n int, a []float64, lda int, tau, work []float64, lwork int) bool {
 27876  	var _a *float64
 27877  	if len(a) > 0 {
 27878  		_a = &a[0]
 27879  	}
 27880  	var _tau *float64
 27881  	if len(tau) > 0 {
 27882  		_tau = &tau[0]
 27883  	}
 27884  	var _work *float64
 27885  	if len(work) > 0 {
 27886  		_work = &work[0]
 27887  	}
 27888  	return isZero(C.LAPACKE_dtzrzf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_tau), (*C.double)(_work), (C.lapack_int)(lwork)))
 27889  }
 27890  
 27891  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctzrzf.f.
 27892  func Ctzrzf(m, n int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
 27893  	var _a *complex64
 27894  	if len(a) > 0 {
 27895  		_a = &a[0]
 27896  	}
 27897  	var _tau *complex64
 27898  	if len(tau) > 0 {
 27899  		_tau = &tau[0]
 27900  	}
 27901  	var _work *complex64
 27902  	if len(work) > 0 {
 27903  		_work = &work[0]
 27904  	}
 27905  	return isZero(C.LAPACKE_ctzrzf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 27906  }
 27907  
 27908  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztzrzf.f.
 27909  func Ztzrzf(m, n int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
 27910  	var _a *complex128
 27911  	if len(a) > 0 {
 27912  		_a = &a[0]
 27913  	}
 27914  	var _tau *complex128
 27915  	if len(tau) > 0 {
 27916  		_tau = &tau[0]
 27917  	}
 27918  	var _work *complex128
 27919  	if len(work) > 0 {
 27920  		_work = &work[0]
 27921  	}
 27922  	return isZero(C.LAPACKE_ztzrzf_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 27923  }
 27924  
 27925  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cungbr.f.
 27926  func Cungbr(vect byte, m, n, k int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
 27927  	var _a *complex64
 27928  	if len(a) > 0 {
 27929  		_a = &a[0]
 27930  	}
 27931  	var _tau *complex64
 27932  	if len(tau) > 0 {
 27933  		_tau = &tau[0]
 27934  	}
 27935  	var _work *complex64
 27936  	if len(work) > 0 {
 27937  		_work = &work[0]
 27938  	}
 27939  	return isZero(C.LAPACKE_cungbr_work((C.int)(rowMajor), (C.char)(vect), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 27940  }
 27941  
 27942  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zungbr.f.
 27943  func Zungbr(vect byte, m, n, k int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
 27944  	var _a *complex128
 27945  	if len(a) > 0 {
 27946  		_a = &a[0]
 27947  	}
 27948  	var _tau *complex128
 27949  	if len(tau) > 0 {
 27950  		_tau = &tau[0]
 27951  	}
 27952  	var _work *complex128
 27953  	if len(work) > 0 {
 27954  		_work = &work[0]
 27955  	}
 27956  	return isZero(C.LAPACKE_zungbr_work((C.int)(rowMajor), (C.char)(vect), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 27957  }
 27958  
 27959  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunghr.f.
 27960  func Cunghr(n, ilo, ihi int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
 27961  	var _a *complex64
 27962  	if len(a) > 0 {
 27963  		_a = &a[0]
 27964  	}
 27965  	var _tau *complex64
 27966  	if len(tau) > 0 {
 27967  		_tau = &tau[0]
 27968  	}
 27969  	var _work *complex64
 27970  	if len(work) > 0 {
 27971  		_work = &work[0]
 27972  	}
 27973  	return isZero(C.LAPACKE_cunghr_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 27974  }
 27975  
 27976  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunghr.f.
 27977  func Zunghr(n, ilo, ihi int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
 27978  	var _a *complex128
 27979  	if len(a) > 0 {
 27980  		_a = &a[0]
 27981  	}
 27982  	var _tau *complex128
 27983  	if len(tau) > 0 {
 27984  		_tau = &tau[0]
 27985  	}
 27986  	var _work *complex128
 27987  	if len(work) > 0 {
 27988  		_work = &work[0]
 27989  	}
 27990  	return isZero(C.LAPACKE_zunghr_work((C.int)(rowMajor), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 27991  }
 27992  
 27993  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunglq.f.
 27994  func Cunglq(m, n, k int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
 27995  	var _a *complex64
 27996  	if len(a) > 0 {
 27997  		_a = &a[0]
 27998  	}
 27999  	var _tau *complex64
 28000  	if len(tau) > 0 {
 28001  		_tau = &tau[0]
 28002  	}
 28003  	var _work *complex64
 28004  	if len(work) > 0 {
 28005  		_work = &work[0]
 28006  	}
 28007  	return isZero(C.LAPACKE_cunglq_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28008  }
 28009  
 28010  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunglq.f.
 28011  func Zunglq(m, n, k int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
 28012  	var _a *complex128
 28013  	if len(a) > 0 {
 28014  		_a = &a[0]
 28015  	}
 28016  	var _tau *complex128
 28017  	if len(tau) > 0 {
 28018  		_tau = &tau[0]
 28019  	}
 28020  	var _work *complex128
 28021  	if len(work) > 0 {
 28022  		_work = &work[0]
 28023  	}
 28024  	return isZero(C.LAPACKE_zunglq_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28025  }
 28026  
 28027  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cungql.f.
 28028  func Cungql(m, n, k int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
 28029  	var _a *complex64
 28030  	if len(a) > 0 {
 28031  		_a = &a[0]
 28032  	}
 28033  	var _tau *complex64
 28034  	if len(tau) > 0 {
 28035  		_tau = &tau[0]
 28036  	}
 28037  	var _work *complex64
 28038  	if len(work) > 0 {
 28039  		_work = &work[0]
 28040  	}
 28041  	return isZero(C.LAPACKE_cungql_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28042  }
 28043  
 28044  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zungql.f.
 28045  func Zungql(m, n, k int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
 28046  	var _a *complex128
 28047  	if len(a) > 0 {
 28048  		_a = &a[0]
 28049  	}
 28050  	var _tau *complex128
 28051  	if len(tau) > 0 {
 28052  		_tau = &tau[0]
 28053  	}
 28054  	var _work *complex128
 28055  	if len(work) > 0 {
 28056  		_work = &work[0]
 28057  	}
 28058  	return isZero(C.LAPACKE_zungql_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28059  }
 28060  
 28061  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cungqr.f.
 28062  func Cungqr(m, n, k int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
 28063  	var _a *complex64
 28064  	if len(a) > 0 {
 28065  		_a = &a[0]
 28066  	}
 28067  	var _tau *complex64
 28068  	if len(tau) > 0 {
 28069  		_tau = &tau[0]
 28070  	}
 28071  	var _work *complex64
 28072  	if len(work) > 0 {
 28073  		_work = &work[0]
 28074  	}
 28075  	return isZero(C.LAPACKE_cungqr_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28076  }
 28077  
 28078  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zungqr.f.
 28079  func Zungqr(m, n, k int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
 28080  	var _a *complex128
 28081  	if len(a) > 0 {
 28082  		_a = &a[0]
 28083  	}
 28084  	var _tau *complex128
 28085  	if len(tau) > 0 {
 28086  		_tau = &tau[0]
 28087  	}
 28088  	var _work *complex128
 28089  	if len(work) > 0 {
 28090  		_work = &work[0]
 28091  	}
 28092  	return isZero(C.LAPACKE_zungqr_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28093  }
 28094  
 28095  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cungrq.f.
 28096  func Cungrq(m, n, k int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
 28097  	var _a *complex64
 28098  	if len(a) > 0 {
 28099  		_a = &a[0]
 28100  	}
 28101  	var _tau *complex64
 28102  	if len(tau) > 0 {
 28103  		_tau = &tau[0]
 28104  	}
 28105  	var _work *complex64
 28106  	if len(work) > 0 {
 28107  		_work = &work[0]
 28108  	}
 28109  	return isZero(C.LAPACKE_cungrq_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28110  }
 28111  
 28112  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zungrq.f.
 28113  func Zungrq(m, n, k int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
 28114  	var _a *complex128
 28115  	if len(a) > 0 {
 28116  		_a = &a[0]
 28117  	}
 28118  	var _tau *complex128
 28119  	if len(tau) > 0 {
 28120  		_tau = &tau[0]
 28121  	}
 28122  	var _work *complex128
 28123  	if len(work) > 0 {
 28124  		_work = &work[0]
 28125  	}
 28126  	return isZero(C.LAPACKE_zungrq_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28127  }
 28128  
 28129  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cungtr.f.
 28130  func Cungtr(ul blas.Uplo, n int, a []complex64, lda int, tau, work []complex64, lwork int) bool {
 28131  	switch ul {
 28132  	case blas.Upper:
 28133  		ul = 'U'
 28134  	case blas.Lower:
 28135  		ul = 'L'
 28136  	default:
 28137  		panic("lapack: illegal triangle")
 28138  	}
 28139  	var _a *complex64
 28140  	if len(a) > 0 {
 28141  		_a = &a[0]
 28142  	}
 28143  	var _tau *complex64
 28144  	if len(tau) > 0 {
 28145  		_tau = &tau[0]
 28146  	}
 28147  	var _work *complex64
 28148  	if len(work) > 0 {
 28149  		_work = &work[0]
 28150  	}
 28151  	return isZero(C.LAPACKE_cungtr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28152  }
 28153  
 28154  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zungtr.f.
 28155  func Zungtr(ul blas.Uplo, n int, a []complex128, lda int, tau, work []complex128, lwork int) bool {
 28156  	switch ul {
 28157  	case blas.Upper:
 28158  		ul = 'U'
 28159  	case blas.Lower:
 28160  		ul = 'L'
 28161  	default:
 28162  		panic("lapack: illegal triangle")
 28163  	}
 28164  	var _a *complex128
 28165  	if len(a) > 0 {
 28166  		_a = &a[0]
 28167  	}
 28168  	var _tau *complex128
 28169  	if len(tau) > 0 {
 28170  		_tau = &tau[0]
 28171  	}
 28172  	var _work *complex128
 28173  	if len(work) > 0 {
 28174  		_work = &work[0]
 28175  	}
 28176  	return isZero(C.LAPACKE_zungtr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28177  }
 28178  
 28179  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmbr.f.
 28180  func Cunmbr(vect byte, side blas.Side, trans blas.Transpose, m, n, k int, a []complex64, lda int, tau, c []complex64, ldc int, work []complex64, lwork int) bool {
 28181  	switch side {
 28182  	case blas.Left:
 28183  		side = 'L'
 28184  	case blas.Right:
 28185  		side = 'R'
 28186  	default:
 28187  		panic("lapack: bad side")
 28188  	}
 28189  	switch trans {
 28190  	case blas.NoTrans:
 28191  		trans = 'N'
 28192  	case blas.Trans:
 28193  		trans = 'T'
 28194  	case blas.ConjTrans:
 28195  		trans = 'C'
 28196  	default:
 28197  		panic("lapack: bad trans")
 28198  	}
 28199  	var _a *complex64
 28200  	if len(a) > 0 {
 28201  		_a = &a[0]
 28202  	}
 28203  	var _tau *complex64
 28204  	if len(tau) > 0 {
 28205  		_tau = &tau[0]
 28206  	}
 28207  	var _c *complex64
 28208  	if len(c) > 0 {
 28209  		_c = &c[0]
 28210  	}
 28211  	var _work *complex64
 28212  	if len(work) > 0 {
 28213  		_work = &work[0]
 28214  	}
 28215  	return isZero(C.LAPACKE_cunmbr_work((C.int)(rowMajor), (C.char)(vect), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28216  }
 28217  
 28218  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunmbr.f.
 28219  func Zunmbr(vect byte, side blas.Side, trans blas.Transpose, m, n, k int, a []complex128, lda int, tau, c []complex128, ldc int, work []complex128, lwork int) bool {
 28220  	switch side {
 28221  	case blas.Left:
 28222  		side = 'L'
 28223  	case blas.Right:
 28224  		side = 'R'
 28225  	default:
 28226  		panic("lapack: bad side")
 28227  	}
 28228  	switch trans {
 28229  	case blas.NoTrans:
 28230  		trans = 'N'
 28231  	case blas.Trans:
 28232  		trans = 'T'
 28233  	case blas.ConjTrans:
 28234  		trans = 'C'
 28235  	default:
 28236  		panic("lapack: bad trans")
 28237  	}
 28238  	var _a *complex128
 28239  	if len(a) > 0 {
 28240  		_a = &a[0]
 28241  	}
 28242  	var _tau *complex128
 28243  	if len(tau) > 0 {
 28244  		_tau = &tau[0]
 28245  	}
 28246  	var _c *complex128
 28247  	if len(c) > 0 {
 28248  		_c = &c[0]
 28249  	}
 28250  	var _work *complex128
 28251  	if len(work) > 0 {
 28252  		_work = &work[0]
 28253  	}
 28254  	return isZero(C.LAPACKE_zunmbr_work((C.int)(rowMajor), (C.char)(vect), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28255  }
 28256  
 28257  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmhr.f.
 28258  func Cunmhr(side blas.Side, trans blas.Transpose, m, n, ilo, ihi int, a []complex64, lda int, tau, c []complex64, ldc int, work []complex64, lwork int) bool {
 28259  	switch side {
 28260  	case blas.Left:
 28261  		side = 'L'
 28262  	case blas.Right:
 28263  		side = 'R'
 28264  	default:
 28265  		panic("lapack: bad side")
 28266  	}
 28267  	switch trans {
 28268  	case blas.NoTrans:
 28269  		trans = 'N'
 28270  	case blas.Trans:
 28271  		trans = 'T'
 28272  	case blas.ConjTrans:
 28273  		trans = 'C'
 28274  	default:
 28275  		panic("lapack: bad trans")
 28276  	}
 28277  	var _a *complex64
 28278  	if len(a) > 0 {
 28279  		_a = &a[0]
 28280  	}
 28281  	var _tau *complex64
 28282  	if len(tau) > 0 {
 28283  		_tau = &tau[0]
 28284  	}
 28285  	var _c *complex64
 28286  	if len(c) > 0 {
 28287  		_c = &c[0]
 28288  	}
 28289  	var _work *complex64
 28290  	if len(work) > 0 {
 28291  		_work = &work[0]
 28292  	}
 28293  	return isZero(C.LAPACKE_cunmhr_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28294  }
 28295  
 28296  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunmhr.f.
 28297  func Zunmhr(side blas.Side, trans blas.Transpose, m, n, ilo, ihi int, a []complex128, lda int, tau, c []complex128, ldc int, work []complex128, lwork int) bool {
 28298  	switch side {
 28299  	case blas.Left:
 28300  		side = 'L'
 28301  	case blas.Right:
 28302  		side = 'R'
 28303  	default:
 28304  		panic("lapack: bad side")
 28305  	}
 28306  	switch trans {
 28307  	case blas.NoTrans:
 28308  		trans = 'N'
 28309  	case blas.Trans:
 28310  		trans = 'T'
 28311  	case blas.ConjTrans:
 28312  		trans = 'C'
 28313  	default:
 28314  		panic("lapack: bad trans")
 28315  	}
 28316  	var _a *complex128
 28317  	if len(a) > 0 {
 28318  		_a = &a[0]
 28319  	}
 28320  	var _tau *complex128
 28321  	if len(tau) > 0 {
 28322  		_tau = &tau[0]
 28323  	}
 28324  	var _c *complex128
 28325  	if len(c) > 0 {
 28326  		_c = &c[0]
 28327  	}
 28328  	var _work *complex128
 28329  	if len(work) > 0 {
 28330  		_work = &work[0]
 28331  	}
 28332  	return isZero(C.LAPACKE_zunmhr_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(ilo), (C.lapack_int)(ihi), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28333  }
 28334  
 28335  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmlq.f.
 28336  func Cunmlq(side blas.Side, trans blas.Transpose, m, n, k int, a []complex64, lda int, tau, c []complex64, ldc int, work []complex64, lwork int) bool {
 28337  	switch side {
 28338  	case blas.Left:
 28339  		side = 'L'
 28340  	case blas.Right:
 28341  		side = 'R'
 28342  	default:
 28343  		panic("lapack: bad side")
 28344  	}
 28345  	switch trans {
 28346  	case blas.NoTrans:
 28347  		trans = 'N'
 28348  	case blas.Trans:
 28349  		trans = 'T'
 28350  	case blas.ConjTrans:
 28351  		trans = 'C'
 28352  	default:
 28353  		panic("lapack: bad trans")
 28354  	}
 28355  	var _a *complex64
 28356  	if len(a) > 0 {
 28357  		_a = &a[0]
 28358  	}
 28359  	var _tau *complex64
 28360  	if len(tau) > 0 {
 28361  		_tau = &tau[0]
 28362  	}
 28363  	var _c *complex64
 28364  	if len(c) > 0 {
 28365  		_c = &c[0]
 28366  	}
 28367  	var _work *complex64
 28368  	if len(work) > 0 {
 28369  		_work = &work[0]
 28370  	}
 28371  	return isZero(C.LAPACKE_cunmlq_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28372  }
 28373  
 28374  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunmlq.f.
 28375  func Zunmlq(side blas.Side, trans blas.Transpose, m, n, k int, a []complex128, lda int, tau, c []complex128, ldc int, work []complex128, lwork int) bool {
 28376  	switch side {
 28377  	case blas.Left:
 28378  		side = 'L'
 28379  	case blas.Right:
 28380  		side = 'R'
 28381  	default:
 28382  		panic("lapack: bad side")
 28383  	}
 28384  	switch trans {
 28385  	case blas.NoTrans:
 28386  		trans = 'N'
 28387  	case blas.Trans:
 28388  		trans = 'T'
 28389  	case blas.ConjTrans:
 28390  		trans = 'C'
 28391  	default:
 28392  		panic("lapack: bad trans")
 28393  	}
 28394  	var _a *complex128
 28395  	if len(a) > 0 {
 28396  		_a = &a[0]
 28397  	}
 28398  	var _tau *complex128
 28399  	if len(tau) > 0 {
 28400  		_tau = &tau[0]
 28401  	}
 28402  	var _c *complex128
 28403  	if len(c) > 0 {
 28404  		_c = &c[0]
 28405  	}
 28406  	var _work *complex128
 28407  	if len(work) > 0 {
 28408  		_work = &work[0]
 28409  	}
 28410  	return isZero(C.LAPACKE_zunmlq_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28411  }
 28412  
 28413  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmql.f.
 28414  func Cunmql(side blas.Side, trans blas.Transpose, m, n, k int, a []complex64, lda int, tau, c []complex64, ldc int, work []complex64, lwork int) bool {
 28415  	switch side {
 28416  	case blas.Left:
 28417  		side = 'L'
 28418  	case blas.Right:
 28419  		side = 'R'
 28420  	default:
 28421  		panic("lapack: bad side")
 28422  	}
 28423  	switch trans {
 28424  	case blas.NoTrans:
 28425  		trans = 'N'
 28426  	case blas.Trans:
 28427  		trans = 'T'
 28428  	case blas.ConjTrans:
 28429  		trans = 'C'
 28430  	default:
 28431  		panic("lapack: bad trans")
 28432  	}
 28433  	var _a *complex64
 28434  	if len(a) > 0 {
 28435  		_a = &a[0]
 28436  	}
 28437  	var _tau *complex64
 28438  	if len(tau) > 0 {
 28439  		_tau = &tau[0]
 28440  	}
 28441  	var _c *complex64
 28442  	if len(c) > 0 {
 28443  		_c = &c[0]
 28444  	}
 28445  	var _work *complex64
 28446  	if len(work) > 0 {
 28447  		_work = &work[0]
 28448  	}
 28449  	return isZero(C.LAPACKE_cunmql_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28450  }
 28451  
 28452  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunmql.f.
 28453  func Zunmql(side blas.Side, trans blas.Transpose, m, n, k int, a []complex128, lda int, tau, c []complex128, ldc int, work []complex128, lwork int) bool {
 28454  	switch side {
 28455  	case blas.Left:
 28456  		side = 'L'
 28457  	case blas.Right:
 28458  		side = 'R'
 28459  	default:
 28460  		panic("lapack: bad side")
 28461  	}
 28462  	switch trans {
 28463  	case blas.NoTrans:
 28464  		trans = 'N'
 28465  	case blas.Trans:
 28466  		trans = 'T'
 28467  	case blas.ConjTrans:
 28468  		trans = 'C'
 28469  	default:
 28470  		panic("lapack: bad trans")
 28471  	}
 28472  	var _a *complex128
 28473  	if len(a) > 0 {
 28474  		_a = &a[0]
 28475  	}
 28476  	var _tau *complex128
 28477  	if len(tau) > 0 {
 28478  		_tau = &tau[0]
 28479  	}
 28480  	var _c *complex128
 28481  	if len(c) > 0 {
 28482  		_c = &c[0]
 28483  	}
 28484  	var _work *complex128
 28485  	if len(work) > 0 {
 28486  		_work = &work[0]
 28487  	}
 28488  	return isZero(C.LAPACKE_zunmql_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28489  }
 28490  
 28491  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmqr.f.
 28492  func Cunmqr(side blas.Side, trans blas.Transpose, m, n, k int, a []complex64, lda int, tau, c []complex64, ldc int, work []complex64, lwork int) bool {
 28493  	switch side {
 28494  	case blas.Left:
 28495  		side = 'L'
 28496  	case blas.Right:
 28497  		side = 'R'
 28498  	default:
 28499  		panic("lapack: bad side")
 28500  	}
 28501  	switch trans {
 28502  	case blas.NoTrans:
 28503  		trans = 'N'
 28504  	case blas.Trans:
 28505  		trans = 'T'
 28506  	case blas.ConjTrans:
 28507  		trans = 'C'
 28508  	default:
 28509  		panic("lapack: bad trans")
 28510  	}
 28511  	var _a *complex64
 28512  	if len(a) > 0 {
 28513  		_a = &a[0]
 28514  	}
 28515  	var _tau *complex64
 28516  	if len(tau) > 0 {
 28517  		_tau = &tau[0]
 28518  	}
 28519  	var _c *complex64
 28520  	if len(c) > 0 {
 28521  		_c = &c[0]
 28522  	}
 28523  	var _work *complex64
 28524  	if len(work) > 0 {
 28525  		_work = &work[0]
 28526  	}
 28527  	return isZero(C.LAPACKE_cunmqr_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28528  }
 28529  
 28530  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunmqr.f.
 28531  func Zunmqr(side blas.Side, trans blas.Transpose, m, n, k int, a []complex128, lda int, tau, c []complex128, ldc int, work []complex128, lwork int) bool {
 28532  	switch side {
 28533  	case blas.Left:
 28534  		side = 'L'
 28535  	case blas.Right:
 28536  		side = 'R'
 28537  	default:
 28538  		panic("lapack: bad side")
 28539  	}
 28540  	switch trans {
 28541  	case blas.NoTrans:
 28542  		trans = 'N'
 28543  	case blas.Trans:
 28544  		trans = 'T'
 28545  	case blas.ConjTrans:
 28546  		trans = 'C'
 28547  	default:
 28548  		panic("lapack: bad trans")
 28549  	}
 28550  	var _a *complex128
 28551  	if len(a) > 0 {
 28552  		_a = &a[0]
 28553  	}
 28554  	var _tau *complex128
 28555  	if len(tau) > 0 {
 28556  		_tau = &tau[0]
 28557  	}
 28558  	var _c *complex128
 28559  	if len(c) > 0 {
 28560  		_c = &c[0]
 28561  	}
 28562  	var _work *complex128
 28563  	if len(work) > 0 {
 28564  		_work = &work[0]
 28565  	}
 28566  	return isZero(C.LAPACKE_zunmqr_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28567  }
 28568  
 28569  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmrq.f.
 28570  func Cunmrq(side blas.Side, trans blas.Transpose, m, n, k int, a []complex64, lda int, tau, c []complex64, ldc int, work []complex64, lwork int) bool {
 28571  	switch side {
 28572  	case blas.Left:
 28573  		side = 'L'
 28574  	case blas.Right:
 28575  		side = 'R'
 28576  	default:
 28577  		panic("lapack: bad side")
 28578  	}
 28579  	switch trans {
 28580  	case blas.NoTrans:
 28581  		trans = 'N'
 28582  	case blas.Trans:
 28583  		trans = 'T'
 28584  	case blas.ConjTrans:
 28585  		trans = 'C'
 28586  	default:
 28587  		panic("lapack: bad trans")
 28588  	}
 28589  	var _a *complex64
 28590  	if len(a) > 0 {
 28591  		_a = &a[0]
 28592  	}
 28593  	var _tau *complex64
 28594  	if len(tau) > 0 {
 28595  		_tau = &tau[0]
 28596  	}
 28597  	var _c *complex64
 28598  	if len(c) > 0 {
 28599  		_c = &c[0]
 28600  	}
 28601  	var _work *complex64
 28602  	if len(work) > 0 {
 28603  		_work = &work[0]
 28604  	}
 28605  	return isZero(C.LAPACKE_cunmrq_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28606  }
 28607  
 28608  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunmrq.f.
 28609  func Zunmrq(side blas.Side, trans blas.Transpose, m, n, k int, a []complex128, lda int, tau, c []complex128, ldc int, work []complex128, lwork int) bool {
 28610  	switch side {
 28611  	case blas.Left:
 28612  		side = 'L'
 28613  	case blas.Right:
 28614  		side = 'R'
 28615  	default:
 28616  		panic("lapack: bad side")
 28617  	}
 28618  	switch trans {
 28619  	case blas.NoTrans:
 28620  		trans = 'N'
 28621  	case blas.Trans:
 28622  		trans = 'T'
 28623  	case blas.ConjTrans:
 28624  		trans = 'C'
 28625  	default:
 28626  		panic("lapack: bad trans")
 28627  	}
 28628  	var _a *complex128
 28629  	if len(a) > 0 {
 28630  		_a = &a[0]
 28631  	}
 28632  	var _tau *complex128
 28633  	if len(tau) > 0 {
 28634  		_tau = &tau[0]
 28635  	}
 28636  	var _c *complex128
 28637  	if len(c) > 0 {
 28638  		_c = &c[0]
 28639  	}
 28640  	var _work *complex128
 28641  	if len(work) > 0 {
 28642  		_work = &work[0]
 28643  	}
 28644  	return isZero(C.LAPACKE_zunmrq_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28645  }
 28646  
 28647  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmrz.f.
 28648  func Cunmrz(side blas.Side, trans blas.Transpose, m, n, k, l int, a []complex64, lda int, tau, c []complex64, ldc int, work []complex64, lwork int) bool {
 28649  	switch side {
 28650  	case blas.Left:
 28651  		side = 'L'
 28652  	case blas.Right:
 28653  		side = 'R'
 28654  	default:
 28655  		panic("lapack: bad side")
 28656  	}
 28657  	switch trans {
 28658  	case blas.NoTrans:
 28659  		trans = 'N'
 28660  	case blas.Trans:
 28661  		trans = 'T'
 28662  	case blas.ConjTrans:
 28663  		trans = 'C'
 28664  	default:
 28665  		panic("lapack: bad trans")
 28666  	}
 28667  	var _a *complex64
 28668  	if len(a) > 0 {
 28669  		_a = &a[0]
 28670  	}
 28671  	var _tau *complex64
 28672  	if len(tau) > 0 {
 28673  		_tau = &tau[0]
 28674  	}
 28675  	var _c *complex64
 28676  	if len(c) > 0 {
 28677  		_c = &c[0]
 28678  	}
 28679  	var _work *complex64
 28680  	if len(work) > 0 {
 28681  		_work = &work[0]
 28682  	}
 28683  	return isZero(C.LAPACKE_cunmrz_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28684  }
 28685  
 28686  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunmrz.f.
 28687  func Zunmrz(side blas.Side, trans blas.Transpose, m, n, k, l int, a []complex128, lda int, tau, c []complex128, ldc int, work []complex128, lwork int) bool {
 28688  	switch side {
 28689  	case blas.Left:
 28690  		side = 'L'
 28691  	case blas.Right:
 28692  		side = 'R'
 28693  	default:
 28694  		panic("lapack: bad side")
 28695  	}
 28696  	switch trans {
 28697  	case blas.NoTrans:
 28698  		trans = 'N'
 28699  	case blas.Trans:
 28700  		trans = 'T'
 28701  	case blas.ConjTrans:
 28702  		trans = 'C'
 28703  	default:
 28704  		panic("lapack: bad trans")
 28705  	}
 28706  	var _a *complex128
 28707  	if len(a) > 0 {
 28708  		_a = &a[0]
 28709  	}
 28710  	var _tau *complex128
 28711  	if len(tau) > 0 {
 28712  		_tau = &tau[0]
 28713  	}
 28714  	var _c *complex128
 28715  	if len(c) > 0 {
 28716  		_c = &c[0]
 28717  	}
 28718  	var _work *complex128
 28719  	if len(work) > 0 {
 28720  		_work = &work[0]
 28721  	}
 28722  	return isZero(C.LAPACKE_zunmrz_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28723  }
 28724  
 28725  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunmtr.f.
 28726  func Cunmtr(side blas.Side, ul blas.Uplo, trans blas.Transpose, m, n int, a []complex64, lda int, tau, c []complex64, ldc int, work []complex64, lwork int) bool {
 28727  	switch side {
 28728  	case blas.Left:
 28729  		side = 'L'
 28730  	case blas.Right:
 28731  		side = 'R'
 28732  	default:
 28733  		panic("lapack: bad side")
 28734  	}
 28735  	switch ul {
 28736  	case blas.Upper:
 28737  		ul = 'U'
 28738  	case blas.Lower:
 28739  		ul = 'L'
 28740  	default:
 28741  		panic("lapack: illegal triangle")
 28742  	}
 28743  	switch trans {
 28744  	case blas.NoTrans:
 28745  		trans = 'N'
 28746  	case blas.Trans:
 28747  		trans = 'T'
 28748  	case blas.ConjTrans:
 28749  		trans = 'C'
 28750  	default:
 28751  		panic("lapack: bad trans")
 28752  	}
 28753  	var _a *complex64
 28754  	if len(a) > 0 {
 28755  		_a = &a[0]
 28756  	}
 28757  	var _tau *complex64
 28758  	if len(tau) > 0 {
 28759  		_tau = &tau[0]
 28760  	}
 28761  	var _c *complex64
 28762  	if len(c) > 0 {
 28763  		_c = &c[0]
 28764  	}
 28765  	var _work *complex64
 28766  	if len(work) > 0 {
 28767  		_work = &work[0]
 28768  	}
 28769  	return isZero(C.LAPACKE_cunmtr_work((C.int)(rowMajor), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 28770  }
 28771  
 28772  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunmtr.f.
 28773  func Zunmtr(side blas.Side, ul blas.Uplo, trans blas.Transpose, m, n int, a []complex128, lda int, tau, c []complex128, ldc int, work []complex128, lwork int) bool {
 28774  	switch side {
 28775  	case blas.Left:
 28776  		side = 'L'
 28777  	case blas.Right:
 28778  		side = 'R'
 28779  	default:
 28780  		panic("lapack: bad side")
 28781  	}
 28782  	switch ul {
 28783  	case blas.Upper:
 28784  		ul = 'U'
 28785  	case blas.Lower:
 28786  		ul = 'L'
 28787  	default:
 28788  		panic("lapack: illegal triangle")
 28789  	}
 28790  	switch trans {
 28791  	case blas.NoTrans:
 28792  		trans = 'N'
 28793  	case blas.Trans:
 28794  		trans = 'T'
 28795  	case blas.ConjTrans:
 28796  		trans = 'C'
 28797  	default:
 28798  		panic("lapack: bad trans")
 28799  	}
 28800  	var _a *complex128
 28801  	if len(a) > 0 {
 28802  		_a = &a[0]
 28803  	}
 28804  	var _tau *complex128
 28805  	if len(tau) > 0 {
 28806  		_tau = &tau[0]
 28807  	}
 28808  	var _c *complex128
 28809  	if len(c) > 0 {
 28810  		_c = &c[0]
 28811  	}
 28812  	var _work *complex128
 28813  	if len(work) > 0 {
 28814  		_work = &work[0]
 28815  	}
 28816  	return isZero(C.LAPACKE_zunmtr_work((C.int)(rowMajor), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 28817  }
 28818  
 28819  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cupgtr.f.
 28820  func Cupgtr(ul blas.Uplo, n int, ap, tau, q []complex64, ldq int, work []complex64) bool {
 28821  	switch ul {
 28822  	case blas.Upper:
 28823  		ul = 'U'
 28824  	case blas.Lower:
 28825  		ul = 'L'
 28826  	default:
 28827  		panic("lapack: illegal triangle")
 28828  	}
 28829  	var _ap *complex64
 28830  	if len(ap) > 0 {
 28831  		_ap = &ap[0]
 28832  	}
 28833  	var _tau *complex64
 28834  	if len(tau) > 0 {
 28835  		_tau = &tau[0]
 28836  	}
 28837  	var _q *complex64
 28838  	if len(q) > 0 {
 28839  		_q = &q[0]
 28840  	}
 28841  	var _work *complex64
 28842  	if len(work) > 0 {
 28843  		_work = &work[0]
 28844  	}
 28845  	return isZero(C.LAPACKE_cupgtr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_float)(_work)))
 28846  }
 28847  
 28848  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zupgtr.f.
 28849  func Zupgtr(ul blas.Uplo, n int, ap, tau, q []complex128, ldq int, work []complex128) bool {
 28850  	switch ul {
 28851  	case blas.Upper:
 28852  		ul = 'U'
 28853  	case blas.Lower:
 28854  		ul = 'L'
 28855  	default:
 28856  		panic("lapack: illegal triangle")
 28857  	}
 28858  	var _ap *complex128
 28859  	if len(ap) > 0 {
 28860  		_ap = &ap[0]
 28861  	}
 28862  	var _tau *complex128
 28863  	if len(tau) > 0 {
 28864  		_tau = &tau[0]
 28865  	}
 28866  	var _q *complex128
 28867  	if len(q) > 0 {
 28868  		_q = &q[0]
 28869  	}
 28870  	var _work *complex128
 28871  	if len(work) > 0 {
 28872  		_work = &work[0]
 28873  	}
 28874  	return isZero(C.LAPACKE_zupgtr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_q), (C.lapack_int)(ldq), (*C.lapack_complex_double)(_work)))
 28875  }
 28876  
 28877  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cupmtr.f.
 28878  func Cupmtr(side blas.Side, ul blas.Uplo, trans blas.Transpose, m, n int, ap, tau, c []complex64, ldc int, work []complex64) bool {
 28879  	switch side {
 28880  	case blas.Left:
 28881  		side = 'L'
 28882  	case blas.Right:
 28883  		side = 'R'
 28884  	default:
 28885  		panic("lapack: bad side")
 28886  	}
 28887  	switch ul {
 28888  	case blas.Upper:
 28889  		ul = 'U'
 28890  	case blas.Lower:
 28891  		ul = 'L'
 28892  	default:
 28893  		panic("lapack: illegal triangle")
 28894  	}
 28895  	switch trans {
 28896  	case blas.NoTrans:
 28897  		trans = 'N'
 28898  	case blas.Trans:
 28899  		trans = 'T'
 28900  	case blas.ConjTrans:
 28901  		trans = 'C'
 28902  	default:
 28903  		panic("lapack: bad trans")
 28904  	}
 28905  	var _ap *complex64
 28906  	if len(ap) > 0 {
 28907  		_ap = &ap[0]
 28908  	}
 28909  	var _tau *complex64
 28910  	if len(tau) > 0 {
 28911  		_tau = &tau[0]
 28912  	}
 28913  	var _c *complex64
 28914  	if len(c) > 0 {
 28915  		_c = &c[0]
 28916  	}
 28917  	var _work *complex64
 28918  	if len(work) > 0 {
 28919  		_work = &work[0]
 28920  	}
 28921  	return isZero(C.LAPACKE_cupmtr_work((C.int)(rowMajor), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_ap), (*C.lapack_complex_float)(_tau), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work)))
 28922  }
 28923  
 28924  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zupmtr.f.
 28925  func Zupmtr(side blas.Side, ul blas.Uplo, trans blas.Transpose, m, n int, ap, tau, c []complex128, ldc int, work []complex128) bool {
 28926  	switch side {
 28927  	case blas.Left:
 28928  		side = 'L'
 28929  	case blas.Right:
 28930  		side = 'R'
 28931  	default:
 28932  		panic("lapack: bad side")
 28933  	}
 28934  	switch ul {
 28935  	case blas.Upper:
 28936  		ul = 'U'
 28937  	case blas.Lower:
 28938  		ul = 'L'
 28939  	default:
 28940  		panic("lapack: illegal triangle")
 28941  	}
 28942  	switch trans {
 28943  	case blas.NoTrans:
 28944  		trans = 'N'
 28945  	case blas.Trans:
 28946  		trans = 'T'
 28947  	case blas.ConjTrans:
 28948  		trans = 'C'
 28949  	default:
 28950  		panic("lapack: bad trans")
 28951  	}
 28952  	var _ap *complex128
 28953  	if len(ap) > 0 {
 28954  		_ap = &ap[0]
 28955  	}
 28956  	var _tau *complex128
 28957  	if len(tau) > 0 {
 28958  		_tau = &tau[0]
 28959  	}
 28960  	var _c *complex128
 28961  	if len(c) > 0 {
 28962  		_c = &c[0]
 28963  	}
 28964  	var _work *complex128
 28965  	if len(work) > 0 {
 28966  		_work = &work[0]
 28967  	}
 28968  	return isZero(C.LAPACKE_zupmtr_work((C.int)(rowMajor), (C.char)(side), (C.char)(ul), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_ap), (*C.lapack_complex_double)(_tau), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work)))
 28969  }
 28970  
 28971  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cbbcsd.f.
 28972  func Cbbcsd(jobu1, jobu2, jobv1t, jobv2t lapack.Job, trans blas.Transpose, m, p, q int, theta, phi []float32, u1 []complex64, ldu1 int, u2 []complex64, ldu2 int, v1t []complex64, ldv1t int, v2t []complex64, ldv2t int, b11d, b11e, b12d, b12e, b21d, b21e, b22d, b22e, rwork []float32, lrwork int) bool {
 28973  	switch trans {
 28974  	case blas.NoTrans:
 28975  		trans = 'N'
 28976  	case blas.Trans:
 28977  		trans = 'T'
 28978  	case blas.ConjTrans:
 28979  		trans = 'C'
 28980  	default:
 28981  		panic("lapack: bad trans")
 28982  	}
 28983  	var _theta *float32
 28984  	if len(theta) > 0 {
 28985  		_theta = &theta[0]
 28986  	}
 28987  	var _phi *float32
 28988  	if len(phi) > 0 {
 28989  		_phi = &phi[0]
 28990  	}
 28991  	var _u1 *complex64
 28992  	if len(u1) > 0 {
 28993  		_u1 = &u1[0]
 28994  	}
 28995  	var _u2 *complex64
 28996  	if len(u2) > 0 {
 28997  		_u2 = &u2[0]
 28998  	}
 28999  	var _v1t *complex64
 29000  	if len(v1t) > 0 {
 29001  		_v1t = &v1t[0]
 29002  	}
 29003  	var _v2t *complex64
 29004  	if len(v2t) > 0 {
 29005  		_v2t = &v2t[0]
 29006  	}
 29007  	var _b11d *float32
 29008  	if len(b11d) > 0 {
 29009  		_b11d = &b11d[0]
 29010  	}
 29011  	var _b11e *float32
 29012  	if len(b11e) > 0 {
 29013  		_b11e = &b11e[0]
 29014  	}
 29015  	var _b12d *float32
 29016  	if len(b12d) > 0 {
 29017  		_b12d = &b12d[0]
 29018  	}
 29019  	var _b12e *float32
 29020  	if len(b12e) > 0 {
 29021  		_b12e = &b12e[0]
 29022  	}
 29023  	var _b21d *float32
 29024  	if len(b21d) > 0 {
 29025  		_b21d = &b21d[0]
 29026  	}
 29027  	var _b21e *float32
 29028  	if len(b21e) > 0 {
 29029  		_b21e = &b21e[0]
 29030  	}
 29031  	var _b22d *float32
 29032  	if len(b22d) > 0 {
 29033  		_b22d = &b22d[0]
 29034  	}
 29035  	var _b22e *float32
 29036  	if len(b22e) > 0 {
 29037  		_b22e = &b22e[0]
 29038  	}
 29039  	var _rwork *float32
 29040  	if len(rwork) > 0 {
 29041  		_rwork = &rwork[0]
 29042  	}
 29043  	return isZero(C.LAPACKE_cbbcsd_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.char)(jobv2t), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.float)(_theta), (*C.float)(_phi), (*C.lapack_complex_float)(_u1), (C.lapack_int)(ldu1), (*C.lapack_complex_float)(_u2), (C.lapack_int)(ldu2), (*C.lapack_complex_float)(_v1t), (C.lapack_int)(ldv1t), (*C.lapack_complex_float)(_v2t), (C.lapack_int)(ldv2t), (*C.float)(_b11d), (*C.float)(_b11e), (*C.float)(_b12d), (*C.float)(_b12e), (*C.float)(_b21d), (*C.float)(_b21e), (*C.float)(_b22d), (*C.float)(_b22e), (*C.float)(_rwork), (C.lapack_int)(lrwork)))
 29044  }
 29045  
 29046  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cheswapr.f.
 29047  func Cheswapr(ul blas.Uplo, n int, a []complex64, i1, i2 int) bool {
 29048  	switch ul {
 29049  	case blas.Upper:
 29050  		ul = 'U'
 29051  	case blas.Lower:
 29052  		ul = 'L'
 29053  	default:
 29054  		panic("lapack: illegal triangle")
 29055  	}
 29056  	var _a *complex64
 29057  	if len(a) > 0 {
 29058  		_a = &a[0]
 29059  	}
 29060  	return isZero(C.LAPACKE_cheswapr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(i1), (C.lapack_int)(i2)))
 29061  }
 29062  
 29063  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chetri2.f.
 29064  func Chetri2(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, work []complex64, lwork int) bool {
 29065  	switch ul {
 29066  	case blas.Upper:
 29067  		ul = 'U'
 29068  	case blas.Lower:
 29069  		ul = 'L'
 29070  	default:
 29071  		panic("lapack: illegal triangle")
 29072  	}
 29073  	var _a *complex64
 29074  	if len(a) > 0 {
 29075  		_a = &a[0]
 29076  	}
 29077  	var _ipiv *int32
 29078  	if len(ipiv) > 0 {
 29079  		_ipiv = &ipiv[0]
 29080  	}
 29081  	var _work *complex64
 29082  	if len(work) > 0 {
 29083  		_work = &work[0]
 29084  	}
 29085  	return isZero(C.LAPACKE_chetri2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 29086  }
 29087  
 29088  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chetri2x.f.
 29089  func Chetri2x(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, work []complex64, nb int) bool {
 29090  	switch ul {
 29091  	case blas.Upper:
 29092  		ul = 'U'
 29093  	case blas.Lower:
 29094  		ul = 'L'
 29095  	default:
 29096  		panic("lapack: illegal triangle")
 29097  	}
 29098  	var _a *complex64
 29099  	if len(a) > 0 {
 29100  		_a = &a[0]
 29101  	}
 29102  	var _ipiv *int32
 29103  	if len(ipiv) > 0 {
 29104  		_ipiv = &ipiv[0]
 29105  	}
 29106  	var _work *complex64
 29107  	if len(work) > 0 {
 29108  		_work = &work[0]
 29109  	}
 29110  	return isZero(C.LAPACKE_chetri2x_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work), (C.lapack_int)(nb)))
 29111  }
 29112  
 29113  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/chetrs2.f.
 29114  func Chetrs2(ul blas.Uplo, n, nrhs int, a []complex64, lda int, ipiv []int32, b []complex64, ldb int, work []complex64) bool {
 29115  	switch ul {
 29116  	case blas.Upper:
 29117  		ul = 'U'
 29118  	case blas.Lower:
 29119  		ul = 'L'
 29120  	default:
 29121  		panic("lapack: illegal triangle")
 29122  	}
 29123  	var _a *complex64
 29124  	if len(a) > 0 {
 29125  		_a = &a[0]
 29126  	}
 29127  	var _ipiv *int32
 29128  	if len(ipiv) > 0 {
 29129  		_ipiv = &ipiv[0]
 29130  	}
 29131  	var _b *complex64
 29132  	if len(b) > 0 {
 29133  		_b = &b[0]
 29134  	}
 29135  	var _work *complex64
 29136  	if len(work) > 0 {
 29137  		_work = &work[0]
 29138  	}
 29139  	return isZero(C.LAPACKE_chetrs2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_work)))
 29140  }
 29141  
 29142  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csyconv.f.
 29143  func Csyconv(ul blas.Uplo, way byte, n int, a []complex64, lda int, ipiv []int32, work []complex64) bool {
 29144  	switch ul {
 29145  	case blas.Upper:
 29146  		ul = 'U'
 29147  	case blas.Lower:
 29148  		ul = 'L'
 29149  	default:
 29150  		panic("lapack: illegal triangle")
 29151  	}
 29152  	var _a *complex64
 29153  	if len(a) > 0 {
 29154  		_a = &a[0]
 29155  	}
 29156  	var _ipiv *int32
 29157  	if len(ipiv) > 0 {
 29158  		_ipiv = &ipiv[0]
 29159  	}
 29160  	var _work *complex64
 29161  	if len(work) > 0 {
 29162  		_work = &work[0]
 29163  	}
 29164  	return isZero(C.LAPACKE_csyconv_work((C.int)(rowMajor), (C.char)(ul), (C.char)(way), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work)))
 29165  }
 29166  
 29167  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csyswapr.f.
 29168  func Csyswapr(ul blas.Uplo, n int, a []complex64, i1, i2 int) bool {
 29169  	switch ul {
 29170  	case blas.Upper:
 29171  		ul = 'U'
 29172  	case blas.Lower:
 29173  		ul = 'L'
 29174  	default:
 29175  		panic("lapack: illegal triangle")
 29176  	}
 29177  	var _a *complex64
 29178  	if len(a) > 0 {
 29179  		_a = &a[0]
 29180  	}
 29181  	return isZero(C.LAPACKE_csyswapr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(i1), (C.lapack_int)(i2)))
 29182  }
 29183  
 29184  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csytri2.f.
 29185  func Csytri2(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, work []complex64, lwork int) bool {
 29186  	switch ul {
 29187  	case blas.Upper:
 29188  		ul = 'U'
 29189  	case blas.Lower:
 29190  		ul = 'L'
 29191  	default:
 29192  		panic("lapack: illegal triangle")
 29193  	}
 29194  	var _a *complex64
 29195  	if len(a) > 0 {
 29196  		_a = &a[0]
 29197  	}
 29198  	var _ipiv *int32
 29199  	if len(ipiv) > 0 {
 29200  		_ipiv = &ipiv[0]
 29201  	}
 29202  	var _work *complex64
 29203  	if len(work) > 0 {
 29204  		_work = &work[0]
 29205  	}
 29206  	return isZero(C.LAPACKE_csytri2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 29207  }
 29208  
 29209  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csytri2x.f.
 29210  func Csytri2x(ul blas.Uplo, n int, a []complex64, lda int, ipiv []int32, work []complex64, nb int) bool {
 29211  	switch ul {
 29212  	case blas.Upper:
 29213  		ul = 'U'
 29214  	case blas.Lower:
 29215  		ul = 'L'
 29216  	default:
 29217  		panic("lapack: illegal triangle")
 29218  	}
 29219  	var _a *complex64
 29220  	if len(a) > 0 {
 29221  		_a = &a[0]
 29222  	}
 29223  	var _ipiv *int32
 29224  	if len(ipiv) > 0 {
 29225  		_ipiv = &ipiv[0]
 29226  	}
 29227  	var _work *complex64
 29228  	if len(work) > 0 {
 29229  		_work = &work[0]
 29230  	}
 29231  	return isZero(C.LAPACKE_csytri2x_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work), (C.lapack_int)(nb)))
 29232  }
 29233  
 29234  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csytrs2.f.
 29235  func Csytrs2(ul blas.Uplo, n, nrhs int, a []complex64, lda int, ipiv []int32, b []complex64, ldb int, work []complex64) bool {
 29236  	switch ul {
 29237  	case blas.Upper:
 29238  		ul = 'U'
 29239  	case blas.Lower:
 29240  		ul = 'L'
 29241  	default:
 29242  		panic("lapack: illegal triangle")
 29243  	}
 29244  	var _a *complex64
 29245  	if len(a) > 0 {
 29246  		_a = &a[0]
 29247  	}
 29248  	var _ipiv *int32
 29249  	if len(ipiv) > 0 {
 29250  		_ipiv = &ipiv[0]
 29251  	}
 29252  	var _b *complex64
 29253  	if len(b) > 0 {
 29254  		_b = &b[0]
 29255  	}
 29256  	var _work *complex64
 29257  	if len(work) > 0 {
 29258  		_work = &work[0]
 29259  	}
 29260  	return isZero(C.LAPACKE_csytrs2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_work)))
 29261  }
 29262  
 29263  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cunbdb.f.
 29264  func Cunbdb(trans blas.Transpose, signs byte, m, p, q int, x11 []complex64, ldx11 int, x12 []complex64, ldx12 int, x21 []complex64, ldx21 int, x22 []complex64, ldx22 int, theta, phi []float32, taup1, taup2, tauq1, tauq2, work []complex64, lwork int) bool {
 29265  	switch trans {
 29266  	case blas.NoTrans:
 29267  		trans = 'N'
 29268  	case blas.Trans:
 29269  		trans = 'T'
 29270  	case blas.ConjTrans:
 29271  		trans = 'C'
 29272  	default:
 29273  		panic("lapack: bad trans")
 29274  	}
 29275  	var _x11 *complex64
 29276  	if len(x11) > 0 {
 29277  		_x11 = &x11[0]
 29278  	}
 29279  	var _x12 *complex64
 29280  	if len(x12) > 0 {
 29281  		_x12 = &x12[0]
 29282  	}
 29283  	var _x21 *complex64
 29284  	if len(x21) > 0 {
 29285  		_x21 = &x21[0]
 29286  	}
 29287  	var _x22 *complex64
 29288  	if len(x22) > 0 {
 29289  		_x22 = &x22[0]
 29290  	}
 29291  	var _theta *float32
 29292  	if len(theta) > 0 {
 29293  		_theta = &theta[0]
 29294  	}
 29295  	var _phi *float32
 29296  	if len(phi) > 0 {
 29297  		_phi = &phi[0]
 29298  	}
 29299  	var _taup1 *complex64
 29300  	if len(taup1) > 0 {
 29301  		_taup1 = &taup1[0]
 29302  	}
 29303  	var _taup2 *complex64
 29304  	if len(taup2) > 0 {
 29305  		_taup2 = &taup2[0]
 29306  	}
 29307  	var _tauq1 *complex64
 29308  	if len(tauq1) > 0 {
 29309  		_tauq1 = &tauq1[0]
 29310  	}
 29311  	var _tauq2 *complex64
 29312  	if len(tauq2) > 0 {
 29313  		_tauq2 = &tauq2[0]
 29314  	}
 29315  	var _work *complex64
 29316  	if len(work) > 0 {
 29317  		_work = &work[0]
 29318  	}
 29319  	return isZero(C.LAPACKE_cunbdb_work((C.int)(rowMajor), (C.char)(trans), (C.char)(signs), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.lapack_complex_float)(_x11), (C.lapack_int)(ldx11), (*C.lapack_complex_float)(_x12), (C.lapack_int)(ldx12), (*C.lapack_complex_float)(_x21), (C.lapack_int)(ldx21), (*C.lapack_complex_float)(_x22), (C.lapack_int)(ldx22), (*C.float)(_theta), (*C.float)(_phi), (*C.lapack_complex_float)(_taup1), (*C.lapack_complex_float)(_taup2), (*C.lapack_complex_float)(_tauq1), (*C.lapack_complex_float)(_tauq2), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 29320  }
 29321  
 29322  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cuncsd.f.
 29323  func Cuncsd(jobu1, jobu2, jobv1t, jobv2t lapack.Job, trans blas.Transpose, signs byte, m, p, q int, x11 []complex64, ldx11 int, x12 []complex64, ldx12 int, x21 []complex64, ldx21 int, x22 []complex64, ldx22 int, theta []float32, u1 []complex64, ldu1 int, u2 []complex64, ldu2 int, v1t []complex64, ldv1t int, v2t []complex64, ldv2t int, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32) bool {
 29324  	switch trans {
 29325  	case blas.NoTrans:
 29326  		trans = 'N'
 29327  	case blas.Trans:
 29328  		trans = 'T'
 29329  	case blas.ConjTrans:
 29330  		trans = 'C'
 29331  	default:
 29332  		panic("lapack: bad trans")
 29333  	}
 29334  	var _x11 *complex64
 29335  	if len(x11) > 0 {
 29336  		_x11 = &x11[0]
 29337  	}
 29338  	var _x12 *complex64
 29339  	if len(x12) > 0 {
 29340  		_x12 = &x12[0]
 29341  	}
 29342  	var _x21 *complex64
 29343  	if len(x21) > 0 {
 29344  		_x21 = &x21[0]
 29345  	}
 29346  	var _x22 *complex64
 29347  	if len(x22) > 0 {
 29348  		_x22 = &x22[0]
 29349  	}
 29350  	var _theta *float32
 29351  	if len(theta) > 0 {
 29352  		_theta = &theta[0]
 29353  	}
 29354  	var _u1 *complex64
 29355  	if len(u1) > 0 {
 29356  		_u1 = &u1[0]
 29357  	}
 29358  	var _u2 *complex64
 29359  	if len(u2) > 0 {
 29360  		_u2 = &u2[0]
 29361  	}
 29362  	var _v1t *complex64
 29363  	if len(v1t) > 0 {
 29364  		_v1t = &v1t[0]
 29365  	}
 29366  	var _v2t *complex64
 29367  	if len(v2t) > 0 {
 29368  		_v2t = &v2t[0]
 29369  	}
 29370  	var _work *complex64
 29371  	if len(work) > 0 {
 29372  		_work = &work[0]
 29373  	}
 29374  	var _rwork *float32
 29375  	if len(rwork) > 0 {
 29376  		_rwork = &rwork[0]
 29377  	}
 29378  	var _iwork *int32
 29379  	if len(iwork) > 0 {
 29380  		_iwork = &iwork[0]
 29381  	}
 29382  	return isZero(C.LAPACKE_cuncsd_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.char)(jobv2t), (C.char)(trans), (C.char)(signs), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.lapack_complex_float)(_x11), (C.lapack_int)(ldx11), (*C.lapack_complex_float)(_x12), (C.lapack_int)(ldx12), (*C.lapack_complex_float)(_x21), (C.lapack_int)(ldx21), (*C.lapack_complex_float)(_x22), (C.lapack_int)(ldx22), (*C.float)(_theta), (*C.lapack_complex_float)(_u1), (C.lapack_int)(ldu1), (*C.lapack_complex_float)(_u2), (C.lapack_int)(ldu2), (*C.lapack_complex_float)(_v1t), (C.lapack_int)(ldv1t), (*C.lapack_complex_float)(_v2t), (C.lapack_int)(ldv2t), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork)))
 29383  }
 29384  
 29385  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cuncsd2by1.f.
 29386  func Cuncsd2by1(jobu1, jobu2, jobv1t lapack.Job, m, p, q int, x11 []complex64, ldx11 int, x21 []complex64, ldx21 int, theta, u1 []complex64, ldu1 int, u2 []complex64, ldu2 int, v1t []complex64, ldv1t int, work []complex64, lwork int, rwork []float32, lrwork int, iwork []int32) bool {
 29387  	var _x11 *complex64
 29388  	if len(x11) > 0 {
 29389  		_x11 = &x11[0]
 29390  	}
 29391  	var _x21 *complex64
 29392  	if len(x21) > 0 {
 29393  		_x21 = &x21[0]
 29394  	}
 29395  	var _theta *complex64
 29396  	if len(theta) > 0 {
 29397  		_theta = &theta[0]
 29398  	}
 29399  	var _u1 *complex64
 29400  	if len(u1) > 0 {
 29401  		_u1 = &u1[0]
 29402  	}
 29403  	var _u2 *complex64
 29404  	if len(u2) > 0 {
 29405  		_u2 = &u2[0]
 29406  	}
 29407  	var _v1t *complex64
 29408  	if len(v1t) > 0 {
 29409  		_v1t = &v1t[0]
 29410  	}
 29411  	var _work *complex64
 29412  	if len(work) > 0 {
 29413  		_work = &work[0]
 29414  	}
 29415  	var _rwork *float32
 29416  	if len(rwork) > 0 {
 29417  		_rwork = &rwork[0]
 29418  	}
 29419  	var _iwork *int32
 29420  	if len(iwork) > 0 {
 29421  		_iwork = &iwork[0]
 29422  	}
 29423  	return isZero(C.LAPACKE_cuncsd2by1_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.lapack_complex_float)(_x11), (C.lapack_int)(ldx11), (*C.lapack_complex_float)(_x21), (C.lapack_int)(ldx21), (*C.lapack_complex_float)(_theta), (*C.lapack_complex_float)(_u1), (C.lapack_int)(ldu1), (*C.lapack_complex_float)(_u2), (C.lapack_int)(ldu2), (*C.lapack_complex_float)(_v1t), (C.lapack_int)(ldv1t), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork), (*C.float)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork)))
 29424  }
 29425  
 29426  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dbbcsd.f.
 29427  func Dbbcsd(jobu1, jobu2, jobv1t, jobv2t lapack.Job, trans blas.Transpose, m, p, q int, theta, phi, u1 []float64, ldu1 int, u2 []float64, ldu2 int, v1t []float64, ldv1t int, v2t []float64, ldv2t int, b11d, b11e, b12d, b12e, b21d, b21e, b22d, b22e, work []float64, lwork int) bool {
 29428  	switch trans {
 29429  	case blas.NoTrans:
 29430  		trans = 'N'
 29431  	case blas.Trans:
 29432  		trans = 'T'
 29433  	case blas.ConjTrans:
 29434  		trans = 'C'
 29435  	default:
 29436  		panic("lapack: bad trans")
 29437  	}
 29438  	var _theta *float64
 29439  	if len(theta) > 0 {
 29440  		_theta = &theta[0]
 29441  	}
 29442  	var _phi *float64
 29443  	if len(phi) > 0 {
 29444  		_phi = &phi[0]
 29445  	}
 29446  	var _u1 *float64
 29447  	if len(u1) > 0 {
 29448  		_u1 = &u1[0]
 29449  	}
 29450  	var _u2 *float64
 29451  	if len(u2) > 0 {
 29452  		_u2 = &u2[0]
 29453  	}
 29454  	var _v1t *float64
 29455  	if len(v1t) > 0 {
 29456  		_v1t = &v1t[0]
 29457  	}
 29458  	var _v2t *float64
 29459  	if len(v2t) > 0 {
 29460  		_v2t = &v2t[0]
 29461  	}
 29462  	var _b11d *float64
 29463  	if len(b11d) > 0 {
 29464  		_b11d = &b11d[0]
 29465  	}
 29466  	var _b11e *float64
 29467  	if len(b11e) > 0 {
 29468  		_b11e = &b11e[0]
 29469  	}
 29470  	var _b12d *float64
 29471  	if len(b12d) > 0 {
 29472  		_b12d = &b12d[0]
 29473  	}
 29474  	var _b12e *float64
 29475  	if len(b12e) > 0 {
 29476  		_b12e = &b12e[0]
 29477  	}
 29478  	var _b21d *float64
 29479  	if len(b21d) > 0 {
 29480  		_b21d = &b21d[0]
 29481  	}
 29482  	var _b21e *float64
 29483  	if len(b21e) > 0 {
 29484  		_b21e = &b21e[0]
 29485  	}
 29486  	var _b22d *float64
 29487  	if len(b22d) > 0 {
 29488  		_b22d = &b22d[0]
 29489  	}
 29490  	var _b22e *float64
 29491  	if len(b22e) > 0 {
 29492  		_b22e = &b22e[0]
 29493  	}
 29494  	var _work *float64
 29495  	if len(work) > 0 {
 29496  		_work = &work[0]
 29497  	}
 29498  	return isZero(C.LAPACKE_dbbcsd_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.char)(jobv2t), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.double)(_theta), (*C.double)(_phi), (*C.double)(_u1), (C.lapack_int)(ldu1), (*C.double)(_u2), (C.lapack_int)(ldu2), (*C.double)(_v1t), (C.lapack_int)(ldv1t), (*C.double)(_v2t), (C.lapack_int)(ldv2t), (*C.double)(_b11d), (*C.double)(_b11e), (*C.double)(_b12d), (*C.double)(_b12e), (*C.double)(_b21d), (*C.double)(_b21e), (*C.double)(_b22d), (*C.double)(_b22e), (*C.double)(_work), (C.lapack_int)(lwork)))
 29499  }
 29500  
 29501  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorbdb.f.
 29502  func Dorbdb(trans blas.Transpose, signs byte, m, p, q int, x11 []float64, ldx11 int, x12 []float64, ldx12 int, x21 []float64, ldx21 int, x22 []float64, ldx22 int, theta, phi, taup1, taup2, tauq1, tauq2, work []float64, lwork int) bool {
 29503  	switch trans {
 29504  	case blas.NoTrans:
 29505  		trans = 'N'
 29506  	case blas.Trans:
 29507  		trans = 'T'
 29508  	case blas.ConjTrans:
 29509  		trans = 'C'
 29510  	default:
 29511  		panic("lapack: bad trans")
 29512  	}
 29513  	var _x11 *float64
 29514  	if len(x11) > 0 {
 29515  		_x11 = &x11[0]
 29516  	}
 29517  	var _x12 *float64
 29518  	if len(x12) > 0 {
 29519  		_x12 = &x12[0]
 29520  	}
 29521  	var _x21 *float64
 29522  	if len(x21) > 0 {
 29523  		_x21 = &x21[0]
 29524  	}
 29525  	var _x22 *float64
 29526  	if len(x22) > 0 {
 29527  		_x22 = &x22[0]
 29528  	}
 29529  	var _theta *float64
 29530  	if len(theta) > 0 {
 29531  		_theta = &theta[0]
 29532  	}
 29533  	var _phi *float64
 29534  	if len(phi) > 0 {
 29535  		_phi = &phi[0]
 29536  	}
 29537  	var _taup1 *float64
 29538  	if len(taup1) > 0 {
 29539  		_taup1 = &taup1[0]
 29540  	}
 29541  	var _taup2 *float64
 29542  	if len(taup2) > 0 {
 29543  		_taup2 = &taup2[0]
 29544  	}
 29545  	var _tauq1 *float64
 29546  	if len(tauq1) > 0 {
 29547  		_tauq1 = &tauq1[0]
 29548  	}
 29549  	var _tauq2 *float64
 29550  	if len(tauq2) > 0 {
 29551  		_tauq2 = &tauq2[0]
 29552  	}
 29553  	var _work *float64
 29554  	if len(work) > 0 {
 29555  		_work = &work[0]
 29556  	}
 29557  	return isZero(C.LAPACKE_dorbdb_work((C.int)(rowMajor), (C.char)(trans), (C.char)(signs), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.double)(_x11), (C.lapack_int)(ldx11), (*C.double)(_x12), (C.lapack_int)(ldx12), (*C.double)(_x21), (C.lapack_int)(ldx21), (*C.double)(_x22), (C.lapack_int)(ldx22), (*C.double)(_theta), (*C.double)(_phi), (*C.double)(_taup1), (*C.double)(_taup2), (*C.double)(_tauq1), (*C.double)(_tauq2), (*C.double)(_work), (C.lapack_int)(lwork)))
 29558  }
 29559  
 29560  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorcsd.f.
 29561  func Dorcsd(jobu1, jobu2, jobv1t, jobv2t lapack.Job, trans blas.Transpose, signs byte, m, p, q int, x11 []float64, ldx11 int, x12 []float64, ldx12 int, x21 []float64, ldx21 int, x22 []float64, ldx22 int, theta, u1 []float64, ldu1 int, u2 []float64, ldu2 int, v1t []float64, ldv1t int, v2t []float64, ldv2t int, work []float64, lwork int, iwork []int32) bool {
 29562  	switch trans {
 29563  	case blas.NoTrans:
 29564  		trans = 'N'
 29565  	case blas.Trans:
 29566  		trans = 'T'
 29567  	case blas.ConjTrans:
 29568  		trans = 'C'
 29569  	default:
 29570  		panic("lapack: bad trans")
 29571  	}
 29572  	var _x11 *float64
 29573  	if len(x11) > 0 {
 29574  		_x11 = &x11[0]
 29575  	}
 29576  	var _x12 *float64
 29577  	if len(x12) > 0 {
 29578  		_x12 = &x12[0]
 29579  	}
 29580  	var _x21 *float64
 29581  	if len(x21) > 0 {
 29582  		_x21 = &x21[0]
 29583  	}
 29584  	var _x22 *float64
 29585  	if len(x22) > 0 {
 29586  		_x22 = &x22[0]
 29587  	}
 29588  	var _theta *float64
 29589  	if len(theta) > 0 {
 29590  		_theta = &theta[0]
 29591  	}
 29592  	var _u1 *float64
 29593  	if len(u1) > 0 {
 29594  		_u1 = &u1[0]
 29595  	}
 29596  	var _u2 *float64
 29597  	if len(u2) > 0 {
 29598  		_u2 = &u2[0]
 29599  	}
 29600  	var _v1t *float64
 29601  	if len(v1t) > 0 {
 29602  		_v1t = &v1t[0]
 29603  	}
 29604  	var _v2t *float64
 29605  	if len(v2t) > 0 {
 29606  		_v2t = &v2t[0]
 29607  	}
 29608  	var _work *float64
 29609  	if len(work) > 0 {
 29610  		_work = &work[0]
 29611  	}
 29612  	var _iwork *int32
 29613  	if len(iwork) > 0 {
 29614  		_iwork = &iwork[0]
 29615  	}
 29616  	return isZero(C.LAPACKE_dorcsd_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.char)(jobv2t), (C.char)(trans), (C.char)(signs), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.double)(_x11), (C.lapack_int)(ldx11), (*C.double)(_x12), (C.lapack_int)(ldx12), (*C.double)(_x21), (C.lapack_int)(ldx21), (*C.double)(_x22), (C.lapack_int)(ldx22), (*C.double)(_theta), (*C.double)(_u1), (C.lapack_int)(ldu1), (*C.double)(_u2), (C.lapack_int)(ldu2), (*C.double)(_v1t), (C.lapack_int)(ldv1t), (*C.double)(_v2t), (C.lapack_int)(ldv2t), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 29617  }
 29618  
 29619  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dorcsd2by1.f.
 29620  func Dorcsd2by1(jobu1, jobu2, jobv1t lapack.Job, m, p, q int, x11 []float64, ldx11 int, x21 []float64, ldx21 int, theta, u1 []float64, ldu1 int, u2 []float64, ldu2 int, v1t []float64, ldv1t int, work []float64, lwork int, iwork []int32) bool {
 29621  	var _x11 *float64
 29622  	if len(x11) > 0 {
 29623  		_x11 = &x11[0]
 29624  	}
 29625  	var _x21 *float64
 29626  	if len(x21) > 0 {
 29627  		_x21 = &x21[0]
 29628  	}
 29629  	var _theta *float64
 29630  	if len(theta) > 0 {
 29631  		_theta = &theta[0]
 29632  	}
 29633  	var _u1 *float64
 29634  	if len(u1) > 0 {
 29635  		_u1 = &u1[0]
 29636  	}
 29637  	var _u2 *float64
 29638  	if len(u2) > 0 {
 29639  		_u2 = &u2[0]
 29640  	}
 29641  	var _v1t *float64
 29642  	if len(v1t) > 0 {
 29643  		_v1t = &v1t[0]
 29644  	}
 29645  	var _work *float64
 29646  	if len(work) > 0 {
 29647  		_work = &work[0]
 29648  	}
 29649  	var _iwork *int32
 29650  	if len(iwork) > 0 {
 29651  		_iwork = &iwork[0]
 29652  	}
 29653  	return isZero(C.LAPACKE_dorcsd2by1_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.double)(_x11), (C.lapack_int)(ldx11), (*C.double)(_x21), (C.lapack_int)(ldx21), (*C.double)(_theta), (*C.double)(_u1), (C.lapack_int)(ldu1), (*C.double)(_u2), (C.lapack_int)(ldu2), (*C.double)(_v1t), (C.lapack_int)(ldv1t), (*C.double)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 29654  }
 29655  
 29656  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyconv.f.
 29657  func Dsyconv(ul blas.Uplo, way byte, n int, a []float64, lda int, ipiv []int32, work []float64) bool {
 29658  	switch ul {
 29659  	case blas.Upper:
 29660  		ul = 'U'
 29661  	case blas.Lower:
 29662  		ul = 'L'
 29663  	default:
 29664  		panic("lapack: illegal triangle")
 29665  	}
 29666  	var _a *float64
 29667  	if len(a) > 0 {
 29668  		_a = &a[0]
 29669  	}
 29670  	var _ipiv *int32
 29671  	if len(ipiv) > 0 {
 29672  		_ipiv = &ipiv[0]
 29673  	}
 29674  	var _work *float64
 29675  	if len(work) > 0 {
 29676  		_work = &work[0]
 29677  	}
 29678  	return isZero(C.LAPACKE_dsyconv_work((C.int)(rowMajor), (C.char)(ul), (C.char)(way), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_work)))
 29679  }
 29680  
 29681  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsyswapr.f.
 29682  func Dsyswapr(ul blas.Uplo, n int, a []float64, i1, i2 int) bool {
 29683  	switch ul {
 29684  	case blas.Upper:
 29685  		ul = 'U'
 29686  	case blas.Lower:
 29687  		ul = 'L'
 29688  	default:
 29689  		panic("lapack: illegal triangle")
 29690  	}
 29691  	var _a *float64
 29692  	if len(a) > 0 {
 29693  		_a = &a[0]
 29694  	}
 29695  	return isZero(C.LAPACKE_dsyswapr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(i1), (C.lapack_int)(i2)))
 29696  }
 29697  
 29698  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsytri2.f.
 29699  func Dsytri2(ul blas.Uplo, n int, a []float64, lda int, ipiv []int32, work []complex128, lwork int) bool {
 29700  	switch ul {
 29701  	case blas.Upper:
 29702  		ul = 'U'
 29703  	case blas.Lower:
 29704  		ul = 'L'
 29705  	default:
 29706  		panic("lapack: illegal triangle")
 29707  	}
 29708  	var _a *float64
 29709  	if len(a) > 0 {
 29710  		_a = &a[0]
 29711  	}
 29712  	var _ipiv *int32
 29713  	if len(ipiv) > 0 {
 29714  		_ipiv = &ipiv[0]
 29715  	}
 29716  	var _work *complex128
 29717  	if len(work) > 0 {
 29718  		_work = &work[0]
 29719  	}
 29720  	return isZero(C.LAPACKE_dsytri2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 29721  }
 29722  
 29723  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsytri2x.f.
 29724  func Dsytri2x(ul blas.Uplo, n int, a []float64, lda int, ipiv []int32, work []float64, nb int) bool {
 29725  	switch ul {
 29726  	case blas.Upper:
 29727  		ul = 'U'
 29728  	case blas.Lower:
 29729  		ul = 'L'
 29730  	default:
 29731  		panic("lapack: illegal triangle")
 29732  	}
 29733  	var _a *float64
 29734  	if len(a) > 0 {
 29735  		_a = &a[0]
 29736  	}
 29737  	var _ipiv *int32
 29738  	if len(ipiv) > 0 {
 29739  		_ipiv = &ipiv[0]
 29740  	}
 29741  	var _work *float64
 29742  	if len(work) > 0 {
 29743  		_work = &work[0]
 29744  	}
 29745  	return isZero(C.LAPACKE_dsytri2x_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_work), (C.lapack_int)(nb)))
 29746  }
 29747  
 29748  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dsytrs2.f.
 29749  func Dsytrs2(ul blas.Uplo, n, nrhs int, a []float64, lda int, ipiv []int32, b []float64, ldb int, work []float64) bool {
 29750  	switch ul {
 29751  	case blas.Upper:
 29752  		ul = 'U'
 29753  	case blas.Lower:
 29754  		ul = 'L'
 29755  	default:
 29756  		panic("lapack: illegal triangle")
 29757  	}
 29758  	var _a *float64
 29759  	if len(a) > 0 {
 29760  		_a = &a[0]
 29761  	}
 29762  	var _ipiv *int32
 29763  	if len(ipiv) > 0 {
 29764  		_ipiv = &ipiv[0]
 29765  	}
 29766  	var _b *float64
 29767  	if len(b) > 0 {
 29768  		_b = &b[0]
 29769  	}
 29770  	var _work *float64
 29771  	if len(work) > 0 {
 29772  		_work = &work[0]
 29773  	}
 29774  	return isZero(C.LAPACKE_dsytrs2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_work)))
 29775  }
 29776  
 29777  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sbbcsd.f.
 29778  func Sbbcsd(jobu1, jobu2, jobv1t, jobv2t lapack.Job, trans blas.Transpose, m, p, q int, theta, phi, u1 []float32, ldu1 int, u2 []float32, ldu2 int, v1t []float32, ldv1t int, v2t []float32, ldv2t int, b11d, b11e, b12d, b12e, b21d, b21e, b22d, b22e, work []float32, lwork int) bool {
 29779  	switch trans {
 29780  	case blas.NoTrans:
 29781  		trans = 'N'
 29782  	case blas.Trans:
 29783  		trans = 'T'
 29784  	case blas.ConjTrans:
 29785  		trans = 'C'
 29786  	default:
 29787  		panic("lapack: bad trans")
 29788  	}
 29789  	var _theta *float32
 29790  	if len(theta) > 0 {
 29791  		_theta = &theta[0]
 29792  	}
 29793  	var _phi *float32
 29794  	if len(phi) > 0 {
 29795  		_phi = &phi[0]
 29796  	}
 29797  	var _u1 *float32
 29798  	if len(u1) > 0 {
 29799  		_u1 = &u1[0]
 29800  	}
 29801  	var _u2 *float32
 29802  	if len(u2) > 0 {
 29803  		_u2 = &u2[0]
 29804  	}
 29805  	var _v1t *float32
 29806  	if len(v1t) > 0 {
 29807  		_v1t = &v1t[0]
 29808  	}
 29809  	var _v2t *float32
 29810  	if len(v2t) > 0 {
 29811  		_v2t = &v2t[0]
 29812  	}
 29813  	var _b11d *float32
 29814  	if len(b11d) > 0 {
 29815  		_b11d = &b11d[0]
 29816  	}
 29817  	var _b11e *float32
 29818  	if len(b11e) > 0 {
 29819  		_b11e = &b11e[0]
 29820  	}
 29821  	var _b12d *float32
 29822  	if len(b12d) > 0 {
 29823  		_b12d = &b12d[0]
 29824  	}
 29825  	var _b12e *float32
 29826  	if len(b12e) > 0 {
 29827  		_b12e = &b12e[0]
 29828  	}
 29829  	var _b21d *float32
 29830  	if len(b21d) > 0 {
 29831  		_b21d = &b21d[0]
 29832  	}
 29833  	var _b21e *float32
 29834  	if len(b21e) > 0 {
 29835  		_b21e = &b21e[0]
 29836  	}
 29837  	var _b22d *float32
 29838  	if len(b22d) > 0 {
 29839  		_b22d = &b22d[0]
 29840  	}
 29841  	var _b22e *float32
 29842  	if len(b22e) > 0 {
 29843  		_b22e = &b22e[0]
 29844  	}
 29845  	var _work *float32
 29846  	if len(work) > 0 {
 29847  		_work = &work[0]
 29848  	}
 29849  	return isZero(C.LAPACKE_sbbcsd_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.char)(jobv2t), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.float)(_theta), (*C.float)(_phi), (*C.float)(_u1), (C.lapack_int)(ldu1), (*C.float)(_u2), (C.lapack_int)(ldu2), (*C.float)(_v1t), (C.lapack_int)(ldv1t), (*C.float)(_v2t), (C.lapack_int)(ldv2t), (*C.float)(_b11d), (*C.float)(_b11e), (*C.float)(_b12d), (*C.float)(_b12e), (*C.float)(_b21d), (*C.float)(_b21e), (*C.float)(_b22d), (*C.float)(_b22e), (*C.float)(_work), (C.lapack_int)(lwork)))
 29850  }
 29851  
 29852  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorbdb.f.
 29853  func Sorbdb(trans blas.Transpose, signs byte, m, p, q int, x11 []float32, ldx11 int, x12 []float32, ldx12 int, x21 []float32, ldx21 int, x22 []float32, ldx22 int, theta, phi, taup1, taup2, tauq1, tauq2, work []float32, lwork int) bool {
 29854  	switch trans {
 29855  	case blas.NoTrans:
 29856  		trans = 'N'
 29857  	case blas.Trans:
 29858  		trans = 'T'
 29859  	case blas.ConjTrans:
 29860  		trans = 'C'
 29861  	default:
 29862  		panic("lapack: bad trans")
 29863  	}
 29864  	var _x11 *float32
 29865  	if len(x11) > 0 {
 29866  		_x11 = &x11[0]
 29867  	}
 29868  	var _x12 *float32
 29869  	if len(x12) > 0 {
 29870  		_x12 = &x12[0]
 29871  	}
 29872  	var _x21 *float32
 29873  	if len(x21) > 0 {
 29874  		_x21 = &x21[0]
 29875  	}
 29876  	var _x22 *float32
 29877  	if len(x22) > 0 {
 29878  		_x22 = &x22[0]
 29879  	}
 29880  	var _theta *float32
 29881  	if len(theta) > 0 {
 29882  		_theta = &theta[0]
 29883  	}
 29884  	var _phi *float32
 29885  	if len(phi) > 0 {
 29886  		_phi = &phi[0]
 29887  	}
 29888  	var _taup1 *float32
 29889  	if len(taup1) > 0 {
 29890  		_taup1 = &taup1[0]
 29891  	}
 29892  	var _taup2 *float32
 29893  	if len(taup2) > 0 {
 29894  		_taup2 = &taup2[0]
 29895  	}
 29896  	var _tauq1 *float32
 29897  	if len(tauq1) > 0 {
 29898  		_tauq1 = &tauq1[0]
 29899  	}
 29900  	var _tauq2 *float32
 29901  	if len(tauq2) > 0 {
 29902  		_tauq2 = &tauq2[0]
 29903  	}
 29904  	var _work *float32
 29905  	if len(work) > 0 {
 29906  		_work = &work[0]
 29907  	}
 29908  	return isZero(C.LAPACKE_sorbdb_work((C.int)(rowMajor), (C.char)(trans), (C.char)(signs), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.float)(_x11), (C.lapack_int)(ldx11), (*C.float)(_x12), (C.lapack_int)(ldx12), (*C.float)(_x21), (C.lapack_int)(ldx21), (*C.float)(_x22), (C.lapack_int)(ldx22), (*C.float)(_theta), (*C.float)(_phi), (*C.float)(_taup1), (*C.float)(_taup2), (*C.float)(_tauq1), (*C.float)(_tauq2), (*C.float)(_work), (C.lapack_int)(lwork)))
 29909  }
 29910  
 29911  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorcsd.f.
 29912  func Sorcsd(jobu1, jobu2, jobv1t, jobv2t lapack.Job, trans blas.Transpose, signs byte, m, p, q int, x11 []float32, ldx11 int, x12 []float32, ldx12 int, x21 []float32, ldx21 int, x22 []float32, ldx22 int, theta, u1 []float32, ldu1 int, u2 []float32, ldu2 int, v1t []float32, ldv1t int, v2t []float32, ldv2t int, work []float32, lwork int, iwork []int32) bool {
 29913  	switch trans {
 29914  	case blas.NoTrans:
 29915  		trans = 'N'
 29916  	case blas.Trans:
 29917  		trans = 'T'
 29918  	case blas.ConjTrans:
 29919  		trans = 'C'
 29920  	default:
 29921  		panic("lapack: bad trans")
 29922  	}
 29923  	var _x11 *float32
 29924  	if len(x11) > 0 {
 29925  		_x11 = &x11[0]
 29926  	}
 29927  	var _x12 *float32
 29928  	if len(x12) > 0 {
 29929  		_x12 = &x12[0]
 29930  	}
 29931  	var _x21 *float32
 29932  	if len(x21) > 0 {
 29933  		_x21 = &x21[0]
 29934  	}
 29935  	var _x22 *float32
 29936  	if len(x22) > 0 {
 29937  		_x22 = &x22[0]
 29938  	}
 29939  	var _theta *float32
 29940  	if len(theta) > 0 {
 29941  		_theta = &theta[0]
 29942  	}
 29943  	var _u1 *float32
 29944  	if len(u1) > 0 {
 29945  		_u1 = &u1[0]
 29946  	}
 29947  	var _u2 *float32
 29948  	if len(u2) > 0 {
 29949  		_u2 = &u2[0]
 29950  	}
 29951  	var _v1t *float32
 29952  	if len(v1t) > 0 {
 29953  		_v1t = &v1t[0]
 29954  	}
 29955  	var _v2t *float32
 29956  	if len(v2t) > 0 {
 29957  		_v2t = &v2t[0]
 29958  	}
 29959  	var _work *float32
 29960  	if len(work) > 0 {
 29961  		_work = &work[0]
 29962  	}
 29963  	var _iwork *int32
 29964  	if len(iwork) > 0 {
 29965  		_iwork = &iwork[0]
 29966  	}
 29967  	return isZero(C.LAPACKE_sorcsd_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.char)(jobv2t), (C.char)(trans), (C.char)(signs), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.float)(_x11), (C.lapack_int)(ldx11), (*C.float)(_x12), (C.lapack_int)(ldx12), (*C.float)(_x21), (C.lapack_int)(ldx21), (*C.float)(_x22), (C.lapack_int)(ldx22), (*C.float)(_theta), (*C.float)(_u1), (C.lapack_int)(ldu1), (*C.float)(_u2), (C.lapack_int)(ldu2), (*C.float)(_v1t), (C.lapack_int)(ldv1t), (*C.float)(_v2t), (C.lapack_int)(ldv2t), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 29968  }
 29969  
 29970  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sorcsd2by1.f.
 29971  func Sorcsd2by1(jobu1, jobu2, jobv1t lapack.Job, m, p, q int, x11 []float32, ldx11 int, x21 []float32, ldx21 int, theta, u1 []float32, ldu1 int, u2 []float32, ldu2 int, v1t []float32, ldv1t int, work []float32, lwork int, iwork []int32) bool {
 29972  	var _x11 *float32
 29973  	if len(x11) > 0 {
 29974  		_x11 = &x11[0]
 29975  	}
 29976  	var _x21 *float32
 29977  	if len(x21) > 0 {
 29978  		_x21 = &x21[0]
 29979  	}
 29980  	var _theta *float32
 29981  	if len(theta) > 0 {
 29982  		_theta = &theta[0]
 29983  	}
 29984  	var _u1 *float32
 29985  	if len(u1) > 0 {
 29986  		_u1 = &u1[0]
 29987  	}
 29988  	var _u2 *float32
 29989  	if len(u2) > 0 {
 29990  		_u2 = &u2[0]
 29991  	}
 29992  	var _v1t *float32
 29993  	if len(v1t) > 0 {
 29994  		_v1t = &v1t[0]
 29995  	}
 29996  	var _work *float32
 29997  	if len(work) > 0 {
 29998  		_work = &work[0]
 29999  	}
 30000  	var _iwork *int32
 30001  	if len(iwork) > 0 {
 30002  		_iwork = &iwork[0]
 30003  	}
 30004  	return isZero(C.LAPACKE_sorcsd2by1_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.float)(_x11), (C.lapack_int)(ldx11), (*C.float)(_x21), (C.lapack_int)(ldx21), (*C.float)(_theta), (*C.float)(_u1), (C.lapack_int)(ldu1), (*C.float)(_u2), (C.lapack_int)(ldu2), (*C.float)(_v1t), (C.lapack_int)(ldv1t), (*C.float)(_work), (C.lapack_int)(lwork), (*C.lapack_int)(_iwork)))
 30005  }
 30006  
 30007  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyconv.f.
 30008  func Ssyconv(ul blas.Uplo, way byte, n int, a []float32, lda int, ipiv []int32, work []float32) bool {
 30009  	switch ul {
 30010  	case blas.Upper:
 30011  		ul = 'U'
 30012  	case blas.Lower:
 30013  		ul = 'L'
 30014  	default:
 30015  		panic("lapack: illegal triangle")
 30016  	}
 30017  	var _a *float32
 30018  	if len(a) > 0 {
 30019  		_a = &a[0]
 30020  	}
 30021  	var _ipiv *int32
 30022  	if len(ipiv) > 0 {
 30023  		_ipiv = &ipiv[0]
 30024  	}
 30025  	var _work *float32
 30026  	if len(work) > 0 {
 30027  		_work = &work[0]
 30028  	}
 30029  	return isZero(C.LAPACKE_ssyconv_work((C.int)(rowMajor), (C.char)(ul), (C.char)(way), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_work)))
 30030  }
 30031  
 30032  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssyswapr.f.
 30033  func Ssyswapr(ul blas.Uplo, n int, a []float32, i1, i2 int) bool {
 30034  	switch ul {
 30035  	case blas.Upper:
 30036  		ul = 'U'
 30037  	case blas.Lower:
 30038  		ul = 'L'
 30039  	default:
 30040  		panic("lapack: illegal triangle")
 30041  	}
 30042  	var _a *float32
 30043  	if len(a) > 0 {
 30044  		_a = &a[0]
 30045  	}
 30046  	return isZero(C.LAPACKE_ssyswapr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(i1), (C.lapack_int)(i2)))
 30047  }
 30048  
 30049  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssytri2.f.
 30050  func Ssytri2(ul blas.Uplo, n int, a []float32, lda int, ipiv []int32, work []complex64, lwork int) bool {
 30051  	switch ul {
 30052  	case blas.Upper:
 30053  		ul = 'U'
 30054  	case blas.Lower:
 30055  		ul = 'L'
 30056  	default:
 30057  		panic("lapack: illegal triangle")
 30058  	}
 30059  	var _a *float32
 30060  	if len(a) > 0 {
 30061  		_a = &a[0]
 30062  	}
 30063  	var _ipiv *int32
 30064  	if len(ipiv) > 0 {
 30065  		_ipiv = &ipiv[0]
 30066  	}
 30067  	var _work *complex64
 30068  	if len(work) > 0 {
 30069  		_work = &work[0]
 30070  	}
 30071  	return isZero(C.LAPACKE_ssytri2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_float)(_work), (C.lapack_int)(lwork)))
 30072  }
 30073  
 30074  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssytri2x.f.
 30075  func Ssytri2x(ul blas.Uplo, n int, a []float32, lda int, ipiv []int32, work []float32, nb int) bool {
 30076  	switch ul {
 30077  	case blas.Upper:
 30078  		ul = 'U'
 30079  	case blas.Lower:
 30080  		ul = 'L'
 30081  	default:
 30082  		panic("lapack: illegal triangle")
 30083  	}
 30084  	var _a *float32
 30085  	if len(a) > 0 {
 30086  		_a = &a[0]
 30087  	}
 30088  	var _ipiv *int32
 30089  	if len(ipiv) > 0 {
 30090  		_ipiv = &ipiv[0]
 30091  	}
 30092  	var _work *float32
 30093  	if len(work) > 0 {
 30094  		_work = &work[0]
 30095  	}
 30096  	return isZero(C.LAPACKE_ssytri2x_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_work), (C.lapack_int)(nb)))
 30097  }
 30098  
 30099  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ssytrs2.f.
 30100  func Ssytrs2(ul blas.Uplo, n, nrhs int, a []float32, lda int, ipiv []int32, b []float32, ldb int, work []float32) bool {
 30101  	switch ul {
 30102  	case blas.Upper:
 30103  		ul = 'U'
 30104  	case blas.Lower:
 30105  		ul = 'L'
 30106  	default:
 30107  		panic("lapack: illegal triangle")
 30108  	}
 30109  	var _a *float32
 30110  	if len(a) > 0 {
 30111  		_a = &a[0]
 30112  	}
 30113  	var _ipiv *int32
 30114  	if len(ipiv) > 0 {
 30115  		_ipiv = &ipiv[0]
 30116  	}
 30117  	var _b *float32
 30118  	if len(b) > 0 {
 30119  		_b = &b[0]
 30120  	}
 30121  	var _work *float32
 30122  	if len(work) > 0 {
 30123  		_work = &work[0]
 30124  	}
 30125  	return isZero(C.LAPACKE_ssytrs2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.float)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_work)))
 30126  }
 30127  
 30128  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zbbcsd.f.
 30129  func Zbbcsd(jobu1, jobu2, jobv1t, jobv2t lapack.Job, trans blas.Transpose, m, p, q int, theta, phi []float64, u1 []complex128, ldu1 int, u2 []complex128, ldu2 int, v1t []complex128, ldv1t int, v2t []complex128, ldv2t int, b11d, b11e, b12d, b12e, b21d, b21e, b22d, b22e, rwork []float64, lrwork int) bool {
 30130  	switch trans {
 30131  	case blas.NoTrans:
 30132  		trans = 'N'
 30133  	case blas.Trans:
 30134  		trans = 'T'
 30135  	case blas.ConjTrans:
 30136  		trans = 'C'
 30137  	default:
 30138  		panic("lapack: bad trans")
 30139  	}
 30140  	var _theta *float64
 30141  	if len(theta) > 0 {
 30142  		_theta = &theta[0]
 30143  	}
 30144  	var _phi *float64
 30145  	if len(phi) > 0 {
 30146  		_phi = &phi[0]
 30147  	}
 30148  	var _u1 *complex128
 30149  	if len(u1) > 0 {
 30150  		_u1 = &u1[0]
 30151  	}
 30152  	var _u2 *complex128
 30153  	if len(u2) > 0 {
 30154  		_u2 = &u2[0]
 30155  	}
 30156  	var _v1t *complex128
 30157  	if len(v1t) > 0 {
 30158  		_v1t = &v1t[0]
 30159  	}
 30160  	var _v2t *complex128
 30161  	if len(v2t) > 0 {
 30162  		_v2t = &v2t[0]
 30163  	}
 30164  	var _b11d *float64
 30165  	if len(b11d) > 0 {
 30166  		_b11d = &b11d[0]
 30167  	}
 30168  	var _b11e *float64
 30169  	if len(b11e) > 0 {
 30170  		_b11e = &b11e[0]
 30171  	}
 30172  	var _b12d *float64
 30173  	if len(b12d) > 0 {
 30174  		_b12d = &b12d[0]
 30175  	}
 30176  	var _b12e *float64
 30177  	if len(b12e) > 0 {
 30178  		_b12e = &b12e[0]
 30179  	}
 30180  	var _b21d *float64
 30181  	if len(b21d) > 0 {
 30182  		_b21d = &b21d[0]
 30183  	}
 30184  	var _b21e *float64
 30185  	if len(b21e) > 0 {
 30186  		_b21e = &b21e[0]
 30187  	}
 30188  	var _b22d *float64
 30189  	if len(b22d) > 0 {
 30190  		_b22d = &b22d[0]
 30191  	}
 30192  	var _b22e *float64
 30193  	if len(b22e) > 0 {
 30194  		_b22e = &b22e[0]
 30195  	}
 30196  	var _rwork *float64
 30197  	if len(rwork) > 0 {
 30198  		_rwork = &rwork[0]
 30199  	}
 30200  	return isZero(C.LAPACKE_zbbcsd_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.char)(jobv2t), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.double)(_theta), (*C.double)(_phi), (*C.lapack_complex_double)(_u1), (C.lapack_int)(ldu1), (*C.lapack_complex_double)(_u2), (C.lapack_int)(ldu2), (*C.lapack_complex_double)(_v1t), (C.lapack_int)(ldv1t), (*C.lapack_complex_double)(_v2t), (C.lapack_int)(ldv2t), (*C.double)(_b11d), (*C.double)(_b11e), (*C.double)(_b12d), (*C.double)(_b12e), (*C.double)(_b21d), (*C.double)(_b21e), (*C.double)(_b22d), (*C.double)(_b22e), (*C.double)(_rwork), (C.lapack_int)(lrwork)))
 30201  }
 30202  
 30203  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zheswapr.f.
 30204  func Zheswapr(ul blas.Uplo, n int, a []complex128, i1, i2 int) bool {
 30205  	switch ul {
 30206  	case blas.Upper:
 30207  		ul = 'U'
 30208  	case blas.Lower:
 30209  		ul = 'L'
 30210  	default:
 30211  		panic("lapack: illegal triangle")
 30212  	}
 30213  	var _a *complex128
 30214  	if len(a) > 0 {
 30215  		_a = &a[0]
 30216  	}
 30217  	return isZero(C.LAPACKE_zheswapr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(i1), (C.lapack_int)(i2)))
 30218  }
 30219  
 30220  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhetri2.f.
 30221  func Zhetri2(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, work []complex128, lwork int) bool {
 30222  	switch ul {
 30223  	case blas.Upper:
 30224  		ul = 'U'
 30225  	case blas.Lower:
 30226  		ul = 'L'
 30227  	default:
 30228  		panic("lapack: illegal triangle")
 30229  	}
 30230  	var _a *complex128
 30231  	if len(a) > 0 {
 30232  		_a = &a[0]
 30233  	}
 30234  	var _ipiv *int32
 30235  	if len(ipiv) > 0 {
 30236  		_ipiv = &ipiv[0]
 30237  	}
 30238  	var _work *complex128
 30239  	if len(work) > 0 {
 30240  		_work = &work[0]
 30241  	}
 30242  	return isZero(C.LAPACKE_zhetri2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 30243  }
 30244  
 30245  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhetri2x.f.
 30246  func Zhetri2x(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, work []complex128, nb int) bool {
 30247  	switch ul {
 30248  	case blas.Upper:
 30249  		ul = 'U'
 30250  	case blas.Lower:
 30251  		ul = 'L'
 30252  	default:
 30253  		panic("lapack: illegal triangle")
 30254  	}
 30255  	var _a *complex128
 30256  	if len(a) > 0 {
 30257  		_a = &a[0]
 30258  	}
 30259  	var _ipiv *int32
 30260  	if len(ipiv) > 0 {
 30261  		_ipiv = &ipiv[0]
 30262  	}
 30263  	var _work *complex128
 30264  	if len(work) > 0 {
 30265  		_work = &work[0]
 30266  	}
 30267  	return isZero(C.LAPACKE_zhetri2x_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work), (C.lapack_int)(nb)))
 30268  }
 30269  
 30270  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zhetrs2.f.
 30271  func Zhetrs2(ul blas.Uplo, n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int, work []complex128) bool {
 30272  	switch ul {
 30273  	case blas.Upper:
 30274  		ul = 'U'
 30275  	case blas.Lower:
 30276  		ul = 'L'
 30277  	default:
 30278  		panic("lapack: illegal triangle")
 30279  	}
 30280  	var _a *complex128
 30281  	if len(a) > 0 {
 30282  		_a = &a[0]
 30283  	}
 30284  	var _ipiv *int32
 30285  	if len(ipiv) > 0 {
 30286  		_ipiv = &ipiv[0]
 30287  	}
 30288  	var _b *complex128
 30289  	if len(b) > 0 {
 30290  		_b = &b[0]
 30291  	}
 30292  	var _work *complex128
 30293  	if len(work) > 0 {
 30294  		_work = &work[0]
 30295  	}
 30296  	return isZero(C.LAPACKE_zhetrs2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_work)))
 30297  }
 30298  
 30299  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsyconv.f.
 30300  func Zsyconv(ul blas.Uplo, way byte, n int, a []complex128, lda int, ipiv []int32, work []complex128) bool {
 30301  	switch ul {
 30302  	case blas.Upper:
 30303  		ul = 'U'
 30304  	case blas.Lower:
 30305  		ul = 'L'
 30306  	default:
 30307  		panic("lapack: illegal triangle")
 30308  	}
 30309  	var _a *complex128
 30310  	if len(a) > 0 {
 30311  		_a = &a[0]
 30312  	}
 30313  	var _ipiv *int32
 30314  	if len(ipiv) > 0 {
 30315  		_ipiv = &ipiv[0]
 30316  	}
 30317  	var _work *complex128
 30318  	if len(work) > 0 {
 30319  		_work = &work[0]
 30320  	}
 30321  	return isZero(C.LAPACKE_zsyconv_work((C.int)(rowMajor), (C.char)(ul), (C.char)(way), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work)))
 30322  }
 30323  
 30324  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsyswapr.f.
 30325  func Zsyswapr(ul blas.Uplo, n int, a []complex128, i1, i2 int) bool {
 30326  	switch ul {
 30327  	case blas.Upper:
 30328  		ul = 'U'
 30329  	case blas.Lower:
 30330  		ul = 'L'
 30331  	default:
 30332  		panic("lapack: illegal triangle")
 30333  	}
 30334  	var _a *complex128
 30335  	if len(a) > 0 {
 30336  		_a = &a[0]
 30337  	}
 30338  	return isZero(C.LAPACKE_zsyswapr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(i1), (C.lapack_int)(i2)))
 30339  }
 30340  
 30341  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsytri2.f.
 30342  func Zsytri2(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, work []complex128, lwork int) bool {
 30343  	switch ul {
 30344  	case blas.Upper:
 30345  		ul = 'U'
 30346  	case blas.Lower:
 30347  		ul = 'L'
 30348  	default:
 30349  		panic("lapack: illegal triangle")
 30350  	}
 30351  	var _a *complex128
 30352  	if len(a) > 0 {
 30353  		_a = &a[0]
 30354  	}
 30355  	var _ipiv *int32
 30356  	if len(ipiv) > 0 {
 30357  		_ipiv = &ipiv[0]
 30358  	}
 30359  	var _work *complex128
 30360  	if len(work) > 0 {
 30361  		_work = &work[0]
 30362  	}
 30363  	return isZero(C.LAPACKE_zsytri2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 30364  }
 30365  
 30366  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsytri2x.f.
 30367  func Zsytri2x(ul blas.Uplo, n int, a []complex128, lda int, ipiv []int32, work []complex128, nb int) bool {
 30368  	switch ul {
 30369  	case blas.Upper:
 30370  		ul = 'U'
 30371  	case blas.Lower:
 30372  		ul = 'L'
 30373  	default:
 30374  		panic("lapack: illegal triangle")
 30375  	}
 30376  	var _a *complex128
 30377  	if len(a) > 0 {
 30378  		_a = &a[0]
 30379  	}
 30380  	var _ipiv *int32
 30381  	if len(ipiv) > 0 {
 30382  		_ipiv = &ipiv[0]
 30383  	}
 30384  	var _work *complex128
 30385  	if len(work) > 0 {
 30386  		_work = &work[0]
 30387  	}
 30388  	return isZero(C.LAPACKE_zsytri2x_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_work), (C.lapack_int)(nb)))
 30389  }
 30390  
 30391  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsytrs2.f.
 30392  func Zsytrs2(ul blas.Uplo, n, nrhs int, a []complex128, lda int, ipiv []int32, b []complex128, ldb int, work []complex128) bool {
 30393  	switch ul {
 30394  	case blas.Upper:
 30395  		ul = 'U'
 30396  	case blas.Lower:
 30397  		ul = 'L'
 30398  	default:
 30399  		panic("lapack: illegal triangle")
 30400  	}
 30401  	var _a *complex128
 30402  	if len(a) > 0 {
 30403  		_a = &a[0]
 30404  	}
 30405  	var _ipiv *int32
 30406  	if len(ipiv) > 0 {
 30407  		_ipiv = &ipiv[0]
 30408  	}
 30409  	var _b *complex128
 30410  	if len(b) > 0 {
 30411  		_b = &b[0]
 30412  	}
 30413  	var _work *complex128
 30414  	if len(work) > 0 {
 30415  		_work = &work[0]
 30416  	}
 30417  	return isZero(C.LAPACKE_zsytrs2_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_int)(nrhs), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_int)(_ipiv), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_work)))
 30418  }
 30419  
 30420  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zunbdb.f.
 30421  func Zunbdb(trans blas.Transpose, signs byte, m, p, q int, x11 []complex128, ldx11 int, x12 []complex128, ldx12 int, x21 []complex128, ldx21 int, x22 []complex128, ldx22 int, theta, phi []float64, taup1, taup2, tauq1, tauq2, work []complex128, lwork int) bool {
 30422  	switch trans {
 30423  	case blas.NoTrans:
 30424  		trans = 'N'
 30425  	case blas.Trans:
 30426  		trans = 'T'
 30427  	case blas.ConjTrans:
 30428  		trans = 'C'
 30429  	default:
 30430  		panic("lapack: bad trans")
 30431  	}
 30432  	var _x11 *complex128
 30433  	if len(x11) > 0 {
 30434  		_x11 = &x11[0]
 30435  	}
 30436  	var _x12 *complex128
 30437  	if len(x12) > 0 {
 30438  		_x12 = &x12[0]
 30439  	}
 30440  	var _x21 *complex128
 30441  	if len(x21) > 0 {
 30442  		_x21 = &x21[0]
 30443  	}
 30444  	var _x22 *complex128
 30445  	if len(x22) > 0 {
 30446  		_x22 = &x22[0]
 30447  	}
 30448  	var _theta *float64
 30449  	if len(theta) > 0 {
 30450  		_theta = &theta[0]
 30451  	}
 30452  	var _phi *float64
 30453  	if len(phi) > 0 {
 30454  		_phi = &phi[0]
 30455  	}
 30456  	var _taup1 *complex128
 30457  	if len(taup1) > 0 {
 30458  		_taup1 = &taup1[0]
 30459  	}
 30460  	var _taup2 *complex128
 30461  	if len(taup2) > 0 {
 30462  		_taup2 = &taup2[0]
 30463  	}
 30464  	var _tauq1 *complex128
 30465  	if len(tauq1) > 0 {
 30466  		_tauq1 = &tauq1[0]
 30467  	}
 30468  	var _tauq2 *complex128
 30469  	if len(tauq2) > 0 {
 30470  		_tauq2 = &tauq2[0]
 30471  	}
 30472  	var _work *complex128
 30473  	if len(work) > 0 {
 30474  		_work = &work[0]
 30475  	}
 30476  	return isZero(C.LAPACKE_zunbdb_work((C.int)(rowMajor), (C.char)(trans), (C.char)(signs), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.lapack_complex_double)(_x11), (C.lapack_int)(ldx11), (*C.lapack_complex_double)(_x12), (C.lapack_int)(ldx12), (*C.lapack_complex_double)(_x21), (C.lapack_int)(ldx21), (*C.lapack_complex_double)(_x22), (C.lapack_int)(ldx22), (*C.double)(_theta), (*C.double)(_phi), (*C.lapack_complex_double)(_taup1), (*C.lapack_complex_double)(_taup2), (*C.lapack_complex_double)(_tauq1), (*C.lapack_complex_double)(_tauq2), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork)))
 30477  }
 30478  
 30479  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zuncsd.f.
 30480  func Zuncsd(jobu1, jobu2, jobv1t, jobv2t lapack.Job, trans blas.Transpose, signs byte, m, p, q int, x11 []complex128, ldx11 int, x12 []complex128, ldx12 int, x21 []complex128, ldx21 int, x22 []complex128, ldx22 int, theta []float64, u1 []complex128, ldu1 int, u2 []complex128, ldu2 int, v1t []complex128, ldv1t int, v2t []complex128, ldv2t int, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32) bool {
 30481  	switch trans {
 30482  	case blas.NoTrans:
 30483  		trans = 'N'
 30484  	case blas.Trans:
 30485  		trans = 'T'
 30486  	case blas.ConjTrans:
 30487  		trans = 'C'
 30488  	default:
 30489  		panic("lapack: bad trans")
 30490  	}
 30491  	var _x11 *complex128
 30492  	if len(x11) > 0 {
 30493  		_x11 = &x11[0]
 30494  	}
 30495  	var _x12 *complex128
 30496  	if len(x12) > 0 {
 30497  		_x12 = &x12[0]
 30498  	}
 30499  	var _x21 *complex128
 30500  	if len(x21) > 0 {
 30501  		_x21 = &x21[0]
 30502  	}
 30503  	var _x22 *complex128
 30504  	if len(x22) > 0 {
 30505  		_x22 = &x22[0]
 30506  	}
 30507  	var _theta *float64
 30508  	if len(theta) > 0 {
 30509  		_theta = &theta[0]
 30510  	}
 30511  	var _u1 *complex128
 30512  	if len(u1) > 0 {
 30513  		_u1 = &u1[0]
 30514  	}
 30515  	var _u2 *complex128
 30516  	if len(u2) > 0 {
 30517  		_u2 = &u2[0]
 30518  	}
 30519  	var _v1t *complex128
 30520  	if len(v1t) > 0 {
 30521  		_v1t = &v1t[0]
 30522  	}
 30523  	var _v2t *complex128
 30524  	if len(v2t) > 0 {
 30525  		_v2t = &v2t[0]
 30526  	}
 30527  	var _work *complex128
 30528  	if len(work) > 0 {
 30529  		_work = &work[0]
 30530  	}
 30531  	var _rwork *float64
 30532  	if len(rwork) > 0 {
 30533  		_rwork = &rwork[0]
 30534  	}
 30535  	var _iwork *int32
 30536  	if len(iwork) > 0 {
 30537  		_iwork = &iwork[0]
 30538  	}
 30539  	return isZero(C.LAPACKE_zuncsd_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.char)(jobv2t), (C.char)(trans), (C.char)(signs), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.lapack_complex_double)(_x11), (C.lapack_int)(ldx11), (*C.lapack_complex_double)(_x12), (C.lapack_int)(ldx12), (*C.lapack_complex_double)(_x21), (C.lapack_int)(ldx21), (*C.lapack_complex_double)(_x22), (C.lapack_int)(ldx22), (*C.double)(_theta), (*C.lapack_complex_double)(_u1), (C.lapack_int)(ldu1), (*C.lapack_complex_double)(_u2), (C.lapack_int)(ldu2), (*C.lapack_complex_double)(_v1t), (C.lapack_int)(ldv1t), (*C.lapack_complex_double)(_v2t), (C.lapack_int)(ldv2t), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork)))
 30540  }
 30541  
 30542  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zuncsd2by1.f.
 30543  func Zuncsd2by1(jobu1, jobu2, jobv1t lapack.Job, m, p, q int, x11 []complex128, ldx11 int, x21 []complex128, ldx21 int, theta, u1 []complex128, ldu1 int, u2 []complex128, ldu2 int, v1t []complex128, ldv1t int, work []complex128, lwork int, rwork []float64, lrwork int, iwork []int32) bool {
 30544  	var _x11 *complex128
 30545  	if len(x11) > 0 {
 30546  		_x11 = &x11[0]
 30547  	}
 30548  	var _x21 *complex128
 30549  	if len(x21) > 0 {
 30550  		_x21 = &x21[0]
 30551  	}
 30552  	var _theta *complex128
 30553  	if len(theta) > 0 {
 30554  		_theta = &theta[0]
 30555  	}
 30556  	var _u1 *complex128
 30557  	if len(u1) > 0 {
 30558  		_u1 = &u1[0]
 30559  	}
 30560  	var _u2 *complex128
 30561  	if len(u2) > 0 {
 30562  		_u2 = &u2[0]
 30563  	}
 30564  	var _v1t *complex128
 30565  	if len(v1t) > 0 {
 30566  		_v1t = &v1t[0]
 30567  	}
 30568  	var _work *complex128
 30569  	if len(work) > 0 {
 30570  		_work = &work[0]
 30571  	}
 30572  	var _rwork *float64
 30573  	if len(rwork) > 0 {
 30574  		_rwork = &rwork[0]
 30575  	}
 30576  	var _iwork *int32
 30577  	if len(iwork) > 0 {
 30578  		_iwork = &iwork[0]
 30579  	}
 30580  	return isZero(C.LAPACKE_zuncsd2by1_work((C.int)(rowMajor), (C.char)(jobu1), (C.char)(jobu2), (C.char)(jobv1t), (C.lapack_int)(m), (C.lapack_int)(p), (C.lapack_int)(q), (*C.lapack_complex_double)(_x11), (C.lapack_int)(ldx11), (*C.lapack_complex_double)(_x21), (C.lapack_int)(ldx21), (*C.lapack_complex_double)(_theta), (*C.lapack_complex_double)(_u1), (C.lapack_int)(ldu1), (*C.lapack_complex_double)(_u2), (C.lapack_int)(ldu2), (*C.lapack_complex_double)(_v1t), (C.lapack_int)(ldv1t), (*C.lapack_complex_double)(_work), (C.lapack_int)(lwork), (*C.double)(_rwork), (C.lapack_int)(lrwork), (*C.lapack_int)(_iwork)))
 30581  }
 30582  
 30583  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgemqrt.f.
 30584  func Sgemqrt(side blas.Side, trans blas.Transpose, m, n, k, nb int, v []float32, ldv int, t []float32, ldt int, c []float32, ldc int, work []float32) bool {
 30585  	switch side {
 30586  	case blas.Left:
 30587  		side = 'L'
 30588  	case blas.Right:
 30589  		side = 'R'
 30590  	default:
 30591  		panic("lapack: bad side")
 30592  	}
 30593  	switch trans {
 30594  	case blas.NoTrans:
 30595  		trans = 'N'
 30596  	case blas.Trans:
 30597  		trans = 'T'
 30598  	case blas.ConjTrans:
 30599  		trans = 'C'
 30600  	default:
 30601  		panic("lapack: bad trans")
 30602  	}
 30603  	var _v *float32
 30604  	if len(v) > 0 {
 30605  		_v = &v[0]
 30606  	}
 30607  	var _t *float32
 30608  	if len(t) > 0 {
 30609  		_t = &t[0]
 30610  	}
 30611  	var _c *float32
 30612  	if len(c) > 0 {
 30613  		_c = &c[0]
 30614  	}
 30615  	var _work *float32
 30616  	if len(work) > 0 {
 30617  		_work = &work[0]
 30618  	}
 30619  	return isZero(C.LAPACKE_sgemqrt_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(nb), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_c), (C.lapack_int)(ldc), (*C.float)(_work)))
 30620  }
 30621  
 30622  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgemqrt.f.
 30623  func Dgemqrt(side blas.Side, trans blas.Transpose, m, n, k, nb int, v []float64, ldv int, t []float64, ldt int, c []float64, ldc int, work []float64) bool {
 30624  	switch side {
 30625  	case blas.Left:
 30626  		side = 'L'
 30627  	case blas.Right:
 30628  		side = 'R'
 30629  	default:
 30630  		panic("lapack: bad side")
 30631  	}
 30632  	switch trans {
 30633  	case blas.NoTrans:
 30634  		trans = 'N'
 30635  	case blas.Trans:
 30636  		trans = 'T'
 30637  	case blas.ConjTrans:
 30638  		trans = 'C'
 30639  	default:
 30640  		panic("lapack: bad trans")
 30641  	}
 30642  	var _v *float64
 30643  	if len(v) > 0 {
 30644  		_v = &v[0]
 30645  	}
 30646  	var _t *float64
 30647  	if len(t) > 0 {
 30648  		_t = &t[0]
 30649  	}
 30650  	var _c *float64
 30651  	if len(c) > 0 {
 30652  		_c = &c[0]
 30653  	}
 30654  	var _work *float64
 30655  	if len(work) > 0 {
 30656  		_work = &work[0]
 30657  	}
 30658  	return isZero(C.LAPACKE_dgemqrt_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(nb), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_c), (C.lapack_int)(ldc), (*C.double)(_work)))
 30659  }
 30660  
 30661  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgemqrt.f.
 30662  func Cgemqrt(side blas.Side, trans blas.Transpose, m, n, k, nb int, v []complex64, ldv int, t []complex64, ldt int, c []complex64, ldc int, work []complex64) bool {
 30663  	switch side {
 30664  	case blas.Left:
 30665  		side = 'L'
 30666  	case blas.Right:
 30667  		side = 'R'
 30668  	default:
 30669  		panic("lapack: bad side")
 30670  	}
 30671  	switch trans {
 30672  	case blas.NoTrans:
 30673  		trans = 'N'
 30674  	case blas.Trans:
 30675  		trans = 'T'
 30676  	case blas.ConjTrans:
 30677  		trans = 'C'
 30678  	default:
 30679  		panic("lapack: bad trans")
 30680  	}
 30681  	var _v *complex64
 30682  	if len(v) > 0 {
 30683  		_v = &v[0]
 30684  	}
 30685  	var _t *complex64
 30686  	if len(t) > 0 {
 30687  		_t = &t[0]
 30688  	}
 30689  	var _c *complex64
 30690  	if len(c) > 0 {
 30691  		_c = &c[0]
 30692  	}
 30693  	var _work *complex64
 30694  	if len(work) > 0 {
 30695  		_work = &work[0]
 30696  	}
 30697  	return isZero(C.LAPACKE_cgemqrt_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(nb), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_float)(_work)))
 30698  }
 30699  
 30700  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgemqrt.f.
 30701  func Zgemqrt(side blas.Side, trans blas.Transpose, m, n, k, nb int, v []complex128, ldv int, t []complex128, ldt int, c []complex128, ldc int, work []complex128) bool {
 30702  	switch side {
 30703  	case blas.Left:
 30704  		side = 'L'
 30705  	case blas.Right:
 30706  		side = 'R'
 30707  	default:
 30708  		panic("lapack: bad side")
 30709  	}
 30710  	switch trans {
 30711  	case blas.NoTrans:
 30712  		trans = 'N'
 30713  	case blas.Trans:
 30714  		trans = 'T'
 30715  	case blas.ConjTrans:
 30716  		trans = 'C'
 30717  	default:
 30718  		panic("lapack: bad trans")
 30719  	}
 30720  	var _v *complex128
 30721  	if len(v) > 0 {
 30722  		_v = &v[0]
 30723  	}
 30724  	var _t *complex128
 30725  	if len(t) > 0 {
 30726  		_t = &t[0]
 30727  	}
 30728  	var _c *complex128
 30729  	if len(c) > 0 {
 30730  		_c = &c[0]
 30731  	}
 30732  	var _work *complex128
 30733  	if len(work) > 0 {
 30734  		_work = &work[0]
 30735  	}
 30736  	return isZero(C.LAPACKE_zgemqrt_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(nb), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_c), (C.lapack_int)(ldc), (*C.lapack_complex_double)(_work)))
 30737  }
 30738  
 30739  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeqrt.f.
 30740  func Sgeqrt(m, n, nb int, a []float32, lda int, t []float32, ldt int, work []float32) bool {
 30741  	var _a *float32
 30742  	if len(a) > 0 {
 30743  		_a = &a[0]
 30744  	}
 30745  	var _t *float32
 30746  	if len(t) > 0 {
 30747  		_t = &t[0]
 30748  	}
 30749  	var _work *float32
 30750  	if len(work) > 0 {
 30751  		_work = &work[0]
 30752  	}
 30753  	return isZero(C.LAPACKE_sgeqrt_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nb), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_work)))
 30754  }
 30755  
 30756  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeqrt.f.
 30757  func Dgeqrt(m, n, nb int, a []float64, lda int, t []float64, ldt int, work []float64) bool {
 30758  	var _a *float64
 30759  	if len(a) > 0 {
 30760  		_a = &a[0]
 30761  	}
 30762  	var _t *float64
 30763  	if len(t) > 0 {
 30764  		_t = &t[0]
 30765  	}
 30766  	var _work *float64
 30767  	if len(work) > 0 {
 30768  		_work = &work[0]
 30769  	}
 30770  	return isZero(C.LAPACKE_dgeqrt_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nb), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_work)))
 30771  }
 30772  
 30773  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeqrt.f.
 30774  func Cgeqrt(m, n, nb int, a []complex64, lda int, t []complex64, ldt int, work []complex64) bool {
 30775  	var _a *complex64
 30776  	if len(a) > 0 {
 30777  		_a = &a[0]
 30778  	}
 30779  	var _t *complex64
 30780  	if len(t) > 0 {
 30781  		_t = &t[0]
 30782  	}
 30783  	var _work *complex64
 30784  	if len(work) > 0 {
 30785  		_work = &work[0]
 30786  	}
 30787  	return isZero(C.LAPACKE_cgeqrt_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nb), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_work)))
 30788  }
 30789  
 30790  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeqrt.f.
 30791  func Zgeqrt(m, n, nb int, a []complex128, lda int, t []complex128, ldt int, work []complex128) bool {
 30792  	var _a *complex128
 30793  	if len(a) > 0 {
 30794  		_a = &a[0]
 30795  	}
 30796  	var _t *complex128
 30797  	if len(t) > 0 {
 30798  		_t = &t[0]
 30799  	}
 30800  	var _work *complex128
 30801  	if len(work) > 0 {
 30802  		_work = &work[0]
 30803  	}
 30804  	return isZero(C.LAPACKE_zgeqrt_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(nb), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_work)))
 30805  }
 30806  
 30807  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeqrt2.f.
 30808  func Sgeqrt2(m, n int, a []float32, lda int, t []float32, ldt int) bool {
 30809  	var _a *float32
 30810  	if len(a) > 0 {
 30811  		_a = &a[0]
 30812  	}
 30813  	var _t *float32
 30814  	if len(t) > 0 {
 30815  		_t = &t[0]
 30816  	}
 30817  	return isZero(C.LAPACKE_sgeqrt2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_t), (C.lapack_int)(ldt)))
 30818  }
 30819  
 30820  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeqrt2.f.
 30821  func Dgeqrt2(m, n int, a []float64, lda int, t []float64, ldt int) bool {
 30822  	var _a *float64
 30823  	if len(a) > 0 {
 30824  		_a = &a[0]
 30825  	}
 30826  	var _t *float64
 30827  	if len(t) > 0 {
 30828  		_t = &t[0]
 30829  	}
 30830  	return isZero(C.LAPACKE_dgeqrt2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_t), (C.lapack_int)(ldt)))
 30831  }
 30832  
 30833  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeqrt2.f.
 30834  func Cgeqrt2(m, n int, a []complex64, lda int, t []complex64, ldt int) bool {
 30835  	var _a *complex64
 30836  	if len(a) > 0 {
 30837  		_a = &a[0]
 30838  	}
 30839  	var _t *complex64
 30840  	if len(t) > 0 {
 30841  		_t = &t[0]
 30842  	}
 30843  	return isZero(C.LAPACKE_cgeqrt2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt)))
 30844  }
 30845  
 30846  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeqrt2.f.
 30847  func Zgeqrt2(m, n int, a []complex128, lda int, t []complex128, ldt int) bool {
 30848  	var _a *complex128
 30849  	if len(a) > 0 {
 30850  		_a = &a[0]
 30851  	}
 30852  	var _t *complex128
 30853  	if len(t) > 0 {
 30854  		_t = &t[0]
 30855  	}
 30856  	return isZero(C.LAPACKE_zgeqrt2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt)))
 30857  }
 30858  
 30859  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/sgeqrt3.f.
 30860  func Sgeqrt3(m, n int, a []float32, lda int, t []float32, ldt int) bool {
 30861  	var _a *float32
 30862  	if len(a) > 0 {
 30863  		_a = &a[0]
 30864  	}
 30865  	var _t *float32
 30866  	if len(t) > 0 {
 30867  		_t = &t[0]
 30868  	}
 30869  	return isZero(C.LAPACKE_sgeqrt3_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_t), (C.lapack_int)(ldt)))
 30870  }
 30871  
 30872  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dgeqrt3.f.
 30873  func Dgeqrt3(m, n int, a []float64, lda int, t []float64, ldt int) bool {
 30874  	var _a *float64
 30875  	if len(a) > 0 {
 30876  		_a = &a[0]
 30877  	}
 30878  	var _t *float64
 30879  	if len(t) > 0 {
 30880  		_t = &t[0]
 30881  	}
 30882  	return isZero(C.LAPACKE_dgeqrt3_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_t), (C.lapack_int)(ldt)))
 30883  }
 30884  
 30885  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgeqrt3.f.
 30886  func Cgeqrt3(m, n int, a []complex64, lda int, t []complex64, ldt int) bool {
 30887  	var _a *complex64
 30888  	if len(a) > 0 {
 30889  		_a = &a[0]
 30890  	}
 30891  	var _t *complex64
 30892  	if len(t) > 0 {
 30893  		_t = &t[0]
 30894  	}
 30895  	return isZero(C.LAPACKE_cgeqrt3_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt)))
 30896  }
 30897  
 30898  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zgeqrt3.f.
 30899  func Zgeqrt3(m, n int, a []complex128, lda int, t []complex128, ldt int) bool {
 30900  	var _a *complex128
 30901  	if len(a) > 0 {
 30902  		_a = &a[0]
 30903  	}
 30904  	var _t *complex128
 30905  	if len(t) > 0 {
 30906  		_t = &t[0]
 30907  	}
 30908  	return isZero(C.LAPACKE_zgeqrt3_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt)))
 30909  }
 30910  
 30911  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stpmqrt.f.
 30912  func Stpmqrt(side blas.Side, trans blas.Transpose, m, n, k, l, nb int, v []float32, ldv int, t []float32, ldt int, a []float32, lda int, b []float32, ldb int, work []float32) bool {
 30913  	switch side {
 30914  	case blas.Left:
 30915  		side = 'L'
 30916  	case blas.Right:
 30917  		side = 'R'
 30918  	default:
 30919  		panic("lapack: bad side")
 30920  	}
 30921  	switch trans {
 30922  	case blas.NoTrans:
 30923  		trans = 'N'
 30924  	case blas.Trans:
 30925  		trans = 'T'
 30926  	case blas.ConjTrans:
 30927  		trans = 'C'
 30928  	default:
 30929  		panic("lapack: bad trans")
 30930  	}
 30931  	var _v *float32
 30932  	if len(v) > 0 {
 30933  		_v = &v[0]
 30934  	}
 30935  	var _t *float32
 30936  	if len(t) > 0 {
 30937  		_t = &t[0]
 30938  	}
 30939  	var _a *float32
 30940  	if len(a) > 0 {
 30941  		_a = &a[0]
 30942  	}
 30943  	var _b *float32
 30944  	if len(b) > 0 {
 30945  		_b = &b[0]
 30946  	}
 30947  	var _work *float32
 30948  	if len(work) > 0 {
 30949  		_work = &work[0]
 30950  	}
 30951  	return isZero(C.LAPACKE_stpmqrt_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (C.lapack_int)(nb), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_work)))
 30952  }
 30953  
 30954  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtpmqrt.f.
 30955  func Dtpmqrt(side blas.Side, trans blas.Transpose, m, n, k, l, nb int, v []float64, ldv int, t []float64, ldt int, a []float64, lda int, b []float64, ldb int, work []float64) bool {
 30956  	switch side {
 30957  	case blas.Left:
 30958  		side = 'L'
 30959  	case blas.Right:
 30960  		side = 'R'
 30961  	default:
 30962  		panic("lapack: bad side")
 30963  	}
 30964  	switch trans {
 30965  	case blas.NoTrans:
 30966  		trans = 'N'
 30967  	case blas.Trans:
 30968  		trans = 'T'
 30969  	case blas.ConjTrans:
 30970  		trans = 'C'
 30971  	default:
 30972  		panic("lapack: bad trans")
 30973  	}
 30974  	var _v *float64
 30975  	if len(v) > 0 {
 30976  		_v = &v[0]
 30977  	}
 30978  	var _t *float64
 30979  	if len(t) > 0 {
 30980  		_t = &t[0]
 30981  	}
 30982  	var _a *float64
 30983  	if len(a) > 0 {
 30984  		_a = &a[0]
 30985  	}
 30986  	var _b *float64
 30987  	if len(b) > 0 {
 30988  		_b = &b[0]
 30989  	}
 30990  	var _work *float64
 30991  	if len(work) > 0 {
 30992  		_work = &work[0]
 30993  	}
 30994  	return isZero(C.LAPACKE_dtpmqrt_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (C.lapack_int)(nb), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_work)))
 30995  }
 30996  
 30997  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctpmqrt.f.
 30998  func Ctpmqrt(side blas.Side, trans blas.Transpose, m, n, k, l, nb int, v []complex64, ldv int, t []complex64, ldt int, a []complex64, lda int, b []complex64, ldb int, work []complex64) bool {
 30999  	switch side {
 31000  	case blas.Left:
 31001  		side = 'L'
 31002  	case blas.Right:
 31003  		side = 'R'
 31004  	default:
 31005  		panic("lapack: bad side")
 31006  	}
 31007  	switch trans {
 31008  	case blas.NoTrans:
 31009  		trans = 'N'
 31010  	case blas.Trans:
 31011  		trans = 'T'
 31012  	case blas.ConjTrans:
 31013  		trans = 'C'
 31014  	default:
 31015  		panic("lapack: bad trans")
 31016  	}
 31017  	var _v *complex64
 31018  	if len(v) > 0 {
 31019  		_v = &v[0]
 31020  	}
 31021  	var _t *complex64
 31022  	if len(t) > 0 {
 31023  		_t = &t[0]
 31024  	}
 31025  	var _a *complex64
 31026  	if len(a) > 0 {
 31027  		_a = &a[0]
 31028  	}
 31029  	var _b *complex64
 31030  	if len(b) > 0 {
 31031  		_b = &b[0]
 31032  	}
 31033  	var _work *complex64
 31034  	if len(work) > 0 {
 31035  		_work = &work[0]
 31036  	}
 31037  	return isZero(C.LAPACKE_ctpmqrt_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (C.lapack_int)(nb), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_work)))
 31038  }
 31039  
 31040  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztpmqrt.f.
 31041  func Ztpmqrt(side blas.Side, trans blas.Transpose, m, n, k, l, nb int, v []complex128, ldv int, t []complex128, ldt int, a []complex128, lda int, b []complex128, ldb int, work []complex128) bool {
 31042  	switch side {
 31043  	case blas.Left:
 31044  		side = 'L'
 31045  	case blas.Right:
 31046  		side = 'R'
 31047  	default:
 31048  		panic("lapack: bad side")
 31049  	}
 31050  	switch trans {
 31051  	case blas.NoTrans:
 31052  		trans = 'N'
 31053  	case blas.Trans:
 31054  		trans = 'T'
 31055  	case blas.ConjTrans:
 31056  		trans = 'C'
 31057  	default:
 31058  		panic("lapack: bad trans")
 31059  	}
 31060  	var _v *complex128
 31061  	if len(v) > 0 {
 31062  		_v = &v[0]
 31063  	}
 31064  	var _t *complex128
 31065  	if len(t) > 0 {
 31066  		_t = &t[0]
 31067  	}
 31068  	var _a *complex128
 31069  	if len(a) > 0 {
 31070  		_a = &a[0]
 31071  	}
 31072  	var _b *complex128
 31073  	if len(b) > 0 {
 31074  		_b = &b[0]
 31075  	}
 31076  	var _work *complex128
 31077  	if len(work) > 0 {
 31078  		_work = &work[0]
 31079  	}
 31080  	return isZero(C.LAPACKE_ztpmqrt_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (C.lapack_int)(nb), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_work)))
 31081  }
 31082  
 31083  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stpqrt.f.
 31084  func Stpqrt(m, n, l, nb int, a []float32, lda int, b []float32, ldb int, t []float32, ldt int, work []float32) bool {
 31085  	var _a *float32
 31086  	if len(a) > 0 {
 31087  		_a = &a[0]
 31088  	}
 31089  	var _b *float32
 31090  	if len(b) > 0 {
 31091  		_b = &b[0]
 31092  	}
 31093  	var _t *float32
 31094  	if len(t) > 0 {
 31095  		_t = &t[0]
 31096  	}
 31097  	var _work *float32
 31098  	if len(work) > 0 {
 31099  		_work = &work[0]
 31100  	}
 31101  	return isZero(C.LAPACKE_stpqrt_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(l), (C.lapack_int)(nb), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_work)))
 31102  }
 31103  
 31104  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtpqrt.f.
 31105  func Dtpqrt(m, n, l, nb int, a []float64, lda int, b []float64, ldb int, t []float64, ldt int, work []float64) bool {
 31106  	var _a *float64
 31107  	if len(a) > 0 {
 31108  		_a = &a[0]
 31109  	}
 31110  	var _b *float64
 31111  	if len(b) > 0 {
 31112  		_b = &b[0]
 31113  	}
 31114  	var _t *float64
 31115  	if len(t) > 0 {
 31116  		_t = &t[0]
 31117  	}
 31118  	var _work *float64
 31119  	if len(work) > 0 {
 31120  		_work = &work[0]
 31121  	}
 31122  	return isZero(C.LAPACKE_dtpqrt_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(l), (C.lapack_int)(nb), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_work)))
 31123  }
 31124  
 31125  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctpqrt.f.
 31126  func Ctpqrt(m, n, l, nb int, a []complex64, lda int, b []complex64, ldb int, t []complex64, ldt int, work []complex64) bool {
 31127  	var _a *complex64
 31128  	if len(a) > 0 {
 31129  		_a = &a[0]
 31130  	}
 31131  	var _b *complex64
 31132  	if len(b) > 0 {
 31133  		_b = &b[0]
 31134  	}
 31135  	var _t *complex64
 31136  	if len(t) > 0 {
 31137  		_t = &t[0]
 31138  	}
 31139  	var _work *complex64
 31140  	if len(work) > 0 {
 31141  		_work = &work[0]
 31142  	}
 31143  	return isZero(C.LAPACKE_ctpqrt_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(l), (C.lapack_int)(nb), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_work)))
 31144  }
 31145  
 31146  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztpqrt.f.
 31147  func Ztpqrt(m, n, l, nb int, a []complex128, lda int, b []complex128, ldb int, t []complex128, ldt int, work []complex128) bool {
 31148  	var _a *complex128
 31149  	if len(a) > 0 {
 31150  		_a = &a[0]
 31151  	}
 31152  	var _b *complex128
 31153  	if len(b) > 0 {
 31154  		_b = &b[0]
 31155  	}
 31156  	var _t *complex128
 31157  	if len(t) > 0 {
 31158  		_t = &t[0]
 31159  	}
 31160  	var _work *complex128
 31161  	if len(work) > 0 {
 31162  		_work = &work[0]
 31163  	}
 31164  	return isZero(C.LAPACKE_ztpqrt_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(l), (C.lapack_int)(nb), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_work)))
 31165  }
 31166  
 31167  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stpqrt2.f.
 31168  func Stpqrt2(m, n, l int, a []float32, lda int, b []float32, ldb int, t []float32, ldt int) bool {
 31169  	var _a *float32
 31170  	if len(a) > 0 {
 31171  		_a = &a[0]
 31172  	}
 31173  	var _b *float32
 31174  	if len(b) > 0 {
 31175  		_b = &b[0]
 31176  	}
 31177  	var _t *float32
 31178  	if len(t) > 0 {
 31179  		_t = &t[0]
 31180  	}
 31181  	return isZero(C.LAPACKE_stpqrt2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(l), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_t), (C.lapack_int)(ldt)))
 31182  }
 31183  
 31184  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtpqrt2.f.
 31185  func Dtpqrt2(m, n, l int, a []float64, lda int, b []float64, ldb int, t []float64, ldt int) bool {
 31186  	var _a *float64
 31187  	if len(a) > 0 {
 31188  		_a = &a[0]
 31189  	}
 31190  	var _b *float64
 31191  	if len(b) > 0 {
 31192  		_b = &b[0]
 31193  	}
 31194  	var _t *float64
 31195  	if len(t) > 0 {
 31196  		_t = &t[0]
 31197  	}
 31198  	return isZero(C.LAPACKE_dtpqrt2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(l), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_t), (C.lapack_int)(ldt)))
 31199  }
 31200  
 31201  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctpqrt2.f.
 31202  func Ctpqrt2(m, n, l int, a []complex64, lda int, b []complex64, ldb int, t []complex64, ldt int) bool {
 31203  	var _a *complex64
 31204  	if len(a) > 0 {
 31205  		_a = &a[0]
 31206  	}
 31207  	var _b *complex64
 31208  	if len(b) > 0 {
 31209  		_b = &b[0]
 31210  	}
 31211  	var _t *complex64
 31212  	if len(t) > 0 {
 31213  		_t = &t[0]
 31214  	}
 31215  	return isZero(C.LAPACKE_ctpqrt2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(l), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt)))
 31216  }
 31217  
 31218  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztpqrt2.f.
 31219  func Ztpqrt2(m, n, l int, a []complex128, lda int, b []complex128, ldb int, t []complex128, ldt int) bool {
 31220  	var _a *complex128
 31221  	if len(a) > 0 {
 31222  		_a = &a[0]
 31223  	}
 31224  	var _b *complex128
 31225  	if len(b) > 0 {
 31226  		_b = &b[0]
 31227  	}
 31228  	var _t *complex128
 31229  	if len(t) > 0 {
 31230  		_t = &t[0]
 31231  	}
 31232  	return isZero(C.LAPACKE_ztpqrt2_work((C.int)(rowMajor), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(l), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt)))
 31233  }
 31234  
 31235  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/stprfb.f.
 31236  func Stprfb(side blas.Side, trans blas.Transpose, direct, storev byte, m, n, k, l int, v []float32, ldv int, t []float32, ldt int, a []float32, lda int, b []float32, ldb int, work []float32, ldwork int) bool {
 31237  	switch side {
 31238  	case blas.Left:
 31239  		side = 'L'
 31240  	case blas.Right:
 31241  		side = 'R'
 31242  	default:
 31243  		panic("lapack: bad side")
 31244  	}
 31245  	switch trans {
 31246  	case blas.NoTrans:
 31247  		trans = 'N'
 31248  	case blas.Trans:
 31249  		trans = 'T'
 31250  	case blas.ConjTrans:
 31251  		trans = 'C'
 31252  	default:
 31253  		panic("lapack: bad trans")
 31254  	}
 31255  	var _v *float32
 31256  	if len(v) > 0 {
 31257  		_v = &v[0]
 31258  	}
 31259  	var _t *float32
 31260  	if len(t) > 0 {
 31261  		_t = &t[0]
 31262  	}
 31263  	var _a *float32
 31264  	if len(a) > 0 {
 31265  		_a = &a[0]
 31266  	}
 31267  	var _b *float32
 31268  	if len(b) > 0 {
 31269  		_b = &b[0]
 31270  	}
 31271  	var _work *float32
 31272  	if len(work) > 0 {
 31273  		_work = &work[0]
 31274  	}
 31275  	return isZero(C.LAPACKE_stprfb_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.char)(direct), (C.char)(storev), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.float)(_v), (C.lapack_int)(ldv), (*C.float)(_t), (C.lapack_int)(ldt), (*C.float)(_a), (C.lapack_int)(lda), (*C.float)(_b), (C.lapack_int)(ldb), (*C.float)(_work), (C.lapack_int)(ldwork)))
 31276  }
 31277  
 31278  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dtprfb.f.
 31279  func Dtprfb(side blas.Side, trans blas.Transpose, direct, storev byte, m, n, k, l int, v []float64, ldv int, t []float64, ldt int, a []float64, lda int, b []float64, ldb int, work []float64, ldwork int) bool {
 31280  	switch side {
 31281  	case blas.Left:
 31282  		side = 'L'
 31283  	case blas.Right:
 31284  		side = 'R'
 31285  	default:
 31286  		panic("lapack: bad side")
 31287  	}
 31288  	switch trans {
 31289  	case blas.NoTrans:
 31290  		trans = 'N'
 31291  	case blas.Trans:
 31292  		trans = 'T'
 31293  	case blas.ConjTrans:
 31294  		trans = 'C'
 31295  	default:
 31296  		panic("lapack: bad trans")
 31297  	}
 31298  	var _v *float64
 31299  	if len(v) > 0 {
 31300  		_v = &v[0]
 31301  	}
 31302  	var _t *float64
 31303  	if len(t) > 0 {
 31304  		_t = &t[0]
 31305  	}
 31306  	var _a *float64
 31307  	if len(a) > 0 {
 31308  		_a = &a[0]
 31309  	}
 31310  	var _b *float64
 31311  	if len(b) > 0 {
 31312  		_b = &b[0]
 31313  	}
 31314  	var _work *float64
 31315  	if len(work) > 0 {
 31316  		_work = &work[0]
 31317  	}
 31318  	return isZero(C.LAPACKE_dtprfb_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.char)(direct), (C.char)(storev), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.double)(_v), (C.lapack_int)(ldv), (*C.double)(_t), (C.lapack_int)(ldt), (*C.double)(_a), (C.lapack_int)(lda), (*C.double)(_b), (C.lapack_int)(ldb), (*C.double)(_work), (C.lapack_int)(ldwork)))
 31319  }
 31320  
 31321  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ctprfb.f.
 31322  func Ctprfb(side blas.Side, trans blas.Transpose, direct, storev byte, m, n, k, l int, v []complex64, ldv int, t []complex64, ldt int, a []complex64, lda int, b []complex64, ldb int, work []complex64, ldwork int) bool {
 31323  	switch side {
 31324  	case blas.Left:
 31325  		side = 'L'
 31326  	case blas.Right:
 31327  		side = 'R'
 31328  	default:
 31329  		panic("lapack: bad side")
 31330  	}
 31331  	switch trans {
 31332  	case blas.NoTrans:
 31333  		trans = 'N'
 31334  	case blas.Trans:
 31335  		trans = 'T'
 31336  	case blas.ConjTrans:
 31337  		trans = 'C'
 31338  	default:
 31339  		panic("lapack: bad trans")
 31340  	}
 31341  	var _v *complex64
 31342  	if len(v) > 0 {
 31343  		_v = &v[0]
 31344  	}
 31345  	var _t *complex64
 31346  	if len(t) > 0 {
 31347  		_t = &t[0]
 31348  	}
 31349  	var _a *complex64
 31350  	if len(a) > 0 {
 31351  		_a = &a[0]
 31352  	}
 31353  	var _b *complex64
 31354  	if len(b) > 0 {
 31355  		_b = &b[0]
 31356  	}
 31357  	var _work *complex64
 31358  	if len(work) > 0 {
 31359  		_work = &work[0]
 31360  	}
 31361  	return isZero(C.LAPACKE_ctprfb_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.char)(direct), (C.char)(storev), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.lapack_complex_float)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_float)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda), (*C.lapack_complex_float)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_float)(_work), (C.lapack_int)(ldwork)))
 31362  }
 31363  
 31364  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ztprfb.f.
 31365  func Ztprfb(side blas.Side, trans blas.Transpose, direct, storev byte, m, n, k, l int, v []complex128, ldv int, t []complex128, ldt int, a []complex128, lda int, b []complex128, ldb int, work []complex128, ldwork int) bool {
 31366  	switch side {
 31367  	case blas.Left:
 31368  		side = 'L'
 31369  	case blas.Right:
 31370  		side = 'R'
 31371  	default:
 31372  		panic("lapack: bad side")
 31373  	}
 31374  	switch trans {
 31375  	case blas.NoTrans:
 31376  		trans = 'N'
 31377  	case blas.Trans:
 31378  		trans = 'T'
 31379  	case blas.ConjTrans:
 31380  		trans = 'C'
 31381  	default:
 31382  		panic("lapack: bad trans")
 31383  	}
 31384  	var _v *complex128
 31385  	if len(v) > 0 {
 31386  		_v = &v[0]
 31387  	}
 31388  	var _t *complex128
 31389  	if len(t) > 0 {
 31390  		_t = &t[0]
 31391  	}
 31392  	var _a *complex128
 31393  	if len(a) > 0 {
 31394  		_a = &a[0]
 31395  	}
 31396  	var _b *complex128
 31397  	if len(b) > 0 {
 31398  		_b = &b[0]
 31399  	}
 31400  	var _work *complex128
 31401  	if len(work) > 0 {
 31402  		_work = &work[0]
 31403  	}
 31404  	return isZero(C.LAPACKE_ztprfb_work((C.int)(rowMajor), (C.char)(side), (C.char)(trans), (C.char)(direct), (C.char)(storev), (C.lapack_int)(m), (C.lapack_int)(n), (C.lapack_int)(k), (C.lapack_int)(l), (*C.lapack_complex_double)(_v), (C.lapack_int)(ldv), (*C.lapack_complex_double)(_t), (C.lapack_int)(ldt), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda), (*C.lapack_complex_double)(_b), (C.lapack_int)(ldb), (*C.lapack_complex_double)(_work), (C.lapack_int)(ldwork)))
 31405  }
 31406  
 31407  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/csyr.f.
 31408  func Csyr(ul blas.Uplo, n int, alpha complex64, x []complex64, incx int, a []complex64, lda int) bool {
 31409  	switch ul {
 31410  	case blas.Upper:
 31411  		ul = 'U'
 31412  	case blas.Lower:
 31413  		ul = 'L'
 31414  	default:
 31415  		panic("lapack: illegal triangle")
 31416  	}
 31417  	var _x *complex64
 31418  	if len(x) > 0 {
 31419  		_x = &x[0]
 31420  	}
 31421  	var _a *complex64
 31422  	if len(a) > 0 {
 31423  		_a = &a[0]
 31424  	}
 31425  	return isZero(C.LAPACKE_csyr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_complex_float)(alpha), (*C.lapack_complex_float)(_x), (C.lapack_int)(incx), (*C.lapack_complex_float)(_a), (C.lapack_int)(lda)))
 31426  }
 31427  
 31428  // See http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zsyr.f.
 31429  func Zsyr(ul blas.Uplo, n int, alpha complex128, x []complex128, incx int, a []complex128, lda int) bool {
 31430  	switch ul {
 31431  	case blas.Upper:
 31432  		ul = 'U'
 31433  	case blas.Lower:
 31434  		ul = 'L'
 31435  	default:
 31436  		panic("lapack: illegal triangle")
 31437  	}
 31438  	var _x *complex128
 31439  	if len(x) > 0 {
 31440  		_x = &x[0]
 31441  	}
 31442  	var _a *complex128
 31443  	if len(a) > 0 {
 31444  		_a = &a[0]
 31445  	}
 31446  	return isZero(C.LAPACKE_zsyr_work((C.int)(rowMajor), (C.char)(ul), (C.lapack_int)(n), (C.lapack_complex_double)(alpha), (*C.lapack_complex_double)(_x), (C.lapack_int)(incx), (*C.lapack_complex_double)(_a), (C.lapack_int)(lda)))
 31447  }