function random (shape) {
  if (arguments.length === 0) {
    return NdArray.new(Math.random());
  } else if (arguments.length === 1) {
    shape = _.isNumber(shape) ? [shape | 0] : shape;
  } else {
    shape = [].slice.call(arguments);
  }
  var s = _.shapeSize(shape);
  var arr = new NdArray(new Float64Array(s), shape);
  ops.random(arr.selection);
  return arr;
}
Create an array of the given shape and propagate it with random samples from a uniform distribution over [0, 1].
@param {number|Array|...number} shape - The dimensions of the returned array, should all be positive integers
@returns {NdArray}