2222
2323var tape = require ( 'tape' ) ;
2424var isArray = require ( '@stdlib/assert-is-array' ) ;
25+ var Complex64Array = require ( '@stdlib/array-complex64' ) ;
26+ var realf = require ( '@stdlib/complex-realf' ) ;
27+ var imagf = require ( '@stdlib/complex-imagf' ) ;
2528var ndarray2array = require ( './../lib' ) ;
2629
2730
@@ -71,6 +74,40 @@ tape( 'the function converts an ndarray buffer to a generic array (1d; order=row
7174 t . end ( ) ;
7275} ) ;
7376
77+ tape ( 'the function converts an ndarray buffer to a generic array (1d; order=row-major; complex data type)' , function test ( t ) {
78+ var strides ;
79+ var offset ;
80+ var buffer ;
81+ var order ;
82+ var shape ;
83+ var out ;
84+ var v ;
85+
86+ buffer = new Complex64Array ( [ 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 ] ) ;
87+
88+ shape = [ 3 ] ;
89+ order = 'row-major' ;
90+ strides = [ - 1 ] ;
91+ offset = 2 ;
92+
93+ out = ndarray2array ( buffer , shape , strides , offset , order ) ;
94+ t . strictEqual ( isArray ( out ) , true , 'returns an array' ) ;
95+
96+ v = out [ 0 ] ;
97+ t . strictEqual ( realf ( v ) , 5.0 , 'returns expected value' ) ;
98+ t . strictEqual ( imagf ( v ) , 6.0 , 'returns expected value' ) ;
99+
100+ v = out [ 1 ] ;
101+ t . strictEqual ( realf ( v ) , 3.0 , 'returns expected value' ) ;
102+ t . strictEqual ( imagf ( v ) , 4.0 , 'returns expected value' ) ;
103+
104+ v = out [ 2 ] ;
105+ t . strictEqual ( realf ( v ) , 1.0 , 'returns expected value' ) ;
106+ t . strictEqual ( imagf ( v ) , 2.0 , 'returns expected value' ) ;
107+
108+ t . end ( ) ;
109+ } ) ;
110+
74111tape ( 'the function converts an ndarray buffer to a generic array (1d; order=column-major)' , function test ( t ) {
75112 var expected ;
76113 var strides ;
@@ -95,6 +132,40 @@ tape( 'the function converts an ndarray buffer to a generic array (1d; order=col
95132 t . end ( ) ;
96133} ) ;
97134
135+ tape ( 'the function converts an ndarray buffer to a generic array (1d; order=column-major; complex data type)' , function test ( t ) {
136+ var strides ;
137+ var offset ;
138+ var buffer ;
139+ var order ;
140+ var shape ;
141+ var out ;
142+ var v ;
143+
144+ buffer = new Complex64Array ( [ 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 ] ) ;
145+
146+ shape = [ 3 ] ;
147+ order = 'column-major' ;
148+ strides = [ 1 ] ;
149+ offset = 0 ;
150+
151+ out = ndarray2array ( buffer , shape , strides , offset , order ) ;
152+ t . strictEqual ( isArray ( out ) , true , 'returns an array' ) ;
153+
154+ v = out [ 0 ] ;
155+ t . strictEqual ( realf ( v ) , 1.0 , 'returns expected value' ) ;
156+ t . strictEqual ( imagf ( v ) , 2.0 , 'returns expected value' ) ;
157+
158+ v = out [ 1 ] ;
159+ t . strictEqual ( realf ( v ) , 3.0 , 'returns expected value' ) ;
160+ t . strictEqual ( imagf ( v ) , 4.0 , 'returns expected value' ) ;
161+
162+ v = out [ 2 ] ;
163+ t . strictEqual ( realf ( v ) , 5.0 , 'returns expected value' ) ;
164+ t . strictEqual ( imagf ( v ) , 6.0 , 'returns expected value' ) ;
165+
166+ t . end ( ) ;
167+ } ) ;
168+
98169tape ( 'the function converts an ndarray buffer to a generic array (2d; order=row-major)' , function test ( t ) {
99170 var expected ;
100171 var strides ;
0 commit comments