Rotate an ndarray 180 degrees in a specified plane.
var rot180 = require( '@stdlib/ndarray/base/rot180' );Rotates an ndarray 180 degrees in a specified plane.
var array = require( '@stdlib/ndarray/array' );
var x = array( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>[ [ 1, 2 ], [ 3, 4 ] ]
var y = rot180( x, [ 0, 1 ], false );
// returns <ndarray>[ [ 4, 3 ], [ 2, 1 ] ]The function accepts the following arguments:
- x: input ndarray.
- dims: dimension indices defining the plane of rotation. Must contain exactly two unique dimension indices. If a dimension index is provided as an integer less than zero, the dimension index is resolved relative to the last dimension, with the last dimension corresponding to the value
-1. - writable: boolean indicating whether a returned ndarray should be writable.
- Each provided dimension index must reside on the interval
[-ndims, ndims-1]. - The
writableparameter only applies to ndarray constructors supporting read-only instances. - The returned ndarray is a view of the input ndarray. Accordingly, writing to the original ndarray will mutate the returned ndarray and vice versa.
var array = require( '@stdlib/ndarray/array' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );
var rot180 = require( '@stdlib/ndarray/base/rot180' );
// Create a 2x3 matrix:
var x = array( [ [ 1, 2, 3 ], [ 4, 5, 6 ] ] );
// Rotate 180 degrees in the (0,1) plane:
var y = rot180( x, [ 0, 1 ], false );
var arr = ndarray2array( y );
// returns [ [ 6, 5, 4 ], [ 3, 2, 1 ] ]
// Supports negative dimension indices:
y = rot180( x, [ -2, -1 ], false );
arr = ndarray2array( y );
// returns [ [ 6, 5, 4 ], [ 3, 2, 1 ] ]
// Rotating twice returns the original arrangement:
y = rot180( rot180( x, [ 0, 1 ], false ), [ 0, 1 ], false );
arr = ndarray2array( y );
// returns [ [ 1, 2, 3 ], [ 4, 5, 6 ] ]