OSDN Git Service

test (#52)
[bytom/vapor.git] / vendor / gonum.org / v1 / gonum / internal / asm / f64 / scal.go
1 // Copyright ©2016 The Gonum Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 //+build !amd64 noasm appengine
6
7 package f64
8
9 // ScalUnitary is
10 //  for i := range x {
11 //      x[i] *= alpha
12 //  }
13 func ScalUnitary(alpha float64, x []float64) {
14         for i := range x {
15                 x[i] *= alpha
16         }
17 }
18
19 // ScalUnitaryTo is
20 //  for i, v := range x {
21 //      dst[i] = alpha * v
22 //  }
23 func ScalUnitaryTo(dst []float64, alpha float64, x []float64) {
24         for i, v := range x {
25                 dst[i] = alpha * v
26         }
27 }
28
29 // ScalInc is
30 //  var ix uintptr
31 //  for i := 0; i < int(n); i++ {
32 //      x[ix] *= alpha
33 //      ix += incX
34 //  }
35 func ScalInc(alpha float64, x []float64, n, incX uintptr) {
36         var ix uintptr
37         for i := 0; i < int(n); i++ {
38                 x[ix] *= alpha
39                 ix += incX
40         }
41 }
42
43 // ScalIncTo is
44 //  var idst, ix uintptr
45 //  for i := 0; i < int(n); i++ {
46 //      dst[idst] = alpha * x[ix]
47 //      ix += incX
48 //      idst += incDst
49 //  }
50 func ScalIncTo(dst []float64, incDst uintptr, alpha float64, x []float64, n, incX uintptr) {
51         var idst, ix uintptr
52         for i := 0; i < int(n); i++ {
53                 dst[idst] = alpha * x[ix]
54                 ix += incX
55                 idst += incDst
56         }
57 }