@@ -988,6 +988,7 @@ public static void TensorSetSliceTests()
988
988
Assert . Equal ( 13 , t0 [ 1 , 3 ] ) ;
989
989
Assert . Equal ( 14 , t0 [ 1 , 4 ] ) ;
990
990
}
991
+
991
992
[ Fact ]
992
993
public static void TensorStackTests ( )
993
994
{
@@ -1074,6 +1075,47 @@ public static void TensorStackTests()
1074
1075
Assert . Equal ( 8 , resultTensor [ 1 , 3 , 1 ] ) ;
1075
1076
Assert . Equal ( 9 , resultTensor [ 1 , 4 , 0 ] ) ;
1076
1077
Assert . Equal ( 9 , resultTensor [ 1 , 4 , 1 ] ) ;
1078
+
1079
+ // stacking 2x2 tensors along dimension 1
1080
+ Tensor < int > v1 = Tensor . Create ( [ 1 , 2 , 3 , 4 ] , [ 2 , 2 ] ) ;
1081
+ Tensor < int > v2 = Tensor . Create ( [ 10 , 20 , 30 , 40 ] , [ 2 , 2 ] ) ;
1082
+
1083
+ resultTensor = Tensor . StackAlongDimension ( 1 , [ v1 , v2 ] ) ;
1084
+
1085
+ Assert . Equal ( 3 , resultTensor . Rank ) ;
1086
+ Assert . Equal ( 2 , resultTensor . Lengths [ 0 ] ) ;
1087
+ Assert . Equal ( 2 , resultTensor . Lengths [ 1 ] ) ;
1088
+ Assert . Equal ( 2 , resultTensor . Lengths [ 2 ] ) ;
1089
+
1090
+ Assert . Equal ( 1 , resultTensor [ 0 , 0 , 0 ] ) ;
1091
+ Assert . Equal ( 2 , resultTensor [ 0 , 0 , 1 ] ) ;
1092
+ Assert . Equal ( 10 , resultTensor [ 0 , 1 , 0 ] ) ;
1093
+ Assert . Equal ( 20 , resultTensor [ 0 , 1 , 1 ] ) ;
1094
+
1095
+ Assert . Equal ( 3 , resultTensor [ 1 , 0 , 0 ] ) ;
1096
+ Assert . Equal ( 4 , resultTensor [ 1 , 0 , 1 ] ) ;
1097
+ Assert . Equal ( 30 , resultTensor [ 1 , 1 , 0 ] ) ;
1098
+ Assert . Equal ( 40 , resultTensor [ 1 , 1 , 1 ] ) ;
1099
+
1100
+ resultTensor = Tensor . StackAlongDimension ( 0 , [ v1 , v2 ] ) ;
1101
+
1102
+ Tensor < int > resultTensor2 = Tensor . Create < int > ( [ 2 , 2 , 2 ] ) ;
1103
+ Tensor . StackAlongDimension ( [ v1 , v2 ] , resultTensor2 , 1 ) ;
1104
+
1105
+ Assert . Equal ( 3 , resultTensor2 . Rank ) ;
1106
+ Assert . Equal ( 2 , resultTensor2 . Lengths [ 0 ] ) ;
1107
+ Assert . Equal ( 2 , resultTensor2 . Lengths [ 1 ] ) ;
1108
+ Assert . Equal ( 2 , resultTensor2 . Lengths [ 2 ] ) ;
1109
+
1110
+ Assert . Equal ( 1 , resultTensor2 [ 0 , 0 , 0 ] ) ;
1111
+ Assert . Equal ( 2 , resultTensor2 [ 0 , 0 , 1 ] ) ;
1112
+ Assert . Equal ( 10 , resultTensor2 [ 0 , 1 , 0 ] ) ;
1113
+ Assert . Equal ( 20 , resultTensor2 [ 0 , 1 , 1 ] ) ;
1114
+
1115
+ Assert . Equal ( 3 , resultTensor2 [ 1 , 0 , 0 ] ) ;
1116
+ Assert . Equal ( 4 , resultTensor2 [ 1 , 0 , 1 ] ) ;
1117
+ Assert . Equal ( 30 , resultTensor2 [ 1 , 1 , 0 ] ) ;
1118
+ Assert . Equal ( 40 , resultTensor2 [ 1 , 1 , 1 ] ) ;
1077
1119
}
1078
1120
1079
1121
[ Fact ]
0 commit comments