@@ -40,6 +40,7 @@ var rutu = require( './fixtures/row_major_u_t_u.json' );
4040var rxt = require ( './fixtures/row_major_xt.json' ) ;
4141var rxn = require ( './fixtures/row_major_xn.json' ) ;
4242var roa = require ( './fixtures/row_major_oa.json' ) ;
43+ var rox = require ( './fixtures/row_major_ox.json' ) ;
4344var rsa1sa2 = require ( './fixtures/row_major_sa1_sa2.json' ) ;
4445var rsa1nsa2 = require ( './fixtures/row_major_sa1n_sa2.json' ) ;
4546var rsa1sa2n = require ( './fixtures/row_major_sa1_sa2n.json' ) ;
@@ -57,6 +58,7 @@ var cutu = require( './fixtures/column_major_u_t_u.json' );
5758var cxt = require ( './fixtures/column_major_xt.json' ) ;
5859var cxn = require ( './fixtures/column_major_xn.json' ) ;
5960var coa = require ( './fixtures/column_major_oa.json' ) ;
61+ var cox = require ( './fixtures/column_major_ox.json' ) ;
6062var csa1sa2 = require ( './fixtures/column_major_sa1_sa2.json' ) ;
6163var csa1nsa2 = require ( './fixtures/column_major_sa1n_sa2.json' ) ;
6264var csa1sa2n = require ( './fixtures/column_major_sa1_sa2n.json' ) ;
@@ -938,6 +940,48 @@ tape( 'the function supports a negative `x` stride (column-major)', function tes
938940 t . end ( ) ;
939941} ) ;
940942
943+ tape ( 'the function supports an `x` offset (row-major)' , function test ( t ) {
944+ var expected ;
945+ var data ;
946+ var out ;
947+ var a ;
948+ var x ;
949+
950+ data = rox ;
951+
952+ a = new Float64Array ( data . A ) ;
953+ x = new Float64Array ( data . x ) ;
954+
955+ expected = new Float64Array ( data . x_out ) ;
956+
957+ out = dtrsv ( data . uplo , data . trans , data . diag , data . N , a , data . strideA1 , data . strideA2 , data . offsetA , x , data . strideX , data . offsetX ) ;
958+ t . strictEqual ( out , x , 'returns expected value' ) ;
959+ t . deepEqual ( out , expected , 'returns expected value' ) ;
960+
961+ t . end ( ) ;
962+ } ) ;
963+
964+ tape ( 'the function supports an `x` offset (column-major)' , function test ( t ) {
965+ var expected ;
966+ var data ;
967+ var out ;
968+ var a ;
969+ var x ;
970+
971+ data = cox ;
972+
973+ a = new Float64Array ( data . A ) ;
974+ x = new Float64Array ( data . x ) ;
975+
976+ expected = new Float64Array ( data . x_out ) ;
977+
978+ out = dtrsv ( data . uplo , data . trans , data . diag , data . N , a , data . strideA1 , data . strideA2 , data . offsetA , x , data . strideX , data . offsetX ) ;
979+ t . strictEqual ( out , x , 'returns expected value' ) ;
980+ t . deepEqual ( out , expected , 'returns expected value' ) ;
981+
982+ t . end ( ) ;
983+ } ) ;
984+
941985tape ( 'the function supports complex access patterns (row-major)' , function test ( t ) {
942986 var expected ;
943987 var data ;
0 commit comments