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 [...]
Did you find this page helpful?