setProps
Define non-enumerable read-only properties which expose strided array function meta data.
Usage
var setProps = require( '@stdlib/strided/base/meta-data-props' );
setProps( meta, dtypes, obj, bool )
Defines non-enumerable read-only properties which expose strided array function meta data.
// Define strided array function meta data:
var meta = {
'nargs': 7,
'nin': 1,
'nout': 1
};
// Define the list of strided array data types:
var dtypes = [
'float64', 'float64'
];
// Define an object/function on which to set the properties:
var obj = {};
// Set the properties:
setProps( meta, dtypes, obj, false );
The meta
data argument should be an object
with the following properties:
- nargs: total number of arguments (excluding offsets).
- nin: number of input strided arrays.
- nout: number of output strided arrays.
The bool
argument indicates whether the input object should describe an "ndarray" interface (i.e., an interface supporting offset
arguments).
// Define strided array function meta data:
var meta = {
'nargs': 7, // excludes offsets
'nin': 1,
'nout': 1
};
// Define the list of strided array data types:
var dtypes = [
'float64', 'float64'
];
// Define an object/function on which to set the properties:
var obj = {};
// Set the properties:
setProps( meta, dtypes, obj, true );
// Retrieve the total number of arguments:
var nargs = obj.nargs;
// returns 9
Examples
var setProps = require( '@stdlib/strided/base/meta-data-props' );
// Define strided array function meta data:
var meta = {
'nargs': 7,
'nin': 1,
'nout': 1
};
// Define the list of strided array data types:
var types = [
'float64', 'float64',
'float32', 'float32',
'generic', 'generic'
];
// Define an object/function on which to set the properties:
var obj = {};
// Set the properties:
setProps( meta, types, obj, false );
// Retrieve strided array function data...
var nargs = obj.nargs;
// returns 7
var nin = obj.nin;
// returns 1
var nout = obj.nout;
// returns 1
var sigs = obj.types;
// returns [...]