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., every 3 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 );
Did you find this page helpful?