|
| 1 | +/* |
| 2 | +* @license Apache-2.0 |
| 3 | +* |
| 4 | +* Copyright (c) 2020 The Stdlib Authors. |
| 5 | +* |
| 6 | +* Licensed under the Apache License, Version 2.0 (the "License"); |
| 7 | +* you may not use this file except in compliance with the License. |
| 8 | +* You may obtain a copy of the License at |
| 9 | +* |
| 10 | +* http://www.apache.org/licenses/LICENSE-2.0 |
| 11 | +* |
| 12 | +* Unless required by applicable law or agreed to in writing, software |
| 13 | +* distributed under the License is distributed on an "AS IS" BASIS, |
| 14 | +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 15 | +* See the License for the specific language governing permissions and |
| 16 | +* limitations under the License. |
| 17 | +*/ |
| 18 | + |
| 19 | +// TypeScript Version: 2.0 |
| 20 | + |
| 21 | +/// <reference types="@stdlib/types"/> |
| 22 | + |
| 23 | +import { TypedArray } from '@stdlib/types/array'; |
| 24 | +import { Collection } from '@stdlib/types/object'; |
| 25 | +import { IterableIterator } from '@stdlib/types/iter'; |
| 26 | + |
| 27 | +/** |
| 28 | +* Array or typed array. |
| 29 | +*/ |
| 30 | +type ArrayOrTypedArray = Array<any> | TypedArray; |
| 31 | + |
| 32 | +/** |
| 33 | +* Creates a filled array. |
| 34 | +* |
| 35 | +* The function recognizes the following data types: |
| 36 | +* |
| 37 | +* - `float64`: double-precision floating-point numbers (IEEE 754) |
| 38 | +* - `float32`: single-precision floating-point numbers (IEEE 754) |
| 39 | +* - `int32`: 32-bit two's complement signed integers |
| 40 | +* - `uint32`: 32-bit unsigned integers |
| 41 | +* - `int16`: 16-bit two's complement signed integers |
| 42 | +* - `uint16`: 16-bit unsigned integers |
| 43 | +* - `int8`: 8-bit two's complement signed integers |
| 44 | +* - `uint8`: 8-bit unsigned integers |
| 45 | +* - `uint8c`: 8-bit unsigned integers clamped to `0-255` |
| 46 | +* - `generic`: generic JavaScript values |
| 47 | +* |
| 48 | +* @param value - fill value |
| 49 | +* @param dtype - data type (default: 'float64') |
| 50 | +* @throws must provide a recognized data type |
| 51 | +* @returns filled array |
| 52 | +* |
| 53 | +* @example |
| 54 | +* var arr = filledarray( 1.0 ); |
| 55 | +* // returns <Float64Array> |
| 56 | +* |
| 57 | +* @example |
| 58 | +* var arr = filledarray( 1.0, 'float32' ); |
| 59 | +* // returns <Float32Array> |
| 60 | +*/ |
| 61 | +declare function filledarray( value: any, dtype?: string ): ArrayOrTypedArray; |
| 62 | + |
| 63 | +/** |
| 64 | +* Creates a filled array having a specified `length`. |
| 65 | +* |
| 66 | +* @param value - fill value |
| 67 | +* @param length - array length |
| 68 | +* @param dtype - data type (default: 'float64') |
| 69 | +* @throws must provide a recognized data type |
| 70 | +* @returns filled array |
| 71 | +* |
| 72 | +* @example |
| 73 | +* var arr = filledarray( 1.0, 5 ); |
| 74 | +* // returns <Float64Array>[ 0.0, 0.0, 0.0, 0.0, 0.0 ] |
| 75 | +* |
| 76 | +* @example |
| 77 | +* var arr = filledarray( 1.0, 5, 'float32' ); |
| 78 | +* // returns <Float32Array>[ 0.0, 0.0, 0.0, 0.0, 0.0 ] |
| 79 | +*/ |
| 80 | +declare function filledarray( value: any, length: number, dtype?: string ): ArrayOrTypedArray; // tslint:disable-line:max-line-length |
| 81 | + |
| 82 | +/** |
| 83 | +* Creates a filled array from another `array`. |
| 84 | +* |
| 85 | +* @param value - fill value |
| 86 | +* @param array - typed array or array-like object |
| 87 | +* @param dtype - data type (default: 'float64') |
| 88 | +* @throws must provide a recognized data type |
| 89 | +* @returns filled array |
| 90 | +* |
| 91 | +* @example |
| 92 | +* var arr = filledarray( 1.0, [ 5.0, -3.0, 2.0 ] ); |
| 93 | +* // returns <Float64Array>[ 1.0, 1.0, 1.0 ] |
| 94 | +* |
| 95 | +* @example |
| 96 | +* var arr = filledarray( 1.0, [ 5.0, -3.0, 2.0 ], 'float32' ); |
| 97 | +* // returns <Float32Array>[ 1.0, 1.0, 1.0 ] |
| 98 | +*/ |
| 99 | +declare function filledarray( value: any, array: Collection, dtype?: string ): ArrayOrTypedArray; // tslint:disable-line:max-line-length unified-signatures |
| 100 | + |
| 101 | +/** |
| 102 | +* Creates a filled array from an iterable. |
| 103 | +* |
| 104 | +* @param value - fill value |
| 105 | +* @param iterable - iterable |
| 106 | +* @param dtype - data type (default: 'float64') |
| 107 | +* @throws must provide a recognized data type |
| 108 | +* @returns filled array |
| 109 | +* |
| 110 | +* @example |
| 111 | +* var iterConstant = require( `@stdlib/iter/constant` ); |
| 112 | +* |
| 113 | +* var it = iterConstant( 3.0, { |
| 114 | +* 'iter': 3 |
| 115 | +* }); |
| 116 | +* var arr = filledarray( 1.0, it ); |
| 117 | +* // returns <Float64Array>[ 1.0, 1.0, 1.0 ] |
| 118 | +* |
| 119 | +* @example |
| 120 | +* var iterConstant = require( `@stdlib/iter/constant` ); |
| 121 | +* |
| 122 | +* var it = iterConstant( 3.0, { |
| 123 | +* 'iter': 3 |
| 124 | +* }); |
| 125 | +* var arr = filledarray( 1.0, it, 'float32' ); |
| 126 | +* // returns <Float32Array>[ 1.0, 1.0, 1.0 ] |
| 127 | +*/ |
| 128 | +declare function filledarray( value: any, iterable: IterableIterator, dtype?: string ): ArrayOrTypedArray; // tslint:disable-line:max-line-length unified-signatures |
| 129 | + |
| 130 | +/** |
| 131 | +* Returns a filled typed array view of an `ArrayBuffer`. |
| 132 | +* |
| 133 | +* ## Notes |
| 134 | +* |
| 135 | +* - Creating a generic array from an `ArrayBuffer` is **not** supported. |
| 136 | +* |
| 137 | +* @param value - fill value |
| 138 | +* @param buffer - `ArrayBuffer` |
| 139 | +* @param byteOffset - byte offset |
| 140 | +* @param length - view length |
| 141 | +* @param dtype - data type (default: 'float64') |
| 142 | +* @throws must provide a recognized data type |
| 143 | +* @returns filled array |
| 144 | +* |
| 145 | +* @example |
| 146 | +* var ArrayBuffer = require( `@stdlib/array/buffer` ); |
| 147 | +* |
| 148 | +* var buf = new ArrayBuffer( 32 ); |
| 149 | +* var arr = filledarray( 1.0, buf, 8, 2 ); |
| 150 | +* // returns <Float64Array>[ 1.0, 1.0 ] |
| 151 | +* |
| 152 | +* @example |
| 153 | +* var ArrayBuffer = require( `@stdlib/array/buffer` ); |
| 154 | +* |
| 155 | +* var buf = new ArrayBuffer( 32 ); |
| 156 | +* var arr = filledarray( 1.0, buf, 8, 2, 'float32' ); |
| 157 | +* // returns <Float32Array>[ 1.0, 1.0 ] |
| 158 | +* |
| 159 | +*/ |
| 160 | +declare function filledarray( value: any, buffer: ArrayBuffer, byteOffset: number, length: number, dtype?: string ): TypedArray; // tslint:disable-line:max-line-length |
| 161 | + |
| 162 | +/** |
| 163 | +* Returns a filled typed array view of an `ArrayBuffer`. |
| 164 | +* |
| 165 | +* ## Notes |
| 166 | +* |
| 167 | +* - Creating a generic array from an `ArrayBuffer` is **not** supported. |
| 168 | +* |
| 169 | +* @param value - fill value |
| 170 | +* @param buffer - `ArrayBuffer` |
| 171 | +* @param byteOffset - byte offset |
| 172 | +* @param dtype - data type (default: 'float64') |
| 173 | +* @throws must provide a recognized data type |
| 174 | +* @returns filled array |
| 175 | +* |
| 176 | +* @example |
| 177 | +* var ArrayBuffer = require( `@stdlib/array/buffer` ); |
| 178 | +* |
| 179 | +* var buf = new ArrayBuffer( 32 ); |
| 180 | +* var arr = filledarray( 1.0, buf, 8 ); |
| 181 | +* // returns <Float64Array>[ 1.0, 1.0, 1.0 ] |
| 182 | +* |
| 183 | +* @example |
| 184 | +* var ArrayBuffer = require( `@stdlib/array/buffer` ); |
| 185 | +* |
| 186 | +* var buf = new ArrayBuffer( 32 ); |
| 187 | +* var arr = filledarray( 1.0, buf, 8, 'float32' ); |
| 188 | +* // returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] |
| 189 | +* |
| 190 | +*/ |
| 191 | +declare function filledarray( value: any, buffer: ArrayBuffer, byteOffset: number, dtype?: string ): TypedArray; // tslint:disable-line:max-line-length |
| 192 | + |
| 193 | +/** |
| 194 | +* Returns a filled typed array view of an `ArrayBuffer`. |
| 195 | +* |
| 196 | +* ## Notes |
| 197 | +* |
| 198 | +* - Creating a generic array from an `ArrayBuffer` is **not** supported. |
| 199 | +* |
| 200 | +* @param value - fill value |
| 201 | +* @param buffer - `ArrayBuffer` |
| 202 | +* @param dtype - data type (default: 'float64') |
| 203 | +* @throws must provide a recognized data type |
| 204 | +* @returns filled array |
| 205 | +* |
| 206 | +* @example |
| 207 | +* var ArrayBuffer = require( `@stdlib/array/buffer` ); |
| 208 | +* |
| 209 | +* var buf = new ArrayBuffer( 32 ); |
| 210 | +* var arr = filledarray( 1.0, buf ); |
| 211 | +* // returns <Float64Array>[ 1.0, 1.0, 1.0, 1.0 ] |
| 212 | +* |
| 213 | +* @example |
| 214 | +* var ArrayBuffer = require( `@stdlib/array/buffer` ); |
| 215 | +* |
| 216 | +* var buf = new ArrayBuffer( 32 ); |
| 217 | +* var arr = filledarray( 1.0, buf, 'float32' ); |
| 218 | +* // returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] |
| 219 | +* |
| 220 | +*/ |
| 221 | +declare function filledarray( value: any, buffer: ArrayBuffer, dtype?: string ): TypedArray; // tslint:disable-line:max-line-length unified-signatures |
| 222 | + |
| 223 | + |
| 224 | +// EXPORTS // |
| 225 | + |
| 226 | +export = filledarray; |
0 commit comments