HCC
HCC is a single-source, C/C++ compiler for heterogeneous computing. It's optimized with HSA (http://www.hsafoundation.com/).
Public Types | Public Member Functions | Static Public Attributes | List of all members
hc::short_vector::__vector< __amp_norm_template< normIsSigned >, VECTOR_LENGTH > Class Template Reference
Inheritance diagram for hc::short_vector::__vector< __amp_norm_template< normIsSigned >, VECTOR_LENGTH >:
Inheritance graph
Collaboration diagram for hc::short_vector::__vector< __amp_norm_template< normIsSigned >, VECTOR_LENGTH >:
Collaboration graph

Public Types

typedef __amp_norm_template< normIsSigned > value_type
 
typedef __vector< value_type, size > __scalartype_N
 
typedef float vector_value_type __attribute__((ext_vector_type(size)))
 
typedef __vector_data_container< float, size > vector_container_type
 

Public Member Functions

 __vector (const vector_value_type &value) __CPU_GPU__
 
 __vector (const __scalartype_N &other) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==2,value_type>::type>
 __vector (value_type x, value_type y) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==3,value_type>::type>
 __vector (value_type x, value_type y, value_type z) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==4,value_type>::type>
 __vector (value_type x, value_type y, value_type z, value_type w) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==8,value_type>::type>
 __vector (value_type x, value_type y, value_type z, value_type w, value_type s4, value_type s5, value_type s6, value_type s7) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==16,value_type>::type>
 __vector (value_type x, value_type y, value_type z, value_type w, value_type s4, value_type s5, value_type s6, value_type s7, value_type s8, value_type s9, value_type sA, value_type sB, value_type sC, value_type sD, value_type sE, value_type sF) __CPU_GPU__
 
template<typename ST >
 __vector (const __vector< ST, 1 > &other) __CPU_GPU__
 
template<typename ST >
 __vector (const __vector< ST, 2 > &other) __CPU_GPU__
 
template<typename ST >
 __vector (const __vector< ST, 3 > &other) __CPU_GPU__
 
template<typename ST >
 __vector (const __vector< ST, 4 > &other) __CPU_GPU__
 
template<typename ST >
 __vector (const __vector< ST, 8 > &other) __CPU_GPU__
 
template<typename ST >
 __vector (const __vector< ST, 16 > &other) __CPU_GPU__
 
value_type get_x () const __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size>=2, value_type >
::type value_type get_y () const __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size>=3, value_type >
::type value_type get_z () const __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size>=4, value_type >
::type value_type get_w () const __CPU_GPU__
 
void set_x (value_type v) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size>=2, value_type >
::type void set_y (value_type v) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size>=3, value_type >
::type void set_z (value_type v) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size>=4, value_type >
::type void set_w (value_type v) __CPU_GPU__
 
 DECLARE_VECTOR_FOUR_COMPONENT_GET_SET (x, y, z, w, 4)
 
vector_value_type get_vector () const __CPU_GPU__
 
void set_vector (vector_value_type v) __CPU_GPU__
 
__scalartype_Noperator= (const __scalartype_N &rhs) __CPU_GPU__
 
__scalartype_Noperator++ () __CPU_GPU__
 
__scalartype_N operator++ (int) __CPU_GPU__
 
__scalartype_Noperator-- () __CPU_GPU__
 
__scalartype_N operator-- (int) __CPU_GPU__
 
__scalartype_N operator+ (const __scalartype_N &rhs) __CPU_GPU__
 
__scalartype_Noperator+= (const __scalartype_N &rhs) __CPU_GPU__
 
__scalartype_Noperator-= (const __scalartype_N &rhs) __CPU_GPU__
 
__scalartype_Noperator*= (const __scalartype_N &rhs) __CPU_GPU__
 
__scalartype_Noperator/= (const __scalartype_N &rhs) __CPU_GPU__
 
__scalartype_N operator- () __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==1,value_type>::type>
bool operator== (const __vector< value_type, 1 > &rhs) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==2,value_type>::type>
bool operator== (const __vector< value_type, 2 > &rhs) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==3,value_type>::type>
bool operator== (const __vector< value_type, 3 > &rhs) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==4,value_type>::type>
bool operator== (const __vector< value_type, 4 > &rhs) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==8,value_type>::type>
bool operator== (const __vector< value_type, 8 > &rhs) __CPU_GPU__
 
template<typename T = __scalartype_N, class = typename std::enable_if<T::size==16,value_type>::type>
bool operator== (const __vector< value_type, 16 > &rhs) __CPU_GPU__
 
bool operator!= (const __scalartype_N &rhs) __CPU_GPU__
 

Static Public Attributes

static const unsigned int size = VECTOR_LENGTH
 

The documentation for this class was generated from the following file: