Perform element-wise evaluation of one or more input arrays according to provided predicate functions and count the number of elements for which all predicates respectively return
true
.
var countIfs = require( '@stdlib/array/base/count-ifs' );
Performs element-wise evaluation of one or more input arrays according to provided predicate functions and counts the number of elements for which all predicates respectively return true
.
function predicate0( value ) {
return ( value > 0 );
}
function predicate1( value ) {
return ( value < 3 );
}
var x0 = [ 0, 1, 0, 1, 2 ];
var x1 = [ 2, 3, 1, 2, 5 ];
var out = countIfs( x0, predicate0, x1, predicate1 );
// returns 1
The function has the following parameters:
- x0: first input array.
- predicate0: first predicate function.
- x1: second input array (optional).
- predicate1: second predicate function (optional).
- x2: third input array (optional).
- predicate2: third predicate function (optional).
- args: additional input arrays and corresponding predicate functions (optional).
Each predicate function is provided three arguments:
- value: current array element.
- index: current array element index.
- arr: the corresponding input array.
- The function assumes that all input arrays have the same length.
- The function supports array-like objects supporting the accessor protocol (e.g.,
Complex128Array
,Complex64Array
, etc).
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;
var isNegativeInteger = require( '@stdlib/assert/is-negative-integer' ).isPrimitive;
var naryFunction = require( '@stdlib/utils/nary-function' );
var countIfs = require( '@stdlib/array/base/count-ifs' );
var x = discreteUniform( 10, -5, 5, {
'dtype': 'int32'
});
console.log( x );
var y = discreteUniform( 10, -5, 5, {
'dtype': 'int32'
});
console.log( y );
var out = countIfs( x, naryFunction( isPositiveInteger, 1 ), y, naryFunction( isNegativeInteger, 1 ) );
console.log( out );