@@ -39,27 +39,36 @@ fn test_mean_with_array_of_floats()
3939}
4040
4141#[ test]
42- fn sum_mean ( )
42+ fn sum_mean_prod ( )
4343{
4444 let a: Array2 < f64 > = arr2 ( & [ [ 1. , 2. ] , [ 3. , 4. ] ] ) ;
4545 assert_eq ! ( a. sum_axis( Axis ( 0 ) ) , arr1( & [ 4. , 6. ] ) ) ;
4646 assert_eq ! ( a. sum_axis( Axis ( 1 ) ) , arr1( & [ 3. , 7. ] ) ) ;
47+ assert_eq ! ( a. product_axis( Axis ( 0 ) ) , arr1( & [ 3. , 8. ] ) ) ;
48+ assert_eq ! ( a. product_axis( Axis ( 1 ) ) , arr1( & [ 2. , 12. ] ) ) ;
4749 assert_eq ! ( a. mean_axis( Axis ( 0 ) ) , Some ( arr1( & [ 2. , 3. ] ) ) ) ;
4850 assert_eq ! ( a. mean_axis( Axis ( 1 ) ) , Some ( arr1( & [ 1.5 , 3.5 ] ) ) ) ;
4951 assert_eq ! ( a. sum_axis( Axis ( 1 ) ) . sum_axis( Axis ( 0 ) ) , arr0( 10. ) ) ;
52+ assert_eq ! ( a. product_axis( Axis ( 1 ) ) . product_axis( Axis ( 0 ) ) , arr0( 24. ) ) ;
5053 assert_eq ! ( a. view( ) . mean_axis( Axis ( 1 ) ) . unwrap( ) , aview1( & [ 1.5 , 3.5 ] ) ) ;
5154 assert_eq ! ( a. sum( ) , 10. ) ;
5255}
5356
5457#[ test]
55- fn sum_mean_empty ( )
58+ fn sum_mean_prod_empty ( )
5659{
5760 assert_eq ! ( Array3 :: <f32 >:: ones( ( 2 , 0 , 3 ) ) . sum( ) , 0. ) ;
61+ assert_eq ! ( Array3 :: <f32 >:: ones( ( 2 , 0 , 3 ) ) . product( ) , 1. ) ;
5862 assert_eq ! ( Array1 :: <f32 >:: ones( 0 ) . sum_axis( Axis ( 0 ) ) , arr0( 0. ) ) ;
63+ assert_eq ! ( Array1 :: <f32 >:: ones( 0 ) . product_axis( Axis ( 0 ) ) , arr0( 1. ) ) ;
5964 assert_eq ! (
6065 Array3 :: <f32 >:: ones( ( 2 , 0 , 3 ) ) . sum_axis( Axis ( 1 ) ) ,
6166 Array :: zeros( ( 2 , 3 ) ) ,
6267 ) ;
68+ assert_eq ! (
69+ Array3 :: <f32 >:: ones( ( 2 , 0 , 3 ) ) . product_axis( Axis ( 1 ) ) ,
70+ Array :: ones( ( 2 , 3 ) ) ,
71+ ) ;
6372 let a = Array1 :: < f32 > :: ones ( 0 ) . mean_axis ( Axis ( 0 ) ) ;
6473 assert_eq ! ( a, None ) ;
6574 let a = Array3 :: < f32 > :: ones ( ( 2 , 0 , 3 ) ) . mean_axis ( Axis ( 1 ) ) ;
0 commit comments