
<para>
  General information about miscellaneous vector functions:
  We use the generic type name <type>gentype<replaceable>n</replaceable></type>
  (or <type>gentype<replaceable>m</replaceable></type>) to indicate the
  built-in data types <type>char{2|4|8|16}</type>, <type>uchar{2|4|8|16}</type>,
  <type>short{2|4|8|16}</type>, <type>ushort{2|4|8|16}</type>, <type>int{2|4|8|16}</type>,
  <type>uint{2|4|8|16}</type>, <type>long{2|4|8|16}</type>, <type>ulong{2|4|8|16}</type>,
  <type>float{2|4|8|16}</type> or <type>double{2|4|8|16}</type> 
  as the type for the arguments unless otherwise
  stated. We use the generic name <type>ugentype<replaceable>n</replaceable></type>
  to indicate the built-in unsigned integer data types.
</para>

<para>
  The generic type name <type>gentype<replaceable>n</replaceable></type>
  (or <type>gentype<replaceable>m</replaceable></type>)
  may indicate the data type <type>half{2|4|8|16}</type> if the
  <citerefentry><refentrytitle>cl_khr_fp16</refentrytitle></citerefentry> extension
  is supported.
</para>

 <!-- 28-Oct-2015, C lang ver 2.0 rev 30 -->

