Skip to content

Reorganisation of type aliases and style fixes #109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 20, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions src/algorithm/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
10 changes: 1 addition & 9 deletions src/arith/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +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<f32>;
type Complex64 = Complex<f64>;
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};

#[allow(dead_code)]
Expand Down
10 changes: 1 addition & 9 deletions src/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +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 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
// af_copy_array
Expand Down
5 changes: 1 addition & 4 deletions src/blas/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
10 changes: 1 addition & 9 deletions src/data/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +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 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;
type Uintl = self::libc::c_ulonglong;

#[allow(dead_code)]
extern {
fn af_constant(out: MutAfArray, val: c_double,
Expand Down
4 changes: 2 additions & 2 deletions src/device/mod.rs
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
6 changes: 0 additions & 6 deletions src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 1 addition & 5 deletions src/graphics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
6 changes: 1 addition & 5 deletions src/image/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 1 addition & 6 deletions src/index.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
8 changes: 2 additions & 6 deletions src/lapack/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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
}
}
}
10 changes: 1 addition & 9 deletions src/random/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +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 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;
use util::{DimT, HasAfEnum, MutAfArray, MutRandEngine, RandEngine, Uintl};

#[allow(dead_code)]
extern {
Expand Down
1 change: 0 additions & 1 deletion src/seq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ extern crate libc;

use std::fmt;
use std::default::Default;

use num::{One, Zero};

/// Sequences are used for indexing Arrays
Expand Down
4 changes: 1 addition & 3 deletions src/signal/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
7 changes: 1 addition & 6 deletions src/sparse/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
6 changes: 1 addition & 5 deletions src/statistics/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
24 changes: 21 additions & 3 deletions src/util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<f32>;
pub type Complex64 = Complex<f64>;
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 {
Expand All @@ -31,6 +48,7 @@ pub fn get_size(value: DType) -> usize {
}

/// Allocates space using Arrayfire allocator in host memory
#[allow(dead_code)]
pub fn alloc_host<T>(elements: usize, _type: DType) -> *const T {
let ptr: *const T = ::std::ptr::null();
let bytes = (elements * get_size(_type)) as DimT;
Expand Down
8 changes: 1 addition & 7 deletions src/vision/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down