Skip to content

Commit 507c226

Browse files
committed
Removed Convertable trait for Result<Array, AfError>
Also, made necessary changes to examples
1 parent a11744f commit 507c226

File tree

5 files changed

+48
-49
lines changed

5 files changed

+48
-49
lines changed

examples/helloworld.rs

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,45 @@
11
extern crate arrayfire as af;
22

3-
use af::Dim4;
4-
use af::Array;
3+
use af::*;
54

65
#[allow(unused_must_use)]
76
fn main() {
8-
af::set_device(0);
9-
af::info();
7+
set_device(0);
8+
info();
109

1110
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 = af::randu(dims, af::Aftype::F32).unwrap();
15-
af::print(&a);
13+
let a = randu(dims, Aftype::F32).unwrap();
14+
print(&a);
1615

1716
println!("Element-wise arithmetic");
18-
let b = af::add(af::sin(&a), 1.5).unwrap();
19-
let b2 = af::add(af::sin(&a), af::cos(&a)).unwrap();
17+
let b = sin(&a)
18+
.and_then(|x| add(x, 1.5))
19+
.unwrap();
20+
21+
let b2 = sin(&a).
22+
and_then(|x| {
23+
cos(&a)
24+
.and_then(|y| add(x, y))
25+
})
26+
.unwrap();
2027

2128
let b3 = ! &a;
22-
println!("sin(a) + 1.5 => "); af::print(&b);
23-
println!("sin(a) + cos(a) => "); af::print(&b2);
24-
println!("!a => "); af::print(&b3);
29+
println!("sin(a) + 1.5 => "); print(&b);
30+
println!("sin(a) + cos(a) => "); print(&b2);
31+
println!("!a => "); print(&b3);
2532

2633
let test = &a + &b;
27-
println!("a + b"); af::print(&test);
34+
println!("a + b"); print(&test);
2835

2936
// printf("Negate the first three elements of second column\n");
3037
// B(seq(0, 2), 1) = B(seq(0, 2), 1) * -1;
3138
// af_print(B);
3239

3340
println!("Fourier transform the result");
34-
let c = &af::fft(&b, 1.0, 0).unwrap();
35-
af::print(&c);
41+
let c = &fft(&b, 1.0, 0).unwrap();
42+
print(&c);
3643

3744
// printf("Grab last row\n");
3845
// array c = C.row(end);
@@ -41,21 +48,21 @@ fn main() {
4148
println!("Create 2-by-3 matrix from host data");
4249
let d_dims = Dim4::new(&[2, 3, 1, 1]);
4350
let d_input: [i32; 6] = [1, 2, 3, 4, 5, 6];
44-
let d = &Array::new(d_dims, &d_input, af::Aftype::S32).unwrap();
45-
af::print(d);
51+
let d = &Array::new(d_dims, &d_input, Aftype::S32).unwrap();
52+
print(d);
4653

4754
// printf("Copy last column onto first\n");
4855
// D.col(0) = D.col(end);
4956
// af_print(D);
5057

5158
// // Sort A
5259
println!("Sort A and print sorted array and corresponding indices");
53-
let (vals, inds) = af::sort_index(&a, 0, true).unwrap();
54-
af::print(&vals);
55-
af::print(&inds);
60+
let (vals, inds) = sort_index(&a, 0, true).unwrap();
61+
print(&vals);
62+
print(&inds);
5663

5764
println!("u8 constant array");
58-
let u8_cnst = &af::constant(1 as u8, dims).unwrap();
59-
af::print(u8_cnst);
65+
let u8_cnst = &constant(1 as u8, dims).unwrap();
66+
print(u8_cnst);
6067
println!("Is u8_cnst array float precision type ? {}", u8_cnst.is_single().unwrap());
6168
}

examples/histogram.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
extern crate arrayfire as af;
22

3-
use af::Window;
3+
use af::*;
44
use std::env;
55
use std::path::PathBuf;
66

77
#[allow(unused_variables)]
88
#[allow(unused_must_use)]
99
fn main() {
10-
af::set_device(0);
11-
af::info();
10+
set_device(0);
11+
info();
1212

1313
let assets_dir = PathBuf::from(&env::var("CARGO_MANIFEST_DIR").unwrap())
1414
.join("arrayfire").join("assets").join("examples").join("images");
@@ -23,17 +23,17 @@ fn main() {
2323
Err(e)=> panic!("Window creation failed, exiting: {:?}", e),
2424
};
2525

26-
let (man, hst) = match af::load_image(format!("{}/man.jpg", assets_dir.display()), false) {
27-
Ok(v) => match af::histogram(&v, 256, 0.0, 255.0) {
26+
let (man, hst) = match load_image(format!("{}/man.jpg", assets_dir.display()), false) {
27+
Ok(v) => match histogram(&v, 256, 0.0, 255.0) {
2828
Ok(h) => (v, h),
2929
Err(e)=> panic!("Histogram computation failed, exiting: {:?}", e),
3030
},
3131
Err(e)=> panic!("Image loading failed, exiting: {:?}", e),
3232
};
3333

3434
let disp_img = man.dims()
35-
.and_then(|x| af::constant(255 as f32, x))
36-
.and_then(|x| af::div(&man, &x))
35+
.and_then(|x| constant(255 as f32, x))
36+
.and_then(|x| div(man, x))
3737
.unwrap();
3838

3939
loop {

examples/pi.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,26 @@ extern crate arrayfire as af;
22
extern crate time;
33

44
use time::PreciseTime;
5-
use af::Dim4;
6-
use af::Aftype;
5+
use af::*;
76

87
#[allow(unused_must_use)]
98
#[allow(unused_variables)]
109
fn main() {
11-
af::set_device(0);
12-
af::info();
10+
set_device(0);
11+
info();
1312
let samples = 20_000_000;
1413
let dims = Dim4::new(&[samples, 1, 1, 1]);
1514

16-
let x = &af::randu(dims, Aftype::F32).unwrap();
17-
let y = &af::randu(dims, Aftype::F32).unwrap();
15+
let x = &randu(dims, Aftype::F32).unwrap();
16+
let y = &randu(dims, Aftype::F32).unwrap();
1817

1918
let start = PreciseTime::now();
2019

2120
for bench_iter in 0..100 {
22-
let pi_val = af::add(x*x, y*y)
23-
.and_then( |z| af::sqrt(&z) )
24-
.and_then( |z| af::le(z, af::constant(1, dims).unwrap()) )
25-
.and_then( |z| af::sum_all(&z) )
21+
let pi_val = add(x*x, y*y)
22+
.and_then( |z| sqrt(&z) )
23+
.and_then( |z| le(z, constant(1, dims).unwrap()) )
24+
.and_then( |z| sum_all(&z) )
2625
.map( |z| z.0 * 4.0/(samples as f64) )
2726
.unwrap();
2827
}

examples/snow.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
extern crate arrayfire as af;
22

3-
use af::Dim4;
4-
use af::Window;
3+
use af::*;
54

65
#[allow(unused_variables)]
76
#[allow(unused_must_use)]
87
fn main() {
9-
af::set_device(0);
10-
af::info();
8+
set_device(0);
9+
info();
1110

1211
let wnd = match Window::new(1280, 720, String::from("Snow")) {
1312
Ok(v) => v,
@@ -17,7 +16,7 @@ fn main() {
1716
let dims = Dim4::new(&[1280, 720, 3, 1]);
1817

1918
loop {
20-
af::randu(dims, af::Aftype::F32).as_ref()
19+
randu(dims, Aftype::F32).as_ref()
2120
.map(|arr| wnd.draw_image(arr, None));
2221

2322
if wnd.is_closed().unwrap() == true { break; }

src/arith/mod.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -221,12 +221,6 @@ impl Convertable for Array {
221221
}
222222
}
223223

224-
impl Convertable for Result<Array, AfError> {
225-
fn convert(&self) -> Array {
226-
self.clone().unwrap()
227-
}
228-
}
229-
230224
macro_rules! overloaded_binary_func {
231225
($fn_name: ident, $help_name: ident, $ffi_name: ident) => (
232226
fn $help_name(lhs: &Array, rhs: &Array) -> Result<Array, AfError> {

0 commit comments

Comments
 (0)