Skip to content

Commit b6cf3a4

Browse files
committed
Auto-generated commit
1 parent 4c23da8 commit b6cf3a4

File tree

7 files changed

+155
-138
lines changed

7 files changed

+155
-138
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,8 @@ A total of 37 issues were closed in this release:
675675

676676
<details>
677677

678+
- [`7ed84a3`](https://github.com/stdlib-js/stdlib/commit/7ed84a377820c9a20047b7329799467e58bd3171) - **docs:** fix examples _(by Athan Reines)_
679+
- [`6b360e5`](https://github.com/stdlib-js/stdlib/commit/6b360e548417af6331cee3ecad0f03f9203b9b16) - **refactor:** support dtype instances by normalizing provided dtypes to strings _(by Athan Reines)_
678680
- [`322b8cb`](https://github.com/stdlib-js/stdlib/commit/322b8cb870769d9198ddbcd0b89610b185ab57ff) - **build:** ensure dtypes are strings _(by Athan Reines)_
679681
- [`387beea`](https://github.com/stdlib-js/stdlib/commit/387beea5c84c7bd4f0aab41ec35e49819275c9b0) - **build:** ensure dtypes are strings _(by Athan Reines)_
680682
- [`2a887b7`](https://github.com/stdlib-js/stdlib/commit/2a887b7eb76a7f0ecc48133049868395b90ff196) - **refactor:** support data type instances _(by Athan Reines)_

base/empty/README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,16 @@ var empty = require( '@stdlib/ndarray/base/empty' );
4545
Creates an uninitialized [ndarray][@stdlib/ndarray/base/ctor] having a specified shape and [data type][@stdlib/ndarray/dtypes].
4646

4747
```javascript
48+
var getShape = require( '@stdlib/ndarray/shape' );
49+
var getDType = require( '@stdlib/ndarray/dtype' );
50+
4851
var arr = empty( 'float64', [ 2, 2 ], 'row-major' );
4952
// returns <ndarray>
5053

51-
var sh = arr.shape;
54+
var sh = getShape( arr );
5255
// returns [ 2, 2 ]
5356

54-
var dt = arr.dtype;
57+
var dt = String( getDType( arr ) );
5558
// returns 'float64'
5659
```
5760

@@ -91,7 +94,7 @@ var dtypes = require( '@stdlib/ndarray/dtypes' );
9194
var empty = require( '@stdlib/ndarray/base/empty' );
9295

9396
// Get a list of data types:
94-
var dt = dtypes();
97+
var dt = dtypes( 'integer_and_generic' );
9598

9699
// Generate uninitialized arrays...
97100
var arr;

base/empty/docs/repl.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
Parameters
1313
----------
14-
dtype: string
14+
dtype: string|DataType
1515
Underlying data type.
1616

1717
shape: ArrayLikeObject<integer>
@@ -30,10 +30,8 @@
3030
--------
3131
> var arr = {{alias}}( 'float64', [ 2, 2 ], 'row-major' )
3232
<ndarray>
33-
> var sh = arr.shape
33+
> var sh = {{alias:@stdlib/ndarray/shape}}( arr )
3434
[ 2, 2 ]
35-
> var dt = arr.dtype
36-
'float64'
3735

3836
See Also
3937
--------

base/empty/examples/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var dtypes = require( './../../../dtypes' );
2222
var empty = require( './../lib' );
2323

2424
// Get a list of data types:
25-
var dt = dtypes();
25+
var dt = dtypes( 'integer_and_generic' );
2626

2727
// Generate uninitialized arrays...
2828
var arr;

base/empty/lib/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,17 @@
2424
* @module @stdlib/ndarray/base/empty
2525
*
2626
* @example
27+
* var getShape = require( '@stdlib/ndarray/shape' );
28+
* var getDType = require( '@stdlib/ndarray/dtype' );
2729
* var empty = require( '@stdlib/ndarray/base/empty' );
2830
*
2931
* var arr = empty( 'float32', [ 2, 2 ], 'row-major' );
3032
* // returns <ndarray>
3133
*
32-
* var sh = arr.shape;
34+
* var sh = getShape( arr );
3335
* // returns [ 2, 2 ]
3436
*
35-
* var dt = arr.dtype;
37+
* var dt = String( getDType( arr ) );
3638
* // returns 'float32'
3739
*/
3840

base/empty/lib/main.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
var shape2strides = require( './../../../base/shape2strides' );
2424
var strides2offset = require( './../../../base/strides2offset' );
25+
var resolveStr = require( './../../../base/dtype-resolve-str' );
2526
var ndarray = require( './../../../base/ctor' );
2627
var numel = require( './../../../base/numel' );
2728
var emptyArray = require( '@stdlib/array/empty' );
@@ -33,27 +34,31 @@ var allocUnsafe = require( '@stdlib/buffer/alloc-unsafe' );
3334
/**
3435
* Creates an uninitialized ndarray having a specified shape and data type.
3536
*
36-
* @param {string} dtype - data type
37+
* @param {*} dtype - data type
3738
* @param {NonNegativeIntegerArray} shape - array shape
3839
* @param {string} order - array order
3940
* @throws {TypeError} first argument must be a recognized data type
4041
* @returns {ndarray} ndarray
4142
*
4243
* @example
44+
* var getShape = require( '@stdlib/ndarray/shape' );
45+
* var getDType = require( '@stdlib/ndarray/dtype' );
46+
*
4347
* var arr = empty( 'float32', [ 2, 2 ], 'row-major' );
4448
* // returns <ndarray>
4549
*
46-
* var sh = arr.shape;
50+
* var sh = getShape( arr );
4751
* // returns [ 2, 2 ]
4852
*
49-
* var dt = arr.dtype;
53+
* var dt = String( getDType( arr ) );
5054
* // returns 'float32'
5155
*/
5256
function empty( dtype, shape, order ) {
5357
var ndims;
5458
var buf;
5559
var len;
5660
var st;
61+
var dt;
5762

5863
ndims = shape.length;
5964
if ( ndims > 0 ) {
@@ -64,11 +69,14 @@ function empty( dtype, shape, order ) {
6469
len = 1;
6570
st = [ 0 ];
6671
}
67-
if ( dtype === 'binary' ) {
72+
dt = resolveStr( dtype );
73+
if ( dt === 'binary' ) {
6874
buf = allocUnsafe( len );
6975
} else {
70-
buf = emptyArray( len, dtype );
76+
buf = emptyArray( len, dt );
7177
}
78+
// FIXME: add support for struct dtypes. Will need to do something similar to `array/empty` in so far as allocating an uninitialized array buffer, performing byte alignment, and creating a StructArray view atop the buffer.
79+
7280
return new ndarray( dtype, buf, shape, st, strides2offset( shape, st ), order ); // eslint-disable-line max-len
7381
}
7482

0 commit comments

Comments
 (0)