github.com/gopherd/gonum@v0.0.4/internal/asm/f32/stubs_amd64.go (about)

     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  //go:build !noasm && !gccgo && !safe
     6  // +build !noasm,!gccgo,!safe
     7  
     8  package f32
     9  
    10  // AxpyUnitary is
    11  //  for i, v := range x {
    12  //  	y[i] += alpha * v
    13  //  }
    14  func AxpyUnitary(alpha float32, x, y []float32)
    15  
    16  // AxpyUnitaryTo is
    17  //  for i, v := range x {
    18  //  	dst[i] = alpha*v + y[i]
    19  //  }
    20  func AxpyUnitaryTo(dst []float32, alpha float32, x, y []float32)
    21  
    22  // AxpyInc is
    23  //  for i := 0; i < int(n); i++ {
    24  //  	y[iy] += alpha * x[ix]
    25  //  	ix += incX
    26  //  	iy += incY
    27  //  }
    28  func AxpyInc(alpha float32, x, y []float32, n, incX, incY, ix, iy uintptr)
    29  
    30  // AxpyIncTo is
    31  //  for i := 0; i < int(n); i++ {
    32  //  	dst[idst] = alpha*x[ix] + y[iy]
    33  //  	ix += incX
    34  //  	iy += incY
    35  //  	idst += incDst
    36  //  }
    37  func AxpyIncTo(dst []float32, incDst, idst uintptr, alpha float32, x, y []float32, n, incX, incY, ix, iy uintptr)
    38  
    39  // DdotUnitary is
    40  //  for i, v := range x {
    41  //  	sum += float64(y[i]) * float64(v)
    42  //  }
    43  //  return
    44  func DdotUnitary(x, y []float32) (sum float64)
    45  
    46  // DdotInc is
    47  //  for i := 0; i < int(n); i++ {
    48  //  	sum += float64(y[iy]) * float64(x[ix])
    49  //  	ix += incX
    50  //  	iy += incY
    51  //  }
    52  //  return
    53  func DdotInc(x, y []float32, n, incX, incY, ix, iy uintptr) (sum float64)
    54  
    55  // DotUnitary is
    56  //  for i, v := range x {
    57  //  	sum += y[i] * v
    58  //  }
    59  //  return sum
    60  func DotUnitary(x, y []float32) (sum float32)
    61  
    62  // DotInc is
    63  //  for i := 0; i < int(n); i++ {
    64  //  	sum += y[iy] * x[ix]
    65  //  	ix += incX
    66  //  	iy += incY
    67  //  }
    68  //  return sum
    69  func DotInc(x, y []float32, n, incX, incY, ix, iy uintptr) (sum float32)
    70  
    71  // Sum is
    72  //  var sum float32
    73  //  for _, v := range x {
    74  // 		sum += v
    75  //  }
    76  //  return sum
    77  func Sum(x []float32) float32