From 30bdce1b3007e3fe33c0f6a8a8dba53c609010fa Mon Sep 17 00:00:00 2001 From: pradeep Date: Sun, 19 Feb 2017 21:08:09 +0530 Subject: [PATCH 1/2] Fix warning messages --- src/arith/mod.rs | 2 -- src/array.rs | 3 --- src/data/mod.rs | 2 -- src/device/mod.rs | 4 ++-- src/random/mod.rs | 2 -- src/util.rs | 1 + 6 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/arith/mod.rs b/src/arith/mod.rs index a3f194ce8..9425469d1 100644 --- a/src/arith/mod.rs +++ b/src/arith/mod.rs @@ -14,8 +14,6 @@ use std::ops::Neg; type Complex32 = Complex; type Complex64 = Complex; type MutAfArray = *mut self::libc::c_longlong; -type MutDouble = *mut self::libc::c_double; -type MutUint = *mut self::libc::c_uint; type AfArray = self::libc::c_longlong; use std::ops::{Add, Sub, Div, Mul, BitAnd, BitOr, BitXor, Not, Rem, Shl, Shr}; diff --git a/src/array.rs b/src/array.rs index aa6df0b46..ed055333c 100644 --- a/src/array.rs +++ b/src/array.rs @@ -8,12 +8,9 @@ use self::libc::{uint8_t, c_void, c_int, c_uint, c_longlong, c_char}; use std::ffi::CString; type MutAfArray = *mut self::libc::c_longlong; -type MutDouble = *mut self::libc::c_double; -type MutUint = *mut self::libc::c_uint; type AfArray = self::libc::c_longlong; type DimT = self::libc::c_longlong; type MutVoidPtr = *mut self::libc::c_ulonglong; -type VoidPtr = self::libc::c_ulonglong; // Some unused functions from array.h in C-API of ArrayFire // af_create_handle diff --git a/src/data/mod.rs b/src/data/mod.rs index a85f0382a..49f4cdc85 100644 --- a/src/data/mod.rs +++ b/src/data/mod.rs @@ -11,8 +11,6 @@ use util::HasAfEnum; use std::vec::Vec; type MutAfArray = *mut self::libc::c_longlong; -type MutDouble = *mut self::libc::c_double; -type MutUint = *mut self::libc::c_uint; type AfArray = self::libc::c_longlong; type DimT = self::libc::c_longlong; type Intl = self::libc::c_longlong; diff --git a/src/device/mod.rs b/src/device/mod.rs index 8f83f2a10..b806d8634 100644 --- a/src/device/mod.rs +++ b/src/device/mod.rs @@ -1,8 +1,8 @@ extern crate libc; -use defines::{AfError, DType}; +use defines::{AfError}; use error::HANDLE_ERROR; -use self::libc::{c_int, size_t, c_char, c_void}; +use self::libc::{c_int, size_t, c_char}; use std::ffi::{CStr, CString}; use std::borrow::Cow; use util::free_host; diff --git a/src/random/mod.rs b/src/random/mod.rs index 9a095ad2d..4fbb1e4d8 100644 --- a/src/random/mod.rs +++ b/src/random/mod.rs @@ -8,11 +8,9 @@ use self::libc::{uint8_t, c_int, c_uint}; use util::HasAfEnum; type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; type MutRandEngine = *mut self::libc::c_longlong; type RandEngine = self::libc::c_longlong; type DimT = self::libc::c_longlong; -type Intl = self::libc::c_longlong; type Uintl = self::libc::c_ulonglong; #[allow(dead_code)] diff --git a/src/util.rs b/src/util.rs index 01f5261ea..007d48970 100644 --- a/src/util.rs +++ b/src/util.rs @@ -31,6 +31,7 @@ pub fn get_size(value: DType) -> usize { } /// Allocates space using Arrayfire allocator in host memory +#[allow(dead_code)] pub fn alloc_host(elements: usize, _type: DType) -> *const T { let ptr: *const T = ::std::ptr::null(); let bytes = (elements * get_size(_type)) as DimT; From 30e76e1e0f099714aca2029e41c25033bf3a40e3 Mon Sep 17 00:00:00 2001 From: pradeep Date: Sun, 19 Feb 2017 21:27:51 +0530 Subject: [PATCH 2/2] Move all type aliases into util module --- src/algorithm/mod.rs | 6 +----- src/arith/mod.rs | 8 +------- src/array.rs | 7 +------ src/blas/mod.rs | 5 +---- src/data/mod.rs | 8 +------- src/error.rs | 6 ------ src/graphics.rs | 6 +----- src/image/mod.rs | 6 +----- src/index.rs | 7 +------ src/lapack/mod.rs | 8 ++------ src/random/mod.rs | 8 +------- src/seq.rs | 1 - src/signal/mod.rs | 4 +--- src/sparse/mod.rs | 7 +------ src/statistics/mod.rs | 6 +----- src/util.rs | 23 ++++++++++++++++++++--- src/vision/mod.rs | 8 +------- 17 files changed, 35 insertions(+), 89 deletions(-) diff --git a/src/algorithm/mod.rs b/src/algorithm/mod.rs index 87379ed6e..49f53dbb4 100644 --- a/src/algorithm/mod.rs +++ b/src/algorithm/mod.rs @@ -4,11 +4,7 @@ use array::Array; use defines::{AfError, BinaryOp}; use error::HANDLE_ERROR; use self::libc::{c_int, uint8_t, c_uint, c_double}; - -type MutAfArray = *mut self::libc::c_longlong; -type MutDouble = *mut self::libc::c_double; -type MutUint = *mut self::libc::c_uint; -type AfArray = self::libc::c_longlong; +use util::{AfArray, MutAfArray, MutDouble, MutUint}; #[allow(dead_code)] extern { diff --git a/src/arith/mod.rs b/src/arith/mod.rs index 9425469d1..4426dc38f 100644 --- a/src/arith/mod.rs +++ b/src/arith/mod.rs @@ -8,14 +8,8 @@ use error::HANDLE_ERROR; use self::libc::{c_int}; use data::{constant, constant_t, tile}; use self::num::Complex; - +use util::{AfArray, Complex32, Complex64, MutAfArray}; use std::ops::Neg; - -type Complex32 = Complex; -type Complex64 = Complex; -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; - use std::ops::{Add, Sub, Div, Mul, BitAnd, BitOr, BitXor, Not, Rem, Shl, Shr}; #[allow(dead_code)] diff --git a/src/array.rs b/src/array.rs index ed055333c..14ace7ade 100644 --- a/src/array.rs +++ b/src/array.rs @@ -3,15 +3,10 @@ extern crate libc; use dim4::Dim4; use defines::{AfError, DType, Backend}; use error::HANDLE_ERROR; -use util::HasAfEnum; +use util::{AfArray, DimT, HasAfEnum, MutAfArray, MutVoidPtr}; use self::libc::{uint8_t, c_void, c_int, c_uint, c_longlong, c_char}; use std::ffi::CString; -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; -type DimT = self::libc::c_longlong; -type MutVoidPtr = *mut self::libc::c_ulonglong; - // Some unused functions from array.h in C-API of ArrayFire // af_create_handle // af_copy_array diff --git a/src/blas/mod.rs b/src/blas/mod.rs index 49bad1c69..5255a1167 100644 --- a/src/blas/mod.rs +++ b/src/blas/mod.rs @@ -5,10 +5,7 @@ use defines::AfError; use defines::MatProp; use error::HANDLE_ERROR; use self::libc::{c_uint, c_int}; -use util::to_u32; - -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; +use util::{AfArray, MutAfArray, to_u32}; #[allow(dead_code)] extern { diff --git a/src/data/mod.rs b/src/data/mod.rs index 49f4cdc85..71981e756 100644 --- a/src/data/mod.rs +++ b/src/data/mod.rs @@ -7,15 +7,9 @@ use defines::{AfError, DType, Scalar}; use error::HANDLE_ERROR; use self::libc::{uint8_t, c_int, c_uint, c_double}; use self::num::Complex; -use util::HasAfEnum; +use util::{AfArray, DimT, HasAfEnum, Intl, MutAfArray, Uintl}; use std::vec::Vec; -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; -type DimT = self::libc::c_longlong; -type Intl = self::libc::c_longlong; -type Uintl = self::libc::c_ulonglong; - #[allow(dead_code)] extern { fn af_constant(out: MutAfArray, val: c_double, diff --git a/src/error.rs b/src/error.rs index 0c1b371b3..ddb765605 100644 --- a/src/error.rs +++ b/src/error.rs @@ -4,33 +4,27 @@ use std::error::Error; use std::marker::{Send, Sync}; use std::sync::RwLock; - pub type ErrorCallback = Fn(AfError); - /// Wrap ErrorCallback function pointer inside a structure /// to enable implementing Send, Sync traits on it. pub struct Callback<'cblifetime> { pub cb: &'cblifetime ErrorCallback, } - // Implement Send, Sync traits for Callback structure to // enable the user of Callback function pointer in conjunction // with threads using a mutex. unsafe impl<'cblifetime> Send for Callback<'cblifetime> {} unsafe impl<'cblifetime> Sync for Callback<'cblifetime> {} - pub const DEFAULT_HANDLE_ERROR: Callback<'static> = Callback{cb: &handle_error_general}; - lazy_static! { static ref ERROR_HANDLER_LOCK: RwLock< Callback<'static> > = RwLock::new(DEFAULT_HANDLE_ERROR); } - /// Register user provided error handler /// /// # Examples diff --git a/src/graphics.rs b/src/graphics.rs index 4cc6e657b..7e25f78ff 100644 --- a/src/graphics.rs +++ b/src/graphics.rs @@ -7,11 +7,7 @@ use error::HANDLE_ERROR; use self::libc::{c_int, c_uint, c_float, c_double, c_char}; use std::ffi::CString; use std::ptr; - -type MutWndHandle = *mut self::libc::c_ulonglong; -type WndHandle = self::libc::c_ulonglong; -type AfArray = self::libc::c_longlong; -type CellPtr = *const self::libc::c_void; +use util::{AfArray, CellPtr, MutWndHandle, WndHandle}; #[allow(dead_code)] extern { diff --git a/src/image/mod.rs b/src/image/mod.rs index 88258d541..b44729c16 100644 --- a/src/image/mod.rs +++ b/src/image/mod.rs @@ -3,13 +3,9 @@ extern crate libc; use array::Array; use defines::{AfError, BorderType, ColorSpace, Connectivity, InterpType, YCCStd, MomentType}; use error::HANDLE_ERROR; -use util::HasAfEnum; +use util::{AfArray, DimT, HasAfEnum, MutAfArray}; use self::libc::{uint8_t, c_uint, c_int, c_float, c_double}; -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; -type DimT = self::libc::c_longlong; - // unused functions from image.h header // af_load_image_memory // af_save_image_memory diff --git a/src/index.rs b/src/index.rs index 273963bab..e478b1b9d 100644 --- a/src/index.rs +++ b/src/index.rs @@ -5,12 +5,7 @@ use defines::AfError; use error::HANDLE_ERROR; use seq::Seq; use self::libc::{c_double, c_int, c_uint}; - -type MutAfIndex = *mut self::libc::c_longlong; -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; -type DimT = self::libc::c_longlong; -type IndexT = self::libc::c_longlong; +use util::{AfArray, DimT, IndexT, MutAfArray, MutAfIndex}; #[allow(dead_code)] extern { diff --git a/src/lapack/mod.rs b/src/lapack/mod.rs index 3afec476e..7193f2816 100644 --- a/src/lapack/mod.rs +++ b/src/lapack/mod.rs @@ -3,13 +3,9 @@ extern crate libc; use array::Array; use defines::{AfError, MatProp, NormType}; use error::HANDLE_ERROR; -use util::to_u32; +use util::{AfArray, MutAfArray, MutDouble, to_u32}; use self::libc::{uint8_t, c_int, c_uint, c_double}; -type MutAfArray = *mut self::libc::c_longlong; -type MutDouble = *mut self::libc::c_double; -type AfArray = self::libc::c_longlong; - #[allow(dead_code)] extern { fn af_svd(u: MutAfArray, s: MutAfArray, vt: MutAfArray, input: AfArray) -> c_int; @@ -403,4 +399,4 @@ pub fn is_lapack_available() -> bool { af_is_lapack_available(&mut temp as *mut c_int); temp > 0 // Return boolean fla } -} \ No newline at end of file +} diff --git a/src/random/mod.rs b/src/random/mod.rs index 4fbb1e4d8..f382e31cc 100644 --- a/src/random/mod.rs +++ b/src/random/mod.rs @@ -5,13 +5,7 @@ use dim4::Dim4; use defines::{AfError, RandomEngineType}; use error::HANDLE_ERROR; use self::libc::{uint8_t, c_int, c_uint}; -use util::HasAfEnum; - -type MutAfArray = *mut self::libc::c_longlong; -type MutRandEngine = *mut self::libc::c_longlong; -type RandEngine = self::libc::c_longlong; -type DimT = self::libc::c_longlong; -type Uintl = self::libc::c_ulonglong; +use util::{DimT, HasAfEnum, MutAfArray, MutRandEngine, RandEngine, Uintl}; #[allow(dead_code)] extern { diff --git a/src/seq.rs b/src/seq.rs index a56410362..cd625dd19 100644 --- a/src/seq.rs +++ b/src/seq.rs @@ -2,7 +2,6 @@ extern crate libc; use std::fmt; use std::default::Default; - use num::{One, Zero}; /// Sequences are used for indexing Arrays diff --git a/src/signal/mod.rs b/src/signal/mod.rs index cf404cbf3..8c33e060e 100644 --- a/src/signal/mod.rs +++ b/src/signal/mod.rs @@ -4,9 +4,7 @@ use array::Array; use defines::{AfError, ConvDomain, ConvMode, InterpType}; use error::HANDLE_ERROR; use self::libc::{uint8_t, c_int, c_float, c_double, c_longlong, size_t}; - -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; +use util::{AfArray, MutAfArray}; #[allow(dead_code)] extern { diff --git a/src/sparse/mod.rs b/src/sparse/mod.rs index 1950edcb8..e5ee79a59 100644 --- a/src/sparse/mod.rs +++ b/src/sparse/mod.rs @@ -4,12 +4,7 @@ use array::Array; use defines::{AfError, SparseFormat}; use error::HANDLE_ERROR; use self::libc::{uint8_t, c_void, c_int}; -use util::HasAfEnum; - -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; -type DimT = self::libc::c_longlong; -type MutDimT = *mut self::libc::c_longlong; +use util::{AfArray, DimT, HasAfEnum, MutAfArray, MutDimT}; #[allow(dead_code)] extern { diff --git a/src/statistics/mod.rs b/src/statistics/mod.rs index cb1269a5c..742fed476 100644 --- a/src/statistics/mod.rs +++ b/src/statistics/mod.rs @@ -4,11 +4,7 @@ use array::Array; use defines::AfError; use error::HANDLE_ERROR; use self::libc::{c_int}; - -type MutAfArray = *mut self::libc::c_longlong; -type MutDouble = *mut self::libc::c_double; -type AfArray = self::libc::c_longlong; -type DimT = self::libc::c_longlong; +use util::{AfArray, DimT, MutAfArray, MutDouble}; #[allow(dead_code)] extern { diff --git a/src/util.rs b/src/util.rs index 007d48970..648b05bbe 100644 --- a/src/util.rs +++ b/src/util.rs @@ -8,9 +8,26 @@ use std::mem; use self::num::Complex; use self::libc::{uint8_t, c_int, size_t, c_void}; -// This is private in array -// use array::DimT; -type DimT = self::libc::c_longlong; +pub type AfArray = self::libc::c_longlong; +pub type CellPtr = *const self::libc::c_void; +pub type Complex32 = Complex; +pub type Complex64 = Complex; +pub type DimT = self::libc::c_longlong; +pub type Feat = *const self::libc::c_void; +pub type IndexT = self::libc::c_longlong; +pub type Intl = self::libc::c_longlong; +pub type MutAfArray = *mut self::libc::c_longlong; +pub type MutAfIndex = *mut self::libc::c_longlong; +pub type MutDimT = *mut self::libc::c_longlong; +pub type MutDouble = *mut self::libc::c_double; +pub type MutFeat = *mut *mut self::libc::c_void; +pub type MutRandEngine = *mut self::libc::c_longlong; +pub type MutUint = *mut self::libc::c_uint; +pub type MutVoidPtr = *mut self::libc::c_ulonglong; +pub type MutWndHandle = *mut self::libc::c_ulonglong; +pub type RandEngine = self::libc::c_longlong; +pub type Uintl = self::libc::c_ulonglong; +pub type WndHandle = self::libc::c_ulonglong; #[allow(dead_code)] extern { diff --git a/src/vision/mod.rs b/src/vision/mod.rs index ab88a6004..eb2a9daab 100644 --- a/src/vision/mod.rs +++ b/src/vision/mod.rs @@ -4,15 +4,9 @@ use std::mem; use array::Array; use defines::{AfError, HomographyType, MatchType}; use error::HANDLE_ERROR; -use util::HasAfEnum; +use util::{AfArray, DimT, Feat, HasAfEnum, MutAfArray, MutFeat}; use self::libc::{c_void, uint8_t, c_uint, c_int, c_float, c_double, c_longlong}; -type MutAfArray = *mut self::libc::c_longlong; -type AfArray = self::libc::c_longlong; -type DimT = self::libc::c_longlong; -type MutFeat = *mut *mut self::libc::c_void; -type Feat = *const self::libc::c_void; - // af_sift and af_gloh uses patented algorithms, so didn't add them // they are built using installer builds