# Bitwise Rotation
> Bitwise rotation to the left.
## Usage
```javascript
var rotl32 = require( '@stdlib/number/uint32/base/rotl' );
```
#### rotl32( x, shift )
Performs a bitwise rotation to the left.
```javascript
var toBinaryStringUint32 = require( '@stdlib/number/uint32/base/to-binary-string' );
var x = 2147483649;
var bstr = toBinaryStringUint32( x );
// returns '10000000000000000000000000000001'
var y = rotl32( x, 10 );
// returns 1536
bstr = toBinaryStringUint32( y );
// returns '00000000000000000000011000000000'
```
## Notes
- If provided a `shift` equal to `0`, the function returns the input value.
```javascript
var y = rotl32( 3, 0 );
// returns 3
```
- If provided a `shift` greater than `31`, the function performs a bitwise rotation based on the `5` least significant bits of `shift` (i.e., `shift % 32`).
```javascript
var shift = 34; // 00000000000000000000000000100010
var y = rotl( 1, shift ); // 00000000000000000000000000000100
// returns 4
```
## Examples
```javascript
var toBinaryStringUint32 = require( '@stdlib/number/uint32/base/to-binary-string' );
var MAX_INT = require( '@stdlib/constants/uint32/max' );
var rotl32 = require( '@stdlib/number/uint32/base/rotl' );
var HALF;
var x;
var y;
var i;
for ( i = 0; i < 100; i++ ) {
x = i;
y = rotl32( x, 10 );
console.log( '%d => %s => %s => %d', x, toBinaryStringUint32( x ), toBinaryStringUint32( y ), y );
}
HALF = (MAX_INT+1) / 2;
for ( i = 0; i < 100; i++ ) {
x = HALF + i;
y = rotl32( x, 10 );
console.log( '%d => %s => %s => %d', x, toBinaryStringUint32( x ), toBinaryStringUint32( y ), y );
}
```