本文整理汇总了Golang中github.com/hrautila/go/opt/linalg.IndexOpts.Nrhs方法的典型用法代码示例。如果您正苦于以下问题:Golang IndexOpts.Nrhs方法的具体用法?Golang IndexOpts.Nrhs怎么用?Golang IndexOpts.Nrhs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/hrautila/go/opt/linalg.IndexOpts
的用法示例。
在下文中一共展示了IndexOpts.Nrhs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: checkGbtrs
func checkGbtrs(ind *linalg.IndexOpts, A, B matrix.Matrix, ipiv []int32) error {
if ind.Kl < 0 {
return errors.New("Gbtrs: invalid kl")
}
if ind.N < 0 {
ind.N = A.Rows()
}
if ind.Nrhs < 0 {
ind.Nrhs = A.Cols()
}
if ind.N == 0 || ind.Nrhs == 0 {
return nil
}
if ind.Ku < 0 {
ind.Ku = A.Rows() - 2*ind.Kl - 1
}
if ind.Ku < 0 {
return errors.New("Gbtrs: invalid ku")
}
if ind.LDa == 0 {
ind.LDa = max(1, A.Rows())
}
if ind.LDa < 2*ind.Kl+ind.Ku+1 {
return errors.New("Gbtrs: lda")
}
if ind.OffsetA < 0 {
return errors.New("Gbtrs: offsetA")
}
sizeA := A.NumElements()
if sizeA < ind.OffsetA+(ind.N-1)*ind.LDa+2*ind.Kl+ind.Ku+1 {
return errors.New("Gbtrs: sizeA")
}
if ind.LDb == 0 {
ind.LDb = max(1, B.Rows())
}
if ind.OffsetB < 0 {
return errors.New("Gbtrs: offsetB")
}
sizeB := B.NumElements()
if sizeB < ind.OffsetB+(ind.Nrhs-1)*ind.LDb+ind.N {
return errors.New("Gbtrs: sizeB")
}
if ipiv != nil && len(ipiv) < ind.N {
return errors.New("Gbtrs: size ipiv")
}
return nil
}