diff --git a/CHANGELOG.md b/CHANGELOG.md index c150dfce..7bd5ebfa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,108 @@ ### Packages +
+ +#### [@stdlib/array](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array) + +
+ +
+ +##### Features + +- [`8b1548f`](https://github.com/stdlib-js/stdlib/commit/8b1548fb45c1ff131f5edac20cb984344a2d28ec) - update namespace TypeScript declarations [(#3190)](https://github.com/stdlib-js/stdlib/pull/3190) + +
+ + + +
+ +##### BREAKING CHANGES + +- [`8b1548f`](https://github.com/stdlib-js/stdlib/commit/8b1548fb45c1ff131f5edac20cb984344a2d28ec): update namespace declarations + + - To migrate, users should consult the corresponding packages containing the respective implementations to determine what is breaking. The primary breakages come from the `blas/*` namespace, where we recently refactored how top-level BLAS APIs operate on input arguments. + +
+ + + +
+ +
+ + + +
+ +#### [@stdlib/array/base](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/base) + +
+ +
+ +##### Features + +- [`8b1548f`](https://github.com/stdlib-js/stdlib/commit/8b1548fb45c1ff131f5edac20cb984344a2d28ec) - update namespace TypeScript declarations [(#3190)](https://github.com/stdlib-js/stdlib/pull/3190) + +
+ + + +
+ +##### BREAKING CHANGES + +- [`8b1548f`](https://github.com/stdlib-js/stdlib/commit/8b1548fb45c1ff131f5edac20cb984344a2d28ec): update namespace declarations + + - To migrate, users should consult the corresponding packages containing the respective implementations to determine what is breaking. The primary breakages come from the `blas/*` namespace, where we recently refactored how top-level BLAS APIs operate on input arguments. + +
+ + + +
+ +
+ + + +
+ +#### [@stdlib/array/base/assert](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/base/assert) + +
+ +
+ +##### Features + +- [`8b1548f`](https://github.com/stdlib-js/stdlib/commit/8b1548fb45c1ff131f5edac20cb984344a2d28ec) - update namespace TypeScript declarations [(#3190)](https://github.com/stdlib-js/stdlib/pull/3190) + +
+ + + +
+ +##### BREAKING CHANGES + +- [`8b1548f`](https://github.com/stdlib-js/stdlib/commit/8b1548fb45c1ff131f5edac20cb984344a2d28ec): update namespace declarations + + - To migrate, users should consult the corresponding packages containing the respective implementations to determine what is breaking. The primary breakages come from the `blas/*` namespace, where we recently refactored how top-level BLAS APIs operate on input arguments. + +
+ + + +
+ +
+ + +
#### [@stdlib/array/fixed-endian-factory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/fixed-endian-factory) @@ -49,6 +151,18 @@ This release closes the following issue: +
+ +### BREAKING CHANGES + +- [`8b1548f`](https://github.com/stdlib-js/stdlib/commit/8b1548fb45c1ff131f5edac20cb984344a2d28ec): update namespace declarations + + - To migrate, users should consult the corresponding packages containing the respective implementations to determine what is breaking. The primary breakages come from the `blas/*` namespace, where we recently refactored how top-level BLAS APIs operate on input arguments. + +
+ + +
### Closed Issues @@ -65,10 +179,11 @@ This release closes the following issue: ### Contributors -A total of 2 people contributed to this release. Thank you to the following contributors: +A total of 3 people contributed to this release. Thank you to the following contributors: - Aayush Khanna - Athan Reines +- Philipp Burckhardt
@@ -80,6 +195,7 @@ A total of 2 people contributed to this release. Thank you to the following cont
+- [`8b1548f`](https://github.com/stdlib-js/stdlib/commit/8b1548fb45c1ff131f5edac20cb984344a2d28ec) - **feat:** update namespace TypeScript declarations [(#3190)](https://github.com/stdlib-js/stdlib/pull/3190) _(by stdlib-bot, Philipp Burckhardt)_ - [`b34732c`](https://github.com/stdlib-js/stdlib/commit/b34732cf655db60fbc798e12952f88c3edb07eaf) - **feat:** add `at` method to `array/fixed-endian-factory` [(#3184)](https://github.com/stdlib-js/stdlib/pull/3184) _(by Aayush Khanna, Athan Reines)_ - [`956a462`](https://github.com/stdlib-js/stdlib/commit/956a4624c788689b1bca285856b987ea3aa32eb6) - **feat:** add `forEach` method _(by Athan Reines)_ - [`de1ef8b`](https://github.com/stdlib-js/stdlib/commit/de1ef8ba5e2d7dd1363bdf826572456f49b7895c) - **docs:** fix example _(by Athan Reines)_ diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b2ba3878..f09b30e6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -85,6 +85,7 @@ Ruthwik Chikoti <145591715+ruthwikchikoti@users.noreply.github.com> Ryan Seal Sai Srikar Dumpeti <80447788+the-r3aper7@users.noreply.github.com> SarthakPaandey <145528240+SarthakPaandey@users.noreply.github.com> +Saurabh Singh Seyyed Parsa Neshaei Shashank Shekhar Singh Shivam <11shivam00@gmail.com> diff --git a/base/assert/docs/types/index.d.ts b/base/assert/docs/types/index.d.ts index b56f5405..b0e0cbfe 100644 --- a/base/assert/docs/types/index.d.ts +++ b/base/assert/docs/types/index.d.ts @@ -21,10 +21,13 @@ /* eslint-disable max-lines */ import contains = require( './../../../../base/assert/contains' ); +import hasEqualValues = require( './../../../../base/assert/has-equal-values' ); +import hasEqualValuesIndexed = require( './../../../../base/assert/has-equal-values-indexed' ); import hasSameValues = require( './../../../../base/assert/has-same-values' ); import isAccessorArray = require( './../../../../base/assert/is-accessor-array' ); import isBooleanDataType = require( './../../../../base/assert/is-boolean-data-type' ); import isBooleanArray = require( './../../../../base/assert/is-booleanarray' ); +import isByteOrder = require( './../../../../base/assert/is-byte-order' ); import isComplexFloatingPointDataType = require( './../../../../base/assert/is-complex-floating-point-data-type' ); import isComplexTypedArray = require( './../../../../base/assert/is-complex-typed-array' ); import isComplex64Array = require( './../../../../base/assert/is-complex64array' ); @@ -69,6 +72,46 @@ interface Namespace { */ contains: typeof contains; + /** + * Tests if two arrays have equal values. + * + * ## Notes + * + * - If provided arrays of unequal length, the function returns `false`. + * + * @param x - first input array + * @param y - second input array + * @returns boolean indicating whether both arrays have equal values + * + * @example + * var x = [ 0, 0, 1, 0 ]; + * var y = [ 0, 0, 1, 0 ]; + * + * var out = ns.hasEqualValues( x, y ); + * // returns true + */ + hasEqualValues: typeof hasEqualValues; + + /** + * Tests if two indexed arrays have equal values. + * + * ## Notes + * + * - If provided arrays of unequal length, the function returns `false`. + * + * @param x - first input array + * @param y - second input array + * @returns boolean indicating whether both arrays have equal values + * + * @example + * var x = [ 0, 0, 1, 0 ]; + * var y = [ 0, 0, 1, 0 ]; + * + * var out = ns.hasEqualValuesIndexed( x, y ); + * // returns true + */ + hasEqualValuesIndexed: typeof hasEqualValuesIndexed; + /** * Tests if two arrays have the same values. * @@ -178,6 +221,24 @@ interface Namespace { */ isBooleanArray: typeof isBooleanArray; + /** + * Tests whether an input value is a supported array byte order. + * + * @param v - value to test + * @returns boolean indicating whether an input value is a supported array byte order + * + * @example + * var bool = ns.isByteOrder( 'little-endian' ); + * // returns true + * + * bool = ns.isByteOrder( 'big-endian' ); + * // returns true + * + * bool = ns.isByteOrder( 'foo' ); + * // returns false + */ + isByteOrder: typeof isByteOrder; + /** * Tests whether an input value is a supported array complex-valued floating-point data type. * diff --git a/base/docs/types/index.d.ts b/base/docs/types/index.d.ts index a2ce9ef2..bef4df8a 100644 --- a/base/docs/types/index.d.ts +++ b/base/docs/types/index.d.ts @@ -70,6 +70,7 @@ import countSameValueZero = require( './../../../base/count-same-value-zero' ); import countTruthy = require( './../../../base/count-truthy' ); import cuany = require( './../../../base/cuany' ); import cuevery = require( './../../../base/cuevery' ); +import cunone = require( './../../../base/cunone' ); import dedupe = require( './../../../base/dedupe' ); import every = require( './../../../base/every' ); import everyBy = require( './../../../base/every-by' ); @@ -139,6 +140,7 @@ import nCartesianProduct = require( './../../../base/n-cartesian-product' ); import none = require( './../../../base/none' ); import noneBy = require( './../../../base/none-by' ); import noneByRight = require( './../../../base/none-by-right' ); +import nulls = require( './../../../base/nulls' ); import oneTo = require( './../../../base/one-to' ); import ones = require( './../../../base/ones' ); import ones2d = require( './../../../base/ones2d' ); @@ -157,6 +159,7 @@ import quinary3d = require( './../../../base/quinary3d' ); import quinary4d = require( './../../../base/quinary4d' ); import quinary5d = require( './../../../base/quinary5d' ); import reject = require( './../../../base/reject' ); +import removeAt = require( './../../../base/remove-at' ); import resolveGetter = require( './../../../base/resolve-getter' ); import resolveSetter = require( './../../../base/resolve-setter' ); import reverse = require( './../../../base/reverse' ); @@ -186,6 +189,7 @@ import unarynd = require( './../../../base/unarynd' ); import unitspace = require( './../../../base/unitspace' ); import where = require( './../../../base/where' ); import arrayWith = require( './../../../base/with' ); +import without = require( './../../../base/without' ); import zeroTo = require( './../../../base/zero-to' ); import zeros = require( './../../../base/zeros' ); import zeros2d = require( './../../../base/zeros2d' ); @@ -1468,6 +1472,27 @@ interface Namespace { */ cuevery: typeof cuevery; + /** + * Cumulatively tests whether every element in a provided array is falsy. + * + * @param x - input array + * @returns output array + * + * @example + * var x = [ false, false, false, true, false ]; + * + * var result = ns.cunone( x ); + * // returns [ true, true, true, false, false ]; + * + * @example + * var x = [ false, false, false, true, false ]; + * var y = [ false, null, false, null, false, null, false, null, false, null ]; + * + * var arr = ns.cunone.assign( x, y, 2, 0 ); + * // returns [ true, null, true, null, true, null, false, null, false, null ]; + */ + cunone: typeof cunone; + /** * Removes consecutive duplicated values. * @@ -1621,7 +1646,7 @@ interface Namespace { /** * Returns a filled "generic" array. * - * @param value - fill value + * @param value - fill value, * @param len - array length * @returns output array * @@ -3082,6 +3107,18 @@ interface Namespace { */ noneByRight: typeof noneByRight; + /** + * Returns a "generic" array filled with nulls. + * + * @param len - array length + * @returns output array + * + * @example + * var out = ns.nulls( 3 ); + * // returns [ null, null, null ] + */ + nulls: typeof nulls; + /** * Generates a linearly spaced numeric array whose elements increment by 1 starting from one. * @@ -3510,6 +3547,28 @@ interface Namespace { */ reject: typeof reject; + /** + * Removes an element from an array. + * + * ## Notes + * + * - The function mutates the input array. + * + * @param x - input array + * @param index - element index + * @returns input array + * + * @example + * var x = [ 1, 1, 2, 3, 3 ]; + * + * var y = ns.removeAt( x, -2 ); + * // returns [ 1, 1, 3, 3 ] + * + * var bool = ( x === y ); + * // returns true + */ + removeAt: typeof removeAt; + /** * Returns an accessor function for retrieving an element from an indexed array-like object. * @@ -4249,11 +4308,56 @@ interface Namespace { * @example * var x = [ 1, 2, 3, 4, 5, 6 ]; * - * var out = ns.arrayWith( x, 2, 8 ); + * var out = ns.arrayWith( x, 1, 8 ); * // returns [ 1, 8, 3, 4, 5, 6 ] + * + * @example + * var Float64Array = require( './../../../float64' ); + * + * var x = [ 1, 2, 3, 4 ]; + * + * var out = new Float64Array( [ 0, 0, 0, 0 ] ); + * var arr = ns.arrayWith.assign( x, 0, 5, out, 1, 0 ); + * // returns [ 5, 2, 3, 4 ] + * + * var bool = ( arr === out ); + * // returns true */ arrayWith: typeof arrayWith; + /** + * Returns a new array containing every element from an input array, except for the element at a specified index. + * + * @param x - input array + * @param index - index of the element to exclude + * @returns output array + * + * @example + * var x = [ 1, 2, 3 ]; + * + * var out = ns.without( x, 0 ); + * // returns [ 2, 3 ] + * + * @example + * var x = [ 1, 2, 3, 4, 5, 6 ]; + * + * var out = ns.without( x, 1 ); + * // returns [ 1, 3, 4, 5, 6 ] + * + * @example + * var Float64Array = require( './../../../float64' ); + * + * var x = [ 1, 2, 3, 4 ]; + * + * var out = new Float64Array( [ 0, 0, 0 ] ); + * var arr = ns.without.assign( x, 0, out, 1, 0 ); + * // returns [ 2, 3, 4 ] + * + * var bool = ( arr === out ); + * // returns true + */ + without: typeof without; + /** * Generates a linearly spaced numeric array whose elements increment by 1 starting from zero. * diff --git a/docs/types/index.d.ts b/docs/types/index.d.ts index bfbd6acc..26793a6a 100644 --- a/docs/types/index.d.ts +++ b/docs/types/index.d.ts @@ -23,6 +23,7 @@ import base = require( './../../base' ); import BooleanArray = require( './../../bool' ); import ArrayBuffer = require( './../../buffer' ); +import byteOrders = require( './../../byte-orders' ); import cartesianPower = require( './../../cartesian-power' ); import cartesianProduct = require( './../../cartesian-product' ); import cartesianSquare = require( './../../cartesian-square' ); @@ -40,6 +41,9 @@ import empty = require( './../../empty' ); import emptyLike = require( './../../empty-like' ); import filled = require( './../../filled' ); import filledBy = require( './../../filled-by' ); +import fixedEndianFactory = require( './../../fixed-endian-factory' ); +import Float32ArrayFE = require( './../../fixed-endian-float32' ); +import Float64ArrayFE = require( './../../fixed-endian-float64' ); import Float32Array = require( './../../float32' ); import Float64Array = require( './../../float64' ); import iterator2array = require( './../../from-iterator' ); @@ -52,6 +56,9 @@ import Int8Array = require( './../../int8' ); import Int16Array = require( './../../int16' ); import Int32Array = require( './../../int32' ); import linspace = require( './../../linspace' ); +import littleEndianFactory = require( './../../little-endian-factory' ); +import Float32ArrayLE = require( './../../little-endian-float32' ); +import Float64ArrayLE = require( './../../little-endian-float64' ); import logspace = require( './../../logspace' ); import minDataType = require( './../../min-dtype' ); import mostlySafeCasts = require( './../../mostly-safe-casts' ); @@ -193,6 +200,24 @@ interface Namespace { */ ArrayBuffer: typeof ArrayBuffer; + /** + * Returns a list of byte orders. + * + * ## Notes + * + * - The output array contains the following orders: + * + * - little-endian: bytes are ordered from least-to-most significant byte. + * - big-endian: bytes are ordered from most-to-least significant byte. + * + * @returns list of byte orders + * + * @example + * var list = ns.byteOrders(); + * // e.g., returns [ 'little-endian', 'big-endian' ] + */ + byteOrders: typeof byteOrders; + /** * Returns the Cartesian power. * @@ -1152,8 +1177,6 @@ interface Namespace { /** * Returns a type promotion table displaying array data types with the smallest size and closest "kind" to which array data types can be safely cast. * - * @param dtype1 - array data type - * @param dtype2 - array data type * @returns promotion rule table * * @example @@ -1384,7 +1407,7 @@ interface Namespace { * Returns an iterator which iterates over each element in an array-like object. * * @param src - input value - * @param mapFc - function to invoke for each iterated value + * @param mapFcn - function to invoke for each iterated value * @param thisArg - execution context * @returns iterator *