@@ -37,6 +37,8 @@ var rxnyp = require( './fixtures/row_major_xnyp.json' );
37
37
var rxpyn = require ( './fixtures/row_major_xpyn.json' ) ;
38
38
var rxnyn = require ( './fixtures/row_major_xnyn.json' ) ;
39
39
var 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' ) ;
40
42
var rsa1sa2 = require ( './fixtures/row_major_sa1_sa2.json' ) ;
41
43
var rsa1nsa2 = require ( './fixtures/row_major_sa1n_sa2.json' ) ;
42
44
var rsa1sa2n = require ( './fixtures/row_major_sa1_sa2n.json' ) ;
@@ -51,6 +53,8 @@ var cxnyp = require( './fixtures/column_major_xnyp.json' );
51
53
var cxpyn = require ( './fixtures/column_major_xpyn.json' ) ;
52
54
var cxnyn = require ( './fixtures/column_major_xnyn.json' ) ;
53
55
var 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' ) ;
54
58
var csa1sa2 = require ( './fixtures/column_major_sa1_sa2.json' ) ;
55
59
var csa1nsa2 = require ( './fixtures/column_major_sa1n_sa2.json' ) ;
56
60
var csa1sa2n = require ( './fixtures/column_major_sa1_sa2n.json' ) ;
@@ -839,6 +843,98 @@ tape( 'the function supports specifying negative strides for `x` and `y` (column
839
843
t . end ( ) ;
840
844
} ) ;
841
845
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
+
842
938
tape ( 'the function supports complex access patterns (row-major)' , function test ( t ) {
843
939
var expected ;
844
940
var data ;
0 commit comments