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.
5 //+build !amd64 noasm appengine
12 // for i, v := range x {
15 func AxpyUnitary(alpha complex128, x, y []complex128) {
22 // for i, v := range x {
23 // dst[i] = alpha*v + y[i]
25 func AxpyUnitaryTo(dst []complex128, alpha complex128, x, y []complex128) {
27 dst[i] = alpha*v + y[i]
32 // for i := 0; i < int(n); i++ {
33 // y[iy] += alpha * x[ix]
37 func AxpyInc(alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr) {
38 for i := 0; i < int(n); i++ {
39 y[iy] += alpha * x[ix]
46 // for i := 0; i < int(n); i++ {
47 // dst[idst] = alpha*x[ix] + y[iy]
52 func AxpyIncTo(dst []complex128, incDst, idst uintptr, alpha complex128, x, y []complex128, n, incX, incY, ix, iy uintptr) {
53 for i := 0; i < int(n); i++ {
54 dst[idst] = alpha*x[ix] + y[iy]
62 // for i, v := range x {
63 // x[i] = complex(real(v)*alpha, imag(v)*alpha)
65 func DscalUnitary(alpha float64, x []complex128) {
67 x[i] = complex(real(v)*alpha, imag(v)*alpha)
73 // for i := 0; i < int(n); i++ {
74 // x[ix] = complex(real(x[ix])*alpha, imag(x[ix])*alpha)
77 func DscalInc(alpha float64, x []complex128, n, inc uintptr) {
79 for i := 0; i < int(n); i++ {
80 x[ix] = complex(real(x[ix])*alpha, imag(x[ix])*alpha)
87 // for i := 0; i < int(n); i++ {
91 func ScalInc(alpha complex128, x []complex128, n, inc uintptr) {
93 for i := 0; i < int(n); i++ {
100 // for i := range x {
103 func ScalUnitary(alpha complex128, x []complex128) {
110 // for i, v := range x {
111 // sum += y[i] * cmplx.Conj(v)
114 func DotcUnitary(x, y []complex128) (sum complex128) {
115 for i, v := range x {
116 sum += y[i] * cmplx.Conj(v)
122 // for i := 0; i < int(n); i++ {
123 // sum += y[iy] * cmplx.Conj(x[ix])
128 func DotcInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128) {
129 for i := 0; i < int(n); i++ {
130 sum += y[iy] * cmplx.Conj(x[ix])
138 // for i, v := range x {
142 func DotuUnitary(x, y []complex128) (sum complex128) {
143 for i, v := range x {
150 // for i := 0; i < int(n); i++ {
151 // sum += y[iy] * x[ix]
156 func DotuInc(x, y []complex128, n, incX, incY, ix, iy uintptr) (sum complex128) {
157 for i := 0; i < int(n); i++ {