Skip to content

Commit 75bd6e7

Browse files
committed
moved structs and enums to respective modules
1 parent 01277aa commit 75bd6e7

File tree

14 files changed

+241
-231
lines changed

14 files changed

+241
-231
lines changed

src/algorithm/mod.rs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
extern crate libc;
22

3-
use super::Array as Array;
3+
use array::Array;
44
use self::libc::{c_int, c_uint};
55

66
type MutAfArray = *mut self::libc::c_longlong;
@@ -51,7 +51,7 @@ pub fn sum(input: &Array, dim: i32) -> Array {
5151
unsafe {
5252
let mut temp: i64 = 0;
5353
af_sum(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
54-
Array {handle: temp}
54+
Array::from(temp)
5555
}
5656
}
5757

@@ -69,7 +69,7 @@ pub fn product(input: &Array, dim: i32) -> Array {
6969
unsafe {
7070
let mut temp: i64 = 0;
7171
af_product(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
72-
Array {handle: temp}
72+
Array::from(temp)
7373
}
7474
}
7575

@@ -87,7 +87,7 @@ pub fn min(input: &Array, dim: i32) -> Array {
8787
unsafe {
8888
let mut temp: i64 = 0;
8989
af_min(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
90-
Array {handle: temp}
90+
Array::from(temp)
9191
}
9292
}
9393

@@ -96,7 +96,7 @@ pub fn max(input: &Array, dim: i32) -> Array {
9696
unsafe {
9797
let mut temp: i64 = 0;
9898
af_max(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
99-
Array {handle: temp}
99+
Array::from(temp)
100100
}
101101
}
102102

@@ -105,7 +105,7 @@ pub fn all_true(input: &Array, dim: i32) -> Array {
105105
unsafe {
106106
let mut temp: i64 = 0;
107107
af_all_true(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
108-
Array {handle: temp}
108+
Array::from(temp)
109109
}
110110
}
111111

@@ -114,7 +114,7 @@ pub fn any_true(input: &Array, dim: i32) -> Array {
114114
unsafe {
115115
let mut temp: i64 = 0;
116116
af_any_true(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
117-
Array {handle: temp}
117+
Array::from(temp)
118118
}
119119
}
120120

@@ -123,7 +123,7 @@ pub fn count(input: &Array, dim: i32) -> Array {
123123
unsafe {
124124
let mut temp: i64 = 0;
125125
af_count(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
126-
Array {handle: temp}
126+
Array::from(temp)
127127
}
128128
}
129129

@@ -230,7 +230,7 @@ pub fn imin(input: &Array, dim: i32) -> (Array, Array) {
230230
let mut idx: i64 = 0;
231231
af_imin(&mut temp as MutAfArray, &mut idx as MutAfArray,
232232
input.get() as AfArray, dim as c_int);
233-
(Array{handle: temp}, Array{handle: idx})
233+
(Array::from(temp), Array::from(idx))
234234
}
235235
}
236236

@@ -241,7 +241,7 @@ pub fn imax(input: &Array, dim: i32) -> (Array, Array) {
241241
let mut idx: i64 = 0;
242242
af_imax(&mut temp as MutAfArray, &mut idx as MutAfArray,
243243
input.get() as AfArray, dim as c_int);
244-
(Array{handle: temp}, Array{handle: idx})
244+
(Array::from(temp), Array::from(idx))
245245
}
246246
}
247247

@@ -274,7 +274,7 @@ pub fn accum(input: &Array, dim: i32) -> Array {
274274
unsafe {
275275
let mut temp: i64 = 0;
276276
af_accum(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
277-
Array {handle: temp}
277+
Array::from(temp)
278278
}
279279
}
280280

@@ -283,7 +283,7 @@ pub fn locate(input: &Array) -> Array {
283283
unsafe {
284284
let mut temp: i64 = 0;
285285
af_where(&mut temp as MutAfArray, input.get() as AfArray);
286-
Array {handle: temp}
286+
Array::from(temp)
287287
}
288288
}
289289

@@ -292,7 +292,7 @@ pub fn diff1(input: &Array, dim: i32) -> Array {
292292
unsafe {
293293
let mut temp: i64 = 0;
294294
af_diff1(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
295-
Array {handle: temp}
295+
Array::from(temp)
296296
}
297297
}
298298

@@ -301,7 +301,7 @@ pub fn diff2(input: &Array, dim: i32) -> Array {
301301
unsafe {
302302
let mut temp: i64 = 0;
303303
af_diff2(&mut temp as MutAfArray, input.get() as AfArray, dim as c_int);
304-
Array {handle: temp}
304+
Array::from(temp)
305305
}
306306
}
307307

@@ -311,7 +311,7 @@ pub fn sort(input: &Array, dim: u32, ascending: bool) -> Array {
311311
let mut temp: i64 = 0;
312312
af_sort(&mut temp as MutAfArray, input.get() as AfArray,
313313
dim as c_uint, ascending as c_int);
314-
Array{handle: temp}
314+
Array::from(temp)
315315
}
316316
}
317317

@@ -323,7 +323,7 @@ pub fn sort_index(input: &Array, dim: u32, ascending: bool) -> (Array, Array) {
323323
af_sort_index(&mut temp as MutAfArray, &mut idx as MutAfArray,
324324
input.get() as AfArray,
325325
dim as c_uint, ascending as c_int);
326-
(Array {handle: temp}, Array {handle: idx})
326+
(Array::from(temp), Array::from(idx))
327327
}
328328
}
329329

@@ -335,7 +335,7 @@ pub fn sort_by_key(keys: &Array, vals: &Array, dim: u32, ascending: bool) -> (Ar
335335
af_sort_by_key(&mut temp as MutAfArray, &mut temp2 as MutAfArray,
336336
keys.get() as AfArray, vals.get() as AfArray,
337337
dim as c_uint, ascending as c_int);
338-
(Array {handle: temp}, Array {handle: temp2})
338+
(Array::from(temp), Array::from(temp2))
339339
}
340340
}
341341

@@ -344,7 +344,7 @@ pub fn set_unique(input: &Array, is_sorted: bool) -> Array {
344344
unsafe {
345345
let mut temp: i64 = 0;
346346
af_set_unique(&mut temp as MutAfArray, input.get() as AfArray, is_sorted as c_int);
347-
Array{handle: temp}
347+
Array::from(temp)
348348
}
349349
}
350350

@@ -354,7 +354,7 @@ pub fn set_union(first: &Array, second: &Array, is_unique: bool) -> Array {
354354
let mut temp: i64 = 0;
355355
af_set_union(&mut temp as MutAfArray, first.get() as AfArray,
356356
second.get() as AfArray, is_unique as c_int);
357-
Array{handle: temp}
357+
Array::from(temp)
358358
}
359359
}
360360

@@ -364,6 +364,6 @@ pub fn set_intersect(first: &Array, second: &Array, is_unique: bool) -> Array {
364364
let mut temp: i64 = 0;
365365
af_set_intersect(&mut temp as MutAfArray, first.get() as AfArray,
366366
second.get() as AfArray, is_unique as c_int);
367-
Array{handle: temp}
367+
Array::from(temp)
368368
}
369369
}

src/arith/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extern crate libc;
22
extern crate num;
33

4-
use super::Array as Array;
4+
use array::Array;
55
use self::libc::{c_int};
66
use data::constant;
77
use self::num::Complex;
@@ -99,7 +99,7 @@ impl<'f> Not for &'f Array {
9999
unsafe {
100100
let mut temp: i64 = 0;
101101
af_not(&mut temp as MutAfArray, self.get() as AfArray);
102-
Array {handle: temp}
102+
Array::from(temp)
103103
}
104104
}
105105
}
@@ -111,7 +111,7 @@ macro_rules! unary_func {
111111
unsafe {
112112
let mut temp: i64 = 0;
113113
$ffi_fn(&mut temp as MutAfArray, input.get() as AfArray);
114-
Array {handle: temp}
114+
Array::from(temp)
115115
}
116116
}
117117
)
@@ -165,7 +165,7 @@ macro_rules! binary_func {
165165
unsafe {
166166
let mut temp: i64 = 0;
167167
$ffi_fn(&mut temp as MutAfArray, lhs.get() as AfArray, rhs.get() as AfArray, 0);
168-
Array {handle: temp}
168+
Array::from(temp)
169169
}
170170
}
171171
)
@@ -200,7 +200,7 @@ macro_rules! arith_scalar_func {
200200
$ffi_fn(&mut temp as MutAfArray,
201201
self.get() as AfArray, cnst_arr.get() as AfArray,
202202
0);
203-
Array {handle: temp}
203+
Array::from(temp)
204204
}
205205
}
206206
}
@@ -237,7 +237,7 @@ macro_rules! arith_func {
237237
$ffi_fn(&mut temp as MutAfArray,
238238
self.get() as AfArray, rhs.get() as AfArray,
239239
0);
240-
Array {handle: temp}
240+
Array::from(temp)
241241
}
242242
}
243243
}

src/array.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
extern crate libc;
22

3-
use super::Array as Array;
4-
use super::Dim4 as Dim4;
5-
use super::Aftype as Aftype;
3+
use dim4::Dim4;
4+
use defines::Aftype;
65
use self::libc::{uint8_t, c_void, c_int, c_uint, c_longlong};
76

87
type MutAfArray = *mut self::libc::c_longlong;
@@ -62,6 +61,10 @@ extern {
6261
fn af_print_array(arr: AfArray) -> c_int;
6362
}
6463

64+
pub struct Array {
65+
handle: i64,
66+
}
67+
6568
macro_rules! is_func {
6669
($fn_name: ident, $ffi_fn: ident) => (
6770
pub fn $fn_name(&self) -> bool {
@@ -111,7 +114,7 @@ impl Array {
111114
af_get_dims(&mut ret0 as *mut c_longlong, &mut ret1 as *mut c_longlong,
112115
&mut ret2 as *mut c_longlong, &mut ret3 as *mut c_longlong,
113116
self.handle as AfArray);
114-
Dim4 {dims: [ret0 as u64, ret1 as u64, ret2 as u64, ret3 as u64]}
117+
Dim4::new(&[ret0 as u64, ret1 as u64, ret2 as u64, ret3 as u64])
115118
}
116119
}
117120

@@ -153,6 +156,12 @@ impl Array {
153156
is_func!(is_bool, af_is_bool);
154157
}
155158

159+
impl From<i64> for Array {
160+
fn from(t: i64) -> Array {
161+
Array {handle: t}
162+
}
163+
}
164+
156165
impl Clone for Array {
157166
fn clone(&self) -> Array {
158167
unsafe {

src/blas/mod.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extern crate libc;
22

3-
use super::Array as Array;
4-
use super::MatProp as MatProp;
3+
use array::Array;
4+
use defines::MatProp;
55
use self::libc::{c_uint, c_int};
66
use util::to_u32;
77

@@ -26,7 +26,7 @@ pub fn matmul(lhs: &Array, rhs: &Array, optlhs: MatProp, optrhs: MatProp) -> Arr
2626
let mut temp: i64 = 0;
2727
af_matmul(&mut temp as MutAfArray, lhs.get() as AfArray, rhs.get() as AfArray,
2828
to_u32(optlhs) as c_uint, to_u32(optrhs) as c_uint);
29-
Array {handle: temp}
29+
Array::from(temp)
3030
}
3131
}
3232

@@ -36,7 +36,7 @@ pub fn dot(lhs: &Array, rhs: &Array, optlhs: MatProp, optrhs: MatProp) -> Array
3636
let mut temp: i64 = 0;
3737
af_dot(&mut temp as MutAfArray, lhs.get() as AfArray, rhs.get() as AfArray,
3838
to_u32(optlhs) as c_uint, to_u32(optrhs) as c_uint);
39-
Array {handle: temp}
39+
Array::from(temp)
4040
}
4141
}
4242

@@ -45,7 +45,7 @@ pub fn transpose(arr: &Array, conjugate: bool) -> Array {
4545
unsafe {
4646
let mut temp: i64 = 0;
4747
af_transpose(&mut temp as MutAfArray, arr.get() as AfArray, conjugate as c_int);
48-
Array {handle: temp}
48+
Array::from(temp)
4949
}
5050
}
5151

0 commit comments

Comments
 (0)