2323var tape = require ( 'tape' ) ;
2424var isndarrayLike = require ( '@stdlib/assert/is-ndarray-like' ) ;
2525var isSameArray = require ( '@stdlib/assert/is-same-array' ) ;
26+ var isEqualInt32Array = require ( '@stdlib/assert/is-equal-int32array' ) ;
27+ var Int32Array = require ( '@stdlib/array/int32' ) ;
2628var ndarray = require ( '@stdlib/ndarray/ctor' ) ;
2729var zeros = require ( '@stdlib/ndarray/zeros' ) ;
2830var ndarray2array = require ( '@stdlib/ndarray/to-array' ) ;
@@ -870,7 +872,7 @@ tape( 'the function throws an error if provided a `dims` option which contains d
870872 }
871873} ) ;
872874
873- tape ( 'the function returns the first index of a specified search element in an ndarray (default, row-major)' , function test ( t ) {
875+ tape ( 'the function returns the first index of a specified search element in an ndarray (row-major)' , function test ( t ) {
874876 var expected ;
875877 var actual ;
876878 var xbuf ;
@@ -900,7 +902,7 @@ tape( 'the function returns the first index of a specified search element in an
900902 t . end ( ) ;
901903} ) ;
902904
903- tape ( 'the function returns the first index of a specified search element in an ndarray (default, column-major)' , function test ( t ) {
905+ tape ( 'the function returns the first index of a specified search element in an ndarray (column-major)' , function test ( t ) {
904906 var expected ;
905907 var actual ;
906908 var xbuf ;
@@ -1082,6 +1084,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
10821084
10831085 t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
10841086 t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1087+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
10851088 t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
10861089 t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
10871090
@@ -1092,6 +1095,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
10921095
10931096 t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
10941097 t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1098+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
10951099 t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
10961100 t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
10971101
@@ -1105,6 +1109,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
11051109
11061110 t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
11071111 t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1112+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
11081113 t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
11091114 t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
11101115
@@ -1115,6 +1120,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
11151120
11161121 t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
11171122 t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1123+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
11181124 t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
11191125 t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
11201126
@@ -1137,6 +1143,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
11371143
11381144 t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
11391145 t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1146+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
11401147 t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
11411148 t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
11421149
@@ -1147,6 +1154,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
11471154
11481155 t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
11491156 t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1157+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
11501158 t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
11511159 t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
11521160
@@ -1160,6 +1168,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
11601168
11611169 t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
11621170 t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1171+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
11631172 t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
11641173 t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
11651174
@@ -1170,12 +1179,50 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
11701179
11711180 t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
11721181 t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1182+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
11731183 t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
11741184 t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
11751185
11761186 t . end ( ) ;
11771187} ) ;
11781188
1189+ tape ( 'the function supports specifying the output array data type' , function test ( t ) {
1190+ var expected ;
1191+ var actual ;
1192+ var xbuf ;
1193+ var x ;
1194+
1195+ xbuf = [ - 1.0 , 2.0 , - 3.0 , 4.0 ] ;
1196+ x = new ndarray ( 'generic' , xbuf , [ 2 , 2 ] , [ 2 , 1 ] , 0 , 'row-major' ) ;
1197+
1198+ actual = indexOf ( x , 2.0 , {
1199+ 'dtype' : 'int32'
1200+ } ) ;
1201+ expected = new Int32Array ( [ 1 ] ) ;
1202+
1203+ t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1204+ t . strictEqual ( getDType ( actual ) , 'int32' , 'returns expected value' ) ;
1205+ t . deepEqual ( getShape ( actual ) , [ ] , 'returns expected value' ) ;
1206+ t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1207+ t . strictEqual ( isEqualInt32Array ( getData ( actual ) , expected ) , true , 'returns expected value' ) ;
1208+
1209+ xbuf = [ - 1.0 , 2.0 , - 3.0 , 4.0 ] ;
1210+ x = new ndarray ( 'generic' , xbuf , [ 2 , 2 ] , [ 1 , 2 ] , 0 , 'column-major' ) ;
1211+
1212+ actual = indexOf ( x , 2.0 , 0 , {
1213+ 'dtype' : 'int32'
1214+ } ) ;
1215+ expected = new Int32Array ( [ 1 ] ) ;
1216+
1217+ t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1218+ t . strictEqual ( getDType ( actual ) , 'int32' , 'returns expected value' ) ;
1219+ t . deepEqual ( getShape ( actual ) , [ ] , 'returns expected value' ) ;
1220+ t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1221+ t . strictEqual ( isEqualInt32Array ( getData ( actual ) , expected ) , true , 'returns expected value' ) ;
1222+
1223+ t . end ( ) ;
1224+ } ) ;
1225+
11791226tape ( 'the function supports providing a from index (scalar)' , function test ( t ) {
11801227 var expected ;
11811228 var actual ;
0 commit comments