unaryOutputDataType
Resolve the output ndarray data type for a unary function.
Usage
var unaryOutputDataType = require( '@stdlib/ndarray/base/unary-output-dtype' );
unaryOutputDataType( dtype, policy )
Resolves the output ndarray data type for a unary function according to a data type policy.
var dt = unaryOutputDataType( 'int32', 'floating_point' );
// returns 'float64'
If policy
is a data type, the function always returns the policy
value (i.e., the second argument).
var dt = unaryOutputDataType( 'float32', 'float64' );
// returns 'float64'
dt = unaryOutputDataType( 'int32', 'float64' );
// returns 'float64'
// ...
Examples
var naryFunction = require( '@stdlib/utils/nary-function' );
var map2 = require( '@stdlib/utils/map2' );
var unzip = require( '@stdlib/utils/unzip' );
var cartesianProduct = require( '@stdlib/array/base/cartesian-product' );
var dtypes = require( '@stdlib/ndarray/dtypes' );
var logEach = require( '@stdlib/console/log-each' );
var unaryOutputDataType = require( '@stdlib/ndarray/base/unary-output-dtype' );
// Get the list of real-valued data types:
var dt = dtypes( 'real' );
// Define a list of output data type policies:
var policies = [
'default',
'real',
'floating_point',
'complex_floating_point'
];
// Generate dtype-policy argument pairs:
var args = cartesianProduct( dt, policies );
// Unzip the argument pair array:
args = unzip( args );
// Resolve output data types:
var out = map2( args[ 0 ], args[ 1 ], naryFunction( unaryOutputDataType, 2 ) );
// Print results:
logEach( 'dtypes: (%10s, %10s). policy: %s.', args[ 0 ], out, args[ 1 ] );