@@ -37,6 +37,8 @@ var rxnyp = require( './fixtures/row_major_xnyp.json' );
3737var rxpyn = require ( './fixtures/row_major_xpyn.json' ) ;
3838var rxnyn = require ( './fixtures/row_major_xnyn.json' ) ;
3939var roa = require ( './fixtures/row_major_oa.json' ) ;
40+ var rox = require ( './fixtures/row_major_ox.json' ) ;
41+ var roy = require ( './fixtures/row_major_oy.json' ) ;
4042var rsa1sa2 = require ( './fixtures/row_major_sa1_sa2.json' ) ;
4143var rsa1nsa2 = require ( './fixtures/row_major_sa1n_sa2.json' ) ;
4244var rsa1sa2n = require ( './fixtures/row_major_sa1_sa2n.json' ) ;
@@ -51,6 +53,8 @@ var cxnyp = require( './fixtures/column_major_xnyp.json' );
5153var cxpyn = require ( './fixtures/column_major_xpyn.json' ) ;
5254var cxnyn = require ( './fixtures/column_major_xnyn.json' ) ;
5355var coa = require ( './fixtures/column_major_oa.json' ) ;
56+ var cox = require ( './fixtures/column_major_ox.json' ) ;
57+ var coy = require ( './fixtures/column_major_oy.json' ) ;
5458var csa1sa2 = require ( './fixtures/column_major_sa1_sa2.json' ) ;
5559var csa1nsa2 = require ( './fixtures/column_major_sa1n_sa2.json' ) ;
5660var csa1sa2n = require ( './fixtures/column_major_sa1_sa2n.json' ) ;
@@ -839,6 +843,98 @@ tape( 'the function supports specifying negative strides for `x` and `y` (column
839843 t . end ( ) ;
840844} ) ;
841845
846+ tape ( 'the function supports specifying an `x` offset (row-major)' , function test ( t ) {
847+ var expected ;
848+ var data ;
849+ var out ;
850+ var a ;
851+ var x ;
852+ var y ;
853+
854+ data = rox ;
855+
856+ a = new Float32Array ( data . A ) ;
857+ x = new Float32Array ( data . x ) ;
858+ y = new Float32Array ( data . y ) ;
859+
860+ expected = new Float32Array ( data . A_out ) ;
861+
862+ out = ssyr2 ( data . uplo , data . N , data . alpha , x , data . strideX , data . offsetX , y , data . strideY , data . offsetY , a , data . strideA1 , data . strideA2 , data . offsetA ) ;
863+ t . strictEqual ( out , a , 'returns expected value' ) ;
864+ t . deepEqual ( out , expected , 'returns expected value' ) ;
865+
866+ t . end ( ) ;
867+ } ) ;
868+
869+ tape ( 'the function supports specifying an `x` offset (column-major)' , function test ( t ) {
870+ var expected ;
871+ var data ;
872+ var out ;
873+ var a ;
874+ var x ;
875+ var y ;
876+
877+ data = cox ;
878+
879+ a = new Float32Array ( data . A ) ;
880+ x = new Float32Array ( data . x ) ;
881+ y = new Float32Array ( data . y ) ;
882+
883+ expected = new Float32Array ( data . A_out ) ;
884+
885+ out = ssyr2 ( data . uplo , data . N , data . alpha , x , data . strideX , data . offsetX , y , data . strideY , data . offsetY , a , data . strideA1 , data . strideA2 , data . offsetA ) ;
886+ t . strictEqual ( out , a , 'returns expected value' ) ;
887+ t . deepEqual ( out , expected , 'returns expected value' ) ;
888+
889+ t . end ( ) ;
890+ } ) ;
891+
892+ tape ( 'the function supports specifying a `y` offset (row-major)' , function test ( t ) {
893+ var expected ;
894+ var data ;
895+ var out ;
896+ var a ;
897+ var x ;
898+ var y ;
899+
900+ data = roy ;
901+
902+ a = new Float32Array ( data . A ) ;
903+ x = new Float32Array ( data . x ) ;
904+ y = new Float32Array ( data . y ) ;
905+
906+ expected = new Float32Array ( data . A_out ) ;
907+
908+ out = ssyr2 ( data . uplo , data . N , data . alpha , x , data . strideX , data . offsetX , y , data . strideY , data . offsetY , a , data . strideA1 , data . strideA2 , data . offsetA ) ;
909+ t . strictEqual ( out , a , 'returns expected value' ) ;
910+ t . deepEqual ( out , expected , 'returns expected value' ) ;
911+
912+ t . end ( ) ;
913+ } ) ;
914+
915+ tape ( 'the function supports specifying a `y` offset (column-major)' , function test ( t ) {
916+ var expected ;
917+ var data ;
918+ var out ;
919+ var a ;
920+ var x ;
921+ var y ;
922+
923+ data = coy ;
924+
925+ a = new Float32Array ( data . A ) ;
926+ x = new Float32Array ( data . x ) ;
927+ y = new Float32Array ( data . y ) ;
928+
929+ expected = new Float32Array ( data . A_out ) ;
930+
931+ out = ssyr2 ( data . uplo , data . N , data . alpha , x , data . strideX , data . offsetX , y , data . strideY , data . offsetY , a , data . strideA1 , data . strideA2 , data . offsetA ) ;
932+ t . strictEqual ( out , a , 'returns expected value' ) ;
933+ t . deepEqual ( out , expected , 'returns expected value' ) ;
934+
935+ t . end ( ) ;
936+ } ) ;
937+
842938tape ( 'the function supports complex access patterns (row-major)' , function test ( t ) {
843939 var expected ;
844940 var data ;
0 commit comments