mirror of
https://github.com/gonum/gonum.git
synced 2025-10-20 21:59:25 +08:00
39 lines
829 B
Go
39 lines
829 B
Go
// Copyright ©2016 The gonum Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
//+build !amd64 noasm appengine
|
|
|
|
package f64
|
|
|
|
func ScalUnitary(alpha float64, x []float64) {
|
|
for i := range x {
|
|
x[i] *= alpha
|
|
}
|
|
}
|
|
|
|
func ScalUnitaryTo(dst []float64, alpha float64, x []float64) {
|
|
for i, v := range x {
|
|
dst[i] = alpha * v
|
|
}
|
|
}
|
|
|
|
// incX must be positive.
|
|
func ScalInc(alpha float64, x []float64, n, incX uintptr) {
|
|
var ix uintptr
|
|
for i := 0; i < int(n); i++ {
|
|
x[ix] *= alpha
|
|
ix += incX
|
|
}
|
|
}
|
|
|
|
// incDst and incX must be positive.
|
|
func ScalIncTo(dst []float64, incDst uintptr, alpha float64, x []float64, n, incX uintptr) {
|
|
var idst, ix uintptr
|
|
for i := 0; i < int(n); i++ {
|
|
dst[idst] = alpha * x[ix]
|
|
ix += incX
|
|
idst += incDst
|
|
}
|
|
}
|