本文整理匯總了Golang中github.com/hrautila/cmat.FloatMatrix.Stride方法的典型用法代碼示例。如果您正苦於以下問題:Golang FloatMatrix.Stride方法的具體用法?Golang FloatMatrix.Stride怎麽用?Golang FloatMatrix.Stride使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/hrautila/cmat.FloatMatrix
的用法示例。
在下文中一共展示了FloatMatrix.Stride方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: axpby
func axpby(Y, X *cmat.FloatMatrix, alpha, beta float64, N int) {
var x, y C.mvec_t
xr, _ := X.Size()
x.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
x.inc = C.int(1)
if xr == 1 {
x.inc = C.int(X.Stride())
}
yr, _ := Y.Size()
y.md = (*C.double)(unsafe.Pointer(&Y.Data()[0]))
y.inc = C.int(1)
if yr == 1 {
y.inc = C.int(Y.Stride())
}
if beta == 1.0 {
C.__d_vec_axpy(
(*C.mvec_t)(unsafe.Pointer(&y)),
(*C.mvec_t)(unsafe.Pointer(&x)),
C.double(alpha), C.int(N))
} else {
C.__d_vec_axpby(
(*C.mvec_t)(unsafe.Pointer(&y)),
(*C.mvec_t)(unsafe.Pointer(&x)),
C.double(alpha), C.double(beta), C.int(N))
}
return
}
示例2: minvscale
func minvscale(A *cmat.FloatMatrix, alpha float64, M, N int) {
var a C.mdata_t
a.md = (*C.double)(unsafe.Pointer(&A.Data()[0]))
a.step = C.int(A.Stride())
C.__d_blk_invscale(
(*C.mdata_t)(unsafe.Pointer(&a)), C.double(alpha), C.int(M), C.int(N))
return
}
示例3: vinvscal
func vinvscal(X *cmat.FloatMatrix, alpha float64, N int) {
var x C.mvec_t
xr, _ := X.Size()
x.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
x.inc = C.int(1)
if xr == 1 {
x.inc = C.int(X.Stride())
}
C.__d_vec_invscal(
(*C.mvec_t)(unsafe.Pointer(&x)), C.double(alpha), C.int(N))
return
}
示例4: iamax
func iamax(X *cmat.FloatMatrix, N int) int {
var x C.mvec_t
var ix C.int
xr, _ := X.Size()
x.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
x.inc = C.int(1)
if xr == 1 {
x.inc = C.int(X.Stride())
}
ix = C.__d_vec_iamax(
(*C.mvec_t)(unsafe.Pointer(&x)), C.int(N))
return int(ix)
}
示例5: plus
func plus(Ac, Bc *cmat.FloatMatrix, alpha, beta float64, bits, S, L, R, E int) {
var Am, Bm C.mdata_t
Am.md = (*C.double)(unsafe.Pointer(&Ac.Data()[0]))
Am.step = C.int(Ac.Stride())
Bm.md = (*C.double)(unsafe.Pointer(&Bc.Data()[0]))
Bm.step = C.int(Bc.Stride())
C.__d_scale_plus(
(*C.mdata_t)(unsafe.Pointer(&Am)),
(*C.mdata_t)(unsafe.Pointer(&Bm)),
C.double(alpha), C.double(beta), C.int(bits),
C.int(S), C.int(L), C.int(R), C.int(E))
}
示例6: sum
func sum(X *cmat.FloatMatrix, N int) float64 {
var x C.mvec_t
var dc C.double
xr, _ := X.Size()
x.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
x.inc = C.int(1)
if xr == 1 {
x.inc = C.int(X.Stride())
}
dc = C.__d_vec_sum_recursive(
(*C.mvec_t)(unsafe.Pointer(&x)), C.int(N))
return float64(dc)
}
示例7: mtranspose
func mtranspose(A, B *cmat.FloatMatrix, M, N int) {
var a, b C.mdata_t
if M == 0 || N == 0 {
return
}
a.md = (*C.double)(unsafe.Pointer(&A.Data()[0]))
a.step = C.int(A.Stride())
b.md = (*C.double)(unsafe.Pointer(&B.Data()[0]))
b.step = C.int(B.Stride())
C.__d_blk_transpose(
(*C.mdata_t)(unsafe.Pointer(&a)),
(*C.mdata_t)(unsafe.Pointer(&b)), C.int(M), C.int(N))
return
}
示例8: syrk
func syrk(Cc, Ac *cmat.FloatMatrix, alpha, beta float64, bits, P, S, E int, conf *gomas.Config) error {
var Am, Cm C.mdata_t
Am.md = (*C.double)(unsafe.Pointer(&Ac.Data()[0]))
Am.step = C.int(Ac.Stride())
Cm.md = (*C.double)(unsafe.Pointer(&Cc.Data()[0]))
Cm.step = C.int(Cc.Stride())
C.__d_rank_blk(
(*C.mdata_t)(unsafe.Pointer(&Cm)),
(*C.mdata_t)(unsafe.Pointer(&Am)),
C.double(alpha), C.double(beta), C.int(bits),
C.int(P), C.int(S), C.int(E),
C.int(conf.KB), C.int(conf.NB), C.int(conf.MB))
return nil
}
示例9: trsm
func trsm(Bc, Ac *cmat.FloatMatrix, alpha float64, bits, N, S, E int, conf *gomas.Config) error {
var Am, Bm C.mdata_t
Am.md = (*C.double)(unsafe.Pointer(&Ac.Data()[0]))
Am.step = C.int(Ac.Stride())
Bm.md = (*C.double)(unsafe.Pointer(&Bc.Data()[0]))
Bm.step = C.int(Bc.Stride())
C.__d_solve_blocked(
(*C.mdata_t)(unsafe.Pointer(&Bm)),
(*C.mdata_t)(unsafe.Pointer(&Am)),
C.double(alpha), C.int(bits),
C.int(N), C.int(S), C.int(E),
C.int(conf.KB), C.int(conf.NB), C.int(conf.MB))
return nil
}
示例10: trmv
func trmv(X, A *cmat.FloatMatrix, alpha float64, bits, N int) error {
var Am C.mdata_t
var Xm C.mvec_t
xr, _ := X.Size()
Am.md = (*C.double)(unsafe.Pointer(&A.Data()[0]))
Am.step = C.int(A.Stride())
Xm.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
Xm.inc = C.int(1)
// if row vectors, change increment
if xr == 1 {
Xm.inc = C.int(X.Stride())
}
C.__d_trmv_unb(
(*C.mvec_t)(unsafe.Pointer(&Xm)),
(*C.mdata_t)(unsafe.Pointer(&Am)),
C.double(alpha), C.int(bits), C.int(N))
return nil
}
示例11: vswap
func vswap(X, Y *cmat.FloatMatrix, N int) {
var x, y C.mvec_t
xr, _ := X.Size()
x.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
x.inc = C.int(1)
if xr == 1 {
x.inc = C.int(X.Stride())
}
yr, _ := Y.Size()
y.md = (*C.double)(unsafe.Pointer(&Y.Data()[0]))
y.inc = C.int(1)
if yr == 1 {
y.inc = C.int(Y.Stride())
}
C.__d_vec_swap(
(*C.mvec_t)(unsafe.Pointer(&x)),
(*C.mvec_t)(unsafe.Pointer(&y)), C.int(N))
return
}
示例12: dot
func dot(X, Y *cmat.FloatMatrix, N int) float64 {
var x, y C.mvec_t
var dc C.double
xr, _ := X.Size()
x.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
x.inc = C.int(1)
if xr == 1 {
x.inc = C.int(X.Stride())
}
yr, _ := Y.Size()
y.md = (*C.double)(unsafe.Pointer(&Y.Data()[0]))
y.inc = C.int(1)
if yr == 1 {
y.inc = C.int(Y.Stride())
}
dc = C.__d_vec_dot_recursive(
(*C.mvec_t)(unsafe.Pointer(&x)),
(*C.mvec_t)(unsafe.Pointer(&y)), C.int(N))
return float64(dc)
}
示例13: gemv
func gemv(Y, A, X *cmat.FloatMatrix, alpha, beta float64, bits, S, L, R, E int) {
var Am C.mdata_t
var Xm, Ym C.mvec_t
xr, _ := X.Size()
yr, _ := Y.Size()
Am.md = (*C.double)(unsafe.Pointer(&A.Data()[0]))
Am.step = C.int(A.Stride())
Xm.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
Ym.md = (*C.double)(unsafe.Pointer(&Y.Data()[0]))
Ym.inc = C.int(1)
Xm.inc = C.int(1)
// if row vectors, change increment
if xr == 1 {
Xm.inc = C.int(X.Stride())
}
if yr == 1 {
Ym.inc = C.int(Y.Stride())
}
C.__d_gemv_unb(
(*C.mvec_t)(unsafe.Pointer(&Ym)),
(*C.mdata_t)(unsafe.Pointer(&Am)),
(*C.mvec_t)(unsafe.Pointer(&Xm)),
C.double(alpha),
/*C.double(beta),*/
C.int(bits),
C.int(S), C.int(L), C.int(R), C.int(E))
}
示例14: updtrmv
func updtrmv(A, X, Y *cmat.FloatMatrix, alpha float64, bits, N, M int) error {
var Am C.mdata_t
var Xm, Ym C.mvec_t
xr, _ := X.Size()
yr, _ := Y.Size()
Am.md = (*C.double)(unsafe.Pointer(&A.Data()[0]))
Am.step = C.int(A.Stride())
Xm.md = (*C.double)(unsafe.Pointer(&X.Data()[0]))
Ym.md = (*C.double)(unsafe.Pointer(&Y.Data()[0]))
Ym.inc = C.int(1)
Xm.inc = C.int(1)
// if row vectors, change increment
if xr == 1 {
Xm.inc = C.int(X.Stride())
}
if yr == 1 {
Ym.inc = C.int(Y.Stride())
}
C.__d_update_trmv_unb(
(*C.mdata_t)(unsafe.Pointer(&Am)),
(*C.mvec_t)(unsafe.Pointer(&Xm)),
(*C.mvec_t)(unsafe.Pointer(&Ym)),
C.double(alpha), C.int(bits), C.int(N), C.int(M))
return nil
}
示例15: gemm
func gemm(Cc, Ac, Bc *cmat.FloatMatrix, alpha, beta float64, bits, P, S, L, R, E int, conf *gomas.Config) {
var Am, Cm, Bm C.mdata_t
Am.md = (*C.double)(unsafe.Pointer(&Ac.Data()[0]))
Am.step = C.int(Ac.Stride())
Bm.md = (*C.double)(unsafe.Pointer(&Bc.Data()[0]))
Bm.step = C.int(Bc.Stride())
Cm.md = (*C.double)(unsafe.Pointer(&Cc.Data()[0]))
Cm.step = C.int(Cc.Stride())
C.__d_gemm_inner(
(*C.mdata_t)(unsafe.Pointer(&Cm)),
(*C.mdata_t)(unsafe.Pointer(&Am)),
(*C.mdata_t)(unsafe.Pointer(&Bm)),
C.double(alpha), C.double(beta), C.int(bits),
C.int(P), C.int(S), C.int(L), C.int(R), C.int(E),
C.int(conf.KB), C.int(conf.NB), C.int(conf.MB))
}