func (l *List2D[T]) Shift(xoffset, yoffset int) {
	if l.width < 1 || l.height < 1 {
		return
	}
	l2 := l.Copy()
	for x := 0; x < l.width; x++ {
		for y := 0; y < l.height; y++ {
			l.Set(x, y, l2.GetW(x-xoffset, y-yoffset))
		}
	}
}
// ShiftX shifts all the elements in the x and y dimensions of the list by
// the offsets.
ShiftX shifts all the elements in the x and y dimensions of the list by
the offsets.
// ShiftX shifts all the elements in the x and y dimensions of the list by // the offsets .
func (l *List2D[T]) Shift(xoffset, yoffset int) {
	if l.width < 1 || l.height < 1 {
		return
	}
	l2 := l.Copy()
	for x := 0; x < l.width; x++ {
		for y := 0; y < l.height; y++ {
			l.Set(x, y, l2.GetW(x-xoffset, y-yoffset))
		}
	}
}
func ( l * List2D [ T ] ) Shift ( xoffset , yoffset int ) { if l . width < 1 || l . height < 1 { return } l2 := l . Copy ( ) for x := 0 ; x < l . width ; x ++ { for y := 0 ; y < l . height ; y ++ { l . Set ( x , y , l2 . GetW ( x - xoffset , y - yoffset ) ) } } }
ShiftX shifts all the elements in the x and y dimensions of the list by
the offsets.
ShiftX shifts all the elements in the x and y dimensions of the list by the offsets .