@stdlib/blas-ext-base-gfill-by 0.0.6 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -175,307 +175,3 @@
175
175
  of your accepting any such warranty or additional liability.
176
176
 
177
177
  END OF TERMS AND CONDITIONS
178
-
179
-
180
-
181
- Boost Software License - Version 1.0 - August 17th, 2003
182
-
183
- Permission is hereby granted, free of charge, to any person or organization
184
- obtaining a copy of the software and accompanying documentation covered by this
185
- license (the "Software") to use, reproduce, display, distribute, execute, and
186
- transmit the Software, and to prepare derivative works of the Software, and to
187
- permit third-parties to whom the Software is furnished to do so, all subject to
188
- the following:
189
-
190
- The copyright notices in the Software and this entire statement, including the
191
- above license grant, this restriction and the following disclaimer, must be
192
- included in all copies of the Software, in whole or in part, and all derivative
193
- works of the Software, unless such copies or derivative works are solely in the
194
- form of machine-executable object code generated by a source language processor.
195
-
196
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
197
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
198
- FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
199
- COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES
200
- OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
201
- OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
202
-
203
-
204
-
205
-
206
- DEPENDENCIES
207
-
208
- The library links against the following external libraries, which have their own
209
- licenses:
210
-
211
- * OpenBLAS <https://raw.githubusercontent.com/xianyi/OpenBLAS/
212
- def146efed8d5908ea04e22668feeab7099599a0/LICENSE>
213
-
214
- Copyright (c) 2011-2014, The OpenBLAS Project
215
- All rights reserved.
216
-
217
- Redistribution and use in source and binary forms, with or without
218
- modification, are permitted provided that the following conditions are
219
- met:
220
-
221
- 1. Redistributions of source code must retain the above copyright
222
- notice, this list of conditions and the following disclaimer.
223
-
224
- 2. Redistributions in binary form must reproduce the above copyright
225
- notice, this list of conditions and the following disclaimer in
226
- the documentation and/or other materials provided with the
227
- distribution.
228
-
229
- 3. Neither the name of the OpenBLAS project nor the names of
230
- its contributors may be used to endorse or promote products
231
- derived from this software without specific prior written
232
- permission.
233
-
234
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
235
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
236
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
237
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
238
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
239
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
240
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
241
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
242
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
243
- THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
244
-
245
-
246
- * Electron <https://raw.githubusercontent.com/electron/electron/
247
- c4cfb3e7110266b9d7ad80e1ae097c4db564501c/LICENSE>
248
-
249
- Copyright (c) 2013-2017 GitHub Inc.
250
-
251
- Permission is hereby granted, free of charge, to any person obtaining
252
- a copy of this software and associated documentation files (the
253
- "Software"), to deal in the Software without restriction, including
254
- without limitation the rights to use, copy, modify, merge, publish,
255
- distribute, sublicense, and/or sell copies of the Software, and to
256
- permit persons to whom the Software is furnished to do so, subject to
257
- the following conditions:
258
-
259
- The above copyright notice and this permission notice shall be
260
- included in all copies or substantial portions of the Software.
261
-
262
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
263
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
264
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
265
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
266
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
267
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
268
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
269
-
270
-
271
- * Boost <http://www.boost.org/LICENSE_1_0.txt>
272
-
273
- Boost Software License - Version 1.0 - August 17th, 2003
274
-
275
- Permission is hereby granted, free of charge, to any person or organization
276
- obtaining a copy of the software and accompanying documentation covered by
277
- this license (the "Software") to use, reproduce, display, distribute,
278
- execute, and transmit the Software, and to prepare derivative works of the
279
- Software, and to permit third-parties to whom the Software is furnished to
280
- do so, all subject to the following:
281
-
282
- The copyright notices in the Software and this entire statement, including
283
- the above license grant, this restriction and the following disclaimer,
284
- must be included in all copies of the Software, in whole or in part, and
285
- all derivative works of the Software, unless such copies or derivative
286
- works are solely in the form of machine-executable object code generated by
287
- a source language processor.
288
-
289
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
290
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
291
- FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
292
- SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
293
- FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
294
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
295
- DEALINGS IN THE SOFTWARE.
296
-
297
-
298
- * Cephes <http://www.netlib.org/cephes/readme>
299
-
300
- Copyright (c) 1984-2000 Stephen L. Moshier
301
-
302
- Some software in this archive may be from the book _Methods and Programs for
303
- Mathematical Functions_ (Prentice-Hall or Simon & Schuster International, 1989)
304
- or from the Cephes Mathematical Library, a commercial product. In either event,
305
- it is copyrighted by the author. What you see here may be used freely but it
306
- comes with no support or guarantee.
307
-
308
- Stephen L. Moshier
309
- moshier@na-net.ornl.gov
310
-
311
-
312
-
313
- ATTRIBUTION
314
-
315
- The library contains implementations from the following external libraries,
316
- which have their own licenses:
317
-
318
- * FreeBSD <https://svnweb.freebsd.org/>
319
-
320
- Copyright (C) 1993-2004 by Sun Microsystems, Inc. All rights reserved.
321
-
322
- Developed at SunPro, a Sun Microsystems, Inc. business.
323
- Permission to use, copy, modify, and distribute this
324
- software is freely granted, provided that this notice
325
- is preserved.
326
-
327
-
328
- * FDLIBM <http://www.netlib.org/fdlibm/>
329
-
330
- Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
331
-
332
- Developed at SunPro, a Sun Microsystems, Inc. business.
333
- Permission to use, copy, modify, and distribute this
334
- software is freely granted, provided that this notice
335
- is preserved.
336
-
337
-
338
- * Go <https://raw.githubusercontent.com/golang/go/master/LICENSE>
339
-
340
- Copyright (c) 2009 The Go Authors. All rights reserved.
341
-
342
- Redistribution and use in source and binary forms, with or without
343
- modification, are permitted provided that the following conditions are
344
- met:
345
-
346
- * Redistributions of source code must retain the above copyright
347
- notice, this list of conditions and the following disclaimer.
348
- * Redistributions in binary form must reproduce the above
349
- copyright notice, this list of conditions and the following disclaimer
350
- in the documentation and/or other materials provided with the
351
- distribution.
352
- * Neither the name of Google Inc. nor the names of its
353
- contributors may be used to endorse or promote products derived from
354
- this software without specific prior written permission.
355
-
356
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
357
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
358
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
359
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
360
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
361
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
362
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
363
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
364
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
365
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
366
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
367
-
368
-
369
- * SLATEC Common Mathematical Library <http://www.netlib.no/netlib/slatec/>
370
-
371
- Public domain.
372
-
373
-
374
- * ESLint <https://raw.githubusercontent.com/eslint/eslint/master/LICENSE>
375
-
376
- Copyright JS Foundation and other contributors, https://js.foundation
377
-
378
- Permission is hereby granted, free of charge, to any person obtaining a copy
379
- of this software and associated documentation files (the "Software"), to deal
380
- in the Software without restriction, including without limitation the rights
381
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
382
- copies of the Software, and to permit persons to whom the Software is
383
- furnished to do so, subject to the following conditions:
384
-
385
- The above copyright notice and this permission notice shall be included in
386
- all copies or substantial portions of the Software.
387
-
388
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
389
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
390
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
391
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
392
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
393
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
394
- THE SOFTWARE.
395
-
396
-
397
- * StatsFuns.jl <https://raw.githubusercontent.com/JuliaStats/StatsFuns.jl/
398
- e66dd973650c375bc1739c820e5b96bb5bd000a8/LICENSE.md>
399
-
400
- Copyright (c) 2015: Dahua Lin.
401
-
402
- Permission is hereby granted, free of charge, to any person obtaining
403
- a copy of this software and associated documentation files (the
404
- "Software"), to deal in the Software without restriction, including
405
- without limitation the rights to use, copy, modify, merge, publish,
406
- distribute, sublicense, and/or sell copies of the Software, and to
407
- permit persons to whom the Software is furnished to do so, subject to
408
- the following conditions:
409
-
410
- The above copyright notice and this permission notice shall be
411
- included in all copies or substantial portions of the Software.
412
-
413
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
414
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
415
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
416
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
417
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
418
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
419
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
420
-
421
-
422
- * SpecialFunctions.jl <https://raw.githubusercontent.com/JuliaMath/
423
- SpecialFunctions.jl/02a173fbe24a61c4b392aec17a9764ac5727feb1/LICENSE>
424
-
425
- The MIT License (MIT)
426
-
427
- Copyright (c) 2017 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and others:
428
-
429
- https://github.com/JuliaMath/SpecialFunctions.jl/graphs/contributors
430
-
431
- Permission is hereby granted, free of charge, to any person obtaining a copy
432
- of this software and associated documentation files (the "Software"), to deal
433
- in the Software without restriction, including without limitation the rights
434
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
435
- copies of the Software, and to permit persons to whom the Software is
436
- furnished to do so, subject to the following conditions:
437
-
438
- The above copyright notice and this permission notice shall be included in all
439
- copies or substantial portions of the Software.
440
-
441
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
442
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
443
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
444
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
445
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
446
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
447
- SOFTWARE.
448
-
449
-
450
- * MT19937 <http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/
451
- mt19937ar.c>
452
-
453
- Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
454
- All rights reserved.
455
-
456
- Redistribution and use in source and binary forms, with or without
457
- modification, are permitted provided that the following conditions
458
- are met:
459
-
460
- 1. Redistributions of source code must retain the above copyright
461
- notice, this list of conditions and the following disclaimer.
462
-
463
- 2. Redistributions in binary form must reproduce the above copyright
464
- notice, this list of conditions and the following disclaimer in the
465
- documentation and/or other materials provided with the distribution.
466
-
467
- 3. The names of its contributors may not be used to endorse or promote
468
- products derived from this software without specific prior written
469
- permission.
470
-
471
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
472
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
473
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
474
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
475
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
476
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
477
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
478
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
479
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
480
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
481
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package/NOTICE CHANGED
@@ -1 +1 @@
1
- Copyright (c) 2016-2021 The Stdlib Authors.
1
+ Copyright (c) 2016-2022 The Stdlib Authors.
package/README.md CHANGED
@@ -20,7 +20,7 @@ limitations under the License.
20
20
 
21
21
  # gfillBy
22
22
 
23
- [![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] [![dependencies][dependencies-image]][dependencies-url]
23
+ [![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] <!-- [![dependencies][dependencies-image]][dependencies-url] -->
24
24
 
25
25
  > Fill a strided array according to a provided callback function.
26
26
 
@@ -60,7 +60,7 @@ gfillBy( x.length, x, 1, fill );
60
60
  The function has the following parameters:
61
61
 
62
62
  - **N**: number of indexed elements.
63
- - **x**: input [`Array`][mdn-array], [`typed array`][mdn-typed-array], or an array-like object (excluding strings and functions).
63
+ - **x**: input array.
64
64
  - **stride**: index increment.
65
65
  - **clbk**: callback function.
66
66
  - **thisArg**: execution context (_optional_).
@@ -172,6 +172,7 @@ gfillBy.ndarray( 3, x, 1, x.length-3, fill );
172
172
  ## Notes
173
173
 
174
174
  - If `N <= 0`, both functions return `x` unchanged.
175
+ - Both functions support array-like objects having getter and setter accessors for array element access (e.g., [`@stdlib/array/complex64`][@stdlib/array/complex64]).
175
176
  - When filling a strided array with a scalar constant, prefer using [`dfill`][@stdlib/blas/ext/base/dfill], [`sfill`][@stdlib/blas/ext/base/sfill], and/or [`gfill`][@stdlib/blas/ext/base/gfill], as, depending on the environment, these interfaces are likely to be significantly more performant.
176
177
 
177
178
  </section>
@@ -212,6 +213,22 @@ console.log( x );
212
213
 
213
214
  <!-- /.examples -->
214
215
 
216
+ <!-- Section for related `stdlib` packages. Do not manually edit this section, as it is automatically populated. -->
217
+
218
+ <section class="related">
219
+
220
+ * * *
221
+
222
+ ## See Also
223
+
224
+ - <span class="package-name">[`@stdlib/blas/ext/base/gfill`][@stdlib/blas/ext/base/gfill]</span><span class="delimiter">: </span><span class="description">fill a strided array with a specified scalar constant.</span>
225
+
226
+ </section>
227
+
228
+ <!-- /.related -->
229
+
230
+ <!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
231
+
215
232
 
216
233
  <section class="main-repo" >
217
234
 
@@ -236,7 +253,7 @@ See [LICENSE][stdlib-license].
236
253
 
237
254
  ## Copyright
238
255
 
239
- Copyright &copy; 2016-2021. The Stdlib [Authors][stdlib-authors].
256
+ Copyright &copy; 2016-2022. The Stdlib [Authors][stdlib-authors].
240
257
 
241
258
  </section>
242
259
 
@@ -249,15 +266,19 @@ Copyright &copy; 2016-2021. The Stdlib [Authors][stdlib-authors].
249
266
  [npm-image]: http://img.shields.io/npm/v/@stdlib/blas-ext-base-gfill-by.svg
250
267
  [npm-url]: https://npmjs.org/package/@stdlib/blas-ext-base-gfill-by
251
268
 
252
- [test-image]: https://github.com/stdlib-js/blas-ext-base-gfill-by/actions/workflows/test.yml/badge.svg
253
- [test-url]: https://github.com/stdlib-js/blas-ext-base-gfill-by/actions/workflows/test.yml
269
+ [test-image]: https://github.com/stdlib-js/blas-ext-base-gfill-by/actions/workflows/test.yml/badge.svg?branch=v0.0.9
270
+ [test-url]: https://github.com/stdlib-js/blas-ext-base-gfill-by/actions/workflows/test.yml?query=branch:v0.0.9
254
271
 
255
272
  [coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/blas-ext-base-gfill-by/main.svg
256
273
  [coverage-url]: https://codecov.io/github/stdlib-js/blas-ext-base-gfill-by?branch=main
257
274
 
275
+ <!--
276
+
258
277
  [dependencies-image]: https://img.shields.io/david/stdlib-js/blas-ext-base-gfill-by.svg
259
278
  [dependencies-url]: https://david-dm.org/stdlib-js/blas-ext-base-gfill-by/main
260
279
 
280
+ -->
281
+
261
282
  [chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
262
283
  [chat-url]: https://gitter.im/stdlib-js/stdlib/
263
284
 
@@ -265,17 +286,29 @@ Copyright &copy; 2016-2021. The Stdlib [Authors][stdlib-authors].
265
286
 
266
287
  [stdlib-authors]: https://github.com/stdlib-js/stdlib/graphs/contributors
267
288
 
268
- [stdlib-license]: https://raw.githubusercontent.com/stdlib-js/blas-ext-base-gfill-by/main/LICENSE
289
+ [umd]: https://github.com/umdjs/umd
290
+ [es-module]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules
291
+
292
+ [deno-url]: https://github.com/stdlib-js/blas-ext-base-gfill-by/tree/deno
293
+ [umd-url]: https://github.com/stdlib-js/blas-ext-base-gfill-by/tree/umd
294
+ [esm-url]: https://github.com/stdlib-js/blas-ext-base-gfill-by/tree/esm
295
+ [branches-url]: https://github.com/stdlib-js/blas-ext-base-gfill-by/blob/main/branches.md
269
296
 
270
- [mdn-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
297
+ [stdlib-license]: https://raw.githubusercontent.com/stdlib-js/blas-ext-base-gfill-by/main/LICENSE
271
298
 
272
299
  [mdn-typed-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
273
300
 
301
+ [@stdlib/array/complex64]: https://www.npmjs.com/package/@stdlib/array-complex64
302
+
274
303
  [@stdlib/blas/ext/base/dfill]: https://www.npmjs.com/package/@stdlib/blas-ext-base-dfill
275
304
 
305
+ [@stdlib/blas/ext/base/sfill]: https://www.npmjs.com/package/@stdlib/blas-ext-base-sfill
306
+
307
+ <!-- <related-links> -->
308
+
276
309
  [@stdlib/blas/ext/base/gfill]: https://www.npmjs.com/package/@stdlib/blas-ext-base-gfill
277
310
 
278
- [@stdlib/blas/ext/base/sfill]: https://www.npmjs.com/package/@stdlib/blas-ext-base-sfill
311
+ <!-- </related-links> -->
279
312
 
280
313
  </section>
281
314
 
package/docs/repl.txt CHANGED
@@ -25,9 +25,8 @@
25
25
  N: integer
26
26
  Number of indexed elements.
27
27
 
28
- x: Array|TypedArray|Object
29
- Input array/collection. If provided an object, the object must be array-
30
- like (excluding strings and functions).
28
+ x: ArrayLikeObject
29
+ Input array.
31
30
 
32
31
  stride: integer
33
32
  Index increment for `x`.
@@ -40,8 +39,8 @@
40
39
 
41
40
  Returns
42
41
  -------
43
- x: Array|TypedArray|Object
44
- Input array/collection `x`.
42
+ x: ArrayLikeObject
43
+ Input array `x`.
45
44
 
46
45
  Examples
47
46
  --------
@@ -66,6 +65,7 @@
66
65
  > x0
67
66
  <Float64Array>[ 1.0, 5.0, 3.0, 5.0, 5.0, 5.0 ]
68
67
 
68
+
69
69
  {{alias}}.ndarray( N, x, stride, offset, clbk[, thisArg] )
70
70
  Fills a strided array according to a provided callback function and using
71
71
  alternative indexing semantics.
@@ -79,9 +79,8 @@
79
79
  N: integer
80
80
  Number of indexed elements.
81
81
 
82
- x: Array|TypedArray|Object
83
- Input array/collection. If provided an object, the object must be array-
84
- like (excluding strings and functions).
82
+ x: ArrayLikeObject
83
+ Input array.
85
84
 
86
85
  stride: integer
87
86
  Index increment for `x`.
@@ -97,8 +96,8 @@
97
96
 
98
97
  Returns
99
98
  -------
100
- x: Array|TypedArray|Object
101
- Input array/collection `x`.
99
+ x: ArrayLikeObject
100
+ Input array `x`.
102
101
 
103
102
  Examples
104
103
  --------
@@ -54,7 +54,7 @@ type Binary = ( value: any, aidx: number ) => any;
54
54
  * @param sidx - strided index (offset + aidx*stride)
55
55
  * @returns fill value
56
56
  */
57
- type Tertiary = ( value: any, aidx: number, sidx: number ) => any;
57
+ type Ternary = ( value: any, aidx: number, sidx: number ) => any;
58
58
 
59
59
  /**
60
60
  * Returns a fill value.
@@ -76,7 +76,7 @@ type Quaternary = ( value: any, aidx: number, sidx: number, array: Collection )
76
76
  * @param array - input array
77
77
  * @returns fill value
78
78
  */
79
- type Callback = Nullary | Unary | Binary | Tertiary | Quaternary;
79
+ type Callback = Nullary | Unary | Binary | Ternary | Quaternary;
80
80
 
81
81
  /**
82
82
  * Interface describing `gfillBy`.
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @license Apache-2.0
3
+ *
4
+ * Copyright (c) 2022 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
+ 'use strict';
20
+
21
+ // MAIN //
22
+
23
+ /**
24
+ * Fills a strided array according to a provided callback function.
25
+ *
26
+ * @private
27
+ * @param {PositiveInteger} N - number of indexed elements
28
+ * @param {Object} x - input array object
29
+ * @param {Collection} x.data - input array data
30
+ * @param {Function} x.set - setter
31
+ * @param {Function} x.get - getter
32
+ * @param {integer} stride - index increment
33
+ * @param {NonNegativeInteger} offset - starting index
34
+ * @param {Callback} clbk - callback
35
+ * @param {*} thisArg - execution context
36
+ * @returns {Object} input array object
37
+ *
38
+ * @example
39
+ * var Complex64Array = require( '@stdlib/array-complex64' );
40
+ * var Complex64 = require( '@stdlib/complex-float32' );
41
+ * var reinterpret64 = require( '@stdlib/strided-base-reinterpret-complex64' );
42
+ *
43
+ * function setter( data, idx, value ) {
44
+ * data.set( value, idx );
45
+ * }
46
+ *
47
+ * function getter( data, idx ) {
48
+ * return data.get( idx );
49
+ * }
50
+ *
51
+ * var data = new Complex64Array( [ -2.0, 1.0, 3.0, -5.0, 4.0, 0.0, -1.0, -3.0 ] );
52
+ *
53
+ * var x = {
54
+ * 'data': data,
55
+ * 'setter': setter,
56
+ * 'getter': getter
57
+ * };
58
+ *
59
+ * function clbk() {
60
+ * return new Complex64( 5.0, 5.0 );
61
+ * }
62
+ *
63
+ * gfillBy( data.length, x, 1, 0, clbk, void 0 );
64
+ *
65
+ * var view = reinterpret64( x.data, 0 );
66
+ * // view => <Float32Array>[ 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0 ]
67
+ */
68
+ function gfillBy( N, x, stride, offset, clbk, thisArg ) {
69
+ var xbuf;
70
+ var set;
71
+ var get;
72
+ var ix;
73
+ var i;
74
+
75
+ // Cache reference to array data:
76
+ xbuf = x.data;
77
+
78
+ // Cache a reference to the element accessors:
79
+ get = x.getter;
80
+ set = x.setter;
81
+
82
+ ix = offset;
83
+ for ( i = 0; i < N; i++ ) {
84
+ set( xbuf, ix, clbk.call( thisArg, get( xbuf, ix ), i, ix, x ) );
85
+ ix += stride;
86
+ }
87
+ return x;
88
+ }
89
+
90
+
91
+ // EXPORTS //
92
+
93
+ module.exports = gfillBy;
package/lib/index.js CHANGED
@@ -50,9 +50,16 @@
50
50
 
51
51
  // MODULES //
52
52
 
53
- var gfillBy = require( './main.js' );
53
+ var setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );
54
+ var main = require( './main.js' );
55
+ var ndarray = require( './ndarray.js' );
56
+
57
+
58
+ // MAIN //
59
+
60
+ setReadOnly( main, 'ndarray', ndarray );
54
61
 
55
62
 
56
63
  // EXPORTS //
57
64
 
58
- module.exports = gfillBy;
65
+ module.exports = main;
package/lib/main.js CHANGED
@@ -20,14 +20,56 @@
20
20
 
21
21
  // MODULES //
22
22
 
23
- var setReadOnly = require( '@stdlib/utils-define-nonenumerable-read-only-property' );
24
- var gfillBy = require( './gfill_by.js' );
25
- var ndarray = require( './ndarray.js' );
23
+ var arraylike2object = require( '@stdlib/array-base-arraylike2object' );
24
+ var accessors = require( './accessors.js' );
26
25
 
27
26
 
28
27
  // MAIN //
29
28
 
30
- setReadOnly( gfillBy, 'ndarray', ndarray );
29
+ /**
30
+ * Fills a strided array according to a provided callback function.
31
+ *
32
+ * @param {PositiveInteger} N - number of indexed elements
33
+ * @param {Collection} x - input array
34
+ * @param {integer} stride - index increment
35
+ * @param {Callback} clbk - callback
36
+ * @param {*} [thisArg] - execution context
37
+ * @returns {Collection} input array
38
+ *
39
+ * @example
40
+ * var x = [ -2.0, 1.0, 3.0, -5.0, 4.0, 0.0, -1.0, -3.0 ];
41
+ *
42
+ * function fill() {
43
+ * return 5.0;
44
+ * }
45
+ *
46
+ * gfillBy( x.length, x, 1, fill );
47
+ * // x => [ 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0 ]
48
+ */
49
+ function gfillBy( N, x, stride, clbk, thisArg ) {
50
+ var ix;
51
+ var o;
52
+ var i;
53
+
54
+ if ( N <= 0 ) {
55
+ return x;
56
+ }
57
+ if ( stride < 0 ) {
58
+ ix = (1-N) * stride;
59
+ } else {
60
+ ix = 0;
61
+ }
62
+ o = arraylike2object( x );
63
+ if ( o.accessors ) {
64
+ accessors( N, o, stride, ix, clbk, thisArg );
65
+ return o.data;
66
+ }
67
+ for ( i = 0; i < N; i++ ) {
68
+ x[ ix ] = clbk.call( thisArg, x[ ix ], i, ix, x );
69
+ ix += stride;
70
+ }
71
+ return x;
72
+ }
31
73
 
32
74
 
33
75
  // EXPORTS //
package/lib/ndarray.js CHANGED
@@ -18,18 +18,24 @@
18
18
 
19
19
  'use strict';
20
20
 
21
+ // MODULES //
22
+
23
+ var arraylike2object = require( '@stdlib/array-base-arraylike2object' );
24
+ var accessors = require( './accessors.js' );
25
+
26
+
21
27
  // MAIN //
22
28
 
23
29
  /**
24
30
  * Fills a strided array according to a provided callback function.
25
31
  *
26
32
  * @param {PositiveInteger} N - number of indexed elements
27
- * @param {Collection} x - input array/collection
33
+ * @param {Collection} x - input array
28
34
  * @param {integer} stride - index increment
29
35
  * @param {NonNegativeInteger} offset - starting index
30
36
  * @param {Callback} clbk - callback
31
37
  * @param {*} [thisArg] - execution context
32
- * @returns {Collection} input array/collection
38
+ * @returns {Collection} input array
33
39
  *
34
40
  * @example
35
41
  * var x = [ 1.0, -2.0, 3.0, -4.0, 5.0, -6.0 ];
@@ -38,16 +44,22 @@
38
44
  * return 5.0;
39
45
  * }
40
46
  *
41
- * gfillBy( 3, 5.0, x, 1, x.length-3 );
47
+ * gfillBy( 3, x, 1, x.length-3, fill );
42
48
  * // x => [ 1.0, -2.0, 3.0, 5.0, 5.0, 5.0 ]
43
49
  */
44
50
  function gfillBy( N, x, stride, offset, clbk, thisArg ) {
45
51
  var ix;
52
+ var o;
46
53
  var i;
47
54
 
48
55
  if ( N <= 0 ) {
49
56
  return x;
50
57
  }
58
+ o = arraylike2object( x );
59
+ if ( o.accessors ) {
60
+ accessors( N, o, stride, offset, clbk, thisArg );
61
+ return o.data;
62
+ }
51
63
  ix = offset;
52
64
  for ( i = 0; i < N; i++ ) {
53
65
  x[ ix ] = clbk.call( thisArg, x[ ix ], i, ix, x );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stdlib/blas-ext-base-gfill-by",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "description": "Fill a strided array according to a provided callback function.",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -37,16 +37,22 @@
37
37
  "url": "https://github.com/stdlib-js/stdlib/issues"
38
38
  },
39
39
  "dependencies": {
40
+ "@stdlib/array-base-arraylike2object": "^0.0.x",
40
41
  "@stdlib/types": "^0.0.x",
41
42
  "@stdlib/utils-define-nonenumerable-read-only-property": "^0.0.x"
42
43
  },
43
44
  "devDependencies": {
45
+ "@stdlib/array-base-filled-by": "^0.0.x",
46
+ "@stdlib/array-complex128": "^0.0.x",
44
47
  "@stdlib/array-float64": "^0.0.x",
45
48
  "@stdlib/bench": "^0.0.x",
49
+ "@stdlib/complex-float64": "^0.0.x",
46
50
  "@stdlib/math-base-assert-is-nan": "^0.0.x",
47
51
  "@stdlib/math-base-special-pow": "^0.0.x",
48
52
  "@stdlib/math-base-special-round": "^0.0.x",
49
53
  "@stdlib/random-base-randu": "^0.0.x",
54
+ "@stdlib/random-base-uniform": "^0.0.x",
55
+ "@stdlib/strided-base-reinterpret-complex128": "^0.0.x",
50
56
  "tape": "git+https://github.com/kgryte/tape.git#fix/globby",
51
57
  "istanbul": "^0.4.1",
52
58
  "tap-spec": "5.x.x"
package/lib/gfill_by.js DELETED
@@ -1,65 +0,0 @@
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
- 'use strict';
20
-
21
- // MAIN //
22
-
23
- /**
24
- * Fills a strided array according to a provided callback function.
25
- *
26
- * @param {PositiveInteger} N - number of indexed elements
27
- * @param {Collection} x - input array/collection
28
- * @param {integer} stride - index increment
29
- * @param {Callback} clbk - callback
30
- * @param {*} [thisArg] - execution context
31
- * @returns {Collection} input array/collection
32
- *
33
- * @example
34
- * var x = [ -2.0, 1.0, 3.0, -5.0, 4.0, 0.0, -1.0, -3.0 ];
35
- *
36
- * function fill() {
37
- * return 5.0;
38
- * }
39
- *
40
- * gfillBy( x.length, x, 1, fill );
41
- * // x => [ 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0 ]
42
- */
43
- function gfillBy( N, x, stride, clbk, thisArg ) {
44
- var ix;
45
- var i;
46
-
47
- if ( N <= 0 ) {
48
- return x;
49
- }
50
- if ( stride < 0 ) {
51
- ix = (1-N) * stride;
52
- } else {
53
- ix = 0;
54
- }
55
- for ( i = 0; i < N; i++ ) {
56
- x[ ix ] = clbk.call( thisArg, x[ ix ], i, ix, x );
57
- ix += stride;
58
- }
59
- return x;
60
- }
61
-
62
-
63
- // EXPORTS //
64
-
65
- module.exports = gfillBy;