1- extern crate libc;
21extern crate arrayfire as af;
32
43use af:: Dim4 ;
@@ -8,16 +7,18 @@ fn main() {
87 af:: set_device ( 0 ) ;
98 af:: info ( ) ;
109
11- let dims: Dim4 = Dim4 :: new ( & [ 5 , 3 , 1 , 1 ] ) ;
10+ let dims = Dim4 :: new ( & [ 5 , 3 , 1 , 1 ] ) ;
1211
1312 println ! ( "Create a 5-by-3 matrix of random floats on the GPU" ) ;
14- let a: Array = af:: randu ( dims, af:: Aftype :: F32 ) ;
13+ let a = af:: randu ( dims, af:: Aftype :: F32 ) . unwrap ( ) ;
1514 af:: print ( & a) ;
1615
1716 println ! ( "Element-wise arithmetic" ) ;
18- let b: Array = & af:: sin ( & a) + 1.5 ;
19- let b2: Array = & af:: sin ( & a) + & af:: cos ( & a) ;
20- let b3: Array = ! & a;
17+ let sin_res = af:: sin ( & a) . unwrap ( ) ;
18+ let cos_res = af:: cos ( & a) . unwrap ( ) ;
19+ let b = & sin_res + 1.5 ;
20+ let b2 = & sin_res + & cos_res;
21+ let b3 = ! & a;
2122 println ! ( "sin(a) + 1.5 => " ) ; af:: print ( & b) ;
2223 println ! ( "sin(a) + cos(a) => " ) ; af:: print ( & b2) ;
2324 println ! ( "!a => " ) ; af:: print ( & b3) ;
@@ -30,31 +31,31 @@ fn main() {
3031 // af_print(B);
3132
3233 println ! ( "Fourier transform the result" ) ;
33- let c: Array = af:: fft ( & b, 1.0 , 0 ) ;
34+ let c = & af:: fft ( & b, 1.0 , 0 ) . unwrap ( ) ;
3435 af:: print ( & c) ;
3536
3637 // printf("Grab last row\n");
3738 // array c = C.row(end);
3839 // af_print(c);
3940
4041 println ! ( "Create 2-by-3 matrix from host data" ) ;
41- let d_dims: Dim4 = Dim4 :: new ( & [ 2 , 3 , 1 , 1 ] ) ;
42+ let d_dims = Dim4 :: new ( & [ 2 , 3 , 1 , 1 ] ) ;
4243 let d_input: [ i32 ; 6 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ] ;
43- let d: Array = Array :: new ( d_dims, & d_input, af:: Aftype :: S32 ) ;
44- af:: print ( & d) ;
44+ let d = & Array :: new ( d_dims, & d_input, af:: Aftype :: S32 ) . unwrap ( ) ;
45+ af:: print ( d) ;
4546
4647 // printf("Copy last column onto first\n");
4748 // D.col(0) = D.col(end);
4849 // af_print(D);
4950
5051 // // Sort A
5152 println ! ( "Sort A and print sorted array and corresponding indices" ) ;
52- let ( vals, inds) = af:: sort_index ( & a, 0 , true ) ;
53+ let ( vals, inds) = af:: sort_index ( & a, 0 , true ) . unwrap ( ) ;
5354 af:: print ( & vals) ;
5455 af:: print ( & inds) ;
5556
5657 println ! ( "u8 constant array" ) ;
57- let u8_cnst = af:: constant ( 1 as u8 , dims) ;
58- af:: print ( & u8_cnst) ;
59- println ! ( "Is u8_cnst array float precision type ? {}" , u8_cnst. is_single( ) ) ;
58+ let u8_cnst = & af:: constant ( 1 as u8 , dims) . unwrap ( ) ;
59+ af:: print ( u8_cnst) ;
60+ println ! ( "Is u8_cnst array float precision type ? {}" , u8_cnst. is_single( ) . unwrap ( ) ) ;
6061}
0 commit comments