[][src]Trait arrayfire::HasAfEnum

pub trait HasAfEnum {
    type InType: HasAfEnum;
    type BaseType: HasAfEnum;
    type AbsOutType: HasAfEnum;
    type ArgOutType: HasAfEnum;
    type UnaryOutType: HasAfEnum;
    type ComplexOutType;
    type MeanOutType: HasAfEnum;
    type AggregateOutType: HasAfEnum;
    type ProductOutType: HasAfEnum;
    type SobelOutType: HasAfEnum;
    fn get_af_dtype() -> DType;
}

Types of the data that can be generated using ArrayFire data generation functions.

The trait HasAfEnum has been defined internally for the following types. We strongly suggest not to implement this trait in your program for user defined types because ArrayFire functions will only work for the following data types currently. Any such trait implementation for types other than the ones listed below will result in undefined behavior.

Associated Types

type InType: HasAfEnum

This type alias points to Self always.

type BaseType: HasAfEnum

This type alias points to the data type used to hold real part of a complex number. For real valued numbers, this points to Self.

type AbsOutType: HasAfEnum

This type alias points to f32 for all 32 bit size types and f64 for larger 64-bit size types.

type ArgOutType: HasAfEnum

This type alias points to f64/f32 for floating point types and Self otherwise.

type UnaryOutType: HasAfEnum

This type alias is used to define the output Array type for unary operations. It points to Self for floating point types, either real or complex. It points to f32 for rest of the input types.

type ComplexOutType

This type alias points to complex type created from a given input type. This alias always points to either std::Complex<f32> or std::Complex<f64>

type MeanOutType: HasAfEnum

This type alias points to a data type that can store the mean value for a given input type. This alias points to f32/Complex<f32> for all 32 bit size types and f64/Complex<f64> for larger 64-bit size types.

type AggregateOutType: HasAfEnum

This type alias points to a data type that can store the result of aggregation of set of values for a given input type. Aggregate type alias points to below types for given input types:

  • Self for input types: Complex<64>, Complex<f32>, f64, f32, i64, u64
  • u32 for input types: bool
  • u32 for input types: u8
  • i32 for input types: i16
  • u32 for input types: u16
  • i32 for input types: i32
  • u32 for input types: u32

type ProductOutType: HasAfEnum

This type is different for b8 input type

type SobelOutType: HasAfEnum

This type alias points to the output type for given input type of sobel filter operation. Sobel filter output alias points to below types for given input types:

  • f32 for input types: Complex<f32>, f32
  • f64 for input types: Complex<f64>, f64
  • i32 for input types: bool, u8, i16, u16, i32, u32
  • i64 for input types: i64, u64
Loading content...

Required methods

fn get_af_dtype() -> DType

Return trait implmentors corresponding DType

Loading content...

Implementations on Foreign Types

impl HasAfEnum for Complex<f32>[src]

type InType = Self

type BaseType = f32

type AbsOutType = f32

type ArgOutType = f32

type UnaryOutType = Self

type ComplexOutType = Self

type MeanOutType = Self

type AggregateOutType = Self

type ProductOutType = Self

type SobelOutType = Self

impl HasAfEnum for Complex<f64>[src]

type InType = Self

type BaseType = f64

type AbsOutType = f64

type ArgOutType = f64

type UnaryOutType = Self

type ComplexOutType = Self

type MeanOutType = Self

type AggregateOutType = Self

type ProductOutType = Self

type SobelOutType = Self

impl HasAfEnum for f32[src]

type InType = Self

type BaseType = Self

type AbsOutType = f32

type ArgOutType = f32

type UnaryOutType = Self

type ComplexOutType = Complex<f32>

type MeanOutType = Self

type AggregateOutType = Self

type ProductOutType = Self

type SobelOutType = Self

impl HasAfEnum for f64[src]

type InType = Self

type BaseType = Self

type AbsOutType = f64

type ArgOutType = f64

type UnaryOutType = Self

type ComplexOutType = Complex<f64>

type MeanOutType = Self

type AggregateOutType = Self

type ProductOutType = Self

type SobelOutType = Self

impl HasAfEnum for bool[src]

type InType = Self

type BaseType = Self

type AbsOutType = f32

type ArgOutType = bool

type UnaryOutType = f32

type ComplexOutType = Complex<f32>

type MeanOutType = f32

type AggregateOutType = u32

type ProductOutType = bool

type SobelOutType = i32

impl HasAfEnum for u8[src]

type InType = Self

type BaseType = Self

type AbsOutType = f32

type ArgOutType = u8

type UnaryOutType = f32

type ComplexOutType = Complex<f32>

type MeanOutType = f32

type AggregateOutType = u32

type ProductOutType = u32

type SobelOutType = i32

impl HasAfEnum for i16[src]

type InType = Self

type BaseType = Self

type AbsOutType = f32

type ArgOutType = i16

type UnaryOutType = f32

type ComplexOutType = Complex<f32>

type MeanOutType = f32

type AggregateOutType = i32

type ProductOutType = i32

type SobelOutType = i32

impl HasAfEnum for u16[src]

type InType = Self

type BaseType = Self

type AbsOutType = f32

type ArgOutType = u16

type UnaryOutType = f32

type ComplexOutType = Complex<f32>

type MeanOutType = f32

type AggregateOutType = u32

type ProductOutType = u32

type SobelOutType = i32

impl HasAfEnum for f16[src]

type InType = Self

type BaseType = Self

type AbsOutType = Self

type ArgOutType = Self

type UnaryOutType = Self

type ComplexOutType = Complex<f16>

type MeanOutType = Self

type AggregateOutType = f32

type ProductOutType = f32

type SobelOutType = Self

impl HasAfEnum for i32[src]

type InType = Self

type BaseType = Self

type AbsOutType = f32

type ArgOutType = i32

type UnaryOutType = f32

type ComplexOutType = Complex<f32>

type MeanOutType = f32

type AggregateOutType = i32

type ProductOutType = i32

type SobelOutType = i32

impl HasAfEnum for u32[src]

type InType = Self

type BaseType = Self

type AbsOutType = f32

type ArgOutType = u32

type UnaryOutType = f32

type ComplexOutType = Complex<f32>

type MeanOutType = f32

type AggregateOutType = u32

type ProductOutType = u32

type SobelOutType = i32

impl HasAfEnum for i64[src]

type InType = Self

type BaseType = Self

type AbsOutType = f64

type ArgOutType = i64

type UnaryOutType = f64

type ComplexOutType = Complex<f64>

type MeanOutType = f64

type AggregateOutType = Self

type ProductOutType = Self

type SobelOutType = i64

impl HasAfEnum for u64[src]

type InType = Self

type BaseType = Self

type AbsOutType = f64

type ArgOutType = u64

type UnaryOutType = f64

type ComplexOutType = Complex<f64>

type MeanOutType = f64

type AggregateOutType = Self

type ProductOutType = Self

type SobelOutType = i64

Loading content...

Implementors

Loading content...