package archsimd
func (x Int8x16 ) Masked (mask Mask8x16 ) Int8x16 {
im := mask .ToInt8x16 ()
return im .And (x )
}
func (x Int8x16 ) Merge (y Int8x16 , mask Mask8x16 ) Int8x16 {
im := mask .ToInt8x16 ()
return y .blend (x , im )
}
func (x Int16x8 ) Masked (mask Mask16x8 ) Int16x8 {
im := mask .ToInt16x8 ()
return im .And (x )
}
func (x Int16x8 ) Merge (y Int16x8 , mask Mask16x8 ) Int16x8 {
im := mask .ToInt16x8 ().AsInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsInt16x8 ()
}
func (x Int32x4 ) Masked (mask Mask32x4 ) Int32x4 {
im := mask .ToInt32x4 ()
return im .And (x )
}
func (x Int32x4 ) Merge (y Int32x4 , mask Mask32x4 ) Int32x4 {
im := mask .ToInt32x4 ().AsInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsInt32x4 ()
}
func (x Int64x2 ) Masked (mask Mask64x2 ) Int64x2 {
im := mask .ToInt64x2 ()
return im .And (x )
}
func (x Int64x2 ) Merge (y Int64x2 , mask Mask64x2 ) Int64x2 {
im := mask .ToInt64x2 ().AsInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsInt64x2 ()
}
func (x Uint8x16 ) Masked (mask Mask8x16 ) Uint8x16 {
im := mask .ToInt8x16 ()
return x .AsInt8x16 ().And (im ).AsUint8x16 ()
}
func (x Uint8x16 ) Merge (y Uint8x16 , mask Mask8x16 ) Uint8x16 {
im := mask .ToInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsUint8x16 ()
}
func (x Uint16x8 ) Masked (mask Mask16x8 ) Uint16x8 {
im := mask .ToInt16x8 ()
return x .AsInt16x8 ().And (im ).AsUint16x8 ()
}
func (x Uint16x8 ) Merge (y Uint16x8 , mask Mask16x8 ) Uint16x8 {
im := mask .ToInt16x8 ().AsInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsUint16x8 ()
}
func (x Uint32x4 ) Masked (mask Mask32x4 ) Uint32x4 {
im := mask .ToInt32x4 ()
return x .AsInt32x4 ().And (im ).AsUint32x4 ()
}
func (x Uint32x4 ) Merge (y Uint32x4 , mask Mask32x4 ) Uint32x4 {
im := mask .ToInt32x4 ().AsInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsUint32x4 ()
}
func (x Uint64x2 ) Masked (mask Mask64x2 ) Uint64x2 {
im := mask .ToInt64x2 ()
return x .AsInt64x2 ().And (im ).AsUint64x2 ()
}
func (x Uint64x2 ) Merge (y Uint64x2 , mask Mask64x2 ) Uint64x2 {
im := mask .ToInt64x2 ().AsInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsUint64x2 ()
}
func (x Float32x4 ) Masked (mask Mask32x4 ) Float32x4 {
im := mask .ToInt32x4 ()
return x .AsInt32x4 ().And (im ).AsFloat32x4 ()
}
func (x Float32x4 ) Merge (y Float32x4 , mask Mask32x4 ) Float32x4 {
im := mask .ToInt32x4 ().AsInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsFloat32x4 ()
}
func (x Float64x2 ) Masked (mask Mask64x2 ) Float64x2 {
im := mask .ToInt64x2 ()
return x .AsInt64x2 ().And (im ).AsFloat64x2 ()
}
func (x Float64x2 ) Merge (y Float64x2 , mask Mask64x2 ) Float64x2 {
im := mask .ToInt64x2 ().AsInt8x16 ()
ix := x .AsInt8x16 ()
iy := y .AsInt8x16 ()
return iy .blend (ix , im ).AsFloat64x2 ()
}
func (x Int8x32 ) Masked (mask Mask8x32 ) Int8x32 {
im := mask .ToInt8x32 ()
return im .And (x )
}
func (x Int8x32 ) Merge (y Int8x32 , mask Mask8x32 ) Int8x32 {
im := mask .ToInt8x32 ()
return y .blend (x , im )
}
func (x Int16x16 ) Masked (mask Mask16x16 ) Int16x16 {
im := mask .ToInt16x16 ()
return im .And (x )
}
func (x Int16x16 ) Merge (y Int16x16 , mask Mask16x16 ) Int16x16 {
im := mask .ToInt16x16 ().AsInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsInt16x16 ()
}
func (x Int32x8 ) Masked (mask Mask32x8 ) Int32x8 {
im := mask .ToInt32x8 ()
return im .And (x )
}
func (x Int32x8 ) Merge (y Int32x8 , mask Mask32x8 ) Int32x8 {
im := mask .ToInt32x8 ().AsInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsInt32x8 ()
}
func (x Int64x4 ) Masked (mask Mask64x4 ) Int64x4 {
im := mask .ToInt64x4 ()
return im .And (x )
}
func (x Int64x4 ) Merge (y Int64x4 , mask Mask64x4 ) Int64x4 {
im := mask .ToInt64x4 ().AsInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsInt64x4 ()
}
func (x Uint8x32 ) Masked (mask Mask8x32 ) Uint8x32 {
im := mask .ToInt8x32 ()
return x .AsInt8x32 ().And (im ).AsUint8x32 ()
}
func (x Uint8x32 ) Merge (y Uint8x32 , mask Mask8x32 ) Uint8x32 {
im := mask .ToInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsUint8x32 ()
}
func (x Uint16x16 ) Masked (mask Mask16x16 ) Uint16x16 {
im := mask .ToInt16x16 ()
return x .AsInt16x16 ().And (im ).AsUint16x16 ()
}
func (x Uint16x16 ) Merge (y Uint16x16 , mask Mask16x16 ) Uint16x16 {
im := mask .ToInt16x16 ().AsInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsUint16x16 ()
}
func (x Uint32x8 ) Masked (mask Mask32x8 ) Uint32x8 {
im := mask .ToInt32x8 ()
return x .AsInt32x8 ().And (im ).AsUint32x8 ()
}
func (x Uint32x8 ) Merge (y Uint32x8 , mask Mask32x8 ) Uint32x8 {
im := mask .ToInt32x8 ().AsInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsUint32x8 ()
}
func (x Uint64x4 ) Masked (mask Mask64x4 ) Uint64x4 {
im := mask .ToInt64x4 ()
return x .AsInt64x4 ().And (im ).AsUint64x4 ()
}
func (x Uint64x4 ) Merge (y Uint64x4 , mask Mask64x4 ) Uint64x4 {
im := mask .ToInt64x4 ().AsInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsUint64x4 ()
}
func (x Float32x8 ) Masked (mask Mask32x8 ) Float32x8 {
im := mask .ToInt32x8 ()
return x .AsInt32x8 ().And (im ).AsFloat32x8 ()
}
func (x Float32x8 ) Merge (y Float32x8 , mask Mask32x8 ) Float32x8 {
im := mask .ToInt32x8 ().AsInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsFloat32x8 ()
}
func (x Float64x4 ) Masked (mask Mask64x4 ) Float64x4 {
im := mask .ToInt64x4 ()
return x .AsInt64x4 ().And (im ).AsFloat64x4 ()
}
func (x Float64x4 ) Merge (y Float64x4 , mask Mask64x4 ) Float64x4 {
im := mask .ToInt64x4 ().AsInt8x32 ()
ix := x .AsInt8x32 ()
iy := y .AsInt8x32 ()
return iy .blend (ix , im ).AsFloat64x4 ()
}
func (x Int8x64 ) Masked (mask Mask8x64 ) Int8x64 {
im := mask .ToInt8x64 ()
return im .And (x )
}
func (x Int8x64 ) Merge (y Int8x64 , mask Mask8x64 ) Int8x64 {
return y .blendMasked (x , mask )
}
func (x Int16x32 ) Masked (mask Mask16x32 ) Int16x32 {
im := mask .ToInt16x32 ()
return im .And (x )
}
func (x Int16x32 ) Merge (y Int16x32 , mask Mask16x32 ) Int16x32 {
return y .blendMasked (x , mask )
}
func (x Int32x16 ) Masked (mask Mask32x16 ) Int32x16 {
im := mask .ToInt32x16 ()
return im .And (x )
}
func (x Int32x16 ) Merge (y Int32x16 , mask Mask32x16 ) Int32x16 {
return y .blendMasked (x , mask )
}
func (x Int64x8 ) Masked (mask Mask64x8 ) Int64x8 {
im := mask .ToInt64x8 ()
return im .And (x )
}
func (x Int64x8 ) Merge (y Int64x8 , mask Mask64x8 ) Int64x8 {
return y .blendMasked (x , mask )
}
func (x Uint8x64 ) Masked (mask Mask8x64 ) Uint8x64 {
im := mask .ToInt8x64 ()
return x .AsInt8x64 ().And (im ).AsUint8x64 ()
}
func (x Uint8x64 ) Merge (y Uint8x64 , mask Mask8x64 ) Uint8x64 {
ix := x .AsInt8x64 ()
iy := y .AsInt8x64 ()
return iy .blendMasked (ix , mask ).AsUint8x64 ()
}
func (x Uint16x32 ) Masked (mask Mask16x32 ) Uint16x32 {
im := mask .ToInt16x32 ()
return x .AsInt16x32 ().And (im ).AsUint16x32 ()
}
func (x Uint16x32 ) Merge (y Uint16x32 , mask Mask16x32 ) Uint16x32 {
ix := x .AsInt16x32 ()
iy := y .AsInt16x32 ()
return iy .blendMasked (ix , mask ).AsUint16x32 ()
}
func (x Uint32x16 ) Masked (mask Mask32x16 ) Uint32x16 {
im := mask .ToInt32x16 ()
return x .AsInt32x16 ().And (im ).AsUint32x16 ()
}
func (x Uint32x16 ) Merge (y Uint32x16 , mask Mask32x16 ) Uint32x16 {
ix := x .AsInt32x16 ()
iy := y .AsInt32x16 ()
return iy .blendMasked (ix , mask ).AsUint32x16 ()
}
func (x Uint64x8 ) Masked (mask Mask64x8 ) Uint64x8 {
im := mask .ToInt64x8 ()
return x .AsInt64x8 ().And (im ).AsUint64x8 ()
}
func (x Uint64x8 ) Merge (y Uint64x8 , mask Mask64x8 ) Uint64x8 {
ix := x .AsInt64x8 ()
iy := y .AsInt64x8 ()
return iy .blendMasked (ix , mask ).AsUint64x8 ()
}
func (x Float32x16 ) Masked (mask Mask32x16 ) Float32x16 {
im := mask .ToInt32x16 ()
return x .AsInt32x16 ().And (im ).AsFloat32x16 ()
}
func (x Float32x16 ) Merge (y Float32x16 , mask Mask32x16 ) Float32x16 {
ix := x .AsInt32x16 ()
iy := y .AsInt32x16 ()
return iy .blendMasked (ix , mask ).AsFloat32x16 ()
}
func (x Float64x8 ) Masked (mask Mask64x8 ) Float64x8 {
im := mask .ToInt64x8 ()
return x .AsInt64x8 ().And (im ).AsFloat64x8 ()
}
func (x Float64x8 ) Merge (y Float64x8 , mask Mask64x8 ) Float64x8 {
ix := x .AsInt64x8 ()
iy := y .AsInt64x8 ()
return iy .blendMasked (ix , mask ).AsFloat64x8 ()
}
The pages are generated with Golds v0.8.3-preview . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .