Callbacks
Assign callbacks to unary interfaces according to type promotion rules.
Usage
var callbacks = require( '@stdlib/strided/base/unary-signature-callbacks' );
callbacks( table, signatures )
Assigns callbacks to unary interfaces according to type promotion rules.
var signatures = require( '@stdlib/strided/base/unary-dtype-signatures' );
var identity = require( '@stdlib/math/base/special/identity' );
var cidentity = require( '@stdlib/math/base/special/cidentity' );
var cidentityf = require( '@stdlib/math/base/special/cidentityf' );
var dtypes = [
    'float64',
    'float32',
    'int32',
    'uint8'
];
var sigs = signatures( dtypes, dtypes );
// returns [...]
var table = {
    'default': identity,
    'complex64': cidentityf,
    'complex128': cidentity
};
var list = callbacks( table, sigs );
// returns [...]
The function accepts the following arguments:
- table: callback table.
- signatures: strided array containing unary interface signatures.
A callback table should have the following properties:
- default: default callback.
- complex64: callback for single-precision complex floating-point numbers.
- complex128: callback for double-precision complex floating-point numbers.
Notes
- The function assumes that the provided signature array has the following properties: - a strided array having a stride length of 2(i.e., every2elements define a unary interface signature).
- for each signature (i.e., set of two consecutive non-overlapping strided array elements), the first element is the input data type and the second element is the return data type.
- all signatures follow type promotion rules.
 
- a strided array having a stride length of 
Examples
var dtypes = require( '@stdlib/strided/dtypes' );
var signatures = require( '@stdlib/strided/base/unary-dtype-signatures' );
var identity = require( '@stdlib/math/base/special/identity' );
var cidentity = require( '@stdlib/math/base/special/cidentity' );
var cidentityf = require( '@stdlib/math/base/special/cidentityf' );
var callbacks = require( '@stdlib/strided/base/unary-signature-callbacks' );
// Get the list of supported strided array data types:
var dt = dtypes();
// Generate unary interface signatures:
var sigs = signatures( dt, dt );
// Define a callback table:
var table = {
    'default': identity,
    'complex64': cidentityf,
    'complex128': cidentity
};
// Generate a list of callbacks according to type promotion rules:
var clbks = callbacks( table, sigs );
// returns [...]