@@ -12,6 +12,18 @@ fn test_dot() {
12
12
let a = pyarray ! [ py, 1 , 2 , 3 ] ;
13
13
let err = dot :: < _ , _ , _ , & PyArray2 < _ > > ( a, b) . unwrap_err ( ) ;
14
14
assert ! ( err. to_string( ) . contains( "not aligned" ) , "{}" , err) ;
15
+
16
+ let a = pyarray ! [ py, 1 , 2 , 3 ] ;
17
+ let b = pyarray ! [ py, 0 , 1 , 0 ] ;
18
+ let c: & PyArray0 < _ > = dot ( a, b) . unwrap ( ) ;
19
+ assert_eq ! ( c. item( ) , 2 ) ;
20
+ let c: i32 = dot ( a, b) . unwrap ( ) ;
21
+ assert_eq ! ( c, 2 ) ;
22
+
23
+ let a = pyarray ! [ py, 1.0 , 2.0 , 3.0 ] ;
24
+ let b = pyarray ! [ py, 0.0 , 0.0 , 0.0 ] ;
25
+ let c: f64 = dot ( a, b) . unwrap ( ) ;
26
+ assert_eq ! ( c, 0.0 ) ;
15
27
} ) ;
16
28
}
17
29
@@ -21,7 +33,14 @@ fn test_inner() {
21
33
let a = pyarray ! [ py, 1 , 2 , 3 ] ;
22
34
let b = pyarray ! [ py, 0 , 1 , 0 ] ;
23
35
let c: & PyArray0 < _ > = inner ( a, b) . unwrap ( ) ;
24
- assert_eq ! ( c. readonly( ) . as_array( ) , ndarray:: arr0( 2 ) ) ;
36
+ assert_eq ! ( c. item( ) , 2 ) ;
37
+ let c: i32 = inner ( a, b) . unwrap ( ) ;
38
+ assert_eq ! ( c, 2 ) ;
39
+
40
+ let a = pyarray ! [ py, 1.0 , 2.0 , 3.0 ] ;
41
+ let b = pyarray ! [ py, 0.0 , 0.0 , 0.0 ] ;
42
+ let c: f64 = inner ( a, b) . unwrap ( ) ;
43
+ assert_eq ! ( c, 0.0 ) ;
25
44
26
45
let a = pyarray ! [ py, [ 1 , 0 ] , [ 0 , 1 ] ] ;
27
46
let b = pyarray ! [ py, [ 4 , 1 ] , [ 2 , 2 ] ] ;
@@ -43,10 +62,7 @@ fn test_einsum() {
43
62
let b = pyarray ! [ py, 0 , 1 , 2 , 3 , 4 ] ;
44
63
let c = pyarray ! [ py, [ 0 , 1 , 2 ] , [ 3 , 4 , 5 ] ] ;
45
64
46
- assert_eq ! (
47
- einsum!( "ii" , a) . unwrap( ) . readonly( ) . as_array( ) ,
48
- ndarray:: arr0( 60 )
49
- ) ;
65
+ assert_eq ! ( einsum!( "ii" , a) . unwrap( ) . item( ) , 60 ) ;
50
66
assert_eq ! (
51
67
einsum!( "ii->i" , a) . unwrap( ) . readonly( ) . as_array( ) ,
52
68
array![ 0 , 6 , 12 , 18 , 24 ] ,
0 commit comments