1
+ #[ macro_use( af_print) ]
1
2
extern crate arrayfire as af;
2
3
3
4
use af:: * ;
@@ -14,12 +15,11 @@ fn main() {
14
15
15
16
let dims = Dim4 :: new ( & [ num_rows, num_cols, 1 , 1 ] ) ;
16
17
17
- println ! ( "Create a 5-by-3 matrix of random floats on the GPU" ) ;
18
18
let a = match randu :: < f32 > ( dims) {
19
19
Ok ( value) => value,
20
20
Err ( error) => panic ! ( "{}" , error) ,
21
21
} ;
22
- print ( & a) ;
22
+ af_print ! ( "Create a 5-by-3 matrix of random floats on the GPU" , a) ;
23
23
24
24
println ! ( "Element-wise arithmetic" ) ;
25
25
let b = sin ( & a)
@@ -34,17 +34,17 @@ fn main() {
34
34
. unwrap ( ) ;
35
35
36
36
let b3 = ! & a;
37
- println ! ( "sin(a) + 1.5 => " ) ; print ( & b) ;
38
- println ! ( "sin(a) + cos(a) => " ) ; print ( & b2) ;
39
- println ! ( "!a => " ) ; print ( & b3) ;
37
+ af_print ! ( "sin(a) + 1.5 => " , b) ;
38
+ af_print ! ( "sin(a) + cos(a) => " , b2) ;
39
+ af_print ! ( "!a => " , b3) ;
40
40
41
41
let test = & a + & b;
42
- println ! ( "a + b" ) ; print ( & test) ;
42
+ af_print ! ( "a + b" , test) ;
43
43
44
44
// Index array using sequences
45
45
let seqs = & [ Seq :: new ( 1u32 , 3 , 1 ) , Seq :: default ( ) ] ;
46
46
let sub = index ( & a, seqs) . unwrap ( ) ;
47
- println ! ( "a(seq(1,3,1), span)" ) ; print ( & sub) ;
47
+ af_print ! ( "a(seq(1,3,1), span)" , sub) ;
48
48
49
49
//Index array using array and sequence
50
50
let seq4gen = Seq :: new ( 0u32 , 2 , 1 ) ;
@@ -57,7 +57,7 @@ fn main() {
57
57
idxrs. set_index ( & seq4gen, 1 , Some ( false ) ) ;
58
58
59
59
let sub2 = index_gen ( & a, idxrs) . unwrap ( ) ;
60
- println ! ( "a(indices, seq(0, 2, 1))" ) ; print ( & sub2) ;
60
+ af_print ! ( "a(indices, seq(0, 2, 1))" , sub2) ;
61
61
62
62
// printf("Negate the first three elements of second column\n");
63
63
// B(seq(0, 2), 1) = B(seq(0, 2), 1) * -1;
@@ -71,17 +71,16 @@ fn main() {
71
71
print ( & row ( & a, num_rows - 1 ) . unwrap ( ) ) ;
72
72
print ( & col ( & a, num_cols - 1 ) . unwrap ( ) ) ;
73
73
74
- println ! ( "Set last row to 1's" ) ;
75
74
let r_dims = Dim4 :: new ( & [ 3 , 1 , 1 , 1 ] ) ;
76
75
let r_input: [ f32 ; 3 ] = [ 1.0 , 1.0 , 1.0 ] ;
77
76
let r = Array :: new ( & r_input, r_dims) . unwrap ( ) ;
78
- print ( & set_row ( & a, & r, num_rows - 1 ) . unwrap ( ) ) ;
77
+ let ur = set_row ( & a, & r, num_rows - 1 ) . unwrap ( ) ;
78
+ af_print ! ( "Set last row to 1's" , ur) ;
79
79
80
- println ! ( "Create 2-by-3 matrix from host data" ) ;
81
80
let d_dims = Dim4 :: new ( & [ 2 , 3 , 1 , 1 ] ) ;
82
81
let d_input: [ i32 ; 6 ] = [ 1 , 2 , 3 , 4 , 5 , 6 ] ;
83
- let d = & Array :: new ( & d_input, d_dims) . unwrap ( ) ;
84
- print ( d) ;
82
+ let d = Array :: new ( & d_input, d_dims) . unwrap ( ) ;
83
+ af_print ! ( "Create 2-by-3 matrix from host data" , d) ;
85
84
86
85
// printf("Copy last column onto first\n");
87
86
// D.col(0) = D.col(end);
@@ -95,8 +94,7 @@ fn main() {
95
94
print ( & x. 1 ) ;
96
95
} ) ;
97
96
98
- println ! ( "u8 constant array" ) ;
99
97
let u8_cnst = & constant ( 1 as u8 , dims) . unwrap ( ) ;
100
- print ( u8_cnst) ;
98
+ af_print ! ( "u8 constant array" , u8_cnst) ;
101
99
println ! ( "Is u8_cnst array float precision type ? {}" , u8_cnst. is_single( ) . unwrap( ) ) ;
102
100
}
0 commit comments