本文整理汇总了Golang中github.com/jvlmdr/go-fftw/fftw.Array2.Dims方法的典型用法代码示例。如果您正苦于以下问题:Golang Array2.Dims方法的具体用法?Golang Array2.Dims怎么用?Golang Array2.Dims使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jvlmdr/go-fftw/fftw.Array2
的用法示例。
在下文中一共展示了Array2.Dims方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: zero
func zero(x *fftw.Array2) {
m, n := x.Dims()
for i := 0; i < m; i++ {
for j := 0; j < n; j++ {
x.Set(i, j, 0)
}
}
}
示例2: scale
// ai <- k ai
func scale(k complex128, c *fftw.Array2) {
m, n := c.Dims()
for i := 0; i < m; i++ {
for j := 0; j < n; j++ {
c.Set(i, j, k*c.At(i, j))
}
}
}
示例3: scaleMul
// ci <- k conj(ai) bi
func scaleMul(c *fftw.Array2, k complex128, a, b *fftw.Array2) {
m, n := a.Dims()
for i := 0; i < m; i++ {
for j := 0; j < n; j++ {
ax := cmplx.Conj(a.At(i, j))
bx := b.At(i, j)
c.Set(i, j, k*ax*bx)
}
}
}
示例4: addMul
// ci <- ci + conj(ai) bi
func addMul(c *fftw.Array2, a, b *fftw.Array2) {
m, n := a.Dims()
for i := 0; i < m; i++ {
for j := 0; j < n; j++ {
ax := cmplx.Conj(a.At(i, j))
bx := b.At(i, j)
cx := c.At(i, j)
c.Set(i, j, cx+ax*bx)
}
}
}
示例5: copyChannelTo
// Assumes that f is no smaller than x.
// Pads with zeros.
func copyChannelTo(x *fftw.Array2, f *rimg64.Multi, p int) {
w, h := x.Dims()
for u := 0; u < w; u++ {
for v := 0; v < h; v++ {
if u < f.Width && v < f.Height {
x.Set(u, v, complex(f.At(u, v, p), 0))
} else {
x.Set(u, v, 0)
}
}
}
}
示例6: copyImageTo
func copyImageTo(x *fftw.Array2, f *rimg64.Image) {
w, h := x.Dims()
for u := 0; u < w; u++ {
for v := 0; v < h; v++ {
if u < f.Width && v < f.Height {
x.Set(u, v, complex(f.At(u, v), 0))
} else {
x.Set(u, v, 0)
}
}
}
}
示例7: copyChannelStrideTo
// dst[i, j] = src[i*stride + offset.X, j*stride + offset.Y],
// or zero if this is outside the boundary.
func copyChannelStrideTo(dst *fftw.Array2, src *rimg64.Multi, channel, stride int, offset image.Point) {
m, n := dst.Dims()
bnds := image.Rect(0, 0, src.Width, src.Height)
for i := 0; i < m; i++ {
for j := 0; j < n; j++ {
p := image.Pt(i, j).Mul(stride).Add(offset)
var val complex128
if p.In(bnds) {
val = complex(src.At(p.X, p.Y, channel), 0)
}
dst.Set(i, j, val)
}
}
}