Masked Unary Signatures
Generate a list of masked unary interface signatures from strided array data types.
Usage
var signatures = require( '@stdlib/strided/base/mskunary-dtype-signatures' );
signatures( dtypes1, dtypes2[, options] )
Generates a list of masked unary interface signatures from strided array data types.
var dtypes = [
'float64',
'float32',
'int32',
'uint8'
];
var sigs = signatures( dtypes, dtypes );
// e.g., returns [ 'float32', 'uint8', 'float32', ... ]
The function accepts the following arguments:
- dtypes1: list of supported data types for the input argument.
- dtypes2: list of supported data types for the output argument.
- options: options.
The function accepts the following options:
- enums:
boolean
flag indicating whether to return signatures as a list of data type enumeration constants. Default:false
.
When the enums
options is false
, the function returns an array of data type strings. To return data type enumeration constants, set the enums
option to true
.
var dtypes = [
'float64',
'float32',
'int32',
'uint8'
];
var options = {
'enums': true
};
var sigs = signatures( dtypes, dtypes, options );
// returns [...]
Notes
- The function returns a strided array having a stride length of
3
(i.e., every3
elements define a masked unary interface signature). - For each signature (i.e., set of three consecutive non-overlapping strided array elements), the first element is the input data type, the second element is the mask data type, and the last element is the return data type.
- All signatures follow type promotion rules.
- The mask array data type is always
uint8
.
Examples
var dtypes = require( '@stdlib/strided/dtypes' );
var replace = require( '@stdlib/string/replace' );
var signatures = require( '@stdlib/strided/base/mskunary-dtype-signatures' );
// Get the list of supported strided array data types:
var dt = dtypes();
// Generate unary interface signatures:
var sigs = signatures( dt, dt );
// Format the output:
var str = replace( JSON.stringify( sigs ), /("[^"]+","[^"]+","[^"]+"),/g, '$1,\n' );
console.log( str );