Enum fil_ocl::SpatialDims [−][src]
Specifies a size or offset in up to three dimensions.
Using SpatialDims
to specify dimensions for your application may not be
appropriate. Custom types implementing the traits MemLen
and WorkDims
should be created to express more complex relationships between data shape
and work size for kernels which do not have a 1:1 correspondence between
data set length and global work size.
[FIXME]: Describe the ways a SpatialDims
can be created using various
From
implementations.
[UNSTABLE]: This type and its methods may be renamed or otherwise changed at any time. This is still a work in progress.
Variants
One(usize)
Implementations
impl SpatialDims
[src]
pub fn new(
d0: Option<usize>,
d1: Option<usize>,
d2: Option<usize>
) -> OclResult<SpatialDims>
[src]
d0: Option<usize>,
d1: Option<usize>,
d2: Option<usize>
) -> OclResult<SpatialDims>
Returns a new SpatialDims
.
Dimensions must be specified in order from d0 -> d1 -> d2; i.e. d1
cannot be Some(x)
if d0
is None
.
Explicitly setting all zeros as values is not recommended as it is
invalid to OpenCL functions. Use ::Unspecified
to represent NULL
instead.
pub fn dim_count(&self) -> u32
[src]
Returns the number of dimensions defined by this SpatialDims
.
pub fn to_lens(&self) -> Result<[usize; 3], UnspecifiedDimensionsError>
[src]
Returns a 3D size or an error if unspecified.
pub fn to_offset(&self) -> Result<[usize; 3], UnspecifiedDimensionsError>
[src]
Returns a 3D offset or an error if unspecified.
pub fn to_len(&self) -> usize
[src]
Returns the product of all contained dimensional values (equivalent to a length, area, or volume) or zero if unspecified.
Check ::is_unspecified
if it matters whether or not the zero length
has been explicitly set however, explicitly setting all zeros as
dimensions is not recommended as it is an invalid value to OpenCL
functions. Use ::Unspecified
to represent NULL
instead.
pub fn try_to_padded_len(&self, incr: usize) -> OclResult<usize>
[src]
Takes the length and rounds it up to the nearest incr
or an error.
pub fn is_unspecified(&self) -> bool
[src]
Returns true
if this SpatialDims
is an Unspecified
variant.
Trait Implementations
impl Clone for SpatialDims
[src]
fn clone(&self) -> SpatialDims
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for SpatialDims
[src]
impl Debug for SpatialDims
[src]
impl Eq for SpatialDims
[src]
impl<'a, T: Num + ToPrimitive + Debug + Copy> From<&'a [T; 1]> for SpatialDims
[src]
fn from(val: &[T; 1]) -> SpatialDims
[src]
impl<'a, T: Num + ToPrimitive + Debug + Copy> From<&'a [T; 2]> for SpatialDims
[src]
fn from(pair: &[T; 2]) -> SpatialDims
[src]
impl<'a, T: Num + ToPrimitive + Debug + Copy> From<&'a [T; 3]> for SpatialDims
[src]
fn from(set: &[T; 3]) -> SpatialDims
[src]
impl<'a, T: Num + ToPrimitive + Debug + Copy> From<&'a (T, T, T)> for SpatialDims
[src]
fn from(set: &(T, T, T)) -> SpatialDims
[src]
impl<'a, T: Num + ToPrimitive + Debug + Copy> From<&'a (T, T)> for SpatialDims
[src]
fn from(pair: &(T, T)) -> SpatialDims
[src]
impl<'a, T: Num + ToPrimitive + Debug + Copy> From<&'a (T,)> for SpatialDims
[src]
fn from(val: &(T,)) -> SpatialDims
[src]
impl<'a> From<&'a SpatialDims> for SpatialDims
[src]
fn from(sd: &'a SpatialDims) -> SpatialDims
[src]
impl<T: Num + ToPrimitive + Debug + Copy> From<[T; 1]> for SpatialDims
[src]
fn from(val: [T; 1]) -> SpatialDims
[src]
impl<T: Num + ToPrimitive + Debug + Copy> From<[T; 2]> for SpatialDims
[src]
fn from(pair: [T; 2]) -> SpatialDims
[src]
impl<T: Num + ToPrimitive + Debug + Copy> From<[T; 3]> for SpatialDims
[src]
fn from(set: [T; 3]) -> SpatialDims
[src]
impl<T: Num + ToPrimitive + Debug + Copy> From<(T, T, T)> for SpatialDims
[src]
fn from(set: (T, T, T)) -> SpatialDims
[src]
impl<T: Num + ToPrimitive + Debug + Copy> From<(T, T)> for SpatialDims
[src]
fn from(pair: (T, T)) -> SpatialDims
[src]
impl<T: Num + ToPrimitive + Debug + Copy> From<(T,)> for SpatialDims
[src]
fn from(val: (T,)) -> SpatialDims
[src]
impl From<i32> for SpatialDims
[src]
fn from(val: i32) -> SpatialDims
[src]
impl From<isize> for SpatialDims
[src]
fn from(val: isize) -> SpatialDims
[src]
impl From<u32> for SpatialDims
[src]
fn from(val: u32) -> SpatialDims
[src]
impl From<usize> for SpatialDims
[src]
fn from(val: usize) -> SpatialDims
[src]
impl Index<usize> for SpatialDims
[src]
impl MemLen for SpatialDims
[src]
fn to_len_padded(&self, incr: usize) -> usize
[src]
fn to_len(&self) -> usize
[src]
fn to_lens(&self) -> [usize; 3]
[src]
impl PartialEq<SpatialDims> for SpatialDims
[src]
fn eq(&self, other: &SpatialDims) -> bool
[src]
fn ne(&self, other: &SpatialDims) -> bool
[src]
impl StructuralEq for SpatialDims
[src]
impl StructuralPartialEq for SpatialDims
[src]
impl WorkDims for SpatialDims
[src]
Auto Trait Implementations
impl RefUnwindSafe for SpatialDims
impl Send for SpatialDims
impl Sync for SpatialDims
impl Unpin for SpatialDims
impl UnwindSafe for SpatialDims
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,