@@ -26,6 +26,7 @@ var tape = require( 'tape' );
26
26
var oneTo = require ( '@stdlib/array/one-to' ) ;
27
27
var real = require ( '@stdlib/complex/float64/real' ) ;
28
28
var imag = require ( '@stdlib/complex/float64/imag' ) ;
29
+ var isSameValue = require ( '@stdlib/assert/is-same-value' ) ;
29
30
var Complex128 = require ( '@stdlib/complex/float64/ctor' ) ;
30
31
var scalar2ndarray = require ( '@stdlib/ndarray/from-scalar' ) ;
31
32
var ndarray = require ( '@stdlib/ndarray/ctor' ) ;
@@ -45,47 +46,53 @@ tape( 'the function returns the first element in a 1-dimensional ndarray which p
45
46
var sv ;
46
47
var x ;
47
48
48
- sv = scalar2ndarray ( - 1.0 , {
49
+ sv = scalar2ndarray ( NaN , {
49
50
'dtype' : 'float64'
50
51
} ) ;
51
-
52
52
x = ndarray ( 'float64' , oneTo ( 8 , 'float64' ) , [ 4 ] , [ 1 ] , 0 , 'row-major' ) ;
53
- actual = find ( [ x , sv ] , clbk ) ;
53
+
54
+ actual = find ( [ x , sv ] , clbk1 ) ;
54
55
t . strictEqual ( actual , 2.0 , 'returns expected value' ) ;
55
56
56
- x = ndarray ( 'float64' , oneTo ( 8 , 'float64' ) , [ 4 ] , [ 2 ] , 0 , 'row-major' ) ;
57
- actual = find ( [ x , sv ] , clbk ) ;
58
- t . strictEqual ( actual , - 1.0 , 'returns expected value' ) ;
57
+ actual = find ( [ x , sv ] , clbk2 ) ;
58
+ t . strictEqual ( isSameValue ( actual , NaN ) , true , 'returns expected value' ) ;
59
59
60
60
t . end ( ) ;
61
61
62
- function clbk ( v ) {
62
+ function clbk1 ( v ) {
63
63
return v % 2.0 === 0.0 ;
64
64
}
65
+
66
+ function clbk2 ( v ) {
67
+ return v < 0.0 ;
68
+ }
65
69
} ) ;
66
70
67
71
tape ( 'the function returns the first element in a 1-dimensional ndarray which passes a test implemented by a predicate function (accessors)' , function test ( t ) {
68
72
var actual ;
69
73
var sv ;
70
74
var x ;
71
75
72
- sv = scalar2ndarray ( new Complex128 ( - 1.0 , 0.0 ) , {
76
+ sv = scalar2ndarray ( new Complex128 ( NaN , NaN ) , {
73
77
'dtype' : 'complex128'
74
78
} ) ;
75
-
76
79
x = ndarray ( 'complex128' , oneTo ( 8 , 'complex128' ) , [ 4 ] , [ 1 ] , 0 , 'row-major' ) ;
77
- actual = find ( [ x , sv ] , clbk ) ;
80
+
81
+ actual = find ( [ x , sv ] , clbk1 ) ;
78
82
t . deepEqual ( actual , new Complex128 ( 2.0 , 0.0 ) , 'returns expected value' ) ;
79
83
80
- x = ndarray ( 'complex128' , oneTo ( 8 , 'complex128' ) , [ 4 ] , [ 2 ] , 0 , 'row-major' ) ;
81
- actual = find ( [ x , sv ] , clbk ) ;
82
- t . deepEqual ( actual , new Complex128 ( - 1.0 , 0.0 ) , 'returns expected value' ) ;
84
+ actual = find ( [ x , sv ] , clbk2 ) ;
85
+ t . deepEqual ( isSameValue ( actual , new Complex128 ( NaN , NaN ) ) , true , 'returns expected value' ) ;
83
86
84
87
t . end ( ) ;
85
88
86
- function clbk ( v ) {
89
+ function clbk1 ( v ) {
87
90
return real ( v ) % 2.0 === 0.0 ;
88
91
}
92
+
93
+ function clbk2 ( v ) {
94
+ return real ( v ) < 0.0 ;
95
+ }
89
96
} ) ;
90
97
91
98
tape ( 'the function supports specifying the callback execution context' , function test ( t ) {
0 commit comments