github.com/jingcheng-WU/gonum@v0.9.1-0.20210323123734-f1a2a11a8f7b/internal/asm/c128/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  // +build !noasm,!gccgo,!safe
     6  
     7  package c128
     8  
     9  // AxpyUnitary is
    10  //  for i, v := range x {
    11  //  	y[i] += alpha * v
    12  //  }
    13  func AxpyUnitary(alpha complex128, x, y []complex128)
    14  
    15  // AxpyUnitaryTo is
    16  //  for i, v := range x {
    17  //  	dst[i] = alpha*v + y[i]
    18  //  }
    19  func AxpyUnitaryTo(dst []complex128, alpha complex128, x, y []complex128)
    20  
    21  // AxpyInc is
    22  //  for i := 0; i < int(n); i++ {
    23  //  	y[iy] += alpha * x[ix]
    24  //  	ix += incX
    25  //  	iy += incY
    26  //  }
    27  func AxpyInc(alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr)
    28  
    29  // AxpyIncTo is
    30  //  for i := 0; i < int(n); i++ {
    31  //  	dst[idst] = alpha*x[ix] + y[iy]
    32  //  	ix += incX
    33  //  	iy += incY
    34  //  	idst += incDst
    35  //  }
    36  func AxpyIncTo(dst []complex128, incDst, idst uintptr, alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr)
    37  
    38  // DscalUnitary is
    39  //  for i, v := range x {
    40  //  	x[i] = complex(real(v)*alpha, imag(v)*alpha)
    41  //  }
    42  func DscalUnitary(alpha float64, x []complex128)
    43  
    44  // DscalInc is
    45  //  var ix uintptr
    46  //  for i := 0; i < int(n); i++ {
    47  //  	x[ix] = complex(real(x[ix])*alpha, imag(x[ix])*alpha)
    48  //  	ix += inc
    49  //  }
    50  func DscalInc(alpha float64, x []complex128, n, inc uintptr)
    51  
    52  // ScalInc is
    53  //  var ix uintptr
    54  //  for i := 0; i < int(n); i++ {
    55  //  	x[ix] *= alpha
    56  //  	ix += incX
    57  //  }
    58  func ScalInc(alpha complex128, x []complex128, n, inc uintptr)
    59  
    60  // ScalUnitary is
    61  //  for i := range x {
    62  //  	x[i] *= alpha
    63  //  }
    64  func ScalUnitary(alpha complex128, x []complex128)
    65  
    66  // DotcUnitary is
    67  //  for i, v := range x {
    68  //  	sum += y[i] * cmplx.Conj(v)
    69  //  }
    70  //  return sum
    71  func DotcUnitary(x, y []complex128) (sum complex128)
    72  
    73  // DotcInc is
    74  //  for i := 0; i < int(n); i++ {
    75  //  	sum += y[iy] * cmplx.Conj(x[ix])
    76  //  	ix += incX
    77  //  	iy += incY
    78  //  }
    79  //  return sum
    80  func DotcInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128)
    81  
    82  // DotuUnitary is
    83  //  for i, v := range x {
    84  //  	sum += y[i] * v
    85  //  }
    86  //  return sum
    87  func DotuUnitary(x, y []complex128) (sum complex128)
    88  
    89  // DotuInc is
    90  //  for i := 0; i < int(n); i++ {
    91  //  	sum += y[iy] * x[ix]
    92  //  	ix += incX
    93  //  	iy += incY
    94  //  }
    95  //  return sum
    96  func DotuInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128)