function vector() {
		var options;
		var nargs;
		var arg0;
		var arg1;
		var err;

		options = objectAssign( {}, opts );
		nargs = arguments.length;

		// Case: vector()
		if ( nargs === 0 ) {
			return main( dtype, options );
		}
		// Case: vector( ArrayBuffer, byteOffset, length, options )
		if ( nargs > 3 ) {
			err = validate( options, arguments[ 3 ] );
			if ( err ) {
				throw err;
			}
			return main( arguments[ 0 ], arguments[ 1 ], arguments[ 2 ], dtype, options );
		}
		// Case: vector( ArrayBuffer, byteOffset, arg2 )
		if ( nargs === 3 ) {
			// Case: vector( ArrayBuffer, byteOffset, length )
			if ( isNonNegativeInteger( arguments[ 2 ] ) ) {
				return main( arguments[ 0 ], arguments[ 1 ], arguments[ 2 ], dtype, options );
			}
			// Case: vector( ArrayBuffer, byteOffset, options )
			err = validate( options, arguments[ 2 ] );
			if ( err ) {
				throw err;
			}
			return main( arguments[ 0 ], arguments[ 1 ], dtype, options );
		}
		// Case: vector( arg0, arg1 )
		if ( nargs === 2 ) {
			arg0 = arguments[ 0 ];
			arg1 = arguments[ 1 ];

			// Case: vector( length, options )
			if ( isNonNegativeInteger( arg0 ) ) {
				err = validate( options, arg1 );
				if ( err ) {
					throw err;
				}
				return main( arg0, dtype, options );
			}
			// Case: vector( ArrayBuffer, arg1 )
			if ( isArrayBuffer( arg0 ) ) {
				// Case: vector( ArrayBuffer, byteOffset )
				if ( isNonNegativeInteger( arg1 ) ) {
					return main( arg0, arg1, dtype, options );
				}
				// Case: vector( ArrayBuffer, options )
				err = validate( options, arg1 );
				if ( err ) {
					throw err;
				}
				return main( arg0, dtype, options );
			}
			// Case: vector( collection, options )
			if ( isCollection( arg0 ) ) {
				err = validate( options, arg1 );
				if ( err ) {
					throw err;
				}
				return main( arg0, dtype, options );
			}
			// Case: vector( iterable, options )
			err = validate( options, arg1 );
			if ( err ) {
				throw err;
			}
			return main( arg0, dtype, options );
		}
		// nargs === 1
		arg0 = arguments[ 0 ];

		// Case: vector( length|ArrayBuffer|Collection|Iterable )
		if (
			isNonNegativeInteger( arg0 ) ||
			isArrayBuffer( arg0 ) ||
			isCollection( arg0 ) ||
			isIterableLike( arg0 )
		) {
			return main( arg0, dtype, options );
		}
		// Case: vector( options )
		err = validate( options, arg0 );
		if ( err ) {
			throw err;
		}
		return main( dtype, options );
	}
Creates a vector (i.e., a one-dimensional ndarray).

@private
@param {(NonNegativeInteger|Collection|ArrayBuffer|Iterable)} [arg] - length, typed array, array-like object, buffer, or iterable
@param {NonNegativeInteger} [byteOffset=0] - byte offset
@param {NonNegativeInteger} [length] - view length
@param {Options} [options] - function options
@param {boolean} [options.readonly] - boolean indicating whether to return a read-only vector
@param {string} [options.mode] - specifies how to handle indices which exceed vector dimensions
@param {string} [options.order] - memory layout (either row-major or column-major)
@throws {Error} unexpected error
@returns {ndarray} one-dimensional ndarray