@stdlib/array
Version:
Arrays.
259 lines (223 loc) • 5.76 kB
TypeScript
/*
* @license Apache-2.0
*
* Copyright (c) 2023 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// TypeScript Version: 4.1
/// <reference types="@stdlib/types"/>
import { Shape } from '@stdlib/types/ndarray';
/**
* One-dimensional array.
*/
type Array1D<T> = Array<T>;
/**
* One-dimensional array shape.
*/
type Shape1D = [ number ];
/**
* Two-dimensional array.
*/
type Array2D<T> = Array<Array1D<T>>;
/**
* Two-dimensional array shape.
*/
type Shape2D = [ number, number ];
/**
* Three-dimensional array.
*/
type Array3D<T> = Array<Array2D<T>>;
/**
* Three-dimensional array shape.
*/
type Shape3D = [ number, number, number ];
/**
* Four-dimensional array.
*/
type Array4D<T> = Array<Array3D<T>>;
/**
* Four-dimensional array shape.
*/
type Shape4D = [ number, number, number, number ];
/**
* Five-dimensional array.
*/
type Array5D<T> = Array<Array4D<T>>;
/**
* Five-dimensional array shape.
*/
type Shape5D = [ number, number, number, number, number ];
/**
* Six-dimensional array.
*/
type Array6D<T> = Array<Array5D<T>>;
/**
* Six-dimensional array shape.
*/
type Shape6D = [ number, number, number, number, number, number ];
/**
* Seven-dimensional array.
*/
type Array7D<T> = Array<Array6D<T>>;
/**
* Seven-dimensional array shape.
*/
type Shape7D = [ number, number, number, number, number, number, number ];
/**
* Eight-dimensional array.
*/
type Array8D<T> = Array<Array7D<T>>;
/**
* Eight-dimensional array shape.
*/
type Shape8D = [ number, number, number, number, number, number, number, number ];
/**
* Nine-dimensional array.
*/
type Array9D<T> = Array<Array8D<T>>;
/**
* Nine-dimensional array shape.
*/
type Shape9D = [ number, number, number, number, number, number, number, number, number ];
/**
* Ten-dimensional array.
*/
type Array10D<T> = Array<Array9D<T>>; // WARNING: arbitrarily limited to 10 dimensions, which should be fine for most practical purposes
/**
* Ten-dimensional array shape.
*/
type Shape10D = [ number, number, number, number, number, number, number, number, number, number ];
/**
* Returns a zero-filled one-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 3 ] );
* // returns [ 0.0, 0.0, 0.0 ]
*/
declare function zerosnd( shape: Shape1D ): Array1D<number>;
/**
* Returns a zero-filled two-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 3 ] );
* // returns [ [ 0.0, 0.0, 0.0 ] ]
*/
declare function zerosnd( shape: Shape2D ): Array2D<number>;
/**
* Returns a zero-filled three-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 3 ] );
* // returns [ [ [ 0.0, 0.0, 0.0 ] ] ]
*/
declare function zerosnd( shape: Shape3D ): Array3D<number>;
/**
* Returns a zero-filled four-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 1, 3 ] );
* // returns [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ]
*/
declare function zerosnd( shape: Shape4D ): Array4D<number>;
/**
* Returns a zero-filled five-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 1, 1, 3 ] );
* // returns [ [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ] ]
*/
declare function zerosnd( shape: Shape5D ): Array5D<number>;
/**
* Returns a zero-filled six-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 1, 1, 1, 3 ] );
* // returns [ [ [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ] ] ]
*/
declare function zerosnd( shape: Shape6D ): Array6D<number>;
/**
* Returns a zero-filled seven-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 1, 1, 1, 1, 3 ] );
* // returns [ [ [ [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ] ] ] ]
*/
declare function zerosnd( shape: Shape7D ): Array7D<number>;
/**
* Returns a zero-filled eight-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 1, 1, 1, 1, 1, 3 ] );
* // returns [ [ [ [ [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ] ] ] ] ]
*/
declare function zerosnd( shape: Shape8D ): Array8D<number>;
/**
* Returns a zero-filled nine-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 1, 1, 1, 1, 1, 1, 3 ] );
* // returns [ [ [ [ [ [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ] ] ] ] ] ]
*/
declare function zerosnd( shape: Shape9D ): Array9D<number>;
/**
* Returns a zero-filled ten-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 ] );
* // returns [ [ [ [ [ [ [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ] ] ] ] ] ] ]
*/
declare function zerosnd( shape: Shape10D ): Array10D<number>;
/**
* Returns a zero-filled n-dimensional nested array.
*
* @param shape - array shape
* @returns output array
*
* @example
* var out = zerosnd( [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 ] );
* // returns [ [ [ [ [ [ [ [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ] ] ] ] ] ] ]
*/
declare function zerosnd<T = unknown>( shape: Shape ): Array<T>;
// EXPORTS //
export = zerosnd;