23
23
var tape = require ( 'tape' ) ;
24
24
var isndarrayLike = require ( '@stdlib/assert/is-ndarray-like' ) ;
25
25
var isSameArray = require ( '@stdlib/assert/is-same-array' ) ;
26
+ var isEqualInt32Array = require ( '@stdlib/assert/is-equal-int32array' ) ;
27
+ var Int32Array = require ( '@stdlib/array/int32' ) ;
26
28
var ndarray = require ( '@stdlib/ndarray/ctor' ) ;
27
29
var zeros = require ( '@stdlib/ndarray/zeros' ) ;
28
30
var ndarray2array = require ( '@stdlib/ndarray/to-array' ) ;
@@ -870,7 +872,7 @@ tape( 'the function throws an error if provided a `dims` option which contains d
870
872
}
871
873
} ) ;
872
874
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 ) {
874
876
var expected ;
875
877
var actual ;
876
878
var xbuf ;
@@ -900,7 +902,7 @@ tape( 'the function returns the first index of a specified search element in an
900
902
t . end ( ) ;
901
903
} ) ;
902
904
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 ) {
904
906
var expected ;
905
907
var actual ;
906
908
var xbuf ;
@@ -1082,6 +1084,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
1082
1084
1083
1085
t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1084
1086
t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1087
+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
1085
1088
t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1086
1089
t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
1087
1090
@@ -1092,6 +1095,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
1092
1095
1093
1096
t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1094
1097
t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1098
+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
1095
1099
t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1096
1100
t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
1097
1101
@@ -1105,6 +1109,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
1105
1109
1106
1110
t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1107
1111
t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1112
+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
1108
1113
t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1109
1114
t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
1110
1115
@@ -1115,6 +1120,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
1115
1120
1116
1121
t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1117
1122
t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1123
+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
1118
1124
t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1119
1125
t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
1120
1126
@@ -1137,6 +1143,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
1137
1143
1138
1144
t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1139
1145
t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1146
+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
1140
1147
t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1141
1148
t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
1142
1149
@@ -1147,6 +1154,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
1147
1154
1148
1155
t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1149
1156
t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1157
+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
1150
1158
t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1151
1159
t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
1152
1160
@@ -1160,6 +1168,7 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
1160
1168
1161
1169
t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1162
1170
t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1171
+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
1163
1172
t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1164
1173
t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
1165
1174
@@ -1170,12 +1179,50 @@ tape( 'the function supports specifying operation dimensions (row-major)', funct
1170
1179
1171
1180
t . strictEqual ( isndarrayLike ( actual ) , true , 'returns expected value' ) ;
1172
1181
t . strictEqual ( getDType ( actual ) , 'generic' , 'returns expected value' ) ;
1182
+ t . deepEqual ( getShape ( actual ) , [ 2 ] , 'returns expected value' ) ;
1173
1183
t . strictEqual ( getOrder ( actual ) , getOrder ( x ) , 'returns expected value' ) ;
1174
1184
t . deepEqual ( ndarray2array ( actual ) , expected , 'returns expected value' ) ;
1175
1185
1176
1186
t . end ( ) ;
1177
1187
} ) ;
1178
1188
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
+
1179
1226
tape ( 'the function supports providing a from index (scalar)' , function test ( t ) {
1180
1227
var expected ;
1181
1228
var actual ;
0 commit comments