@@ -29,8 +29,10 @@ var dlatrs = require( './../lib/dlatrs.js' );
2929
3030// FIXTURES //
3131
32- var ROW_MAJOR = require ( './fixtures/row_major.json' ) ;
33- var COL_MAJOR = require ( './fixtures/col_major.json' ) ;
32+ var NO_TRANS_UPPER_ROW_MAJOR = require ( './fixtures/no_trans_upper_row_major.json' ) ;
33+ var NO_TRANS_UPPER_COL_MAJOR = require ( './fixtures/no_trans_upper_col_major.json' ) ;
34+ var NO_TRANS_LOWER_ROW_MAJOR = require ( './fixtures/no_trans_lower_row_major.json' ) ;
35+ var NO_TRANS_LOWER_COL_MAJOR = require ( './fixtures/no_trans_lower_col_major.json' ) ;
3436
3537
3638// TESTS //
@@ -54,7 +56,7 @@ tape( 'the function throws an error if provided a first argument which is not a
5456 var X ;
5557 var i ;
5658
57- data = COL_MAJOR ;
59+ data = NO_TRANS_UPPER_COL_MAJOR ;
5860
5961 A = new Float64Array ( data . A ) ;
6062 X = new Float64Array ( data . X ) ;
@@ -96,7 +98,7 @@ tape( 'the function throws an error if provided a second argument which is not a
9698 var X ;
9799 var i ;
98100
99- data = COL_MAJOR ;
101+ data = NO_TRANS_UPPER_COL_MAJOR ;
100102
101103 A = new Float64Array ( data . A ) ;
102104 X = new Float64Array ( data . X ) ;
@@ -138,7 +140,7 @@ tape( 'the function throws an error if provided a third argument which is not a
138140 var X ;
139141 var i ;
140142
141- data = COL_MAJOR ;
143+ data = NO_TRANS_UPPER_COL_MAJOR ;
142144
143145 A = new Float64Array ( data . A ) ;
144146 X = new Float64Array ( data . X ) ;
@@ -180,7 +182,7 @@ tape( 'the function throws an error if provided a fourth argument which is not a
180182 var X ;
181183 var i ;
182184
183- data = COL_MAJOR ;
185+ data = NO_TRANS_UPPER_COL_MAJOR ;
184186
185187 A = new Float64Array ( data . A ) ;
186188 X = new Float64Array ( data . X ) ;
@@ -222,7 +224,7 @@ tape( 'the function throws an error if provided a fifth argument which is not ye
222224 var X ;
223225 var i ;
224226
225- data = COL_MAJOR ;
227+ data = NO_TRANS_UPPER_COL_MAJOR ;
226228
227229 A = new Float64Array ( data . A ) ;
228230 X = new Float64Array ( data . X ) ;
@@ -264,7 +266,7 @@ tape( 'the function throws an error if provided the seventh argument is not a va
264266 var X ;
265267 var i ;
266268
267- data = ROW_MAJOR ;
269+ data = NO_TRANS_UPPER_ROW_MAJOR ;
268270
269271 A = new Float64Array ( data . A ) ;
270272 X = new Float64Array ( data . X ) ;
@@ -288,7 +290,7 @@ tape( 'the function throws an error if provided the seventh argument is not a va
288290 }
289291} ) ;
290292
291- tape ( 'the function returns expected output for normal values (row-major) ' , function test ( t ) {
293+ tape ( 'the function returns the arrays unchanged for N = 0 ' , function test ( t ) {
292294 var expectedCNORM ;
293295 var expectedX ;
294296 var scale ;
@@ -297,7 +299,88 @@ tape( 'the function returns expected output for normal values (row-major)', func
297299 var A ;
298300 var X ;
299301
300- data = ROW_MAJOR ;
302+ data = NO_TRANS_UPPER_ROW_MAJOR ;
303+
304+ A = new Float64Array ( data . A ) ;
305+ CNORM = new Float64Array ( data . CNORM ) ;
306+ X = new Float64Array ( data . X ) ;
307+
308+ expectedCNORM = new Float64Array ( data . CNORM ) ;
309+ expectedX = new Float64Array ( data . X ) ;
310+
311+ scale = dlatrs ( data . order , data . uplo , data . trans , data . diag , data . normin , 0 , A , data . LDA , X , CNORM ) ;
312+
313+ t . strictEqual ( scale , data . scale , 'returns expected value' ) ;
314+ t . deepEqual ( X , expectedX , 'returns expected value' ) ;
315+ t . deepEqual ( CNORM , expectedCNORM , 'returns expected value' ) ;
316+
317+ t . end ( ) ;
318+ } ) ;
319+
320+ tape ( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose)' , function test ( t ) {
321+ var expectedCNORM ;
322+ var expectedX ;
323+ var scale ;
324+ var CNORM ;
325+ var data ;
326+ var A ;
327+ var X ;
328+
329+ data = NO_TRANS_UPPER_ROW_MAJOR ;
330+
331+ A = new Float64Array ( data . A ) ;
332+ CNORM = new Float64Array ( data . CNORM ) ;
333+ X = new Float64Array ( data . X ) ;
334+
335+ expectedCNORM = new Float64Array ( data . expectedCNORM ) ;
336+ expectedX = new Float64Array ( data . expectedX ) ;
337+
338+ scale = dlatrs ( data . order , data . uplo , data . trans , data . diag , data . normin , data . N , A , data . LDA , X , CNORM ) ;
339+
340+ t . strictEqual ( scale , data . scale , 'returns expected value' ) ;
341+ t . deepEqual ( X , expectedX , 'returns expected value' ) ;
342+ t . deepEqual ( CNORM , expectedCNORM , 'returns expected value' ) ;
343+
344+ t . end ( ) ;
345+ } ) ;
346+
347+ tape ( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose)' , function test ( t ) {
348+ var expectedCNORM ;
349+ var expectedX ;
350+ var scale ;
351+ var CNORM ;
352+ var data ;
353+ var A ;
354+ var X ;
355+
356+ data = NO_TRANS_UPPER_COL_MAJOR ;
357+
358+ A = new Float64Array ( data . A ) ;
359+ CNORM = new Float64Array ( data . CNORM ) ;
360+ X = new Float64Array ( data . X ) ;
361+
362+ expectedCNORM = new Float64Array ( data . expectedCNORM ) ;
363+ expectedX = new Float64Array ( data . expectedX ) ;
364+
365+ scale = dlatrs ( data . order , data . uplo , data . trans , data . diag , data . normin , data . N , A , data . LDA , X , CNORM ) ;
366+
367+ t . strictEqual ( scale , data . scale , 'returns expected value' ) ;
368+ t . deepEqual ( X , expectedX , 'returns expected value' ) ;
369+ t . deepEqual ( CNORM , expectedCNORM , 'returns expected value' ) ;
370+
371+ t . end ( ) ;
372+ } ) ;
373+
374+ tape ( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose)' , function test ( t ) {
375+ var expectedCNORM ;
376+ var expectedX ;
377+ var scale ;
378+ var CNORM ;
379+ var data ;
380+ var A ;
381+ var X ;
382+
383+ data = NO_TRANS_LOWER_ROW_MAJOR ;
301384
302385 A = new Float64Array ( data . A ) ;
303386 CNORM = new Float64Array ( data . CNORM ) ;
@@ -315,7 +398,7 @@ tape( 'the function returns expected output for normal values (row-major)', func
315398 t . end ( ) ;
316399} ) ;
317400
318- tape ( 'the function returns expected output for normal values (column-major)' , function test ( t ) {
401+ tape ( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose) ' , function test ( t ) {
319402 var expectedCNORM ;
320403 var expectedX ;
321404 var scale ;
@@ -324,7 +407,7 @@ tape( 'the function returns expected output for normal values (column-major)', f
324407 var A ;
325408 var X ;
326409
327- data = COL_MAJOR ;
410+ data = NO_TRANS_LOWER_COL_MAJOR ;
328411
329412 A = new Float64Array ( data . A ) ;
330413 CNORM = new Float64Array ( data . CNORM ) ;
0 commit comments