@@ -8,6 +8,7 @@ var NINF = require( '@stdlib/constants/math/float64-ninf' );
8
8
var isNegativeZero = require ( '@stdlib/math/base/assert/is-negative-zero' ) ;
9
9
var isPositiveZero = require ( '@stdlib/math/base/assert/is-positive-zero' ) ;
10
10
var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
11
+ var Float64Array = require ( '@stdlib/array/float64' ) ;
11
12
var modf = require ( './../lib' ) ;
12
13
13
14
@@ -152,3 +153,49 @@ tape( 'if provided `NaN`, the function returns `[NaN,NaN]`', function test( t )
152
153
t . strictEqual ( isnan ( parts [ 1 ] ) , true , 'returns NaN' ) ;
153
154
t . end ( ) ;
154
155
} ) ;
156
+
157
+ tape ( 'the function supports providing an output array' , function test ( t ) {
158
+ var parts ;
159
+ var out ;
160
+
161
+ out = [ 0.0 , 0.0 ] ;
162
+ parts = modf ( out , 3.14 ) ;
163
+
164
+ t . strictEqual ( parts , out , 'returns output array' ) ;
165
+ t . strictEqual ( parts [ 0 ] , 3.0 , 'has expected first element' ) ;
166
+ t . strictEqual ( parts [ 1 ] , 0.14000000000000012 , 'has expected second element' ) ;
167
+
168
+ t . end ( ) ;
169
+ } ) ;
170
+
171
+ tape ( 'the function supports providing an output typed array' , function test ( t ) {
172
+ var parts ;
173
+ var out ;
174
+
175
+ out = new Float64Array ( 2 ) ;
176
+ parts = modf ( out , 3.14 ) ;
177
+
178
+ t . strictEqual ( parts , out , 'returns output typed array' ) ;
179
+ t . strictEqual ( parts [ 0 ] , 3.0 , 'has expected first element' ) ;
180
+ t . strictEqual ( parts [ 1 ] , 0.14000000000000012 , 'has expected second element' ) ;
181
+
182
+ t . end ( ) ;
183
+ } ) ;
184
+
185
+ tape ( 'the function supports providing an output object' , function test ( t ) {
186
+ var parts ;
187
+ var out ;
188
+
189
+ out = {
190
+ 'length' : 2 ,
191
+ '0' : 0.0 ,
192
+ '1' : 0.0
193
+ } ;
194
+ parts = modf ( out , 3.14 ) ;
195
+
196
+ t . strictEqual ( parts , out , 'returns output object' ) ;
197
+ t . strictEqual ( parts [ 0 ] , 3.0 , 'has expected first element' ) ;
198
+ t . strictEqual ( parts [ 1 ] , 0.14000000000000012 , 'has expected second element' ) ;
199
+
200
+ t . end ( ) ;
201
+ } ) ;
0 commit comments