OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / gonum.org / v1 / gonum / internal / asm / f64 / scal.go
diff --git a/vendor/gonum.org/v1/gonum/internal/asm/f64/scal.go b/vendor/gonum.org/v1/gonum/internal/asm/f64/scal.go
new file mode 100644 (file)
index 0000000..9d11a10
--- /dev/null
@@ -0,0 +1,57 @@
+// 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
+
+// ScalUnitary is
+//  for i := range x {
+//     x[i] *= alpha
+//  }
+func ScalUnitary(alpha float64, x []float64) {
+       for i := range x {
+               x[i] *= alpha
+       }
+}
+
+// ScalUnitaryTo is
+//  for i, v := range x {
+//     dst[i] = alpha * v
+//  }
+func ScalUnitaryTo(dst []float64, alpha float64, x []float64) {
+       for i, v := range x {
+               dst[i] = alpha * v
+       }
+}
+
+// ScalInc is
+//  var ix uintptr
+//  for i := 0; i < int(n); i++ {
+//     x[ix] *= alpha
+//     ix += incX
+//  }
+func ScalInc(alpha float64, x []float64, n, incX uintptr) {
+       var ix uintptr
+       for i := 0; i < int(n); i++ {
+               x[ix] *= alpha
+               ix += incX
+       }
+}
+
+// ScalIncTo is
+//  var idst, ix uintptr
+//  for i := 0; i < int(n); i++ {
+//     dst[idst] = alpha * x[ix]
+//     ix += incX
+//     idst += incDst
+//  }
+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
+       }
+}