Binary Signatures

Generate a list of binary interface signatures from strided array data types.

Usage

var signatures = require( '@stdlib/strided/base/binary-dtype-signatures' );

signatures( dtypes1, dtypes2, dtypes3[, options] )

Generates a list of binary interface signatures from strided array data types.

var dtypes = [
    'float64',
    'float32',
    'int32',
    'uint8'
];

var sigs = signatures( dtypes, dtypes, dtypes );
// returns [ 'float32', 'float32', 'float32', ... ]

The function accepts the following arguments:

  • dtypes1: list of supported data types for the first input argument.
  • dtypes2: list of supported data types for the second input argument.
  • dtypes3: list of supported data types for the output value.
  • 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, dtypes, options );
// returns [...]

Notes

  • The function returns a strided array having a stride length of 3 (i.e., every 3 elements define a binary interface signature).
  • For each signature (i.e., set of three consecutive non-overlapping strided array elements), the first two elements are the input data types and the third element is the return data type.
  • All signatures follow type promotion rules.

Examples

var dtypes = require( '@stdlib/strided/dtypes' );
var replace = require( '@stdlib/string/replace' );
var signatures = require( '@stdlib/strided/base/binary-dtype-signatures' );

// Get the list of supported strided array data types:
var dt = dtypes();

// Generate binary interface signatures:
var sigs = signatures( dt, dt, dt );

// Format the output:
var str = replace( JSON.stringify( sigs ), /("[^"]+","[^"]+","[^"]+"),/g, '$1,\n' );
console.log( str );
Did you find this page helpful?